Docstoc

International Journal of Computer Science and Information Security Volume 7

Document Sample
International Journal of Computer Science and Information Security Volume 7 Powered By Docstoc
					     IJCSIS Vol. 7 No. 2, February 2010
           ISSN 1947-5500




International Journal of
    Computer Science
      & Information Security




    © IJCSIS PUBLICATION 2010
                           IJCSIS Editorial
                     Message from Managing Editor

International Journal of Computer Science and Information Security (IJCSIS),
launched in May 2009, provides a major venue for rapid publication of high
quality research in the field of computer science and emerging technologies.
IJCSIS continues to attract the attention of Scientists and Researchers across
the work. This has only been possible due to large number of high quality
submissions and valued efforts of the reviewers.


In this February 2010 issue, we present selected publications (with acceptance
rate of ~ 29%) in the diverse area of pure and applied computer science,
networking,     information     retrieval,   information   systems,    emerging
communication technologies and information security.


The editorial board and technical review committee contain some of the most
renowned specialists in their areas of expertise. We are very grateful to all the
authors who have submitted such high quality work to the Journal and the
reviewers for dealing with the manuscripts so quickly. Special thanks to our
technical sponsors for their valuable service.


Available at http://sites.google.com/site/ijcsis/
IJCSIS Vol. 7, No. 2,
February 2010 Edition
ISSN 1947-5500
© IJCSIS 2010, USA.
Indexed by (among others):
                 IJCSIS EDITORIAL BOARD
Dr. Gregorio Martinez Perez
Associate Professor - Professor Titular de Universidad, University of Murcia
(UMU), Spain

Dr. M. Emre Celebi,
Assistant Professor, Department of Computer Science, Louisiana State University
in Shreveport, USA

Dr. Yong Li
School of Electronic and Information Engineering, Beijing Jiaotong University,
P. R. China

Prof. Hamid Reza Naji
Department of Computer Enigneering, Shahid Beheshti University, Tehran, Iran

Dr. Sanjay Jasola
Professor and Dean, School of Information and Communication Technology,
Gautam Buddha University

Dr Riktesh Srivastava
Assistant Professor, Information Systems, Skyline University College, University
City of Sharjah, Sharjah, PO 1797, UAE

Dr. Siddhivinayak Kulkarni
University of Ballarat, Ballarat, Victoria, Australia

Professor (Dr) Mokhtar Beldjehem
Sainte-Anne University, Halifax, NS, Canada

Dr. Alex Pappachen James, (Research Fellow)
Queensland Micro-nanotechnology center, Griffith University, Australia
                                 TABLE OF CONTENTS

1. Paper 31011070: Securing Iris Templates using Combined User and Soft Biometric based
Password Hardened Fuzzy Vault (pp. 001-008)
V. S. Meenakshi, SNR Sons College, Coimbatore, Tamil Nadu, India.
Dr. G. Padmavathi, Avinashilingam University for Women, Coimbatore, Tamil Nadu, India.

2. Paper 07011059: A New Clustering Approach based on Page's Path Similarity for Navigation
Patterns Mining (pp. 009-014)
Heidar Mamosian, Department of Computer Engineering, Science and Research Branch, Islamic Azad
University (IAU), Khouzestan, Iran
Amir Masoud Rahmani, Department of Computer Engineering, Science and Research Branch, Islamic
Azad University (IAU),Tehran, Iran
Mashalla Abbasi Dezfouli, Department of Computer Engineering, Science and Research Branch, Islamic
Azad University (IAU), Khouzestan, Iran

3. Paper 11011004: Implementing New-age Authentication Techniques using OpenID for Security
Automation (pp. 015-021)
Dharmendra Choukse, Institute of Engineering & Science, IPS Academy, Indore, India
Umesh Kumar Singh, Institute of Computer Science, Vikram University, Ujjain, India
Deepak Sukheja, Priyatam Institute of Technology and Management .Indore, India
Rekha Shahapurkar, Lokmanya Tilak College,Vikram University,Ujjain, India

4. Paper 12011009: Ontology Based Query Expansion Using Word Sense Disambiguation (pp. 022-
027)
M. Barathi, Department of Computer Applications, S. M. K. Fomra Institute of Technology, Chennai, India
S. Valli, Department of Computer Science and Engineering, Anna University, Chennai, India

5. Paper 15120915: Secured Cryptographic Key Generation From Multimodal Biometrics: Feature
Level Fusion of Fingerprint and Iris (pp. 028-037)
A. Jagadeesan, Research scholar / Senior Lecturer/EIE, Bannari Amman Institute of Technology,
Sathyamangalam-638 401, Tamil Nadu, India
Dr. K. Duraiswamy, Dean/Academic, K.S.Rangasamy College of Technology, Tiruchengode – 637 209,
Tamil Nadu, India

6. Paper 20011017: The Comparison of Methods Artificial Neural Network with Linear Regression
Using Specific Variables for Prediction Stock Price in Tehran Stock Exchange (pp. 038-046)
Reza Gharoie Ahangar, The master of business administration of Islamic Azad University - Babol branch
& Membership of young researcher club, Iran.
Mahmood Yahyazadehfar, Associate Professor of Finance, University of Mazandaran, Babolsar, Iran
Hassan Pournaghshband, Professor of Computer Science Department, Southern Polytechnic State
University

7. Paper 21011018: A Methodology for Empirical Quality Assessment of Object-Oriented Design (pp.
047-055)
Devpriya Soni, Department of Computer Applications, Maulana Azad National Institute of Technology (A
Deemed University)Bhopal 462007, India
Dr. Namita Shrivastava, Asst. Prof. Deptt. of Mathematics, Maulana Azad National Institute of Technology
(A Deemed University)Bhopal 462007, India
Dr. M. Kumar, Retd. Prof. of Computer Applications, Maulana Azad National Institute of Technology (A
Deemed University)Bhopal 462007, India
8. Paper 22011020: A Computational Algorithm based on Empirical Analysis, that Composes
Sanskrit Poetry (pp. 056-062)
Rama N., Department of Computer Science, Presidency College, Chennai, India
Meenakshi Lakshmanan, Department of Computer Science, Meenakshi College for Women
Chennai, India and Research Scholar, Mother Teresa Women’s University Kodaikanal, India

9. Paper 22011021: Survey Report – State Of The Art In Digital Steganography Focusing ASCII
Text Documents (pp. 063-072)
Khan Farhan Rafat, Department of Computer Science, International Islamic University, Islamabad,
Pakistan
Muhammad Sher, Department of Computer Science, International Islamic University, Islamabad, Pakistan

10. Paper 25011023: New clustering method to decrease probability of failure nodes and increasing
the lifetime in WSNs (pp. 073-076)
Shahram Babaie, Department of Computer Engineering, PhD students, Islamic Azad University, Olom VA
Tahghighat Branch, Tehran, Iran
Ahmad Khadem Zade, Department of Computer Engineering, Iran Telecommunication Research Center,
Tehran, Iran
Ali Hosseinalipour, Department of Computer Engineering, Islamic Azad University- Tabriz Branch, Tabriz
Iran

11. Paper 25011025: Comments on “Routh Stability Criterion” (pp. 077-078)
T. D. Roopamala, Assistant Professor, Sri Jayachamarajendra college of Engineering
S. K. Katti, Professor, Sri Jayachamarajendra college of Engineering

12. Paper 27011026: Concurrent Approach to Flynn’s SPMD Classification through Java (pp. 079-
081)
Bala Dhandayuthapani Veerasamy, Department of Computing, Mekelle University, Mekelle, Ethiopia

13. Paper 27011028: Multi-objective Geometric Programming Problem With Weighted Mean
Method (pp. 082-086)
A. K. Ojha, School of Basic Sciences, IIT Bhubaneswar, Orissa, Pin-751013, India Bhubaneswar-751014,
India
K. K. Biswal, Department of Mathematics, C.T.T.C, Bhubaneswar - 751021, Orissa, India

14. Paper 28011030: Use of Service Curve for Resource Reservation in Wired-cum-Wireless Scenario
(pp. 087-093)
Nitul Dutta, Sikkim Manipal Institute of Technology, Computer Science & Engg. Deptt., India
Iti Saha Misra, Jadavpur University, Electronics & Telecommunication Engineering Department, India

15. Paper 28011031: Analysis, Modification, and Implementation (AMI) of Scheduling Algorithm for
the IEEE 802.116e (Mobile WiMAX) (pp. 094-103)
C. Ravichandiran, IT Leader, Zagro Singapore Pte Ltd, Singapore
Dr. C. Pethuru Raj, Lead Architect, CR Division of Robert Bosch, Bangalore, India.
Dr. V. Vaidhyanathan, Professor and HOD, Dept. of IT, SASTRA University, India

16. Paper 28011033: Current Conveyor Based Multifunction Filter (pp. 104-107)
Manish Kumar, Electronics and Communication Engineering Department, Jaypee Institute of Information
Technology, Noida, India
M.C. Srivastava, Electronics and Communication Engineering Department, Jaypee Institute of nformation
Technology, Noida, India
Umesh Kumar, Electrical Engineering Department, Indian Institute of Technology, Delhi, India
17. Paper 28011034: A Secure Hash Function MD-192 With Modified Message Expansion (pp. 108-
111)
Harshvardhan Tiwari, Student, CSE Department, JIIT, Noida, India
Dr. Krishna Asawa, Ass. Prof., CSE Department, JIIT, Noida, India

18. Paper 29011041: Integration of Rule Based Expert Systems and Case Based Reasoning in an
Acute Bacterial Meningitis Clinical Decision Support System (pp. 112-118)
Mariana Maceiras Cabrera, Departamento de Informática y Ciencias de la Computación,
Universidad Católica del Uruguay, Montevideo, Uruguay
Ernesto Ocampo Edye, Departamento de Informática y Ciencias de la Computación, Universidad Católica
de l Uruguay, Montevideo, Uruguay

19. Paper 29011042: Formal Concept Analysis for Information Retrieval (pp. 119-125)
Abderrahim El Qadi, Department of Computer Science, EST, University of Moulay Ismaïl, Meknes,
Morocco
Driss Aboutajedine, GSCM-LRIT, Faculty of Science, University of Mohammed V, Rabat-Agdal, Morocco
Yassine Ennouary, GSCM-LRIT, Faculty of Science, University of Mohammed V, Rabat-Agdal, Morocco

20. Paper 29011043: Creating A Model HTTP Server Program Using java (pp. 126-130)
Bala Dhandayuthapani Veerasamy, Department of Computing, Mekelle University, Mekelle, Ethiopia

21. Paper 30011045: Evaluation of E-Learners Behaviour using Different Fuzzy Clustering Models:
A Comparative Study (pp. 131-140)
Mofreh A. Hogo, Dept. of Electrical Engineering Technology, Higher Institution of Technology Benha,
Benha University, Egypt

22. Paper 30011047: Hierarchical Approach for Online Mining--Emphasis towards Software Metrics
(pp. 141-146)
M . V. Vijaya Saradhi, Dept. of CSE, Astra, Hyderabad, India.
Dr. B. R. Sastry, Astra, Hyderabad, India.
P. Satish, Dept. of CSE, Astra, Hyderabad, India.

23. Paper 30011049: QoS Based Dynamic Web Services Composition & Execution (pp. 147-152)
Farhan Hassan Khan, Saba Bashir, M. Younus Javed
National University of Science & Technology, Rawalpindi, Pakistan
Aihab Khan, Malik Sikandar Hayat Khiyal
Fatima Jinnah Women University, Rawalpindi, Pakistan

24. Paper 30011050: Indexer Based Dynamic Web Services Discovery (pp. 153-159)
Saba Bashir, Farhan Hassan Khan, M. Younus Javed
National University of Science & Technology, Rawalpindi, Pakistan
Aihab Khan, Malik Sikandar Hayat Khiyal,
Fatima Jinnah Women University, Rawalpindi, Pakistan

25. Paper 30011051: A New Variable Threshold and Dynamic Step Size Based Active Noise Control
System for Improving Performance (pp. 160-165)
P. Babu, Department of ECE, K. S. Rangasamy College of Technology,Tiruchengode, Tamilnadu, India.
A. Krishnan, Department of ECE, K. S. Rangasamy College of Technology, Tiruchengode, Tamilnadu,
India

26. Paper 30011052: Hierarchical Web Page Classification Based on a Topic Model and Neighboring
Pages Integration (pp. 166-173)
Wongkot Sriurai, Department of Information Technology, King Mongkut’s University of Technology,
North Bangkok, Bangkok, Thailand
Phayung Meesad, Department of Teacher Training in Electrical Engineering, King Mongkut’s University
of Technology, North Bangkok, Bangkok, Thailand
Choochart Haruechaiyasak, Human Language Technology Laboratory National Electronics and Computer
Technology Center (NECTEC), Bangkok, Thailand

27. Paper 30011054: Clinical gait data analysis based on Spatio-Temporal features (pp. 178-183)
Rohit Katiyar, Lecturer, Computer Science & Engineering Dept., Harcourt Butler Technological Institute,
Kanpur (U.P.), India
Dr. Vinay Kumar Pathak, Vice Chancellor, Professor, Computer Science & Engg. Dept., Uttarakhand
Open University, Uttarakhand, Haldwani, India

28. Paper 30011055: Design and Performance Analysis of Unified Reconfigurable Data Integrity Unit
for Mobile Terminals (pp. 184-191)
L. Thulasimani, Department of Electronics and Communication Engineering, PSG College of Technology,
Coimbatore-641004, India
M. Madheswaran, Centre for Advanced Research, Dept. of ECE, Muthayammal Engineering College,
Rasipuram-637408, India

29. Paper 30011058: Soft Computing – A step towards building Secure Cognitive WLAN (pp. 192-
198)
S. C. Lingareddy, KNS Institute of Technology, Bangalore, India.
Dr B Stephen Charles, Stanley Stephen College of Engg, Kurnool, India.
Dr Vinaya Babu, Director of Admission Dept., JNTU, Hyderabad, India
Kashyap Dhruve, Planet-i Technologies, Bangalore, India.

30. Paper 31011062: A Hybrid System based on Multi-Agent System in the Data Preprocessing Stage
(pp. 199-202)
Kobkul Kularbphettong, Gareth Clayton and Phayung Meesad
The Information Technology Faculty, King Mongkut’s University of Technology, North Bangkok, Thailand

31. Paper 31011064: New Approach to Identify Common Eigenvalues of real matrices using
Gerschgorin Theorem and Bisection method (pp. 203-205)
D. Roopamala , Dept. of Compute science, SJCE, Mysore, India
S. K. Katti, Dept. of Compute science, SJCE, Mysore, India

32. Paper 31011066: A Survey of Naïve Bayes Machine Learning approach in Text Document
Classification (pp. 206-211)
Vidhya. K. A, Department of Computer Science, Pondicherry University, Pondicherry, India
G. Aghila, Department of Computer Science, Pondicherry University, Pondicherry, India

33. Paper 31011067: Content based Zero-Watermarking Algorithm for Authentication of Text
Documents (pp. 212-217)
Zunera Jalil, Anwar M. Mirza, FAST National University of Computer and Emerging Sciences, Islamabad,
Pakistan
Maria Sabir, Air University, Islamabad, Pakistan

34. Paper 31011068: Secure Multicast Key Distribution for Mobile Ad Hoc Networks (pp. 218-223)
D. SuganyaDevi, Asst. Prof, Department of Computer Applications, SNR SONS College, Coimbatore,
Tamil Nadu, India
Dr. G. Padmavathi, Prof. and Head, Dept. of Computer Science, Avinashilingam University for Women,
Coimbatore, Tamil Nadu, India

35. Paper 31011071: Nonlinear Filter Based Image Denoising Using AMF Approach (pp. 224-227)
T. K. Thivakaran, Asst. Professor, Dept. of I.T, Sri Venkateswara College of Engg, Chennai.
Dr. R.M. Chandrasekaran, Professor, Anna University, Trichy
36. Paper 31011072: Securing Our Bluetooth Mobiles From Intruder Attack Using Enhanced
Authentication Scheme And Plausible Exchange Algorithm (pp. 228-233)
Ms. A. Rathika, Ms. R. Saranya, Ms. R. Iswarya
VCET, Erode, India

37. Paper 31011074: Knowledge Management (pp. 234-238)
Mohsen Gerami, The Faculty of Applied Science of Post and Communications, Danesh Blv, Jenah Ave,
Azadi Sqr, Tehran, Iran.

38. Paper 31011075: Wireless IP Telephony (pp. 239-243)
Mohsen Gerami, The Faculty of Applied Science of Post and Communications, Danesh Blv, Jenah Ave,
Azadi Sqr, Tehran, Iran.

39. Paper 31011078: Reconfigurable Parallel Data Flow Architecture (pp. 244-251)
Dr. Hamid Reza Naji, International Center for Science & high Technology and Environmental Sciences,
Kerman Graduate University of Technology

40. Paper 31100967: Model Based Ceramic tile inspection using Discrete Wavelet Transform and
Euclidean Distance (pp. 252-256)
Samir Elmougy 1, Ibrahim El-Henawy 2, and Ahmed El-Azab 3
1 Dept. of Computer Science, College of Computer and Information Sciences, King Saud Univ., Riyadh
11543, Saudi Arabia
2 Dept. of Computer Science, Faculty of Computer and Information Sciences, Zagazig University, Zagazig,
Egypt
3 Dept. of Computer Science, Misr for Engineering and Technology (MET) Academy, Mansoura, Egypt

41. Paper 06011047: An Analytical Approach to Document Clustering Based on Internal Criterion
Function (pp. 257-261)
Alok Ranjan, Department of Information Technology, ABV-IIITM, Gwalior, India
Harish Verma, Department of Information Technology, ABV-IIITM, Gwalior, India
Eatesh Kandpal, Department of Information Technology, ABV-IIITM, Gwalior, India
Joydip Dhar, Department of Applied Sciences, ABV-IIITM, Gwalior, India

42. Paper 30011060: Role of Data Mining in E-Payment systems (pp. 262-266)
Sabyasachi Pattanaik, Partha Pratim Ghosh
FM University, Balasore

43. Paper 30120933: Facial Gesture Recognition Using Correlation And Mahalanobis Distance (pp.
267-272)
Supriya Kapoor, Computer Science Engg., Lingaya,s Institute of Mgt & Tech., India
Shruti Khanna, Computer Science Engg., Lingaya,s Institute of Mgt & Tech., India
Rahul Bhatia, Information Technology Engg., Lingaya,s Institute of Mgt & Tech.,India

44. Paper 28011035: FP-tree and COFI Based Approach for Mining of Multiple Level Association
Rules in Large Databases (pp. 273-279)
Virendra Kumar Shrivastava, Department of Computer Science & Engineering, Asia Pacific Institute of
Information Technology, Panipat (Haryana), India
Dr. Parveen Kumar, Department of Computer Science & Engineering, Asia Pacific Institute of Information
Technology, Panipat (Haryana), India
Dr. K. R. Pardasani, Dept. of Maths & MCA, MANIT, Bhopal, India
 45. Paper 28011032: A GA based Window Selection Methodology to Enhance Window based Multi
wavelet transformation and thresholding aided CT image denoising technique (pp. 280-288)
Syed Amjad Ali, Department of ECE, Lords Institute of Engineering and Technology, Himayathsagar,
Hyderabad 8
Srinivasan Vathsal, Professor and Director, R&D, Bhaskar Engineering College, Yenkapally, Moinabad,
Ranga reddy Dist
K. Lal kishore, Rector, Jawahar Lal Nehru Technological University, Kukatpally , Hyderabad

46. Paper 19011015: Investigation and Assessment of Disorder of Ultrasound B-mode Images (pp.
289-293)
Vidhi Rawat, Department of Biomedical Engineering Samrat Ashok Technological Institute, Vidisha, India.
Alok jain, Department of electronics Engineering, Samrat Ashok Technological Institute, Vidisha, India.
Vibhakar shrimali, Department of Trg. & Technical Education, Govt. of NCT Delhi, Delhi.
Samrat Ashok Technological Institute, Vidisha, India.
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010




     Securing Iris Templates using Combined User and
      Soft Biometric based Password Hardened Fuzzy
                           Vault
                       V. S. Meenakshi                                                            Dr. G. Padmavathi
                     SNR Sons College,                                          Avinashilingam University for Women, Coimbatore,
                 Coimbatore,Tamil Nadu, India.                                                 Tamil Nadu, India.
             .                                                                     .


Abstract—Personal identification and authentication is very
crucial in the current scenario. Biometrics plays an important
                                                                             A. Merits of Iris
role in this area. Biometric based authentication has proved                    Iris is the colored ring surrounding the pupil of the eye. Iris
superior compared to traditional password based authentication.              biometric has certain merits compared to finger print. It is
Anyhow biometrics is permanent feature of a person and cannot                highly secure and uses a stable physiological trait. Iris is very
be reissued when compromised as passwords. To over come this                 difficult to spoof. Iris texture is different for right and left eye.
problem, instead of storing the original biometric templates                 They are unique even for identical twins. Iris is less prone to
transformed templates can be stored. Whenever the
                                                                             either intentional or unintentional modification when compared
transformation function is changed new revocable/cancelable
templates are generated. Soft biometrics is ancillary information            to fingerprint.
that can be combined with primary biometrics to identify a
person in a better way. Iris has certain advantage compared to               B. Soft Biometrics
other biometric traits like fingerprint. Iris is an internal part that
is less prone to damage. Moreover is very difficult for an attacker             Soft biometrics provides ancillary information about a
to capture an iris. The key advantage of iris biometrics is its              person (gender, ethnicity, age, height, weight, eye color etc).
stability or template longevity. Biometric systems are vulnerable            They lack distinctiveness or permanence. Hence Soft
to a variety of attacks. This work generates cancelable iris                 biometrics alone is not enough to differentiate two individuals.
templates by applying user and soft biometric based password                 Anyhow when combined with primary biometrics (Fingerprint,
transformations and further secures the templates by biometric               Iris, Retina etc) soft biometrics gives better results.
cryptographic construct fuzzy vault.

Keywords—Cancelable Biometrics, Password, Soft Biometrics, Iris,             C. Cancelable Biometrics
Eye color, Template security, Fuzzy Vault                                       Passwords can be revoked when it is stolen. Biometrics
                                                                             cannot be revoked when spoofed. This is the only disadvantage
                                                                             of biometrics as compared to passwords. Therefore instead of
                        I.   INTRODUCTION                                    storing the biometrics as such transformed templates are
   Biometrics is automated methods of identifying a person or                stored. Whenever a transformed biometric template is spoofed
verifying the identity of a person based on a physiological or               another new template can be generated by changing the
behavioral characteristic. Biometric characteristics that have               transformation function. This makes the biometric cancelable/
been commonly used are fingerprints, iris, face, hand, retina,               revocable similar to password. For different applications
voice, signature and keystroke dynamics. Biometrics identifies               different transformation function can be used. This prevents
‘you as you’. Biometrics serves as an excellent alternative to               the attacker to use the same captured template for other
traditional token or password based authentication methods.                  applications. Like passwords these transformed templates can
Biometric systems are excellent compared over traditional                    be reissued on spoofing.
authentication methods. Biometric traits cannot be lost or
forgotten and they are inherently more reliable. It is very                  D. Operation of Fuzzy Vault
difficult to copy, share and distribute a biometric trait.
                                                                               Fuzzy vault is a cryptographic construct proposed by Juels
Biometric system requires the person being authenticated to be
                                                                             and Sudan [2]. This construct is more suitable for applications
present at the time and point of authentication.
   Anyhow biometrics cannot be revoked when they are                         where biometric authentication and cryptography are combined
spoofed. To overcome this cancelable biometric templates are                 together. Fuzzy vault framework thus utilizes the advantages of
                                                                             both cryptography and biometrics. Fuzzy vault eliminates the
generated that can be revoked when spoofed. Further they are
secured by fuzzy vault construct.



                                                                         1                                http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                      Vol. 7, No. 2, February 2010

                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 7, No. 2, 2010
key management problem as compared to other practical                This construct is called fuzzy because the vault will get
cryptosystems.                                                       decoded even for very near values of U and U’ and the secret
  In fuzzy vault framework, the secret key S is locked by G,         key S can be retrieved. Therefore fuzzy vault construct become
where G is an unordered set from the biometric sample. A             more suitable for biometric data which show inherent fuzziness
polynomial P is constructed by encoding the secret S. This           hence the name fuzzy vault as proposed by Sudan [2].
polynomial is evaluated by all the elements of the unordered           The security of the fuzzy vault depends on the infeasibility
set G.                                                               of the polynomial reconstruction problem. The vault
  A vault V is constructed by the union of unordered set G and       performance can be improved by adding more number of chaff
chaff point set C which is not in G.                                 points C to the vault.
                           V=GUC
  The union of the chaff point set hides the genuine point set
                                                                     E. Limitation of Fuzzy Vault Scheme
from the attacker. Hiding the genuine point set secures the
secret data S and user biometric template T.                            Fuzzy vault being a proven scheme has its own limitations
  The vault is unlocked with the query template T’. T’ is            [5].
represented by another unordered set U’. The user has to
separate sufficient number of points from the vault V by               (i) If the vault is compromised, the same biometric data
comparing U’ with V. By using error correction method the                  cannot be used to construct a new vault. Fuzzy vault
polynomial P can be successfully reconstructed if U’ overlaps              cannot be revoked. Fuzzy vault is prone to cross-
with U and secret S gets decoded. If there is not substantial              matching of templates across various databases.
overlapping between U and U’ secret key S is not decoded.



                                                User Password                 Soft biometric
                                                     (40 bits)                  Password
                                                                                  (24 bits)


                                                        User Password + Soft biometric
                                                       Password      (64 bits)


                                                        Transformation equation from
                                                            combined password
                    Key
                 Generation



                                                                                        Iris

                                                                                   Feature
                                                                                   Extraction


           Transformation                                                           Transformation




                                                                                  Fuzzy Vault


                                   Fig. 1 Steps in combined password hardened fuzzy
                                                         vault



                                                                 2                               http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010

                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010
  (ii) Due to the non-uniform nature of the biometric features            them using fuzzy vault. Section IV discusses the experimental
       it is easy for an attacker to develop attacks based on             results and the security analysis. Section V concludes of the
       statistical analysis of the points in the vault.                   proposed work.
  (iii) The vault contains more chaff points than the genuine
        points. This facilitates the attacker to substitute few                                 II.    RELATED WORK
        points from his own biometric feature. Therefore the              Karthick Nandakumar et al [5] used the idea of password
        vault authenticates both the genuine user and the                 transformation for fingerprint and generated transformed
        imposter using the same biometric identity. As a                  templates. In his work those transformed templates are
        consequence, the false acceptance ratio of the system             protected using fuzzy vault cryptographic construct in which
        increases.                                                        password acts an additional layer of security. Iris based hard
  (iv) Original template of the genuine user is temporarily               fuzzy vault proposed by Srinivasa Reddy [3] followed the
       exposed. During this exposure the attacker can glean the           same idea of [5] to generate revocable iris templates and
       template.                                                          secured them using password hardened fuzzy vault. The basic
                                                                          idea of generating cancelable iris is based on the idea derived
                                                                          from the work done by karthick Nandakumar et al [5] and
  To overcome the limitations of fuzzy vault, password is used            Srinivasa Reddy[3].
as an additional authentication factor. The proposed Iris fuzzy           Iris based hard fuzzy vault proposed by Srinivasa Reddy [3]
vault is hardened by combined user and biometric password.                applies a sequence of morphological operations to extract
This enhances the user-privacy and adds an additional level of            minutiae points from the iris texture. This idea is utilized in the
security.                                                                 proposed method for extracting the minutiae feature point from
                                                                          the Iris. The same idea is used but with combined user and soft
                                                                          biometric password.
F. Steps in Combined Password Hardened Fuzzy Vault                        Soft biometrics ideas derived from [16, 17, 18, 19, 20] are used
  The hardened fuzzy vault overcomes the limitations of non-              for constructing soft biometric passwords.
revocability and cross-matching by introducing an additional
layer of security by password. If the password is compromised
the basic security and privacy provided by the fuzzy vault is                                III.     PROPOSED METHOD
not affected. However, a compromised password makes the                   Revocable iris templates generation is carried out in the
security level same as that of a fuzzy vault. Therefore, security         following three steps. In the first step the iris texture containing
of the password is crucial. It is very difficult for an attacker to       the highlighted minutiae feature points is subjected to simple
compromise the biometric template and the combined                        permutation and translation. This results in the original
password at the same time. The proposed method constructs a               minutiae points being transformed into new points. In the
fuzzy vault using the feature points extracted from iris. The iris        second step the soft biometric password is combined with the
biometric fuzzy vault is then hardened using the password.                user password to get a new 64 bit password. In the third step,
  Steps in hardening scheme:                                              the simple transformed iris template is randomly transformed
                                                                          using password. This process enhances the user privacy and
  1.   A combined user and soft biometric password is                     facilitates the generation of revocable templates and resists
       generated.                                                         cross matching. This transformation reduces the similarity
                                                                          between the original and transformed template.                  The
  2.   A random transformation function is derived from the               transformed templates are further secured using the fuzzy vault
       user password.                                                     construct.
  3.   The password transformed function is applied to the Iris
       template.                                                          A. Extraction of Minutiae Feature point from Iris
  4.   Fuzzy vault frame work is constructed to secure the                   The idea proposed by Srinivasa Reddy [3] is utilized to
       transformed templates by using the feature points from             extract the minutiae feature points from the iris texture.
       the iris.                                                             The following operations are applied to the iris images to
                                                                          extract lock/unlock data. Canny edge detection is applied on
  5.   The key derived from the same password is used to                  iris image to deduct iris. Hough transformation is applied first
       encrypt the vault.                                                 to iris/sclera boundary and then to iris/pupil boundary. Then
                                                                          thresholding is done to isolate eyelashes. Histogram
Figure 1 depicts the steps involved in the construction of the            equalization is performed on iris to enhance the contrast.
password hardened multi biometric fuzzy vault.                            Finally the following sequence of morphological operations is
                                                                          performed on the enhanced iris structure.
The organization of the paper is as follows: Chapter II                   (i) closing-by-tophat
elaborates the background study. Section III explains the                 (ii) opening
proposed generation of cancelable Iris template and securing



                                                                      3                                  http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                 Vol. 7, No. 2, February 2010

                                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                   Vol. 7, No. 2, 2010
(iii) thresholding

      Finally thinning is done to get structures as a collection of
pixels. Now the (x, y) coordinates of the nodes and end points
of the iris minutiae are extracted. Fig. 2(a) shows the localized                 where Xu and X’u is the horizontal distance before and after
iris image, Fig. 2(b) exhibits the iris image with the minutiae                   transformation respectively. Similarly Yv and Y’v is the vertical
patterns and Fig 2(c) shows the permuted and transformed                          distance before and after transformation respectively.
points.
                                                                                  C. Fuzzy vault Encoding
B. Minutiae Feature Point Transformation                                             The transformed features are encoded in the fuzzy vault.
  The Iris texture containing the highlighted minutiae feature                    Password acts as an extra layer of security to the vault. It
points is subjected to simple permutation and translation. This                   resists an imposter from modifying the vault. Secret message
results in the original minutiae points being transformed into                    is generated as a 128 bit random stream. This secret message is
new points.                                                                       transformed with the password. The 16 bit CRC is appended to
  The user password is restricted to the size of 5 characters.                    transformed key S to get 144 bit SC. The primitive polynomial
The length of the user password is 40 bits. The soft biometric                    considered for CRC generation is
password [16,17.18] is generated by combining height, eye
color, and gender. The combination of these three factors
results in 24 bit soft biometric password (8 bit each). Therefore
the length of the combined password is 64 bits. These 64 bits
are divided into 4 blocks of each 16 bits in length.                                The minutiae points whose Euclidian distance is less than D
                                                                                  are removed. 16 bit lock/unlock unit ‘u’ is obtained by
                                                                                  concatenating x and y (each 8 bits) coordinates. The ‘u’ values
                                                                                  are sorted and first N of them are selected. The Secret (SC) is
                                                                                  divided into 9 non overlapping segments of 16 bits each. Each
                                                                                  segment is converted to its decimal equivalent to account for
                                                                                  the polynomial coefficients (C8, C7 …C0). All operations takes
                                                                                  place in Galois Field GF(216).
                                                                                    The projection of ‘u’ on polynomial ‘p’ is found. Now the
                                                                                  Genuine points set G is (ui, P(ui)). Random chaff points are
                                                                                  generated which are 10 times in number that of the genuine
                                                                                  points. Both the genuine and chaff point sets are combined to
        (a) Localized Iris Image         (b) Highlighted Iris Minutiae            construct the vault. The vault is List scrambled.

                                                                                  D. Fuzzy vault Decoding
                                                                                     In the authentication phase, the encrypted vault and
                                                                                  bifurcation feature point are decrypted by the combined
                                                                                  password. Password based transformation is applied to the
                                                                                  query feature points and the vault is unlocked.
                                                                                     From the query templates of the iris, unlocking points (N in
                                                                                  number) are extracted. The unlocking set is found as in
                                                                                  encoding. This set is compared with the vault to separate the
         (c) Red: Permuted Points and Blue: Transformed Points                    genuine point set for polynomial reconstruction. From this set,
                                                                                  all combinations are tried to decode the polynomial.
       Fig 2. Iris Minutiae Extraction and Password Transformation                Lagrangian interpolation is used for polynomial reconstruction.
                                                                                  For a specific combination of feature points the polynomial
   The feature points highlighted in Iris texture are divided into                gets decoded.
4 quadrants. One password block is assigned to each quadrant.                        In order to decode the polynomial of degree 8, a minimum of
Permutation is applied in such a way that the relation position                   at least 9 points are required. If the combination set contains
of the minutiae point does not change. Each 16 bit password                       less then 9 points, polynomial cannot be reconstructed. Now
block is split into two components Tu of 7 bits and Tv of 9 bits                  the coefficients and CRC are appended to arrive at SC*. Then
in length. Tu and Tv represents the amount of translation in the                  SC* is divided by the CRC primitive polynomial.
horizontal and vertical directions, respectively.                                     If the remainder is zero, query image does not match
   The new feature points are obtained by the following                           template image and the secret data cannot be extracted. If the
transformation.                                                                   remainder is not zero, query image matches with the template
                                                                                  image and the correct secret data can be extracted. In this case
            X’u = (Xu + Tu) mod (2 ^ 7)
            Y’v = (Yv + Tv) mod (2 ^ 9)
                                                                              4                               http://sites.google.com/site/ijcsis/
                                                                                                              ISSN 1947-5500
                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                       Vol. 7, No. 2, February 2010

                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
SC* is divided into two parts as the 128 bit secret data and 16
bit CRC code.
                                                                        TABLE III: SHOWING THE STRUCTURE OF SAMPLE PASSWORDS

E. Parameters used in implementation                                                      Soft Biometric Password
   The parameters used in this implementation are shown in                User                     (24 bits)
Table 1. Chaff points hide the genuine points from the                 password                                Gender          Combined
                                                                                    Height
                                                                           (5                    Iris color     (M/F)          Password
attacker. More chaff points makes the attacker to take much            character)
                                                                                     (0 –
                                                                                               (1character)   (1charact         (64 bits)
time to compromise the vault but consumes additional                                 255)
                                                                        (40 Bits)                  (8 bit)        er)
                                                                                    (8 bit)
computation time. The chaff points added are 10 times in                                                        (8 bit)
number that of the genuine points.                                      FUZZY        155              B           M         155BM FUZZY
                                                                        TOKEN        170             G             F        170GF TOKEN
                                                                        VAULT        146             A            M         146AM VAULT
         TABLE I PARAMETERS OF THE IRIS VAULT
                                                                       feature points for three different passwords. The feature points
                                                                       of iris before and after password transformation is shown in
             Parameter               Number                            table 4. This property of password transformation facilitates
                                                                       revocability. Different password can be utilized for generating
No. of. Genuine points(r)                20                            different Iris templates.
No. of Chaff points(c)                   200
Total no. of points                      220                           In the proposed method the security of the fuzzy vault is
(t = r + c)                                                            measured by min-entropy which is expressed in terms of
                                                                       security bits. According to Nanda Kumar [7] the min-entropy
                                                                       of the feature template MT given the vault V can be calculated
       IV.   EXPERIMENTAL RESULTS AND ANALYSIS                         as
   The Iris template is transformed for three different user
passwords to check for revocability. The Table III shows the
sample bifurcation points from four quadrants after
transformation using three different user passwords and soft
biometric passwords generated as shown in table 2 and table 3.
   Consider a 5 character user password ‘FUZZY’, whose
ASCII value is given by or 40 bits. Soft biometric password
component is 155BM(24 bits). Soft biometric password and
User Password are combined to form the transformation                  Where
password as ‘155BMFUZZY’(64 bits) whose ASCII values are               r = number of genuine points in the vault
(155, 66, 77 ,70, 85, 90, 90, 89,) . These 64 bits are divided         c = number of chaff points in the vault
into four blocks of 16 bits each. Each 16 bit is divided into 7        t = the total number of points in the vault (r + c)
bits and 9 bits for transformation in horizontal and vertical          n = degree of the polynomial
direction.
   The feature point transformation is done with other two user          The security of the iris, retina vault is tabulated in Table. V.
passwords and soft biometric password combinations namely              In order to decode a polynomial of degree n , (n+1) points are
‘170GFTOKEN’ and ‘146AM VAULT’ whose ASCII codes                       required. The security of the fuzzy vault can be increased by
are (170, 71, 70, 84, 79, 75, 69, 78,) and (146, 65, 77, 86, 65,       increasing the degree of the vault. Polynomial with lesser
85, 76, 84,) respectively. For the same original template              degree can be easily reconstructed by the attacker. Polynomial
different transformed templates are obtained when password is          with higher degree increases security and requires lot of
changed. Fig 3(a), Fig 3(b) and Fig 3(c) shows the transformed         computational effort. This makes more memory consumption
                                                                       and makes the system slow. However they are hard to
                                                                       reconstruct.In the case of the vault with polynomial degree n, if
        TABLE II : EYE COLOR AND CHARACTER CODE                        the adversary uses brute force attack, the attacker has to try
                      REPRESENTATION
                                                                       total of (t, n+ 1) combinations of n+ 1 element each. Only (r,
                                                                       n+1) combinations are required to decode the vault. Hence, for
                 Eye Color
                               Character Code                          an attacker to decode the vault it takes C(t, n+1)/C(r, n+1)
                                   Used                                evaluations. The guessing entropy for an 8 ASCII character
                   Amber             A                                 password falls in the range of 18 – 30 bits. Therefore, this
                    Blue             E                                 entropy is added with the vault entropy. The security analysis
                   Brown             B
                    Gray             G                                 of the combined password hardened iris fuzzy vault is shown
                   Green             N                                 in Table 5.
                   Hazel             H




                                                                   5                                http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                      Vol. 7, No. 2, February 2010

                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                    Vol. 7, No. 2, 2010




                            Fig 3. (a) PASSWORD : VAULT146AM




                                                              Fig 3. (c) PASSWORD : TOKEN170GF
Fig 3. (b) PASSWORD: FUZZY155BM

        Fig 3. Transformed Retinal Features for Three Different Soft Biometric Passwords




                                                6                                http://sites.google.com/site/ijcsis/
                                                                                 ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                 Vol. 7, No. 2, February 2010

                                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                               Vol. 7, No. 2, 2010



                               TABLE IV      IRIS MINUTIAE FEATURE POINTS BEFORE AND AFTER TRANSFORMATION


                                                                                       Transformation code
                                                    Feature points before                                              Feature point after
                                                                                              from
                             Quadrant                  transformation                                                    transformation
                                                                                            password
                               and
                                                 Horizontal       Vertical                                                             Vertical
                             Password                                                                             Horizontal
                                                  Distance        Distance                                                             Distance
                                                                                        Tu          Tv          Distance (Xu)
                                                    (Xu)            (Yv)                                                                 (Yv)
                              I
                      ‘155BM FUZZY’                                                      77         322                 81             61
                                                        4         123
                       ‘170GF TOKEN’                                                     85          71                 89             66
                      ‘146AM VAULT’                                                      73          65                 77             60
                             II
                      ‘155BM FUZZY’                                                      38         326                 173            56
                                                       135        114
                       ‘170GF TOKEN’                                                     35          84                 170            70
                      ‘146AM VAULT’                                                      38         342                 173            72

                             III
                      ‘155BM FUZZY’                                                      42         346                 46            224
                                                        4         134
                       ‘170GF TOKEN’                                                     39         331                 43            209
                      ‘146AM VAULT’                                                      32         341                 36            219

                             IV
                      ‘155BM FUZZY’                                                      90          89                 246            218
                                                       156         129
                       ‘170GF TOKEN’                                                     69          78                 225            207
                      ‘146AM VAULT’                                                      76          84                232             213




                                  TABLE V       SECURITY ANALYSIS OF COMBINED PASSWORD HARDENED FUZZY VAULT



     Vault     Degree of         Min-entropy      Total no: of               Combinations               No: of                     Min-entropy
     Type      polynomia         of the vault     combinations                 required               Evaluations            + guessing entropy of the
                                 (in security                                                                                        password
                                      bits                                                                                       (in security bit )
       Iris         8                   34         2.8187 X 10 15                167960            1.6782 X 1010                    52 to 64


                                                                                 the ideas of fuzzy vault. Due to this the security of the iris
                        V.    CONCLUSION                                         templates increases to 52 to 64 bits.
   Biometric templates are vulnerable to a variety of attacks.
The only disadvantage of biometrics authentication as
compared to traditional password based authentication is non                                               ACKNOWLEDGEMENT
revocability. The idea of cancelable biometrics overcomes that                     A public version of the CUHK Iris Database is available
disadvantage. Iris has certain advantage as compared to                          from http://www2.acae.cuhk.edu.hk.
fingerprint. Soft biometrics is ancillary information about a
person, when combined with user password gives better                            REFERENCES
results. It is very difficult for an attacker to gain the biometric              [1]    Umat uludag, sharath pankanti, Anil. K.Jain “Fuzzy vault for
features, soft biometric components and user password at the                            fingerprints”, Proceedings of International conference on Audio video
same time. The security of these cancelable templates will be                           based person authentication, 2005.
                                                                                 [2]    Juels and M.Sudan, “A fuzzy vault scheme”, Proceedings of IEEE
the guessing entropy of the 8 character ASCII password which                            International symposium Information Theory, 2002.
comes to be 18 to 30 bits in strength. The user password can be                  [3]    E.Srinivasa Reddy, I. Ramesh Babu, “Performance of Iris Based Hard
changed for generating revocable biometric templates. The                               Fuzzy Vault”, Proceedings of IEEE 8th International conference on
revocable biometric templates are further secured by applying                           computers and Information technology workshops, 2008




                                                                             7                                      http://sites.google.com/site/ijcsis/
                                                                                                                    ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                        Vol. 7, No. 2, February 2010

                                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                        Vol. 7, No. 2, 2010
[4]    U.Uludag, S. Pankanti, S.Prabhakar, and A.K.Jain, “Biometric                                           Dr. Padmavathi Ganapathi is the Professor and Head
       Cryptosystems: issues and challenges, Proceedings of the IEEE ,June                                    of the Department of Computer Science, Avinashilingam
       2004.                                                                                                  University for Women, Coimbatore. She has 21 years of
[5]    Karthik Nandakumar, Abhishek Nagar and Anil K.Jain, “Hardening                                         teaching experience and one year Industrial experience.
       Fingerprint Fuzzy Vault using Password”, International conference on                                   Her areas of interest include Network security and
       Biometrics, 2007.                                                                                      Cryptography and real time communication. She has
[6]    Karthick Nandakumar, Sharath Pankanti, Anil K. Jain, “Fingerprint-                                     more than 80 publications at national and International
       based Fuzzy Vault Implementation and Performance”, IEEE                                                level. She is a life member of many professional
       Transacations on Information Forensics and Security, December 2007.                                    organizations like CSI, ISTE, AACE, WSEAS, ISCA,
[7]    K.NandaKumar, “Multibiometric Systems: Fusion Strategies and                       and UWA. She is currently the Principal Investigator of 5 major projects under
       Template Security”, PhD Thesis, Department of Computer Science and                 UGC and DRDO
       Engineering, Michigan State University, January 2008.
[8]    Sharat Chikkarur, Chaohang Wu, Venu Govindaraju, “A systematic
       Approach for feature Extraction in Fingerprint images”, Center for
       Unified Biometrics and Sensors(CUBS), university at Buffalo, NY,USA.
[9]    K. Jain, A. Ross, and S. Pankanti, “Biometrics: A Tool for Information
       Security,” IEEE Transactions on Information Forensics and Security, vol.
       1, no. 2, pp. 125–143, June 2006.
[10]   K. Jain, A. Ross, and U. Uludag, “Biometric Template Security:
       Challenges and Solutions,” in Proceedings of European Signal
       Processing Conference (EUSIPCO), Antalya, Turkey, September 2005.
[11]   Anil K.Jain, Karthik Nanda Kumar and Abhishek Nagar, “Biometric
       Template Security” EURASIP Journal on Advance in Signal Processing,
       special issue on Biometrics, January 2008.
[12]   Ratha, N.K., J.H. Connell, and R.M. Bolle, “Enhancing security and
       privacy in biometrics-based authentication systems”, IBM Systems
       Journal, vol. 40, no. 3.
[13]   Jain, Anil K. Jain and Arun Ross, “Multibiometric systems,”
       Communications of the ACM,” January 2004, Volume 47, Number 1
       (2004).
[14]   A.K. Jain and A. Ross, “Learning User-specific parameters in a
       Multibiometric System”, Proc. IEEE International Conference on Image
       Processing(ICIP), Rochester, New York, September 22 – 25, 2002, pp.
       57 – 60.
[15]   Li Chen, IEEE Member, Xiao-Long zhang, “Feature-based image
       registration using bifurcation structures”, Matlab Central
[16]   Anil K. Jain, Sarat C. Dass, and Karthik Nandakumar, ” Soft Biometric
       Traits for Personal Recognition Systems Proceedings of International
       Conference on Biometric Authentication”, LNCS 3072, pp. 731-738,
       Hong Kong, July 2004.
[17]   Anil K. Jain, Karthik Nandakumar, Xiaoguang Lu, and Unsang
       Park,”Integrating Faces, Fingerprints, and Soft Biometric Traits for User
       Recognition”, Proceedings of Biometric Authentication Workshop,
       LNCS 3087, pp. 259-269, Prague, May 2004
[18]   18 Anil K. Jain, Sarat C. Dass and Karthik         Nandakumar, ” Can soft
       biometric traits assist user recognition?”, Proceedings of SPIE Vol. 5404,
       pp. 561-572, 2004.
[19]   Anil K. Jain and Unsang Park,” Facial Marks: Soft Biometric For Face
       Reognition”, IEEE International Conference on Image Processing (ICIP),
       Cairo, Nov. 2009.
[20]   Jung-Eun Lee, Anil K. Jain and Rong Jin, “Scars, Marks And Tattoos
       (Smt): Soft Biometric For Suspect And Victim                Identification”,
       Biometrics Symposium 2008




                     V. S. Meenakshi received her B.Sc (Physics) from
                     Madurai Kamaraj University and MCA from Thiagarajar
                     College of Engineering, Madurai in 1990 and 1993
                     respectively. And, she received her M.Phil degree in
                     Computer Science from Manonmaniam Sundaranar
                     University, Tirunelveli in 2003. She is pursuing her PhD
                     at Avinashilingam University for Women. She is
                     currently working as an Associate Professor in the
Department of Computer Applications, SNR Sons College, Coimbatore. She
has 16 years of teaching experience. She has presented nearly 15 papers in
various national and international conferences. Her research interests are
Biometrics, Biometric Template Security and Network Security.




                                                                                      8                                    http://sites.google.com/site/ijcsis/
                                                                                                                           ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010

     A New Clustering Approach based on Page's Path
        Similarity for Navigation Patterns Mining
                                                      Amir Masoud Rahmani                                 Mashalla Abbasi Dezfouli
        Heidar Mamosian                               Department of Computer                                Department of Computer
     Department of Computer                       Engineering, Science and Research                     Engineering, Science and Research
 Engineering, Science and Research                 Branch, Islamic Azad University                       Branch, Islamic Azad University
  Branch, Islamic Azad University                         (IAU),Tehran, Iran                                 (IAU), Khouzestan, Iran .
      (IAU), Khouzestan, Iran .                         .

Abstract—In recent years, predicting the user's next request in           and thereby many chances of the website are missed. Secondly,
web navigation has received much attention. An information                those involved in designing the website are not consulted.
source to be used for dealing with such problem is the left
information by the previous web users stored at the web access                Website developers usually take pages with related content
log on the web servers. Purposed systems for this problem work            and store them in different directories hierarchically. In this
based on this idea that if a large number of web users request            study, such method is combined with collected information
specific pages of a website on a given session, it can be concluded       from previous web users' navigation to introduce a new
that these pages are satisfying similar information needs, and            approach for pages clustering. The simulation results indicated
therefore they are conceptually related. In this study, a new             that this method enjoys high accuracy on prediction. The rest of
clustering approach is introduced that employs logical path               paper is structured as follows: section II outlines general
storing of a website pages as another parameter which is                  principles. Section III described related work, and section 4
regarded as a similarity parameter and conceptual relation                elaborates on a new clustering approach based on pages storage
between web pages. The results of simulation have shown that the          path. Section 5 reports on the results and section 6 is devoted to
proposed approach is more than others precise in determining              conclusion and future studies.
the clusters.
                                                                                                  II.     PRINCIPLES
   Keywords-Clustering; Web Usage Mining; Prediction of Users'
Request; Web Access Log.
                                                                          A.   Web Usage Mining process
                                                                              Web usage mining refers to a process where users' access
                       I.    INTRODUCTION
                                                                          patterns on a website are studied. In general it is consists of 8
    As the e-business is booming along with web services and              steps [3, 4]:
information systems on the web, it goes without saying that if a
website cannot respond a user's information needs in a short                   •   Data collection. This is done mostly by the web
time, the user simply refers to another website. Since websites                    servers; however there exist methods, where client side
live on their users and their number, predicting information                       data are collected as well.
needs of a website's users is essential, and therefore it has                  •   Data cleaning. As in all knowledge discovery
gained much attention by many organization and scholars. One                       processes, in web usage mining can also be happen that
important source which is useful in analyzing and modeling the                     such data is recorded in the log file that is not useful
users' behavior is the second-hand information left by the                         for the further process, or even misleading or faulty.
previous web users. When a web user visits a website, for one                      These records have to be corrected or removed.
request ordered by the user one or more than one record(s) of
the server is stored in the web access log. The analysis of such               •   User identification. In this step the unique users are
data can be used to understand the users' preferences and                          distinguished, and as a result, the different users are
behavior in a process commonly referred to as Web Usage                            identified. This can be done in various ways like using
Mining (WUM) [1, 2].                                                               IP addresses, cookies, direct authentication and so on.
    Most WUM projects try to arrive at the best architecture                   •   Session identification. A session is understood as a
and improve clustering approach so that they can provide a                         sequence of activities performed by a user when he is
better model for web navigation behavior. With an eye to the                       navigating through a given site. To identify the
hypotheses of Visit-Coherence, they attempt to achieve more                        sessions from the raw data is a complex step, because
precise navigation patterns through navigation of previous web                     the server logs do not always contain all the
users and modeling them. As such, the prediction system on                         information needed. There are Web server logs that do
large websites can be initiated only when firstly web access                       not contain enough information to reconstruct the user
logs are numerous. In other words, for a long time a website                       sessions; in this case (for example time-oriented or
should run without such system to collect such web access log,                     structure-oriented) heuristics can be used.




                                                                      9                             http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010
     •   Feature selection. In this step only those fields are                W3C presented an improved format for Web access log
         selected, that are relevant for further processing.              files, called extended log format, partially motivated by the
                                                                          need to support collection of data for demographic analysis and
     •   Data transformation, where the data is transformed in            for log summaries. This format permits customized log files to
         such a way that the data mining task can use it. For             be recorded in a format readable by generic analysis tools. The
         example strings are converted into integers, or date             main extension to the common log format is that a number of
         fields are truncated etc.                                        fields are added to it. The most important are: referrer, which
     •   Executing the data mining task. This can be for                  is the URL the client was visiting before requesting that URL,
         example frequent itemset mining, sequence mining,                user_agent, which is the software the client claims to be using
         graph mining, clustering and so on.                              and cookie, in the case the site visited uses cookies.

     •   Result understanding and visualization. Last step                                      III. RELATED WORK
         involves representing knowledge achieved from web
         usage mining in an appropriate form.                                  In recent years, several Web usage mining projects have
                                                                          been proposed for mining user navigation behavior [6-11].
    As it was shown, the main steps of a web usage mining                 PageGather (Perkowitz, et al. 2000) is a web usage mining
process are very similar to the steps of a traditional knowledge          system that builds index pages containing links to pages similar
discovery process.                                                        among themselves. Page Gather finds clusters of pages.
                                                                          Starting from the user activity sessions, the co-occurrence
B.   Web Access Log                                                       matrix M is built. The element Mij of M is defined as the
    The template is used to format your paper and style the text.         conditional probability that page i is visited during a session if
All margins, column widths, line spaces, and text fonts are               page j is visited in the same session. From the matrix M, The
prescribed; please do not alter them. You may note                        undirected graph G whose nodes are the pages and whose
peculiarities. For example, the head margin in this template              edges are the non-null elements of M is built. To limit the
measures proportionately more than is customary. This                     number of edges in such a graph a threshold filter specified by
measurement and others are deliberate, using specifications that          the parameter MinFreq is applied. Elements of Mij whose value
anticipate your paper as one part of the entire proceedings, and          is less than MinFreq are too little correlated and thus discarded.
not as an independent document. Please do not revise any of               The directed acyclic graph G is then partitioned finding the
the current designations.                                                 graph’s cliques. Finally, cliques are merged to originate the
                                                                          clusters.
    Each access to a Web page is recorded in the web access
log of web server that hosts it. Each entry of web access log file            One important concept introduced in [6] is the hypotheses
consists of fields that follow a predefined format. The fields of         that users behave coherently during their navigation, i.e. pages
the common log format are [5]:                                            within the same session are in general conceptually related.
                                                                          This assumption is called visit coherence.
     remothost rfc931 authuser date “request” status bytes
                                                                              Baraglia and Palmerini proposed a WUM system called
    In the following a short description is provided for each             SUGGEST, that provide useful information to make easier the
field:                                                                    web user navigation and to optimize the web server
     •   remotehost. Name of the computer by which a user is              performance [8-9]. SUGGEST adopts a two levels architecture
         connected to a web site. In case the name of computer            composed by an offline creation of historical knowledge and an
         is not present on DNS server, instead the computer's IP          online engine that understands user’s behavior. In this system,
         address is recorded.                                             PageGather clustering method is employed, but the co-
                                                                          occurrence matrix elements are calculated according to (1):
     •   rfc931. The remote log name of the user.
     •   authuser. The username as witch the user has                                                       Nij
         authenticated himself, available when using password                                    Mij =                                     (1)
                                                                                                         max(Ni, Nj )
         protected WWW pages.
     •   date. The date and time of the request.                              Where Nij is the number of sessions containing both pages i
                                                                          and j, Ni and Nj are the number of sessions containing only
     •   request. The request line exactly as it came from the            page i or j, respectively. Dividing by the maximum between
         client (the file, the name and the method used to                single occurrences of the two pages has the effect of reducing
         retrieve it).                                                    the relative importance of index pages.
     •   status. The HTTP status code returned to the client,                 In SUGGEST a method is presented to quantify intrinsic
         indicating whether or not the file was successfully              coherence index of sessions based on visit coherence
         retrieved and if not, what error message was returned.           hypothesis. It measures the percentage of pages inside a user
     •   Byte. The content-length of the documents transferred.           session which belong to the cluster representing the session
                                                                          considered. To calculate this index, the datasets obtained from
                                                                          the pre-processing phase is divided into two halves, apply the
                                                                          Clustering on one half and measure visit-coherence criterion on




                                                                     10                             http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010
the basis of the second half. It is calculated according to               A. Data Pre-processing
achieved clusters. Measure of γ for each session is calculated               There are several tasks in data pre-processing module. We
according to 2:                                                           begin by removing all the uninteresting entries from the web
                                                                          access log file which captured by web server, supposed to be in
                                                                          Common Log Format. Namely, we remove all the non-html
                               {p ∈ si | p ∈ Ci }
                        γi =                                   (2)        requests, like images, icons, sound files and generally
                                      Ni                                  multimedia files, and also entries corresponding to CGI scripts.
                                                                          Also the dumb scans of the entire site coming from robot-like
    Where p is a page, Si is i-th session, Ci is the cluster              agents are removed. We used the technique described in [12] to
representing i, and Ni is the number of pages in i-th session.            model robots behavior.
The average value for γ over all NS sessions contained inside                Then we create user sessions by identifying users with their
the dataset partition treated is given by:                                IP address and sessions by means of a predefined timeout
                                                                          between two subsequent requests from the same user.
                                                                          According to Catledge et al. in [13] we fixed a timeout value
                                  ∑
                                      Ns
                                          γ                               equal to 30 minutes.
                                      i =1 i
                               Γ=                              (3)
                                     Ns
                                                                          B. Navigation pattern mining
    Jalali et al. [10,11] proposed a recommender system for                    After the data pre-processing step, we perform navigation
navigation pattern mining through Web usage mining to predict             pattern mining on the derived user access session. As an
user future movements. The approach is based on the graph                 important operation of navigation pattern mining, clustering
partitioning clustering algorithm to model user navigation                aims to group sessions into clusters based on their common
patterns for the navigation patterns mining phase.                        properties. Here, to find clusters of correlated pages, both
                                                                          website developers and website users are consulted. To do so,
    All these works attempted to find an architecture and                 two matrixes M and P are created. Matrix M is a co-occurrence
algorithm for enhancing clustering quality, but the quality of            matrix which represents website users' opinions, and matrix P
achieved clusters is still far from satisfying. In this work, a           is the matrix of pages' path similarity.
clustering approach is introduced that is based on path
similarity of web pages to enhance clustering accuracy.                     1) Co-occurrence Matrix: The algorithm introduced at
                                                                          SUGGEST system [8, 9] is employed to create co-occurrence
                        IV.    SYSTEM DESIGN                              matrix. Using this algorithm, M co-occurrence matrix is created
                                                                          which represents corresponding graph with previous users of a
    The proposed system aims at presenting a useful
                                                                          website. The elements of this matrix are calculated based on (1)
information extraction system from web access log files of web
servers and using them to achieve clusters from related pages in          appeared in section III.
order to help web users in their web navigation. Our system has
two modules. The pre-processing module and the module of                     2) Path similarity matrix: Website developers usually store
navigation pattern mining. Figure 2 illustrate the model of the           pages which are related both in structure and content is same
system.                                                                   subdirectory, or create links between two related pages. Due to
                                                                          our lack of knowledge about links between pages on web
                                                                          access logs, to realize the developer's opinion on conceptual
                                                                          relation between pages, the website's pages storage path is
                                                                          employed. For example, two pages Pi and Pj which are located
                                                                          in the following paths.
                                                                                        Directory1/Subdir1/subdir2/p1.html
                                                                                        Directory1/Subdir1/subdir2/p2.html
                                                                              Are more related than two pages which are on the following
                                                                          paths
                                                                                        Directory1/Subdir1/subdir2/p1.html
                                                                                        Directory2/Subdir3/subdir4/p2.html
                                                                             Hence, a new matrix called pages' path similarity matrix
                                                                          can be achieved. To calculate path similarity matrix, first the
                                                                          function similarity(Pi , Pj) is defined. This function returns the
                                                                          number of common sub-directories of two pages, i.e. Pi and Pj.
                                                                          To calculate path similarity matrix elements, the following
                                                                          equation is used:
            Figure 1.                   Model of the system.

                                                                                Pij =
                                                                                                     2 × similarity( path( p1), path( p 2))               (4)
                                                                                        number of directory( path( p1) + number of directory( path( p1)




                                                                     11                                     http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                           Vol. 7, No. 2, 2010
    Where number of directory(path(Pi)) is the number of sub-               and MSSqlServer 2008 have used for coding the proposed
directories of storage path in Pi. When two paths of two pages              system.
are close to each other, the value of each element of this matrix
get closer to 1, and if there is no similarity in storage path, it
becomes 0.
                                                                                             TABLE II.      REMOVED EXTRA ENTRIES
                                                                                        Page Extension               Count of Web Log Entries
    Example: For two pages, i.e. p1.html and p2.html which                      .gif                                 899,883
are stored on the following paths:                                              .xbm                                 43,954
                                                                                .pl                                  27,597
                       Pi:/history/skylab/pi.html                               .bmp, .wav, …, web bots entries      165,459
                 Pj: /history/mercury/ma8/pj.html                                            Total                           1,136,893

   Then                                                                         After removing extra entries, different web users are
                                                                            identified. This step is conducted based on remotehost field.
                                                                            After identified distinct web users, users' sessions are
                                   2 ×1                                     reconstructed. As sessions with one page length are free from
                           Pij =        = 0.4
                                   2+3                                      any useful information, they are removed too. In Table 3,
                                                                            characteristics of web access log file is represented after
  3) Clustering Algorithm: Combining these two                              performing pre-processing phase.
matrixes, the new matrix C is created which shows relation
between different pages of site based on a mix of users and
developers opinions. To combine these two matrixes whose                        TABLE III.      CHARACTERISTICS OF WEB ACCESS LOG FILE AFTER
elements of each varies between zero and 1, Equation (5) is                                    PERFORMING PRE-PROCESSING PHASE

used to keep the values of combined matrixes still between                                                              Number of       Number of
                                                                                                         Number of
zero and 1.                                                                   Dataset    Size(MB)
                                                                                                          Records
                                                                                                                         Distinct        Sessions
                                                                                                                          Users
                                                                              NASA      20               357,621       42,215          69,066
                     Cij = α × M ij + (1 − α ) × Pij             (5)
                                                                               As shown in Figure 3, the percentage of sessions formed by
    Where M is co-occurrence matrix and P is the path                       a predefined number of pages quickly decreases when the
similarity matrix. To arrive at clusters of related pages, the              minimum number of pages in a session increases.
graph corresponding to the achieved matrix is divided into
                                                                                First all the uninteresting entries from the web access log
strong partitions. To do this, DFS algorithm is employed as
                                                                            file (entries corresponding to multimedia logs, CGI scripts and
follows. When the value of Cij is higher than the MinFreq, two
                                                                            corresponding inputs through navigations of web bots) are
corresponding nodes are considered connected, and in other
                                                                            removed.
case they are taken disconnected. We start from one node and
find all nodes connected to it through execution of DFS                        For example, samples of these extra inputs are cited in
algorithm and put them on one cluster. Each node which is                   Table 2 along with the number of their repetition in NASA's
visited is labeled with a visited label. If all nodes bear visited          web access log.
labels, the algorithm ends, otherwise the node not visited is
selected and DFS algorithm id performed on it, and so on.

               V.      EXPERIMENTAL EVALUATION
   For an experimental evaluation of the presented system, a
web access log from NASA produced by the web servers of
Kennedy Center Space. Data are stored according to the
Common Log Format. The characteristics of the dataset we
used are given in Table 1.


          TABLE I.        DATASET USED IN THE EXPERIMENTS.
Dataset    Size(MB)      Records(thousands)       Period(days)
NASA      20            1494                      28

   All evaluation tests were run on Intel® Core™ Duo 2.4
GHz with 2GB RAM, operating system Windows XP. Our
implementation have run on .Net framework 3.5 and VB.Net                                Figure 2. Minimum number of pages in session.




                                                                       12                                 http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010

    Once the users sessions are reconstructed based on
clustering algorithm presented in section 4.2.3, clustering
operation is calculated based on varying values of MinFreg and
α, the percentage of pages clustered is calculated. The tests
showed that the percentage of participated pages for value
α = 0.8 is at the best status. In Figure 4, the percentage of
clustered pages is represented as a function of the parameter
MinFreq and for two values α = 1.0 and α =0.8.




                                                                                                Figure 5. Coherence of visit


                                                                                                   VI.      CONCLUSION
                                                                           For an experimental evaluation of the presented system, a
                                                                        web access log from NASA produced by the web servers of
                                                                        Kennedy Center Space. Data are stored according to the
                                                                        Common Log Format. The characteristics of the dataset we
                                                                        used are given in

                                                                                                       REFERENCES
      Figure 3.   Minimum number of pages in session.
                                                                        [1]  O. Etzioni. The World Wide Web: quagmire or gold mine?
                                                                             Communications of the ACM, 39:65–68, November 1996.
   Figure 5 show the number of achieved clusters for two
                                                                        [2] R. Kosala and H. Blockeel. Web mining research: a survey. In ACM
values α=1.0 and α=0.8 as a function of the MinFreq                          SIGKDD, pp.1–15, July 2000.
parameter.
                                                                        [3] R. Iváncsy and S. Juhász, "Analysis of Web User Identification
                                                                             Methods", International Journal of Computer Science, vol. 2, no. 3, pp.
                                                                             212-219, 2007
                                                                        [4] Z. Pabarskaite and A. Raudys, A process of knowledge discovery from
                                                                             web log data: Systematization and critical review, Journal of Intelligent
                                                                             Information Systems, Vol.28. No. 1.2007. Pp.79-104.
                                                                        [5] M. Eirinaki and M.Vazirgiannis, Web Mining for Web
                                                                             Personalization,ACM Transactions on Internet Technology (TOIT),
                                                                             2003,Vol3.No1.
                                                                        [6] M. Perkowitz and O. Etzioni. "Adaptive web sites: Conceptual cluster
                                                                             mining". In International Joint Conference on Artificial Intelligence,
                                                                             pages 264–269, 1999.
                                                                        [7] T. Joachims, D. Freitag, and T. Mitchell. Webwatcher: A tour guide for
                                                                             the World Wide Web. Fifteenth International Joint Conference on
                                                                             Artificial Intelligence, 1997.
                                                                        [8] R. Baraglia and F. Silvestri, "Dynamic personalization of web sites
                                                                             without user intervention,"Communications of the ACM, vol. 50, pp. 63-
                                                                             67, 2007.
                                                                        [9] R. Baraglia and F. Silvestri, "An Online Recommender System for Large
                  Figure 4. Number of Clusters Found.                        Web Sites," 2004, pp.199-205.
                                                                        [10] M. Jalali, N. Mustapha, M. N. B. Sulaiman, and A. Mamat, "OPWUMP:
                                                                             An Architecture for Online Predicting in WUM-Based Personalization
   To evaluate the quality of clusters found for varying values              System,"      Communications      in   Computer      and    Information
of α, the Visit-coherence index introduced in section 2 is                   Science,Advances in Computer Science and Engineering, Springer
employed.                                                                    Berlin Heidelberg, vol. 6, pp. 838–841, 2008.
                                                                        [11] M. Jalali, N. Mustapha, N. B. Sulaiman, and A. Mamat, "A Web Usage
    In Figure 6, the value of г, is represented as a function of             Mining Approach Based on LCS Algorithm in Online Predicting
the MinFreq parameter for two values α. As shown in the                      Recommendation Systems," in 12th International on Information
figure 6, using our proposed clustering algorithm has enhanced               Visualisation,IV'08, London, UK, 2008, pp. 302-307.
clusters' quality.                                                      [12] P.-N. Tan and V. Kumar. Modeling of web robot navigational patterns.
                                                                             In WEBKDD 2000 Worskhop on Web Mining for E-Commerce –
                                                                             Challenges and Opportunities, August 2000.




                                                                   13                                    http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                 Vol. 7, No. 2, 2010
[13] L. D. Catledge and J. E. Pitkow. Characterizing browsing strategies in
     the World Wide Web. Computer Networks and ISDN Systems, 27, 1995.




                                                                              14                           http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010




 Implementing New-age Authentication Techniques
      using OpenID for Security Automation
  Dharmendra Choukse                   Umesh Kumar Singh                         Deepak Sukheja                    Rekha Shahapurkar
 Institute of Engg. & Science,        Institute of Comp. Science,            Priyatam Institute of Tech.         Lokmanya Tilak College,
        IPS Academy,                      Vikram University,                     and Managemnet,                   Vikram University,
         Indore, India                       Ujjain, India                         Indore, India                     Ujjain,India


                             Abstract                                     scale systems. In this article present a comprehensive
Security of any software can be enhanced manifolds if multiple            approach to RBAC on the Web to identify the user-pull and
factors for authorization and authentication are used .The main           server-pull architectures and analyze their utility. To support
aim of this work was to design and implement an Academy                   these architectures on the Web, for relatively mature
Automation Software for IPS Academy which uses OpenID and                 technologies and extend them for secure RBAC on the Web.
Windows CardSpace as Authentication Techniques in addition to             In order to do so, to make use of standard technologies in use
Role Based Authentication(RBA) System to ensure that only                 on the Web: cookies [Kristol and Montulli 1999; Moore and
authentic users can access the predefined roles as per their              Freed 1999], X.509 [ITU-T Recommendation X.509 1993;
Authorization level. The Automation covers different computing            1997; Housley et al. 1998], SSL (Secure Socket Layer
hardware and software that can be used to digitally create,               [Wagner and Schneier 1996; Dierks and Allen 1999]), and
manipulate, collect, store, and relay Academy information needed          LDAP (Lightweight Directory Access Protocol [Howes et al.
for accomplishing basic Operation like admissions and registration        1999]).
, student and faculty interaction, online library, medical and                The Lightweight Directory Access Protocol (LDAP)
business development. Raw data storage, electronic transfer, and          directory service already available for the purpose of webmail
the management of electronic business information comprise the
                                                                          authentication of IPS Academy, Indore users has been used to
                                                                          do the basic Authentication. The client can request the
basic activities of the Academy automation system. Further
                                                                          application server for any web application which will ask for
Transport Layer Security (TLS) protocol has been implemented to
                                                                          the user credentials which will be verified in the LDAP server
provide security and data integrity for communications over
                                                                          through an ASP.Net [19] Module. On successful verification,
networks. TLS encrypts the segments of network connections at the
                                                                          the authorization module will contact the user role database
Transport
                                                                          and fetch the roles for that user. In case of return of multiple
                                                                          roles, user will be given the authorization of all the roles. The
Keywords:     RBA,       Encryption/Decryption,          OpenID,          access to the application will be on the basis of privilege of the
windowsCardSpace, TLS (Transport LayerSecurity)                           role of that particular user. The role database is implementing
                                                                          in Microsoft SQL server [18] database.
                     1. INTRODUCTION                                          On successful authentication, the Authentication and
                                                                          authorization module which has been developed for this
The World Wide Web (WWW) is a critical enabling                           purpose is called and the role for the user is retrieved.
technology for electronic commerce on the Internet. Its                   Privileges are granted to roles which in turn roles are granted
underlying protocol, HTTP (Hypertext Transfer Protocol                    to users. The overall database server and application server is
[Fielding et al. 1999]), has been widely used to synthesize               considered for possible attacks. The proposed scheme is given
diverse technologies and components, to great effect in Web               in figure 3. The database server and the authentication server
environments. Increased integration of Web, operating system,             are in a private network and separated from the user network
and database system technologies will lead to continued                   by a firewall. These servers can be accessed only through
reliance on Web technology for enterprise computing.                      application server, i.e. through the authentication and
However, current approaches to access control on Web servers              authorization module. Application server has an interface in
are mostly based on individual user identity; hence they do not           the private network but can avail only the specific service
scale to enterprise-wide systems. If the roles of individual              which has been explicitly allowed in the firewall. Application
users are provided securely, Web servers can trust and use the            server has another interface which is part of user network with
roles for role-based access control (RBAC [Sandhu et al.                  a firewall to restrict the clients only to the desired service.
1996; Sandhu 1998]). So a successful marriage of the Web
and RBAC has the potential for making a considerable impact                  2. OBSERVATION AND PROBLEM DESCRIPTION
on deployment of effective enterprise-wide security in large-



                                                                     15                               http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010



The whole Collage Academy automation consists of many                     change. The newly mapped user is not the owner and so
sections viz. Student Affairs, Academic Section, Research and             cannot change the ownership, but maybe allowed to map
development, Training and Placement, Finance and Accounts                 again. For example, HODCSE is the role and the owner’s user
be given access to different aspects of the systems based on              id is”Ram”. Normally, HODCSE maps to Ram. When Prof.




                 Figure 1: System and Server Security

their clearance level. For e.g. the Assistant Registrar of                                                                                     
Student Affairs should have full access to all the options of                            Figure 2: Basic Architecture of Academy
Student Affairs database but not that of the Academic Section
database. However, provisions have to be made so that he/she                Ram goes on leave, he fills up some form electronically and
is able to perform some student affairs related queries to the              this triggers (among other things) a role change of
student affairs database. Similarly, a student must have read-              HODCSE to the user he designates, say Prof.Shayam.
only access to his/her information in the official records and              Now”Ram” is going on leave till 4/7/2009, so the changed
modifying capabilities some of his/her details in the training              mapping is till 4/7/2009 (to”pshayam”; specified by”Ram”
and placement section database. This calls for a role-based                 in the form he filled up). Now due to an emergency,
approach to access the databases. Each person has a certain                 ”pshayam” had to leave station on 4/7/2009, making Prof
role attached to it. This role corresponds to the areas of the              manoj the Head. Since” pshayam” is not the owner, he
work his login account can access. If a violation occurs, the               cannot change the validity date beyond 4/7/2009
user is immediately logged out.                                             and”Ashish” takes over the HODCSE role till 4/7/2009. On
    In this work the design and implementation of the Role                  5/7/2009 (or the next query of the role), the role remaps
Based Authentication Schemes for Security Automation is                     to”Ram”. Other cases (like”Ram” having to overstay
described, developed at the IPS Academy, Indore as an                       beyond 4/7) can be handled by the administrator
ASP.NET 2005 web application in C# server side code,
HTML, and JavaScript for use on the Internet. The purpose                                      3. METHODOLOGY
work to deploy a cost-effective, web-based system that
significantly extends the capabilities, flexibility, benefits, and          1.   We have 2 sets of Roles:
confidentiality of paper-based rating methods while                            • Global Roles: These refer to the roles which are
incorporating the ease of use of existing online surveys and              common to all the applications viz. root,
polling programs.                                                                        Director: Their Role IDs are of single
                                                                                         Digit: 0, 1, and 2 etc.
2.1Problem Issues and Challenges                                               • Local Roles: These are roles which are specific to a
                                                                          module. For E.g. for Student Affairs,the roles of Assistant
There are Following problems:-                                            Registrar, Academy in charge. Their IDs are of the Form: 10,
  1. The information line must be completely secured.                     11, 12 ... 110 etc. where first digit identifies the application to
  2. Proper Encryption must be used for storing the                       which all of them are common.
Password for the User.                                                      2. There is a Global role to role_id mapping table.
  3. The authorization token which is stored on the client                  3. Also there is a local mapping table for each section.
side has to be encrypted so that the client cannot modify his             Insertion/modification or deletion of any entry in the local
authorization clearance level.                                            table generates a Microsoft SQL trigger for its ‘encoded’ entry
  4. Each userid-role mapping should have an expiry date                  addition in the global table.
beyond which it will be invalid.                                             A web interface which is accessed by any member and is
  5. Role Scoping: Local and Global Roles                                 used to assign his role to any other member for a specified
  6. In each role, we have to have an owner. Normally the                 period. The role validity period of the other person cannot
role will map to the user id of the owner. The owner can                  exceed the validity period of the assigner. So, whenever a role
change the mapping and can specify the time period of this



                                                                     16                                http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                        Vol. 7, No. 2, February 2010



has to be transferred, an entry is made in the user role relation                     capability for the exchange of identity attributes as well [6].
table corresponding to the user ID of the assigned person and                         The first version of OpenID (v.1.0) had several security
it is made sure that the validity period of the assigned is less                      weaknesses some of which were quickly patched in v1.1 (e.g.
than the validity period of assigner from                                             messages could be replayed), while others were fixed in v2.0.
                                                                                      However, as described below, v2.0 still suffers from several
                       TABLE 1: Various roles and their IDs                           security weaknesses, which may or may not pose a significant
                                                                                      risk, depending upon the application that one wishes to secure
                           Role                               Role ID                 with OpenID.
                      Administrator                              0
                         Student                                 1
                                                                                         OpenID works as follows in Figure 3. When a user contacts
                          Faculty                                2                    a Service Provider (SP) that supports OpenID, he presents his
           Assistant Registrar (Student Affairs)                10                    URL (or XRI), and the SP contacts the URL to see who is the
             Assistant Registrar (Academic)                     20                    OP that speaks for it. This is the process of Identity Provider
                Assistant Registrar (RND)                       30                    Discovery, and it bypasses the need for the Where Are You
                Assistant Registrar (TNP)                       40
              Assistant Registrar (Finance)                     50
                                                                                      From service of Shibboleth and the Identity Selector in
                        Registrar                                3                    CardSpace. When XRIs are used, these similarly are resolved
                         Director                                4                    by the SP to find the OP that can authenticate the user. Once
                  Head of Departments                            5                    the identity provider has been discovered, the SP must
                                                                                      establish a shared secret with it so that future messages can be
                                                                                      authenticated, using the well known process of message
                           TABLE 2: User name id relation                             authentication codes (MAC). The OpenID specifications use
                                                                                      Diffie-Hellman to establish the shared secret between the OP
                    User_name                       User_id
                                                                                      and SP; unfortunately, Diffie-Hellman is vulnerable to man in
                           root                          1
                                                                                      the middle attacks. Once the OP and SP have established a
                    dharmendra                           2                            shared secret, the SP redirects the user to the OP, to be
                           try                           3                            authenticated by any mechanism deemed appropriate by the
                                                                                      OP. During the authentication process the OP is supposed to
                             TABLE 3: User role relation                              check that the user wants to be authenticated to this SP, by
                                                                                      displaying the “realm” of the SP to the user. (The realm is a
    s_no         user_id          role_id   valid_from        valid_upto              pattern that represents part of the name space of the SP e.g.
                                                                                      *.kent.ac.uk). But this realm information can easily be spoofed
     1             1                12      2008-01-01        2009-01-02              by an evil SP, which will lull the user into a false sense of
                                                                                      security that they are authenticating to a known SP when in
     2             1                13      2008-01-01        2008-05-06              fact they will be redirected to an evil one after the
                                                                                      authentication has completed. After successful user
     3             2                12      2007-01-01        2008-01-01              authentication, the OP redirects the user back to the SP along
                                                                                      with an authentication token saying that the user has been
                                                                                      authenticated and has control over the OpenID they specified.
the same user role relation table.                                                    The SP then grants the user access to its services, as it deems
                                                                                      appropriate. One might regard OpenID as a direct competitor
3.1 Database Table Structure                                                          of Shibboleth for user authentication. On the face of it OpenID
                                                                                      sounds like an attractive way of assigning people globally
   We will have a common login page for all the sections of                           unique IDs based on URLs, and an authentication service that
the Academy Automation. The looks up table of the                                     will validate this binding. Unfortunately, when one inspects
corresponding IDs are shown in table 1, 2 & 3.                                        the OpenID system closer, one finds it has a significant
                                                                                      number of weaknesses that Shibboleth does not have (and one
            4.     ADDING NEW AGE AUTHENTICATION                                      major one that is shared with Shibboleth – namely Phishing).
                     TECHNIQUES AND MECHANISM
                                                                                      4.2 Advantages of OpenID
4.1 OpenID
  It is an authentication system that is based on the premise                            4.2.1 Simplicity
that anyone can have a URL (or alternatively an Extensible                                    The latest OpenID specification [4] is considerably
Resource Identifier (XRI) [7] which is allowed in version 2.0)                        thinner and much easier to understand than the latest SAML
and an OpenID Identity Provider (OP) which is willing to                              specification [11]. This is due to their scope. OpenID is
speak on behalf of this URL or XRI. During its short lifetime,                        concrete and specifies how data is carried over HTTP. SAML
OpenID has evolved through three versions, namely Open ID                             is an abstract framework and requires profiles and bindings to
v1.0, v1.1 [5] and v2.0 [4]. Whilst the first two versions were                       specify what content is carried over which Internet protocols.
only concerned with authentication, v2.0 has added the                                Thus the OpenID specification is complete and self contained




                                                                                 17                                http://sites.google.com/site/ijcsis/
                                                                                                                   ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



(if one excludes its optional extensions), whereas SAML is a            relies on the user’s PC to act as the discovery service. The
framework that references more than a dozen other                       Identity Selector program allows the user to pick the IdP he
specifications, which need to be understood in order to fully           wants to use from the cards in his selector.
appreciate and implement SAML. To secure messages, SAML
relies on XML, and consequently upon XML signatures and
XML encryption, whereas OpenID simply relies on SSL/TLS.
Whilst both specify a protocol for carrying authentication
assertions between users and various identity and service
providers, OpenID’s protocol is concrete whilst SAML’s
protocol is abstract and also includes attribute assertions and
authorisation assertions. Whilst OpenID specifies the format
of user identifiers and how the user’s OpenID provider is
discovered, SAML’s framework does not mandate any
particular user identifier, nor how the user’s identity provider
is discovered. Thus SAML is far more flexible and extensible
than OpenID, but as a result, is more complex. However, it
would be possible to define a profile of SAML and a protocol
binding that would mirror that of OpenID if this was required.

   4.2.2 Implementation Effort
        An OpenID infrastructure should be significantly easier
to implement and deploy than a SAML-based one. Because
the OpenID specification is simpler, with far fewer options,
most OpenID implementations should interwork “out of the
box”. SAML implementations on the other hand will most                              Figure 3:- The OpenID Authentication Process
likely only implement a specific subset of profiles and
protocol bindings, which will necessarily mean that not all             4.3 OpenID Implementation:
implementations will interwork “out of the box”, and may                    To implement OpenID in IPS Automation System we
require significant configuration in order to do so.                    have used JanRain OpenSource Library .The auto -mation
                                                                        application will go through authentication process as follows:
   4.2.3 No Discovery Service                                               • End User enters his identity URL on the Login page.
        Because OP discovery is built into the OpenID                       • Create OpenID authentication request from User’s
specification, via the user’s URL or XRI, then there is no need                  URL.
for a separate Discovery mechanism. Shibboleth on the other
                                                                            • Initialize a storage place where the application can
hand does require a means of IdP discovery which can be
                                                                                 store information, since it is working in smart
provided in a number of ways (though none of these is
                                                                                 mode(to keep the session information).
satisfactory as a long-term solution). As a default, the
                                                                            • The request is sent            to OpenID server for
federation provides a Where Are You From (WAYF) service,
                                                                                 authentication. The request also includes the redirect
which presents users with a list of IdPs from which to choose;
                                                                                 path to the IPS Website.
this becomes increasingly less viable as the number of IdPs
grows. Institutions which have implemented library portals                  • Response from the server is received and processed.
have been able to improve on this by providing their users                       In case of authentication failure , browser is
with direct links to the institution’s subscribed services (so                   redirected to an error page displaying a message that
called WAYFless URLs); in the Schools sector this method of                      authentication failed. Otherwise the user will be
service presentation is seen as essential. Another solution is                   logged in.
provided by some large publishers and JISC data centres,
which present the user with a list of institution names drawn              In the JanRain Library the “Services” folder contains the
from the service’s list of subscribers (though for SPs with a           Yadis protocol files and “Auth” folder contains main OpenID
large client list this provides little relief from the current          library files( should be included in PHP search path). The
WAYF). Multiple WAYFs are not a realistic solution for                  record for ipsacademy.com is created in DNS and the web
supporting inter-federation connections though no alternative           server(Apache) is configured to make JanRain library files
solution has been agreed. Note that the OpenID method of                become accessible when a page request is received . This is
discovery is not new to academia. The EduRoam service [12]              done as follows:
works in a similar way to OpenID by requiring the user to                   <VirtualHost *:80>
enter his identity in the form username@realm, where realm is                ServerAdmin webmaster@ipsacademy.org
the DNS name of the user’s university, and acts as the                       DocumentRoot /backup/ipsacademy
discovery service for EduRoam. CardSpace on the other hand,                  ServerName ipsacademy.org
                                                                                ErrorLog logs/ipsacademy.org-error_log



                                                                   18                               http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



     CustomLog logs/ipsacademy.org-access_log common                      dirname($_SERVER['PHP_SELF']));
      </VirtualHost>                                                      // Begin the OpenID authentication process.
HTML source code segment for the OpenID Login form is as                  $auth_request = $consumer->begin($openid);
follows:                                                                  // Handle failure status return values.
 <form method="get" action="try_auth.php">
 Identity&nbsp;URL:
 <input type="hidden" name="action" value="verify" />
 <input type="text" name="openid_url" value="" />
 <input type="submit" value="Verify" />
 </form>
The flow of authentication can be explained as: “index.php”
page gets the OpenID URL from an End User and sends it to
“try_auth.php” file. This file then constructs an authentication
request and sends it to the OpenID server. The OpenID server
processes this request and then sends the result back to
“finish_auth.php” file using web browser redirection method.
                                                                        Figure 4: Use of ipsacademy source files during authentication request
  The index.php File                                                                                processing.
    This file is responsible asks user to enter his OpenID
    URL. The source code for this form is as shown below:                 if (!$auth_request) {
        <form method="get" action="try_auth.php">                         $error = "Authentication error.";
        Identity&nbsp;URL:                                                include 'index.php';
        <input type="hidden" name="action" value="verify"                 exit(0);
    />                                                                    }
        <input type="text" name="openid_url" value="" />                  $auth_request->addExtensionArg('sreg', 'optional',
        <input type="submit" value="Verify" />                            'email');
        </form>.                                                          // Redirect the user to the OpenID server for
                                                                          authentication. Store
  The try_auth.php File                                                   // the token for this authentication so we can verify the
    This file is responsible for creating OpenID request and              response.
    sending it to the OpenID server.                                      $redirect_url = $auth_request->redirectURL($trust_root,
                                                                          $process_url);
    <?php                                                                 header("Location: ".$redirect_url);
    require_once "common.php";                                            ?>
    session_start();
    // Render a default page if we got a submission without an          The finish_auth.php File
    openid                                                                This file confirms successful verification or unsuccessful
    // value.                                                             verification:
    if (empty($_GET['openid_url'])) {
    $error = "Expected an OpenID URL.";                                   <?php
    include 'index.php';                                                  require_once "common.php";
    exit(0);                                                              session_start();
    }                                                                     // complete the authentication process using the server's
    $scheme = 'http';                                                     response.
    if (isset($_SERVER['HTTPS'])and $_SERVER['HTTPS']                     $response = $consumer->complete ($_GET);
    == 'on') {                                                            if ($response->status == Auth_OpenID_CANCEL) {
    $scheme. = 's';                                                       // This means the authentication was cancelled.
    }                                                                     $msg = 'Verification cancelled.’
    $openid = $_GET['openid_url'];                                        } else if ($response->status == Auth_OpenID_FAILURE)
    $process_url=                                                         {
    sprintf("$scheme://%s:%s%s/finish_auth.php",                          $msg = "OpenID authentication failed: " . $response-
    $_SERVER['SERVER_NAME'],                                              >message;
    $_SERVER['SERVER_PORT'],                                              } else if ($response->status ==
    dirname($_SERVER['PHP_SELF']));                                       Auth_OpenID_SUCCESS) {
    $trust_root = sprintf("$scheme://%s:%s%s",                            // this means the authentication succeeded.
    $_SERVER['SERVER_NAME'],                                              $openid = $response->identity_url;
    $_SERVER['SERVER_PORT'],                                              $esc_identity = htmlspecialchars($openid,
                                                                          ENT_QUOTES);



                                                                   19                                http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



    $success = sprintf('You have successfully verified '                same profile-related information just to ensure that the user
    '<a href="%s">%s</a> as your identity.’                             credentials are valid.
    $esc_identity, $esc_identity);
    if ($response->endpoint->canonicalID) {
    $success .= ' (XRI CanonicalID: '.$response->endpoint-
    >canonicalID.') ';                                                                             REFERRENCE
    }
    $sreg = $response->extensionResponse('sreg');                       [1] William Stallings, “Cryptography and Network Security Principles and
                                                                              Practices” 2003,3rdEdition,Prentice Hall.
    if (@$sreg['email']) {                                              [2] Eric Cole, Ronald L. Krutz, James Conley, “Network Security Bible”
    $success .= " You also returned '".$sreg['email']."' as your              2005, 2nd Edition, Wiley Publication.
    email.";                                                            [3]     Yih-Cheng Lee, Chi-Ming Ma and ShihChien Chou,” A Service-
    }                                                                         Oriented Architecture for Design And
                                                                              Development of Middleware,” Proceedings of the 12th Asia-Pacific
    }                                                                         Software Engineering
    include 'index.php';                                                     Conference (APSEC05) 0-7695- 2465-6/05
    ?>                                                                   [4] specs@openid.net “OpenID Authentication 2.0 – Final” 5 Dec 2007.
                                                                              Available from
                                                                             http://openid.net/specs/openid-authentication-2_0.html
After successfully authenticating with the OpenID provider              [5] D. Recordon B. Fitzpatrick. “Open ID Authentication 1.1”. May 2006.
(myopenid.com), the OpenID provider redirects the client to                   Available from
the page originally requested (http://<ipsacademy.org>:8081)                 http://openid.net/specs/openid-authentication-1_1.html
that shows the remote user, groups, and roles of which the              [6] D. Hardt, J. Bufu, Sxip Identity, J. Hoyt, JanRain. “OpenID Attribute
                                                                              Exchange 1.0 – Final” 5 Dec 2007.
user is a member. The remote user is the openid identity that                Available from http://openid.net/specs/openid-attribute-exchange-
was used to log in. The groups contain a single group, the                    1_0.html
VALID_OPENID_USER group, and the role is populated                      [7] OASIS “Extensible Resource Identifier (XRI) Syntax V2.0”. Committee
with OPENID_ROLE. If this is not the case, the user would                     Specification, 14 November
                                                                             2005. Available from http://www.oasis-
not be authenticated because only users in the role                           open.org/committees/download.php/15376
OPENID_ROLE are permitted to access this resource.                      [8] William E. Burr, Donna F. Dodson, Ray A. Perlner, W. Timothy Polk,
                                                                              Sarbari Gupta, Emad A.
                 5. RECCOMMENDATION                                          Nabbus. “Electronic Authentication Guideline”, NIST Special
                                                                              Publication NIST Special Publication
                                                                             800-63-1, Feb 2008
•   The IPS Automation System should keep track of both                 [9] Eugene Tsyrklevich & Vlad Tsyrklevich. “OpenID: Single Sign-On for
    OpenID and CardSpace identity management systems as                       the Internet”. Black Hat USA
    they evolve. There is clearly a great demand for a                       Briefings and Training, Las Vagas, July28- Aug 2, 2007. Available from
    ubiquitous secure identity management system.                            https://www.blackhat.com/presentations/bh-usa-
•   Now that a publicly available OpenID gateway has been                     07/Tsyrklevich/Whitepaper/bh-usa-07-tsyrklevich-
    built, publicise its availability to the community and                   WP.pdf
    monitor its applications and usage. If usage becomes                [10] OpenID. “Microsoft and Google announce OpenID support”. 30 October
                                                                              2008. Available from
    substantial, consider productising the service.                           http://openid.net/2008/10/
                                                                        [11] OASIS. “Assertions and Protocol for the OASIS Security Assertion
                      6. CONCLUSION                                           Markup Language (SAML)
                                                                              V2.0”, OASIS Standard, 15 March 2005
                                                                        [12] L Florio, K Wierenga. “Eduroam, providing mobility for roaming
   The research problem and goal of the Academy Automation                    users”. Proceedings of the EUNIS
is to design a highly secure and efficient framework based on                 2005 Conference, Manchester, 2005
Service Oriented Architecture. Keeping in mind the policies of           [13] Thomas Price, Jeromie Walters and Yingcai Xiao, “Role –Based Online
minimum data redundancy and efficient security, the work                      Evaluation System” ,2007.
                                                                        [14] Srinath Akula, Veerabhadram Devisetty , St. Cloud, MN 56301.” Image
revolved around designing a plug in for secure role based                     Based Registration and Authentication
authentication. Presently the authentication is based on the                  System”, 2002.
traditional userid-password based approach, but as is                   [15] Microsoft,”Visual Studio .Net”.
suggested in this report, work can be done to incorporate new-                Website:http://msdn.microsoft.com/vstudio/
                                                                        [16] Microsoft Corporation. Website: www.passport.net/
age technologies such as OpenID. OpenID provides increased              [17] OpenSSL team. Website: http://www.openssl.org/
flexibility for application deployment by enabling applications         [18] Microsoft, “SQL Server 2005”. Website:http://www.microsoft.com/sql/
to leverage and third-party authentication providers for                [19] Microsoft,”Asp.net”. Website: http://www.asp.net/index.html.
handling authentication. Providers such as OpenID have
become very common as more users want a single user profile
across multiple sites for blogs, wikis, and other social
networking activities. Additionally, many Web sites do not
want to maintain, or require users to continually provide, the




                                                                   20                                   http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                         Vol. 7, No. 2, February 2010



                       AUTHORS PROFILE                                   Indore. He served as Sn. Software Engineer in Patni Compute
Biographical notes:                                                      System Mumbai, KPIT Pune and Tanmay Software Indore.
                                                                         His research interest includes network security, secure
                                                                         electronic commerce, client-server computing and Query
                                                                         Optimization.




Dharmendra Choukse holds a M.Tech in Information
Technology from Devi Ahilya University, Indore-INDIA. He
is currently Pursuing Ph.D. in Computer Science From
Institute of Computer Science, Vikram University, Ujjain-                Rekha D Shahapurkar holds a MCA from Indira Gandhi
INDIA.and He is also currently Sr Software Engineer in                   National Open University, New Delhi, INDIA. She is
Institute of Engineering & Sciences,IPS Academy, Indore-                 currently Pursuing Ph.D. in Computer Science From Institute
INDIA. A He served as Software Engineer in Choksi                        of Computer Science, Vikram University, Ujjain-INDIA.
Laboratories ltd,Indore. His research interest includes network          From 2001 she is working as Asst. Professor in Lokmanya
security, secure electronic commerce, client-server computing            Tilak College Ujjain-INDIA. Her research interest includes
and IT based education.                                                  network security, client-server computing and IT based
                                                                         education.




Dr. Umesh Kumar Singh obtained his Ph.D. in Computer
Science from Devi Ahilya University, Indore-INDIA. He is
currently Reader in Institute of Computer Science, Vikram
University, Ujjain-INDIA. He served as professor in
Computer Science and Principal in Mahakal Institute of
Computer Sciences (MICS-MIT), Ujjain. He is formally
Director I/c of Institute of Computer Science, Vikram
University Ujjain. He has served as Engineer (E&T) in
education and training division of CMC Ltd., New Delhi in
initial years of his career. He has authored a book on “ Internet
and Web technology “ and his various research papers are
published in national and international journals of repute. Dr.
Singh is reviewer of International Journal of Network Security
(IJNS), ECKM Conferences and various Journals of Computer
Science. His research interest includes network security,
secure electronic commerce, client-server computing and IT
based education.




Deepak Sukheja holeds M.Sc.,M.Tech.NIT( Govt. Engg.
College) Raipur-INDIA. He is currently Pursuing Ph.D. in
Computer Science From Institute of Computer Science,
Vikram University, Ujjain-INDIA and He is working as a
Reader in Priyatam Institute of Technology and Managemnt




                                                                    21                              http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                       Vol. 7, No. 2, February 2010




     Ontology Based Query Expansion Using Word
                Sense Disambiguation
                     M. Barathi                                                                   S.Valli
        Department of Computer Applications                                    Department of Computer Science and Engineering
        S. M. K. Fomra Institute of Technology                                                Anna University
                   Chennai, India .                                                            Chennai, India .




Abstract - The existing information retrieval techniques do not             Key          Sense           Noun                Synonyms
consider the context of the keywords present in the user’s
                                                                            word
queries. Therefore, the search engines sometimes do not provide
sufficient information to the users. New methods based on the               Cell    Any small                       The cells of a honeycomb
semantics of user keywords must be developed to search in the
vast web space without incurring loss of information. The                           compartment
semantic based information retrieval techniques need to                             biology                         The basic structural and
understand the meaning of the concepts in the user queries. This
will improve the precision-recall of the search results. Therefore,                                                 functional unit of all
this approach focuses on the concept based semantic information                                                     organisms.
retrieval. This work is based on Word sense disambiguation,
thesaurus WordNet and ontology of any domain for retrieving                         Electric cell                   A device that delivers an
information in order to capture the context of particular                                                           electric current as the
concept(s) and discover semantic relationships between them.
                                                                                                                    result of a chemical
        Index terms – Word Sense Disambiguation, Semantic                                                           reaction.
Information Retrieval, Clustering, Ontology.                                        Cadre                           A small unit serving as
                                                                                                                    part of or as the nucleus of
                                                                                                                    a larger political
                     I. INTRODUCTION                                                                                movement.
          Search engines have become the most helpful tools
for obtaining useful information ever since the development of                      Cellular                        A hand-held mobile
the World Wide Web. But, the search engines sometimes fail                          Telephone,                      radiotelephone for use in
to cater to the users need. The huge volume of information
                                                                                    Cellular Phone,                 an area divided into small
accessible over networks makes it difficult for the user to find
exact information needed. Numerous information retrieval                            Cell Phone,                     sections, each with its
techniques have been developed based on keywords. These                             Mobile phone                    own short-range
techniques use keyword list to describe the content of the
                                                                                                                    transmitter/receiver.
information without addressing anything about the semantic
relationships of the keywords. As a result, understanding the                       Cubicle                         small room in which a
meaning of the keyword becomes difficult [1]-[4]. Synonym                                                           monk or nun lives
and polysemy are two prominent issues. A synonym is a word
which means the same as another word. For instance the word
                                                                                      Figure 1. Multiple Meaning for the word “cell’
animal is a synonym of a living organism. A polysemy is a
word with multiple, related meanings. For example, the word                       In semantic-based information retrieval techniques
cell can be used to refer to a small room in one context and the           searching is performed by interpreting the meanings of the
basic structural and functional unit of an organism in another             keywords (i.e., semantic). The system which retrieves
context [1], [3]-[4]. In WordNet, the word cell has multiple               information based on the semantics of the keyword attains
meaning as shown in Figure 1. So, cell is a polysemy word.                 higher precision than the one which is based on the keyword.
                                                                           Domain ontologies are used as knowledge base to understand
                                                                           the meanings of the concepts.




                                                                      22                              http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                      Vol. 7, No. 2, February 2010



        The semantic-based information retrieval techniques,           concept for expansion. This is supposed to the best as the user
search by interpreting the meanings of the keywords by                 himself disambiguates. The user query is enriched with the
sensing the word using the thesaurus WordNet. It is often              selected concept and passed to the search engine for efficient
difficult for ordinary users to use information retrieval              retrieval of relevant web pages.
systems based on these commonly used keyword based
techniques. So Tin Berners-Lee introduced the idea of a                          K-core is a kind of keyword cluster. K-cores are the
semantic web, where machine readable Semantic knowledge                core words of a concept or theme. Each k-core is a
is attached to all information. The Semantic knowledge                 representative of the semantic context. K-core is a set of
attached to the information is united by means of ontologies,          keywords obtained per topic in a set of web pages. In this
i.e., the concepts attached to the information are mapped into         approach set of four keywords form a k-core in order to
these ontologies. Ontology is “a formal, explicit specification        perform meaningful experiments. The keywords are clustered
of a shared conceptualization” [5]. Ontology is arranged in a          (i.e., k-core) and ranked according to the keyword frequency
lattice or taxonomy of concepts in classes and subclasses              count. For example consider the topic as cancer. The best 4
(cancer, inflammatory, clumps, metastasis) as shown in Figure          cores are given in Table 1.
2. Each concept is typically associated with various properties
describing its features and attributes as well as various
restrictions on them. Ontology together with asset of concrete                          Table 1. A sample k-core for the topic cancer
instances (also called individuals) of the class constitutes a
knowledge base. The semantics of keywords are identified                                            K-Core
through the relationships between keywords by performing
semantic similarity on them[6],[1],[7]-[9],[2],[10].                             Cancer, Oncology, Oncogene, Meta Stasis
                                                                                    Disease, Cancer clumps, Treatment
                                                                                     Cancer, Breast, Lump, Leukemia


                             Cancer


                   Lung                  Bladder
                                                                                 The goal of this work is to choose the best concept
                             Breast
                                                                       and expand the user query for efficient retrieval of information
                                                                       to satisfy the user needs and expectation. The rest of the paper
              Inflammatory             Meta stasis                     is as follows. In section 2, the existing works are highlighted.
                              clumps                                   In section 3 our proposed methodology is explained. Section 4
                                                                       presents the experimental results obtained and section 5
                                                                       concludes the work.

                                                                                         II. EXISTING WORKS
                 Figure 2. A Sample Domain Ontology
                                                                                  In Seamless searching of Numeric and Textual
                                                                       Resources project [12] the author use a customized dictionary
          In our proposed work we use Word sense
                                                                       to disambiguate the concepts used for querying. However our
disambiguation to disambiguate several meaning for a word.
                                                                       system uses a general-purpose thesaurus, WordNet, and the
Word Sense Disambiguation (WSD) is defined as the process
                                                                       context of the user keywords. CUPID [13] and onto builder
of enumerating the sense of a word. The frequency of the
                                                                       [14] identify and analyze the factors that affect the
keywords occurring in the web pages is calculated and they
                                                                       effectiveness of algorithms for automatic semantic
are ranked using the traditional weighting scheme [19] tfidf
                                                                       reconciliation. Our system uses a set of k-core and WSD to
values and stored in the database. To enrich the user query for
                                                                       disambiguate the concepts and the ontology of a particular
efficient retrieval of web pages, the user query is matched
                                                                       domain to enrich the user query for more efficient retrieval of
with the set of k-cores [11] which is constructed using tfidf
                                                                       information. GLUE[15] studies the probability of matching
values. The user query is enriched with the most relevant k-
                                                                       two concepts by analyzing the available ontologies, using a
core using WSD and passed to the search engine for the
                                                                       relaxation labeling method[16]; however, this approach is not
retrieval of the relevant web pages. In order to refine the web
                                                                       very flexible or / adaptable because it analyzes all of the
search using ontology, both the k-cores and the ontology of a
                                                                       ontology concepts, while we use an approach based on word
medical domain is used to enrich the user query for more
                                                                       sense disambiguation to disambiguate the senses and expand
efficient retrieval of web pages. The relevant k-cores are
                                                                       the user query with the best concept. The internet searches can
matched with the ontology of a particular domain to extract
                                                                       be much more focused so that only relevant web pages are
the concepts based on the similarity measure. The concepts
                                                                       retrieved.
are extracted by the concept extractor based on the most
relevant k-cores. The most relevant concepts along with the
ranked k-cores are presented to the user to choose the best




                                                                  23                              http://sites.google.com/site/ijcsis/
                                                                                                  ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010



III. CONCEPT BASED INFORMATION RETRIEVAL
                FRAMEWORK                                                                                                   User
          The proposed system refines the web search for                                 Keyword +
                                                                                         Domain +                           query
efficient retrieval of web pages. Only web pages specific to                             Key cores

the context are retrieved. The set of web pages of a particular
                                                                                           I                          Query Reformulator
domain are retrieved from the web by web searches. Hill-                                   N
                                                                                           T
climbing algorithm is used to “mine” a set of web pages for                                E
                                                                                           R                          Concept Extractor
finding k-cores. Stop words are removed and the core                                       N
                                                                                           E
keywords are extracted.                                                                    T
                                                                                                                      Concept Matcher
          The keywords (i.e. k-core) are clustered based on
tfidf values. Each k-core is a representative of the semantic                                                            Reranker
context. Here, k is the size of the cluster. It may be 3 or 4 k-
                                                                                          Domain Ontology
core. Using the frequency count of keywords, the web
searches can be much more focused so that only relevant web
pages are retrieved. This process is shown in Figure 3.                         Figure 4. Concept Based Semantic Information Retrieval Framework

                                                                             A. Query Reformulator
                                  User Query
                                                                                      The query reformulator expands the query using
                                  Query Analyser                             relationship such as synonym [6],[1],[8],[5], semantic
                                                                I
                                                                N            neighborhood [2], hyponym [6],[2],[17] (i.e. Is-A
                                               Query Sense
                       Word Sense                               T
                                                                E
                                                                             relationship) and Meronym (i.e. Part-of) [6],[2] using
                                                Result [N]
                                                                R
                                                                N
                                                                             distance based approach [18],[8],[9]. Then the query is
                        WordNet                  Fetcher        E            rewritten with these expanded terms and passed to the
                                                                T
                                                                             Concept Matcher.
                                                Key cores
                                                generator                    B. Concept Extractor and Matcher
                                                                                       The concept matcher matches the relevant k-cores
                                               Keyword +
                                                                             with the ontology to extracts the concepts based on the
                                               Domain +
                                               Key cores
                                                                             similarity measure. The concepts are extracted by the concept
                                                                             extractor based on the most relevant k-cores.

                                                                             C. Re-ranker
           Figure 3. Block Diagram of Web page retrieval and Keycore                  The Reranker sorts the document according to the
                         Generation Module                                   relevance of the user’s queries. Documents that are related to
                                                                             the user’s query are retrieved and ranked according to their
          The user query along with the set of k-cores is                    importance. The relevance between the documents and
refined by using WSD to disambiguate the senses for efficient                frequency count of the keywords are measured. The relevance
retrieval of web pages. The refined user query is passed to the              of the documents is computed using the traditional weighting
search engine for retrieving the relevant web pages. For                     scheme [19] given in equation (1).The tf in equation (1) refers
further refinement of the user query the K-cores and the                     term frequency, N is the total no. of documents, df is the
ontology of the particular domain are used for retrieving                    document frequency and tfidf is the term frequency inverted
relevant web pages. The concepts are extracted by the concept                document frequency.
extractor based on the most relevant k-cores. The most
relevant concepts along with the ranked k-cores are presented                                               tfidf=tf*log (N/df)                     (1)
to the user to choose the best concept for expansion. This is
supposed to the best, as the user himself disambiguates. The
user query is enriched with the selected concept and passed to                 D. Concept Similarity
the search engine for efficient retrieval of relevant web pages                        The similarity is calculated by measuring semantic
as shown in Figure 4. This framework consists of components                  similarity of concepts and their relationships. The concepts
namely the Query reformulator, Concept Extractor, Matcher                    similarity is measured by calculating the distance between
and Reranker.                                                                them [18], [8], [9]. The distance is calculated between
                                                                             different concepts from their position in the concepts
                                                                             hierarchy. The position of a concept in a hierarchy is defined
                                                                             [8] using equation (2),where ‘k’ is a predefined factor larger
                                                                             than ‘l’ and l(n) is the depth of the node ‘n’ in hierarchy.




                                                                        24                                   http://sites.google.com/site/ijcsis/
                                                                                                             ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010



                                      ½
           Milestone (n) =                                                       G. Refining Web Search Using Ontology
                                                                      (2)                          The k-cores and the ontology of the
                                    K l(n)                                       particular domain are used in enhancing the user query for
                                                                                 more efficient retrieval of web pages. The first step matches
 For the root of a hierarchy, l (root) is zero. For any two                      the user query with the set of k-cores using WordNet to
concepts c1 and c2 in the hierarchy having closest common                        disambiguate the senses. Then the relevant k-cores are
parent (ccp), the distance dc between two concepts and their                     matched with the ontology of the particular domain based on
ccp is calculated using equations (3) and (4).                                   the similarity measure. The concepts are extracted by the
                                                                                 concept extractor based on the most relevant k-cores. The
               dc(c1,c2)=dc(c1,ccp)+dc(c2,ccp)                        (3)        most relevant concepts along with the ranked k-cores are
                                                                                 presented to the user to choose the best concept for expansion.
               dc(c1,cpp)=milestone(ccp)–milestone(c1)                (4)        This is supposed to the best as the user himself disambiguates.
                                                                                 The user query is enriched with the selected concept and
Thus, the similarity simc between the two concepts c1 and c2 is                  passed to the search engine for efficient retrieval of relevant
calculated using equation (5)                                                    web pages. The algorithm for refining the web search using
                                                                                 Ontology is given in Figure 7.
               simc(c1,c2)=l-dc(c1,c2)                                (5)
                                                                                 Input : User query, Domain ontology and K-cores
 If the concept c1 and concept c2 are synonym or acronym of                      Output : Set of relevant web pages
each other, the distance will be 0, i.e. the similarity between                  Algorithm
these two concepts will be 1.Synonym and acronym relation
                                                                                      1. The user query and the set of k-cores are
between concepts are treated at the same level.
                                                                                         disambiguated using thesaurus WordNet.
                                                                                      2. The set of relevant k-cores is matched with the
E.   Relations Similarity                                                                concepts in the domain ontology to extract the
    The similarity Sim r between any two relations r1and r2 is                           relevant concepts based on the similarity measure.
given by equation (6)                                                                 3. The set of relevant concepts along with the k-cores are
                                                                                         presented as options to the user to disambiguate the
              Simr(r1,r2)=1- d r (r1, r2)                             (6)                senses.
                                                                                      4. When the user selects the specific concepts he wants,
The distance between two relations is also calculated by their                           the user query is enriched with that concept.
                                                                                      5. The enriched query is passed to the web searcher and
respective positions in the relation hierarchy.
                                                                                         it displays the relevant results to the user.
                                                                                       6. End
F. Web Page Retrieval
           The web crawler receives the user query of any
domain from the user interface and downloads the web pages                            Figure 7. Algorithm for Refining the web search using Ontology
corresponding to that domain from the web. Then it opens the
URL connection and reads the content of the web page and                         IV EXPERIMENTAL RESULTS
stores it in the text file. If the web page contains another URL,                        This work is implemented using Java and the medical
it adds the URL to the end of the list of URLs to be crawled. It                 ontology is used as the domain. In this study, around 1500
repeats the process until all the URLs in the list are crawled as                web pages have been crawled using Google search engine and
shown in Figure 5. The field “IsCrawled” in Figure 5                             stored as text document. Preprocessing is done on each
represents that the particular URL has been crawled by setting                   document which is the text file as shown in Figure 9.
the value as “t”.

                            CRAWLTABLE

 Serial                     URL Address                      IsCrawled

     123   http://localhost:8080/cancer.html                      t
     124   http://localhost:8080/cancertypes.html                 t
     125   http://localhost:8080/leukemia.html                    t
     126   http://localhost:8080/causes.html                      t
     127   http://localhost:8080/oncology.html                    t
     128   http://localhost:8080/oncogenes.html                   t                                        Figure 9. Text File


            Figure 5. Sample list of URLs crawled from the web




                                                                            25                                http://sites.google.com/site/ijcsis/
                                                                                                              ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                              Vol. 7, No. 2, February 2010



Then the frequency count for each term is calculated as shown                   enhance the user query for more efficient retrieval of web
in Figure 10 and term frequency inverted document frequency                     pages. A piece of breast cancer ontology is shown in Figure
for the terms are calculated and the ranked list is shown in                    13. The relevant k-cores are matched with the ontology breast
Figure 11.                                                                      cancer to extract the concepts based on the similarity measure.
                                                                                Then the user query is enhanced with the selected concept and
                                                                                passed to the search engine for efficient retrieval of relevant
                                                                                web pages.

                                                                            http://acl/BMV#BreastCancer
                                                                             -->
                                                                           owl:Class rdf:about="#BreastCancer">
                                                                           rdfs:subClassOf rdf:resource="#CancerTypes" />
                                                                           owl:disjointWith rdf:resource="#ColorectalCancer" />
                                                                           owl:disjointWith rdf:resource="#GastricCancer" />
                                                                           owl:disjointWith rdf:resource="#EndometrialCancer"
                                                                                />
                                                                             </owl:Class>
                                                                             <!--
                                                                            http://acl/BMV#CMFRegimeTypes
                                                                             -->
                     Figure 10 Keyword frequency list                      owl:Class rdf:about="#CMFRegimeTypes">
                                                                           rdfs:subClassOf
                                                                                rdf:resource="#NonAnthracyclineChemoTxRegime
                                                                                Types" />
                                                                           rdfs:subClassOf
                                                                                rdf:resource="#PolyChemoTxRegimeTypes" />
                                                                           owl:disjointWith rdf:resource="#ECMFRegimeType"
                                                                                />
                                                                             </owl:Class>


                                                                                            Figure 13 A piece of ontology for Breast cancer

                                                                                         Using recall and precision, the effectiveness of an
                                                                                Information retrieval system is evaluated. The most often used
                                                                                common evaluation measures are precision and recall as given
                                                                                in equation (7) and (8). Precision measures the proportion of
                                                                                retrieved documents that are relevant, and recall measures the
   Figure 11. List of term frequency inverted document frequency for the
                                 keywords
                                                                                proportion of relevant documents that have been retrieved.
                                                                                They are defined as follows
Using this ranked list, set of k-cores are constructed. When the
query is entered, the user query is matched with the set of k-                                               Retrieved relevant documents
cores. WordNet shows different senses for the word cancer                               Precision =          ------------------------------------   (7)
such as cancer zodiac, cancer horoscope, type of cancer etc.                                                      Retrieved documents
To disambiguate these senses, user selects the best synonyms
he is looking for. This enhanced query is passed to the search                                          Retrieved relevant documents
engine for retrieving relevant web pages. An example of user                             Recall    = -------------------------------------          (8)
query and the enhanced query is shown in Figure 12.                                                     All relevant documents

        User Query : cancer                                                     The precision is measured at a number of standard recall
                                                                                values (i.e. recall assumes the following values 0.1, 0.2, 0.3,
        Enhanced Query : {cancer, oncology, oncogene,                           0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0). These measurements result in
        metastasis}                                                             a set of recall precision figures. These figures are presented in
                                                                                Figure 14.


        Figure 12. A sample of original query and Enhanced query

        In order to refine the web search using ontology, both
the k-cores and the ontology of breast cancer is used to




                                                                           26                               http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                                       Vol. 7, No. 2, February 2010



                                                                                                      Context-Aware Measure for Semantic Distance Using a Taxonomy
                                                                                                      and a Text Corpus”, IEEE International Conference on
               1                                                                                      Information Reuse and Integration, 2007 (IRI-07), pp. 279-284,
                                                                                                      2007.
             0.8
                                                                                                [11] Eduaro H. Ramirez and Ramon F.Brena, “Semantic Contexts in
                                                                                                      the Internet”,IEEE Proceedings of the Fourth Latin American Web
 Precision




             0.6
                                                                      Ont ology based IR              Congress(LA-WEB’06),2006. Y.Zhao and G.Karypis, “Evaluation
             0.4                                                      Keyword based IR                of hierarchical clustering algorithms for document datasets”,
                                                                                                      Proceeding of the Eleventh International Conference on
             0.2                                                                                      Information and knowledge Management (CIKM-02), pp. 515-
                                                                                                      524, New York, Nov 2002. ACM Press.
               0                                                                                [12] C.Hui-Min, “Design and implementation of the agent-based EVMs
                    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9     1                                       system”, Technical report, Berkley, 2000.
                                      Recall
                                                                                                [13] J.Madhavan, P.A. Bernstein, and E.Rahm, “Generic schema
Figure 14. Precision –Recall graph for Ontology based IR and Keyword based                            matching with cupid”, The very large databases journal, vol.10,
                                     IR                                                               pp. 49-58, 2001.
                                                                                                [14] A. Gal. A.Anaby-Tavor, A.Trombetta, and D.Montesi. “A
                                                                                                      framework for modeling and evaluating automatic semantic
V CONCLUSION                                                                                          reconciliation”, The very large databases Journal, 2005.
          This paper addresses an Ontology based Query                                          [15] A.Doan, J.Madhavan, P.Domingos, and A.Halevy, “Learning to
expansion to improve the precision-recall of the search results                                       map between ontologies on the semantic web”, Proceedings of the
by concentrating on the context of concept(s). The relevant k-                                        11th International WWW Conference, Hawaii, 2002.
                                                                                                [16] A.Rosenfeld, R.Hummel and S.Zueker, “Scene labeling by
cores are matched with the ontology of medical domain to                                              relaxation operations”, IEEE Transactions on systems, Man and
extract the concepts based on the similarity measure. The most                                        Cybernetics, vol. 6, pp. 420-433, 1976.
relevant concepts along with the ranked k-cores are presented                                   [17] J.Smith and D.Smith, “Database Abstractions, Aggregation and
to the user. The user query is enriched with the selected                                             Generalization,”       Database Systems, ACM Transaction, vol.2,
                                                                                                      pp. 105-133, 1977.
concept and passed to the search engine for efficient retrieval                                 [18] Manuel Montes-y-Gomez, Aurelio Lopez-Lopez and Alexander
of relevant web pages. The future work would focus on the                                             Gelbukh, “Information Retrieval with conceptual graph
automatic selection of concepts i.e. Intelligent WSD suitable                                         Matching”, DEXA-2000:11th International Conference and
for user’s information need.                                                                          Workshop on Database and Expert Systems Applications,
                                                                                                      Greenwich, England, pp. 312-321, 2000.
                                                                                                 [19] Richard Baeza – Yates and Berthier Ribeiro-Neto, “Modern
                                     REFERENCES                                                       Information Retreival”, Addison Wesley Publishing Co. Inc.
               [1] Wei-Dong Fang, Ling Zhang, Yan Xuan Wang, and Shou-Bin
                   Dong,“Towards a Semantic Search Engine Based on                                    2001.
                    Ontologies”, IEEE Proceedings of the Fourth International
                   Conference on4 Machine Learning and Cybernetics Guangzhou
                   China, pp. 1913-1918, August 2005
               [2] M.Andrea Rodriguez and Max J. Egenhofer, “Determining
                   Semantic Similarity among Entity classes from Different
                   Ontologies”, Knowledge and Data Engineering, IEEE
                   Transactions, vol.15, Issue 2, pp. 442-456, March-April 2003.
               [3] Chen Ue Lee and Von Wun Soo, “Ontology based information
                   retrieval and extraction”, 3rd International Conference on
                   Information Technology”, Research and Education, IEEE, pp.
                   265-269, 2005.
               [4] Michael Usehold and Michael Gruninger, “Ontologies and
                   Semantics for seamless Connectivity”, SIGMOND, vol. 33, pp.
                   58-64, 2004.
               [5] Gruber T, “ A translation approach to portable ontology
                   specifications Knowledge Acquisition”, pp. 199-220, 1993.
               [6] Giannis Varelas, Epimenidis Voutsakis and Paraskevi
                   Raftopoulou, “Semantic Similarity Methods in WordNet and their
                   application to Information Retrieval on the web”, 7th ACM
                   internation workshop on Web information and data management,
                   pp. 10-16 November, 2005.
               [7] D.Bonino, F.Corno, L.Farinetti and A.Bosca, “ Ontology driven
                   semantic Search”, WEAST Transaction on Information Science
                   and Application, vol 1, pp. 1597-1605, December 2004.
               [8] Jiwei Zhong, Haiping Zhu, Jiaming Li, and Yong yu, “Conceptual
                   graph Matching for Semantic Search”, Proceedings of the 10th
                   International Conference on Conceptual Structures: Integration
                   and Interfaces table of contents, Springer-Verlag London, UK, pp.
                   92-196, 2002.
               [9] S. Khan and F. Marvon, “Identifying Relevant Sources in query
                   Reformulation”, In the proceedings of the 8th International
                   Conference on Information Integration and Web-based
                   Applications & Services(iiWAS2006), Yogyakarta Indonesia, pp.
                   99-130, 2006.
             [10] EI Sayed, Ahmad Hacid, Hakim Zighed and Djamel, “A new




                                                                                           27                             http://sites.google.com/site/ijcsis/
                                                                                                                          ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                           Vol. 7, No. 2, February 2010




        Secured Cryptographic Key Generation From
       Multimodal Biometrics: Feature Level Fusion of
                    Fingerprint and Iris
                       A.Jagadeesan                                                              Dr. K.Duraiswamy
            Research scholar/Senior Lecturer/EIE                                                  Dean/Academic
          Bannari Amman Institute of Technology                                        K.S.Rangasamy College of Technology,
        Sathyamangalam-638 401, Tamil Nadu, India                                     Tiruchengode – 637 209, Tamil Nadu, India
              .                                                                           .

Abstract— Human users have a tough time remembering long                    access control and monitoring applications. The technologies
cryptographic keys. Hence, researchers, for so long, have been              are still novel and momentarily evolving [2]. Biometric
examining ways to utilize biometric features of the user instead of         systems possess numerous advantages over traditional
a memorable password or passphrase, in an effort to generate                authentication methods, that is, 1) biometric information
strong and repeatable cryptographic keys. Our objective is to
                                                                            cannot be obtained by direct covert observation, 2) It is
incorporate the volatility of the user's biometric features into the
generated key, so as to make the key unguessable to an attacker             difficult to share and reproduce, 3) It improves user easiness
lacking significant knowledge of the user's biometrics. We go one           by lessening the necessity to memorize long and random
step further trying to incorporate multiple biometric modalities            passwords, 4) It safeguards against repudiation by the user.
into cryptographic key generation so as to provide better                   Besides, biometrics imparts the same security level to all users
security. In this article, we propose an efficient approach based           unlike passwords and is tolerant to brute force attacks [3]. A
on multimodal biometrics (Iris and fingerprint) for generation of           number of biometric characteristics are being employed today,
secure cryptographic key. The proposed approach is composed of              which comprises fingerprint, DNA, iris pattern, retina, ear,
three modules namely, 1) Feature extraction, 2) Multimodal                  thermogram, face, gait, hand geometry, palm-vein pattern,
biometric template generation and 3) Cryptographic key
                                                                            smell, keystroke dynamics, signature, and voice [16, 17].
generation. Initially, the features, minutiae points and texture
properties are extracted from the fingerprint and iris images                   Biometric systems that generally employ a single attribute
respectively. Subsequently, the extracted features are fused                for recognition (that is., unimodal biometric systems) are
together at the feature level to construct the multi-biometric              influenced by some practical issues like noisy sensor data,
template. Finally, a 256-bit secure cryptographic key is generated          non-universality and/or lack of distinctiveness of the biometric
from the multi-biometric template. For experimentation, we have             trait, unacceptable error rates, and spoof attacks [4]. A
employed the fingerprint images obtained from publicly available            probable improvement, multimodal biometric systems prevail
sources and the iris images from CASIA Iris Database. The                   over some of these issues by strengthening the proof acquired
experimental results demonstrate the effectiveness of the                   from several sources [5] [6]. Multimodal biometric system
proposed approach.                                                          employs two or more individual modalities, namely, gait, face,
                                                                            Iris and fingerprint, to enhance the recognition accuracy of
    Keywords-Biometrics; Multimodal, Fingerprint, Minutiae
points; Iris; Rubber Sheet Model; Fusion; Segmentation;
                                                                            conventional unimodal methods. With the use of multiple
Cryptographic key; Chinese Academy of Sciences Institute of                 biometric modalities, it is shown that to decrease error rates,
Automation (CASIA) iris database.                                           by offering extra valuable information to the classifier.
                                                                            Diverse characteristics can be employed by a single system or
                          I. INTRODUCTION                                   separate systems that can function on its own and their
                                                                            decisions may be merged together [7]. The multimodal-based
The necessity for reliable user authentication techniques has               authentication can aid the system in improving the security
risen amidst of heightened issues about security and rapid                  and effectiveness in comparison to unimodal biometric
progress in networking, communication and mobility [1]. The                 authentication, and it might become challenging for an
generally utilized authentication systems that regulate the                 adversary to spoof the system owing to two individual
entry to computer systems or secured locations are password,                biometrics traits [15].
but it can be cracked or stolen. For that reason, biometrics has                In recent times, multimodal biometrics fusion techniques
turned out to be a practicable option to traditional                        have invited considerable attention as the supplementary
identification methods in several application areas [23].                   information between different modalities could enhance the
Biometrics, expressed as the science of identifying an                      recognition performance. Majority of the works have focused
individual on the basis of her physiological or behavioral                  the attention in this area [8-10]. In most cases, they can be
traits, seems to achieve acceptance as a rightful method for                categorized into three groups: fusion at the feature level,
obtaining an individual’s identity [1]. Biometric technologies              fusion at the match level and fusion at the decision level [6]
have established their importance in a variety of security,                 [11]. Fusion at the feature level includes the incorporation of



                                                                       28                              http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010



feature sets relating to multiple modalities. The feature set             biometric features and authenticating users by combining
holds richer information about the raw biometric data than the            multiple biometric modalities, comprise a grand consideration
match score or the final decision and because of this,                    in the recent development. A brief review of some recent
integration at this level is bound to offer good recognition              researches is presented here.
results. But, fusion at this level is hard to accomplish in real
time due to the following grounds: (i) the feature sets of                     A realistic and safe approach to incorporate the iris
multiple modalities may be unsuited (namely, minutiae set of              biometric into cryptographic applications has been presented
fingerprints and eigen-coefficients of face); (ii) the association        by Feng Hao et al. [31].This approach employed a recurring
between the feature spaces of diverse biometric systems may               binary string, called as a biometric key, that was created from
be unknown; and (iii) concatenating two feature vectors may               a subject's iris image with the help of auxiliary error-
lead to a feature vector with very high dimensionality resulting          correction data, which does not disclose the key and can be
to the `curse of dimensionality' problem [12].                            stored in a tamper-resistant token, like a smart card. The
                                                                          reproduction of the key revolves on two aspects: the iris
    One current development, biometric cryptosystems [13]                 biometric and the token. The assessment was done by using
join cryptography and biometrics to take advantage from the               iris samples from 70 different eyes, with 10 samples from each
strong points of both fields. In such systems, while                      eye. This resulted with the genuine iris codes with a 99.5
cryptography endows with high and modifiable security levels,             percent achievement rate, which upshot with 140 bits of
biometrics provides non-repudiation and removes the                       biometric key which is sufficient for a 128-bit AES.A
requirement to memorize passwords or to carry tokens [14].                technique presented by B. Chen and V. Chandran [21],
Lately, the improved performance of cryptographic key                     coalesced entropy based feature extraction process with Reed-
generated from biometrics in accordance to security has                   Solomon error correcting codes which generate deterministic
acquired massive reputation amongst the researchers and                   bit-sequences from the output of an iterative one-way
experimenters [18] and recently, researchers have made an                 transform. The technique was assessed using 3D face data and
effort towards combing biometrics with cryptography so as to              was proved to generate keys of suitable length for 128-bit
enhance the security, by removing the requirement for key                 Advanced Encryption Standard (AES).
storage using passwords [19-22]. Although it is highly
impractical to break cryptographic keys generated from                        A biometric-key generation scheme based on a randomized
biometrics, the attackers have a good possibility of stealing by          biometric helper has been presented by Beng.A et al. [42]. The
cryptographic attacks. One effectual solution with additional             technique engrosses a randomized feature discretization
security will be the integration of multimodal biometrics into            process and a code redundancy construction. The former
cryptographic key generation; in order to attain incredible               method controls the intra-class variations of biometric data to
security against cryptographic attacks.                                   the nominal level and the latter reduced the errors even more.
                                                                          The randomized biometric feature was proved as a simple
    At this juncture, we introduce an efficient approach for the          technique, when the key was conciliated The projected
secure cryptographic key generation on the basis of multiple              technique was assessed in the context of face data based on a
modalities like, Iris and fingerprint. At first, the fingerprint          subset of the Facial Recognition Technology (FERET)
features (minutiae points) are obtained from the fingerprint              database. Sanaul Hoque et al. [43] have presented the direct
image using segmentation, Orientation field estimation and                generation of the biometric keys from live biometrics, under
morphological operators. Likewise, the texture features are               certain conditions, by partitioning feature space into subspaces
acquired from the iris image by segmentation, estimation of               and partitioning these into cells, where each cell subspace
iris boundary and Normalization. Minutiae points and iris                 contributes to the overall key generated. They assessed the
texture, the two extracted features are then fused at feature             presented technique on real biometric data, instead of both
level to build the multimodal biometric template. Fusion at the           genuine samples and attempted imitations. Experimental
feature level is achieved by means of the processes that is,              results have proved the reliability in possible practical
concatenation, shuffling and merging. Lastly, multi-biometric             scenarios for this technique.
template acquired is employed to generate the secure 256-bit
cryptographic key that is competent of enabling better user                   A cryptographic key generation from biometric data, based
                                                                          on lattice mapping based fuzzy commitment method was
authentication and security.
                                                                          proposed by Gang Zheng et al. [44].This was proposed with
    The rest of the paper is organized as follows. A short                the aim to, secure the biometric data even when the stored
review of the researches connected to the proposed approach               information in the system was open to an attacker ,with the
is given in Section II. The proposed approach for generation of           generation of high entropy keys and also concealed the
multimodal-based cryptographic key is demonstrated in                     original biometric data. Simulated results have proved that its
Section III. The results acquired on experimentation of the               authentication accuracy was on par to the k-nearest neighbor
proposed approach are given in Section IV. To conclude, the               classification. Tianhao Zhang et al. [45] have presented a
conclusions are summed up in Section V.                                   Geometry Preserving Projections (GPP) method for subspace
                                                                          selection.It is capable of discriminating different classes and
              II. REVIEW OF RELATED RESEARCHES                            conserving the intra-modal geometry of samples within an
    Literature embrace ample researches for generating                    identical class. With GPP, they projected all raw biometric
cryptographic keys from biometric modalities and multimodal               data from different identities and modalities onto a unified
biometrics based user authentication. Amid all these                      subspace, on which classification can be executed. Also, the
researches, approaches for cryptographic key generation from              training stage was performed after having a unified



                                                                     29                              http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                         Vol. 7, No. 2, February 2010



transformation matrix to project different modalities.                   and token-based (e.g. Key) techniques and has recently
Experimental results have proved the effectiveness of the                emerged as an attractive research area [24]. Several
presented GPP for individual recognition tasks.                          researchers [45-48] have successfully made use of multiple
                                                                         biometric traits for achieving user authentication. Multimodal
    Donald E. Maurer and John P. Baker et al have presented              biometrics was aimed at meeting the stringent performance
a fusion architecture based on Bayesian belief networks [46].            requirements set by security-conscious customers. Some good
The technique fully exploited the graphical structure of Bayes           advantages of multimodal biometrics are 1) improved
nets to define and explicitly model statistical dependencies             accuracy 2) secondary means of enrollment and verification or
between relevant variables: per sample measurements like,                identification in case sufficient data is not extracted from a
match scores and corresponding quality estimates and global              given biometric sample and 3) ability to detect attempts to
decision variables. These statistical dependencies are in the            spoof biometric systems through non-live data sources such as
form of conditional distributions which are modeled as                   fake fingers. Two important parameters that determine the
Gaussian, gamma, log-normal or beta.. Each model is                      effectiveness of the multimodal biometrics are choice of the
determined by its mean and variance, thus considerably                   biometric traits to be combined and the application area. The
minimizing training data needs. Furthermore, they retrieved              different biometric traits include fingerprint, face, iris, voice,
the information from lower quality measurements by
                                                                         hand geometry, palmprint and more. In the proposed
conditioning decision variables on quality as well as match              approach, we integrate fingerprint and iris features for
score instead of rejecting them out of hand. Another                     cryptographic key generation. The use of multimodal
characteristic of the technique was a global quality measure             biometrics for key generation provides better security, as it is
intended to be used as a confidence estimate supporting                  made difficult for an intruder to spool multiple biometric traits
decision making. Introductory studies using the architecture to          simultaneously. Moreover, the incorporation of biometrics into
fuse fingerprints and voice were accounted.                              cryptography shuns the need to remember or carry long
    Muhammad Khurram Khana and Jiashu Zhanga presented                   passwords or keys. The steps involved in the proposed
an efficient multimodal face and fingerprint biometrics                  multimodal-based approach for cryptographic key generation
authentication system on space-limited tokens, e.g. smart                are,
cards, driver license, and RFID cards [47]. Fingerprint                     1) Feature extraction from fingerprint.
templates were encrypted and encoded/embedded within the
face images in a secure manner, so that the feature does not                2) Feature extraction from iris.
get changed drastically during encoding and decoding. This
method of biometrics authentication on space-limited tokens,                3) Fusion of fingerprint and iris features.
was proven to be a proficient and a cheap alternative without               4) Generation of cryptographic key from fused features.
downgrading the overall decoding and matching performance
of the biometrics system. A class-dependence feature analysis            A. Minutiae Points Extraction from Fingerprints
technique based on Correlation Filter Bank (CFB) technique                   This sub-section describes the process of extracting the
for efficient multimodal biometrics fusion at the feature level          minutiae points from the fingerprint image. We chose
is presented by Yan Yan and Yu-Jin Zhang [48]. In CFB, by                fingerprint biometrics chiefly because of its two significant
optimizing the overall original correlation outputs the                  characteristics: uniqueness and permanence (ability to remain
unconstrained correlation filter trained for a specific modality.        unchanged over the lifetime). A fingerprint can be described
So, the variation between modalities has been considered and             as a pattern of ridges and valleys found on the surface of a
the useful information in various modalities is completely               fingertip. The ridges of the finger form the so-called minutiae
utilized. Previous experimental outcome on the fusion of face            points: ridge endings (terminals of ridge lines) and ridge
and palmprint biometrics proved the advantage of the                     bifurcations (fork-like structures) [26]. These minutiae points
technique.                                                               serve as an important means of fingerprint recognition. The
                                                                         steps involved in the proposed approach for minutiae
    An authentication method presented by M.Nageshkumar                  extraction are as follows,
et al. [24], focuses on multimodal biometric system
identification using two features i.e. face and palmprint. The             1) Preprocessing: The fingerprint image                    is    first
technique was produced for application where the training data           preprocessed by using the following methods,
includes a face and palmprint. Mixing the palmprint and face                •    Histogram Equalization
features has enhanced the robustness of the person
authentication. The final assessment was done by fusion at                  •     Wiener Filtering
matching score level architecture where features vectors were                Histogram Equalization: Histogram equalization (HE) is a
formed independently for query measures and are then                     very common technique for enhancing the contrast of an
evaluated to the enrolment template, which were saved during             image. Here, the basic idea is to map the gray levels based on
database preparation. Multimodal biometric system was                    the probability distribution of the input gray levels. HE flattens
expanded through fusion of face and palmprint recognition.               and stretches the dynamic range of the image’s histogram
      III. PROPOSED APPROACH FOR CRYPTOGRAPHIC KEY                       resulting in overall contrast improvement of the image [32].
        GENERATION FROM MULTIMODAL BIOMETRICS                            HE transforms the intensity values of the image as given by
                                                                         the equation,
    Multimodal biometric authentication has been more
reliable and capable than knowledge-based (e.g. Password)



                                                                    30                               http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                                  Vol. 7, No. 2, February 2010



                                  k                k      nj                       4) Image Enhancement: It would be desirable to enhance the
                s k = T (rk ) = ∑ Pr (r j ) = ∑                                 fingerprint image further prior to minutiae extraction. The
                                 j =1              j =1   n                     fingerprint image enhancement is achieved by using,
                                                                                    • Gaussian Low-Pass Filter
     Where     s k is the intensity value in the processed image                   •    Gabor Filter
corresponding to intensity rk in the input image,                                   Gaussian Low-Pass Filter: The Gaussian low-pass filter is
and p r ( r j ) = 1,2,3K . L is the input fingerprint image                     used as to blur an image. The Gaussian filter generates a
                                                                                `weighted average' of each pixel's neighborhood, with, the
intensity level [33].                                                           average weighted more towards the value of the central pixels.
     Wiener filtering: Wiener filtering improves the legibility                 Because of this, gentler smoothing and edge preserving can be
of the fingerprint without altering its ridge structures [34]. The              achieved. The Gaussian filter uses the following 2-D
filter is based on local statistics estimated from a local                      distribution as a point-spread function, and is achieved by the
neighborhood η of size 3 × 3 of each pixel, and is given by                     convolution [28].
the following equation:
                                                                                                          1 
                                                                                                                 2     (x2 + y 2 ) 
                                                                                                                                   
                                  2
                                 σ −v   2                                                   G ( x, y ) =         exp             
             w(n1 , n2 ) = µ +              (I (n1 , n2 ) − µ )                                           2πσ         2σ
                                                                                                                       
                                                                                                                             2      
                                                                                                                                    
                                  σ2
     wherev 2 is the noise variance, µ and σ 2 are local mean                      Where,   σ    is the standard deviation of the distribution.
and variance and I represents the gray level intensity in                           Gabor Filter: Mostly used contextual filter [29] for
n1 , n2 ∈ η [35].                                                               fingerprint image enhancement is Gabor filter proposed by
                                                                                Hong, Wan, and Jain [30]. Gabor filters have both frequency-
   2) Segmentation: The fingerprint image obtained after                        selective and orientation-selective properties and they also
preprocessing is of high contrast and enhanced visibility. The                  have optimal joint resolution in both spatial and frequency
next step is to segment the preprocessed fingerprint image.                     domains. The following equation shows the 2-Dimensional (2-
                                                                                D) Gabor filter form [29],
First, the fingerprint image is divided into non-overlapping
blocks of size 16x16. Subsequently, the gradient of each block
is calculated. The standard deviation of gradients in X and Y                                                 2 y 2 
                                                                                                            1 x          
direction are then computed and summed. If the resultant                           G ( x, y,θ , f 0 ) = exp−  θ + θ  cos(2πf 0 xθ ),
                                                                                                              σ2     2 
value is greater than the threshold value the block is filled with                                          2 x
                                                                                                           
                                                                                                                    σ y 
ones, else the block is filled with zeros.
   3) Orientation Field Estimation: A fingerprint orientation
                                                                                                  xθ   sin θ         cos θ   x 
field is defined as the local orientation of the ridge-valley                                     y  = − cos θ       sin θ   y 
structures [27]. To obtain reliable ridge orientations, the most                                  θ                         
common approach is to go through the gradients of gray
intensity. In the gradient-based methods, gradient vectors                         where    θ                                 f 0 is the ridge
                                                                                                is the orientation of the filter,
[ g x , g y ]T are first calculated by taking the partial derivatives
of each pixel intensity in Cartesian coordinates. Traditional                   frequency, [ xθ , yθ ] are the coordinates of [ x, y ] after a
gradient-based methods divide the input fingerprint image into                  clockwise rotation of the Cartesian axes by an angle of
equal-sized blocks of N × N pixels, and average over each                       (90 o − θ ) , and σ x and σ y are the standard deviations of the
block independently [25] [26]. The direction of orientation
                                                                                Gaussian envelope along the x -and y -axes, respectively.
field in a block is given by,
                                                                                  5) Minutiae extraction: The process of minutiae point
                      ∑ ∑ 2 g x (i, j ) g y (i, j ) 
                          N       N                                             extraction is carried out in the enhanced fingerprint image.
             1        i =1 j =1                      π                        The steps involved in the extraction process are,
     θB =      a tan  N                               +
                      ∑ ∑ g x (i, j ) − g y (i, j )  2
                            N
             2                   2          2
                                                                                   •         Binarization
                      i =1 j =1                     
                                                                                   •            Morphological Operators
     Note that function   a tan(⋅) gives an angle value ranges in                   Binarization: Binarization is the process of converting a
                                                                                grey level image into a binary image. It improves the contrast
(− π , π ) which corresponds to the squared gradients, while                    between the ridges and valleys in a fingerprint image, and
θB   is the desired orientation angle within [0, π ].                           thereby facilitates the extraction of minutiae. The grey level
                                                                                value of each pixel in the enhanced image is examined in the
                                                                                binarization process. If the grey value is greater than the
                                                                                global threshold, then the pixel value is set to a binary value



                                                                           31                                http://sites.google.com/site/ijcsis/
                                                                                                             ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010



one; or else, it is set to zero. The output of binarization process            The process of extracting features from the iris image is
is a binary image containing two levels of information, the                discussed in this sub-section. Iris recognition has been
foreground ridges and the background valleys. The minutiae                 recognized as an effective means for providing user
extraction algorithms are good operating on binary images                  authentication. One important characteristic of the iris is that,
where there are only two levels of interest: the black pixels              it is so unique that no two irises are alike, even among
that denote ridges, and the white pixels that denote valleys.              identical twins, in the entire human population [37]. The
                                                                           human iris, an annular part between the pupil (generally,
    Morphological Operations: Following the binarization                   appearing black in an image) and the white sclera has an
process, morphological operators are applied to the binarized              extraordinary structure and offers a plenty of interlacing
fingerprint image. The objective of the morphological                      minute characteristics such as freckles, coronas, stripes and
operations is to eliminate obstacles and noise from the image.             more. These visible characteristics, which are generally called
Furthermore, the unnecessary spurs, bridges and line breaks                the texture of the iris, are unique to each subject [38]. The
are removed by these operators. The process of removal of                  steps involved in the feature extraction process of the iris
redundant pixels till the ridges become one pixel wide is                  image are given below.
facilitated by ridge thinning. The Ridge thinning algorithm
utilized for Minutiae points’ extraction in the proposed                      1) Segmentation: Iris segmentation is an essential module in
approach has been employed by the authors of [36]. The                     iris recognition because it defines the effective image region
image is first divided into two dissimilar subfields that                  used for subsequent processing such as feature extraction.
resemble a checkerboard pattern. In the first sub iteration, the           Generally, the process of iris segmentation is composed of two
pixel p from the initial subfield is erased only when all three
                                                                           steps 1) Estimation of iris boundary and 2) Noise removal.
conditions, G1, G2, and G3 are satisfied. While, in the second
sub iteration, the pixel p from the foremost subfield is erased
                                                                               Estimation of iris boundary: For boundary estimation, the
when all three conditions, G1, G2, and G3’ are satisfied.
                                                                           iris image is first fed to the canny algorithm which generates
Condition G1:                                                              the edge map of the iris image. The detected edge map is then
X H ( P) = 1                                                               used to locate the exact boundary of pupil and iris using
                                                                           Hough transform.
Where
                4                                                          •     Canny edge detection
X H ( P ) = ∑ bi                                                                The Canny edge detection operator was developed by John
              i =1                                                         F. Canny in 1986. It uses a multi-stage algorithm to detect a
                                                                           wide range of edges in images. Canny edge detection starts
     1 if x 2i −1 = 0 and (x 2i = 1 or x 2i +1 = 1)                      with linear filtering to compute the gradient of the image
bi =                                                
     0 otherwise                                                         intensity distribution function and ends with thinning and
                                                                           thresholding to obtain a binary map of edges. One significant
   x1 , x2 ,..., x8 are the values of the eight neighbors of p ,           feature of the Canny operator is its optimality in handling
starting with the east neighbor and numbered in counter-                   noisy images as the method bridges the gap between strong
clockwise order.                                                           and weak edges of the image by connecting the weak edges in
                                                                           the output only if they are connected to strong edges.
Condition G2:                                                              Therefore, the edges will probably be the actual ones. Hence
2 ≤ min{n1 ( p ), n2 ( p )} ≤ 3                                            compared to other edge detection methods, the canny operator
where                                                                      is less fooled by spurious noise [39].
            4
                                                                           •    Hough Transform
n1 ( p ) = ∑ x 2 k −1 ∨ x 2 k                                                  The classical Hough transform was concerned with the
           k =1                                                            identification of lines in the image, but later, the Hough
             4                                                             transform has been extended to identify positions of arbitrary
n 2 ( p ) = ∑ x 2 k ∨ x 2 k +1                                             shapes, most commonly circles or ellipses. From the edge map
            k =1                                                           obtained, votes are cast in Hough space for the parameters of
                                                                           circles passing through each edge point. These parameters are
Condition G3:                                                              the centre coordinates x and y, and the radius r, which are able
( x2 ∨ x3 ∨ x8 ) ∧ x1 = 0                                                  to define any circle according to the equation,


Condition G3’:                                                                                     x2 + y2 = r 2
( x6 ∨ x7 ∨ x ) ∧ x5 = 0
   The resultant fingerprint image produced by the                             A maximum point in the Hough space will correspond to
morphological thinning algorithm composes of ridges each                   the radius and centre coordinates of the circle best defined by
one pixel wide. This improves the visibility of the ridges and             the edge points.
enables effective and effortless of minutiae points.                          Isolation of Eyelids and Eyelashes: In general, the eyelids
                                                                           and eyelashes occlude the upper and lower parts of the iris
B. Feature Extraction from Iris




                                                                      32                              http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010



region. In addition, specular reflections can occur within the                                  xi (θ ) = xi 0 (θ ) + ri Cos (θ )
iris region corrupting the iris pattern. The removal of such
noises is also essential for obtaining reliable iris information.                               yi (θ ) = yi 0 (θ ) + ri Sin(θ )
    • Eyelids are isolated by fitting a line to the upper and
lower eyelid using the linear Hough transform. A second                           where     ( x p , y p ) and ( xi , yi ) are the coordinates on the
horizontal line is then drawn, which intersects with the first
line at the iris edge that is closest to the pupil; the second                pupil and iris boundaries along the θ direction.
horizontal line allows maximum isolation of eyelid region.                    ( x p 0 , y p 0 ) , ( xi 0 , yi 0 ) are the coordinates of pupil and iris
  • The eyelashes are quite dark compared with the                            centers [39].
surrounding eyelid region. Therefore, thresholding is used to
                                                                                 3) Extraction of iris texture: The normalized 2D form image
isolate eyelashes.
                                                                              is broken up into 1D signal, and these signals are used to
   2) Iris Normalization: Once the iris image is efficiently
                                                                              convolve with 1D Gabor wavelets. The frequency response of
localized, then the next step is to transform it into the
                                                                              a Log-Gabor filter is given as,
rectangular sized fixed image. The transformation process is
carried out using the Daugman’s Rubber Sheet Model.
    Daugman’s Rubber Sheet Model: Normalization process                                                     − (log( f / f 0 )) 2 
involves unwrapping the iris and converting it into its polar                                 G ( f ) = exp                      
                                                                                                            2(log(σ / f )) 2 
equivalent. It is done using Daugman’s Rubber sheet model                                                                0       
[40] and is shown in figure.
                                                                                  Where f 0 represents the centre frequency, and               σ    gives
                                                                              the bandwidth of the filter [41].
                                                                                 The Log-Gabor filter outputs the biometric feature (texture
                                                                              properties) of the iris.
                                                                              C. Fusion of Fingerprint and Iris Features
                                                                                  We have at hand two sets of features namely, 1)
                                                                              Fingerprint features and 2) Iris features. The next step is to
                                                                              fuse the two sets of features at the feature level to obtain a
                Figure 1. Daugman’s Rubber Sheet Model                        multimodal biometric template that can perform biometric
                                                                              authentication.
    For every pixel in the iris, an equivalent position is found
out on polar axes. The process comprises of two resolutions:                      Feature Representation: Fingerprint - Each minutiae point
Radial resolution, which is the number of data points in the                  extracted from a fingerprint image is represented as ( x , y )
radial direction and Angular resolution, which is the number                  coordinates. Here, we store those extracted minutiae points in
of radial lines generated around iris region. Using the                       two different vectors: Vector F1 contains all the x co-ordinate
following equation, the iris region is transformed to a 2D array
with horizontal dimensions of angular resolution and vertical                 values and Vector F2 contains all the y co-ordinate values.
dimension of radial resolution.
                                                                                               F1 = [x1 x 2 x3 K x n ] ; F1 = n
                 I [ x (r , θ ), y (r , θ )] → I (r , θ )
                                                                                              F2 = [ y1 y 2 y 3 K y n ] ; F2 = n
   where, I ( x, y ) is the iris region, ( x, y ) and (r , θ ) are the
Cartesian and normalized polar coordinates respectively. The                      Iris - The texture properties obtained from the log-gabor
range of θ is [0 2π ] and r is [0 1] . x ( r , θ ) and                        filter are complex numbers ( a + ib ) . Similar to fingerprint
 y (r , θ ) are defined as linear combinations set of pupil                   representation, we also store the iris texture features in two
boundary points. The formulas given in the following                          different vectors: Vector I 1 contains the real part of the
equations perform the transformation,                                         complex numbers and Vector I 2 contains the imaginary part of
                                                                              the complex numbers.
               x(r , θ ) = (1 − r ) x p (θ ) + xi (θ )
               y (r , θ ) = (1 − r ) y p (θ ) + yi (θ )                                       I 1 = [a1 a 2 a 3 K a m ] ; I 1 = m
                x p (θ ) = x p 0 (θ ) + r p Cos (θ )                                          I 2 = [b1 b2 b3 K bm ] ; I 2 = m
                y p (θ ) = y p 0 (θ ) + r p Sin(θ )



                                                                         33                                  http://sites.google.com/site/ijcsis/
                                                                                                             ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                Vol. 7, No. 2, February 2010



   Thereby, the input to the fusion process (multimodal                            The aforesaid process is carried out between shuffled
biometric generation) will be four vectors F1 , F2 , I 1 and I 2 .              vectors S 2 and S 4 to form vector M 2 . Thereby, the
The fusion process results with the multimodal biometric                        concatenation process results with two vectors              M 1 and M 2 .
template. The steps involved in fusion of biometric feature
vectors are as follows.                                                            3) Merging of the concatenated feature vectors: The last
  1) Shuffling of individual feature vectors: The first step in                 step in generating the multimodal biometric template BT is
the fusion process is the shuffling of each of the individual                   the merging of two vectors M 1 and M 2 . The steps involved
feature vectors F1 , F2 , I 1 and I 2 . The steps involved in the               in the merging process are as follows.
shuffling of vector F1 are,                                                         i.   For every component of M 1 and M 2 ,
   i.    A random vector R of size F1 is generated. The
                                                                                        a.    The components        M 11 and M 21 are converted into
             random vector R is controlled by the seed value.                                 their binary form.
  ii.        For shuffling the      i th component of fingerprint                       b.    Binary NOR operation is performed between the
             feature vector F1 ,                                                              components M 11 and M 21 .

        a)   The i
                    th
                       component of the random vector R is                              c.    The resultant binary value is then converted back into
             multiplied with a large integer value.                                           decimal form.

        b) The product value obtained is modulo operated with                     ii.         These decimal values are stored in the vector BT ,
           the size of the fingerprint feature vector F1 .                                    which serves multimodal biometric template.
                                                                                D. Generation of Cryptographic Key from Fused Features
        c)   The resultant value is the index say ‘ j ’ to be
                                                                                   The final step of the proposed approach is the generation
             interchanged with. The components in the          i th and         of the k-bit cryptographic key from multimodal biometric
               th
              j indexes are interchanged.                                       template BT . The template vector BT can be represented as,

 iii.        Step (ii) is repeated for every component of F1 . The
                                                                                                       BT = [bT1 bT2 bT3 K bTh ]
             shuffled vector   F1 is represented as S1 .
   The above process is repeated for every other                                   The set of distinct components in the template vector                  BT
vectors F2 , I 1 and I 2 with S1 S 2 and S 3 as random vectors                  are identified and are stored in another vector U BT .
respectively, where S 2 is shuffled F2 and S 3 is shuffled I 1 .
The      shuffling          process  results    with      four                               U BT = [u1 u 2 u 3 L u d ] ; U BT ≤ BT
vectors S1 , S 2 , S 3 and S 4 .

   2) Concatenation of shuffled feature vectors: The next step                      The vector U BT is then resized to k components suitable
is      to       concatenate         the     shuffled       vectors             for generating the k-bit key. The resize procedure employed in
process S1 , S 2 , S 3 and S 4 . Here, we concatenate the shuffled              the proposed approach,
fingerprints S1 and S 2 with the shuffled iris features S 3 and S 4
respectively. The concatenation of the vectors S1 and S 3 is                       [u1 u2 L uk ]                                           ; if | U BT | > k
                                                                                 B=
carried out as follows:
                                                                                   [u1 u2 L ud ] << u i ; d + 1 ≥ i ≥ k                  ; if | U BT | < k
   i.        A vector M 1 of size   S1 + S 3 is created and its first
                                                                                               1 d
             S3 values are filled with S 3 .                                    Where,       ui =∑u j
                                                                                               d j =1
  ii.        For every component S1 ,
                                                                                   Finally, the key K B is generated from the vector B,
        a) The corresponding indexed component of          M 1 say ‘ t ’
                                                                                K B << Bi mod 2, i = 1,2,3...k
             is chosen.
        b) Logical right shift operation is carried in M 1 from                                        IV. EXPERIMENTAL RESULTS
             index‘t’.                                                             The experimental results of the proposed approach have
                                                                                been presented in this section. The proposed approach is
        c) The component of S1 is inserted into the emptied         t th        implemented in Matlab (Matlab7.4). We have tested the
                                                                                proposed approach with different sets of fingerprint and iris
             index of M 1 .



                                                                           34                                      http://sites.google.com/site/ijcsis/
                                                                                                                   ISSN 1947-5500
                                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                                     Vol. 7, No. 2, February 2010



images corresponding to individuals. The fingerprint images                          Image Database collected by Institute of Automation, Chinese
employed in the proposed approach have been collected from                           Academy of Science. The input iris image, the normalized iris
publicly available databases. The input fingerprint image, the                       image and the intermediate results of the proposed approach
extracted minutiae points and the intermediate results of the                        are portrayed in figure 3. Finally, the generated 256-bit
proposed approach are shown in figure 2. For iris feature                            cryptographic key obtained from the proposed approach is
extraction, we use iris images obtained from CASIA Iris                              depicted in figure 4.




   Figure 2. (a) Input fingerprint image (b) Histogram Equalized Image (c) Wiener Filtered Image (d) Segmented Image (e) Enhanced image (f) Morphological
                                                    Processed Image (g) Fingerprint image with Minutiae points




Figure 3. (a) Input Iris image (b) Edge detected image (c) Located pupil and iris boundary (d) Detected top eyelid region (e) Detected top and bottom eyelid region
                                                        (f) Segmented Iris image (g) Normalized iris image




                                                                 Figure 4. Generated 256 bit key

                                                                                     [1]   Arun Ross and Anil K. Jain, "Multimodal Biometrics: An Overview", in
                              V. CONCLUSION                                                proceedings of the 12th European Signal Processing Conference, pp.
                                                                                           1221-1224, 2004.
    In this paper, we have attempted to generate a secure                            [2]   Richard A. Wasniowski, "Using Data Fusion for Biometric
cryptographic key by incorporating multiple biometrics                                     Verification", in Proceedings of World Academy of Science,
modalities of human being, so as to provide better security. An                            Engineering and Technology, vol. 5, April 2005.
efficient approach for generation of secure cryptographic key                        [3]   Parvathi Ambalakat, "Security of Biometric Authentication Systems", in
based on multimodal biometrics (Iris and fingerprint) has been                             proceedings of 21st Computer Science Seminar, 2005.
presented in this paper. The proposed approach has composed                          [4]   A.K. Jain and A. Ross, “Multi-biometric systems: special issue on
of three modules namely, 1) Feature extraction, 2) Multimodal                              multimodal interfaces that flex, adapt, and persist”, Communications of
biometric template generation and 3) Cryptographic key                                     the ACM, vol. 47, no. 1, pp. 34–40, 2004.
generation. Firstly, the features, minutiae points and texture                       [5]   L. Hong, A.K. Jain and S. Pankanti, “Can multibiometrics improve
                                                                                           performance?”, in Proceedings of IEEE Workshop on Automatic
properties have been extracted from the fingerprint and iris                               Identification Advanced Technologies, pp. 59–64, NJ, USA, 1999.
images respectively. Then, the extracted features have been                          [6]   Anil Jain, Karthik Nandakumar and Arun Ross, “Score normalization in
combined together at the feature level to obtain the multi-                                multimodal biometric systems”, Pattern Recognition, vol. 38, pp. 2270 –
biometric template. Lastly, a 256-bit secure cryptographic key                             2285, 2005.
has been generated from the multi-biometric template. For                            [7]   Eren Camlikaya, Alisher Kholmatov and Berrin Yanikoglu, "Multi-
experimentation, we have employed the fingerprint images                                   biometric Templates Using Fingerprint and Voice", Biometric
obtained from publicly available sources and the iris images                               technology for human identification, Vol. 6944, no5, pp: 1-9, Orlando
                                                                                           FL, 2008.
from CASIA Iris Database. The experimental results have
                                                                                     [8]   R. Wang and B. Bhanu, “Performance prediction for multimodal
demonstrated the efficiency of the proposed approach to                                    biometrics”, In Proceedings of the IEEE International Conference on
produce user-specific strong cryptographic keys.                                           Pattern Recognition, pp. 586-589, 2006.
                                                                                     [9]   X. Jing, Y. Yao, D. Zhang, J. Yang, and M. Li. “Face and palm print
                                                                                           pixel level fusion and Kernel DCV-RBF classifier for small sample
                                                                                           biometric recognition”, Pattern Recognition, vol. 40, no.11, pp. 3209-
                                REFERENCES                                                 3224, 2007.




                                                                                35                                    http://sites.google.com/site/ijcsis/
                                                                                                                      ISSN 1947-5500
                                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                                   Vol. 7, No. 2, February 2010



[10] T. Zhang, X. Li, D. Tao, and J. Yang, “Multi-modal biometrics using                    Analysis and Machine Intelligence, vol. 20, no. 8, pp. 777-789, August
     geometry preserving projections”, Pattern Recognition, vol. 41, no. 3,                 1998.
     pp. 805-813, 2008.                                                              [31]   Feng Hao, Ross Anderson and John Daugman, "Combining Crypto with
[11] Yan Yan and Yu-Jin Zhang, “Multimodal Biometrics Fusion Using                          Biometrics Effectively", IEEE Transactions on Computers, vol. 55, no.
     Correlation Filter Bank", in proceedings of 19th International                         9, pp. 1081 - 1088, September 2006.
     Conference on Pattern Recognition, pp. 1-4, Tampa, FL, 2008.                    [32]   Balasubramanian.K and Babu. P, "Extracting Minutiae from Fingerprint
[12] Arun Ross and Rohin Govindarajan, "Feature Level Fusion in Biometric                   Images using Image Inversion and Bi-Histogram Equalization",
     Systems", in proceedings of Biometric Consortium Conference (BCC),                     Proceedings of SPIT-IEEE Colloquium and International Conference,
     September 2004.                                                                        Mumbai, India.
[13] Umut Uludag, Sharath Pankanti, Salil Prabhakar, Anil K.Jain,                    [33]   M. Sepasian, W. Balachandran and C. Mares, "Image Enhancement for
     “Biometric Cryptosystems Issues and Challenges”, in Proceedings of the                 Fingerprint Minutiae-Based Algorithms Using CLAHE, Standard
     IEEE, vol. 92, pp. 948-960, 2004.                                                      Deviation Analysis and Sliding Neighborhood", in Proceedings of the
[14] P.Arul, Dr.A.Shanmugam, "Generate a Key for AES Using Biometric                        World Congress on Engineering and Computer Science 2008, San
     for VOIP Network Security", Journal of Theoretical and Applied                         Francisco, USA, October 2008.
     Information Technology, vol. 5, no.2, 2009.                                     [34]   Sharat Chikkerur, Alexander N. Cartwright and Venu Govindaraju,
[15] Muhammad Khurram Khan and Jiashu Zhang, "Multimodal face and                           "Fingerprint enhancement using STFT analysis", Pattern Recognition,
     fingerprint biometrics authentication on space-limited tokens",                        vol. 40, no.1, pp. 198-211, 2007.
     Neurocomputing, vol. 71, pp. 3026-3031, August 2008.                            [35]   Greenberg, S. Aladjem, M. Kogan, D and Dimitrov, I, “Fingerprint
[16] Kornelije Rabuzin and Miroslav Baca and Mirko Malekovic, "A                            image enhancement using filtering techniques” in Proceedings of the
     Multimodal Biometric System Implemented within an Active Database                      15th International Conference on Pattern Recognition, vol.32, pp. 322-
     Management System", Journal of software, vol. 2, no. 4, October 2007.                  325, Barcelona, Spain, 2000.
[17] M Baca and K. Rabuzin, “Biometrics in Network Security”, in                     [36]   L. Lam, S. W. Lee, and C. Y. Suen, “Thinning Methodologies-A
     Proceedings of the XXVIII International Convention MIPRO 2005, pp.                     Comprehensive Survey”, IEEE Transactions on Pattern analysis and
     205-210 , Rijeka,2005.                                                                 machine intelligence, vol. 14, no. 9, 1992.
[18] N. Lalithamani and K.P. Soman, "Irrevocable Cryptographic Key                   [37]   Debnath Bhattacharyya, Poulami Das,Samir Kumar Bandyopadhyay and
     Generation from Cancelable Fingerprint Templates: An Enhanced and                      Tai-hoon Kim, "IRIS Texture Analysis and Feature Extraction for
     Effective Scheme", European Journal of Scientific Research, vol.31,                    Biometric Pattern Recognition", International Journal of Database
     no.3, pp.372-387, 2009.                                                                Theory and Application, vol. 1, no. 1, pp. 53-60, December 2008.
[19] A. Goh and D.C.L. Ngo, “Computation of cryptographic keys from face             [38]   J. Daugman, “Statistical Richness of Visual Phase Information: Update
     biometrics”, International Federation for Information Processing 2003,                 on Recognizing Persons by Iris Patterns,” International Journal of
     Springer-Verlag, LNCS 2828, pp. 1–13, 2003.                                            Computer Vision, vol. 45, no. 1, pp. 25-38, 2001.
[20] F. Hao, C.W. Chan, “Private Key generation from on-line handwritten             [39]   S. Uma Maheswari, P. Anbalagan and T.Priya, “ Efficient Iris
     signatures”, Information Management & Computer Security, vol. 10, no.                  Recognition through Improvement in Iris Segmentation Algorithm”,
     2, pp. 159–164, 2002.                                                                  International Journal on Graphics, Vision and Image Processing, vol. 8,
                                                                                            no.2, pp. 29-35, 2008.
[21] Chen, B. and Chandran, V., "Biometric Based Cryptographic Key
     Generation from Faces", in proceedings of 9th Biennial Conference of            [40]   John Daugman, “How Iris Recognition Works”, in Proceedings of
     the Australian Pattern Recognition Society on Digital Image Computing                  International Conference on Image Processing, vol.1, pp. I-33- I-36,
     Techniques and Applications, pp. 394 - 401, December 2007.                             2002.
[22] N. Lalithamani and Dr. K.P. Soman, “An Effective Scheme for                     [41]   David J. Field, "Relations between the statistics of natural images and
     Generating Irrevocable Cryptographic Key from Cancelable Fingerprint                   the response properties of cortical cells", Journal of the Optical Society
     Templates”, International Journal of Computer Science and Network                      of America,vol. 4, no. 12, 1987.
     Security, vol. 9, no.3, March 2009.                                             [42]   Beng.A, Jin Teoh and Kar-Ann Toh, "Secure biometric-key generation
[23] Jang-Hee Yoo, Jong-Gook Ko, Sung-Uk Jung, Yun-Su Chung, Ki-Hyun                        with biometric helper”, in proceedings of 3rd IEEE Conference on
     Kim, Ki-Young Moon, and Kyoil Chung, "Design of an Embedded                            Industrial Electronics and Applications, pp.2145-2150, Singapore, June
     Multimodal Biometric System", ETRI-Information Security Research                       2008.
     Division, 2007.                                                                 [43]   Sanaul Hoque , Michael Fairhurst and Gareth Howells, "Evaluating
[24] Nageshkumar.M, Mahesh.PK and M.N. Shanmukha Swamy, “An                                 Biometric Encryption Key Generation Using Handwritten Signatures",
     Efficient Secure Multimodal Biometric Fusion Using Palmprint and                       in Proceedings of the 2008 Bio-inspired, Learning and Intelligent
     Face Image”, IJCSI International Journal of Computer Science Issues,                   Systems for Security, pp.17-22, 2008.
     Vol. 2, 2009.                                                                   [44]   Gang Zheng, Wanqing Li and Ce Zhan, "Cryptographic Key Generation
[25] A.M. Bazen and S.H. Gerez, "Systematic methods for the computation                     from Biometric Data Using Lattice Mapping", in Proceedings of the 18th
     of the directional fields and singular points of fingerprints", IEEE                   International Conference on Pattern Recognition, vol.4, pp. 513 - 516,
     Transaction on Pattern Analysis and Machine Intelligence, vol. 24, no.7,               2006.
     pp.905–919, 2002.                                                               [45]   Tianhao Zhang, Xuelong Li, Dacheng Tao and Jie Yang, "Multimodal
[26] Yi Wang , Jiankun Hu and Fengling Han, "Enhanced gradient-based                        biometrics using geometry preserving projections", Pattern Recognition,
     algorithm for the estimation of fingerprint orientation fields", Applied               vol. 41 , no. 3, pp. 805-813, March 2008.
     Mathematics and Computation, vol. 185, pp.823–833, 2007.                        [46]   Donald E. Maurer and John P. Baker, "Fusing multimodal biometrics
[27] Jinwei Gu and Jie Zhou, “A Novel Model for Orientation Field of                        with quality estimates via a Bayesian belief network", Pattern
     Fingerprints”, in Proceedings of the IEEE Computer Society Conference                  Recognition, vol. 41, no. 3, pp. 821-832, March 2008.
     on Computer Vision and Pattern Recognition, vol.2, 2003.                        [47]   Muhammad Khurram Khana and Jiashu Zhanga, "Multimodal face and
[28] Keokanlaya Sihalath, Somsak Choomchuay, Shatoshi Wada and                              fingerprint biometrics authentication on space-limited tokens ",
     Kazuhiko Hamamoto, “ Performance Evaluation Of Field Smoothing                         Neurocomputing, vol. 71, no. 13-15, pp.3026-3031, August 2008.
     Filters”, in Proceedings of 2th International Conference on Biomedical          [48]   Yan Yan and Yu-Jin Zhang , "Multimodal biometrics fusion using
     Engineering (BMEiCON-2009), Phuket, Thailand, August 2009.                             Correlation Filter Bank", in proceedings of the 9th International
[29] D. Maltoni, D. Maio, A. K. Jain, and s. Prabhakar, Handbook of                         Conference on Pattern Recognition, pp. 1-4,Tampa, FL, 2008.
     Fingerprint Recognition, Springer-Verlag, 2003.
[30] L. Hong, Y.Wan, and AI. Jain, "Fingerprint Image Enhancement:
     Algorithm and Performance Evaluation," IEEE Transactions on Pattern




                                                                                36                                      http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                                     Vol. 7, No. 2, February 2010



Authors Detail:

                      Mr.A.Jagadeesan was born in Coimbatore, India on
                      June 14, 1979. He graduated from Bannari Amman
                      Institute of Technology in 2000 with a degree in
                      Electrical and Electronics Engineering. He completed
                      his Master of Technology in Bio-medical Signal
                      Processing and Instrumentation from SASTRA
                      University in 2002. Thereafter he joined as a Lecturer in
                      K.S.Rangasamy College of Technology till 2007. Now
working as a Senior Lecturer in Bannari Amman Institute of Technology. He
is a research scholar in the Department of Information and Communication
Engineering. His area of interest includes Biometrics, Digital Image
Processing, Embedded Systems and Computer Networks. He is a life member
in ISTE and BMESI. He is also a member of Association of Computers,
Electronics and Electrical Engineers (ACEE) and International Association of
Engineers (IAENG).


                     Dr. K.Duraiswamy received his B.E. degree in
                     Electrical and Electronics Engineering from P.S.G.
                     College of Technology, Coimbatore in 1965 and M.Sc.
                     (Engg) from P.S.G. College of Technology, Coimbatore
                     in 1968 and Ph.D. from Anna University in 1986. From
                     1965 to 1966 he was in Electricity Board. From 1968 to
                     1970 he was working in ACCET, Karaikudi. From 1970
                     to 1983, he was working in Government College of
                     Engineering Salem. From 1983 to 1995, he was with
Government College of Technology, Coimbatore as Professor. From 1995 to
2005 he was working as Principal at K.S.Rangasamy College of Technology,
Tiruchengode and presently he is serving as Dean of KSRCT. He is interested
in Digital Image Processing, Computer Architecture and Compiler Design. He
received 7 years Long Service Gold Medal for NCC. He is a life member in
ISTE, Senior member in IEEE and a member of CSI.




                                                                                  37                            http://sites.google.com/site/ijcsis/
                                                                                                                ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010




 The Comparison of Methods Artificial Neural Network
  with Linear Regression Using Specific Variables for
   Prediction Stock Price in Tehran Stock Exchange

      Reza Gharoie Ahangar,                           Mahmood Yahyazadehfar                                 Hassan Pournaghshband
 Master of Business Administration                  Associate Professor of Finance                       Professor of Computer Science
of Islamic Azad University – Babol                    University of Mazandaran                          Department, Southern Polytechnic
      branch &Membership of                                Babolsar, Iran                                       State University
    young researcher club, Iran.                      m.yahyazadeh@umz.ac.ir
       reza_gh578@yahoo.com



Abstract- In this paper, researchers estimated the stock price of          in a problem, they can also model linear processes. For
activated companies in Tehran (Iran) stock exchange. It is used            example, the capability of neural networks in modeling linear
Linear Regression and Artificial Neural Network methods and                time series has been studied and confirmed by a number of
compared these two methods.                                                researchers [8],[11],[26].
          In Artificial Neural Network, of General Regression
Neural Network method (GRNN) for architecture is used. In this
                                                                                     One of the major application areas of ANNs is
paper, first, researchers considered 10 macro economic variables           forecasting. There is an increasing interest in forecasting using
and 30 financial variables and then they obtained seven final              ANNs in recent years. Forecasting has a long history and the
variables including 3 macro economic variables and 4 financial             importance of this old subject is reflected by the diversity of
variables to estimate the stock price using Independent                    its applications in different disciplines ranging from business
components Analysis (ICA). So, we presented an equation for two            to engineering.
methods and compared their results which shown that artificial             The ability to accurately predict the future is fundamental to
neural network method is more efficient than linear regression             many decision processes in planning, scheduling, purchasing,
method.                                                                    strategy formulation, policy making, and supply chain
Key words: neural network, linear regression, Tehran stock
                                                                           operations and stock price. As such, forecasting is an area
exchange, GRNN                                                             where a lot of efforts have been invested in the past. Yet, it is
                                                                           still an important and active field of human activity at the
                                                                           present time and will continue to be in the future. A survey of
                      I. INTRODUCTION                                      research needs for forecasting has been provided by
          The recent upsurge in research activities into artificial        Armstrong [1].
neural networks (ANNs) has proven that neural networks have                          Forecasting has been dominated by linear methods
powerful pattern classification and prediction capabilities.               for many decades. Linear methods are easy to develop and
ANNs have been successfully used for a variety of tasks in                 implement and they are also relatively simple to understand
many fields of business, industry, and science [24]                        and interpret. However, linear models have serious limitation
          Interest in neural networks is evident from the growth           in that they are not able to capture any nonlinear relationships
in the number of papers published in journals of diverse                   in the data. The approximation of linear models to complicated
scientific disciplines. A search of several major databases can            nonlinear relationships is not always satisfactory. In the early
easily result in hundreds or even thousands of “neural                     1980s, Makridakis (1982)organized a large-scale forecasting
networks” articles published in one year.                                  competition                      (often                    called
A neural network is able to work parallel with input variables             M-competition) where a majority of commonly used linear
and consequently handle large sets of data quickly. The                    methods were tested with more than 1,000 real time series.
principal strength with the network is its ability to find                 The mixed results show that no single linear model is globally
patterns [3] ANNs provide a promising alternative tool for                 the best, which may be interpreted as the failure of linear
fore asters. The inherently nonlinear structure of neural                  modeling in accounting for a varying degree of nonlinearity
networks is particularly useful for capturing the complex                  that is common in real world problems [10].
underlying relationship in many real world problems. Neural                 The financial forecasting or stock market prediction is one of
networks are perhaps more versatile methods for forecasting                the hottest fields of research lately due to its commercial
applications in that not only can they find nonlinear structures           applications owing to the high stakes and the kinds of




                                                                      38                                http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 7, No. 2, February 2010



attractive benefits that it has to offer [18]. Unfortunately, stock        not only to improve the learning algorithm, but also to reduce
market is essentially dynamic, non-linear, complicated,                    the complexity in feature space. GA optimizes simultaneously
nonparametric, and chaotic in nature [21]. The time series are             the connection weights between layers and the thresholds for
multi-stationary, noisy, random, and has frequent structural               feature discrimination. The genetically evolved weights
breaks [13],[22]. In addition, stock market’s movements are                mitigate the well-known limitations of the gradient descent
affected by many macro-economical factors ([Miao et al.,                   algorithm. In addition, globally searched feature discretization
2007] and [Wang, 2003]) such as political events, firms’                   reduces the dimensionality of the feature space and eliminates
policies, general economic conditions, commodity price index,              irrelevant factors. Experimental results show that GA
bank rate, bank exchange rate, investors’ expectations,                    approach to the feature discrimination model outperforms the
institutional investors’ choices, movements of other stock                 other two conventional models. [9]
market, psychology of investors, etc.[12],[22]
           Artificial neural networks are one of the technologies          Shaikh A. Hamid and Zahid Iqbal(2003)
that have made great progress in the study of the stock                             They present a primer for using neural networks for
markets. Usually stock prices can be seen as a random time                 financial forecasting. They compare volatility forecasts from
sequence with noise, artificial neural networks, as large-scale            neural networks with implied volatility from S&P 500 Index
parallel processing nonlinear systems that depend on their own             futures options using the Barone-Adesi and Whaley (BAW)
intrinsic link data, provide methods and techniques that can               American futures options pricing model. Forecasts from neural
approximate any nonlinear continuous function, without a                   networks outperform implied volatility forecasts and are not
priori assumptions about the nature of the generating process,             found to be significantly different from realized volatility.
see (Pino et al., 2008).It is obvious that several factors are             Implied volatility forecasts are found to be significantly
effective on future stock price and the main weak point in this            different from realized volatility in two of three forecast
surrey is that all of them considered a few limit factors in               horizons. [19]
future stock price and using linear methods, Regarding that
fact, although previous studies highlighted the problem to                 D. E. Allen, W. Yang,(2004)
some extent, none of them didn’t provide a comprehensive                            Examines the deviation of the UK total market index
model to estimate the stock prince. If one estimates the prince            from market fundamentals implied by the simple dividend
and provides a model for it to eliminate uncertainties to a large          discount model and identifies other components that also
extent it can help to increase the investments in stock                    affect price movements. The components are classified as
exchange. Conducting the scientific surveys to obtain a                    permanent, temporary, excess stock return and non-
suitable and desirable model to estimate the stock price is the            fundamental innovations to stock prices by employing a
best task. [16]                                                            multivariate moving-average model as applied in [J. Financial
          The purpose of this study is to insure the investors             Quant. Anal. 33 (1998) 1] and imposing relevant restrictions
and provides them with suitable information for better                     on the model in light of Sims–Bernanke forecast error
investment. Regarding that future stock price and its                      variance decomposition. They find that time-varying
estimation are important factors in accurate decision making               discounted rates play an active role in explaining price
for better investment for investors; therefore, this survey is             deviations. [5]
aiming to estimate the future stock price of companies acting
in Tehran (Iran) stock exchange using the most effective                   David Enke and Suraphan Thawornwong (2005)
variables related to the stock price                                                 Introduces an information gain technique used in
                                                                           machine learning for data mining to evaluate the predictive
              II. REVIEW OF LITERATURE                                     relationships of numerous financial and economic variables.
                                                                           Neural network models for level estimation and classification
Eldon Y. Li(1994)                                                          are then examined for their ability to provide an effective
         The purpose of his paper is to answer two of the most             forecast of future values. A cross-validation technique is also
frequently asked questions: “What are neural networks?”                    employed to improve the generalization ability of several
“Why are they so popular in today's business fields?” The                  models. The results show that the trading strategies guided by
paper reviews the common characteristics of neural networks                the classification models generate higher risk-adjusted profits
and discusses the feasibility of neural-net applications in                than the buy-and-hold strategy, as well as those guided by the
business fields. It then presents four actual application cases            level-estimation based forecasts of the neural network and
and identifies the limitations of the current neural-net                   linear regression models. [4]
technology. [7]
                                                                           Qing Cao, Karyl B. Leggio, Marc J. Schniederjans (2005)
Kyoung-jae Kimand & Ingoo Han(2000)                                                 Their study uses artificial neural networks to predict
         Their paper proposes genetic algorithms (GAs)                     stock price movement (i.e., price returns) for firms traded on
approach to feature discrimination and the determination of                the Shanghai stock exchange. We compare the predictive
connection weights for artificial neural networks (ANNs) to                power using linear models from financial forecasting literature
predict the stock price index. In this study, GA is employed               to the predictive power of the univariate and multivariate




                                                                      39                              http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



neural network models. Our results show that neural networks            financial distress prediction model. The empirical experiment
outperform the linear models compared. These results are                with a total of 37 ratios and 68 listed companies as the initial
statistically significant across our sample firms, and indicate         samples obtained a satisfactory result, which testifies for the
neural networks are a useful tool for stock price prediction in         feasibility and validity of their proposed methods for the
emerging markets, like China. [17]                                      financial distress prediction. [23]

 Yi-Hsien Wang(2007)                                                    Zhang Yudong and Wu Lenan(2008)
          This study integrated new hybrid asymmetric                            Their paper proposed an improved bacterial chemo
volatility approach into artificial neural networks option-             taxis optimization (IBCO), which is then integrated into the
pricing model to improve forecasting ability of derivative              back propagation (BP) artificial neural network to develop an
securities price. Owing to combines the new hybrid                      efficient forecasting model for prediction of various stock
asymmetric volatility method can be reduced the stochastic              indices. Experiments show its better performance than other
and nonlinearity of the error term sequence and captured the            methods in learning ability and generalization. [27]
asymmetric volatility simultaneously. Hence, in the ANNS
option-pricing model, the results demonstrate that Grey-GJR–            E.L. de Faria and J.L. Gonzalez (2009)
GARCH volatility provides higher predictability than other                        Their work performs a predictive study of the
volatility approaches. [25]                                             principal index of the Brazilian stock market through artificial
                                                                        neural networks and the adaptive exponential smoothing
Pei-Chann Chang andChen-Hao Liu(2008)                                   method, respectively. The objective is to compare the
         In their study, an integrated system, CBDWNN by                forecasting performance of both methods on this market index,
combining dynamic time windows, case based reasoning                    and in particular, to evaluate the accuracy of both methods to
(CBR), and neural network for stock trading prediction is               predict the sign of the market returns. Also the influence on
developed and it includes three different stages: (1) screening         the results of some parameters associated to both methods is
out potential stocks and the important influential factors; (2)         studied. Their results show that both methods produce similar
using back propagation network (BPN) to predict the buy/sell            results regarding the prediction of the index returns. On the
points (wave peak and wave trough) of stock price and (3)               contrary, the neural networks outperform the adaptive
adopting case based dynamic window (CBDW) to further                    exponential smoothing method in the forecasting of the market
improve the forecasting results from BPN.                               movement, with relative hit rates similar to the ones found in
 The empirical results show that the CBDW can assist the                other developed markets. [6]
BPN to reduce the false alarm of buying or selling decisions.
[15]                                                                                         III. OBJECTIVES
                                                                        The present study attempts to undertake the following
Sheng-Hsun Hsu and JJ Po-An Hsieh (2008)                                objectives:
          Their study employs a two-stage architecture for              1- Considering the main variables to estimate future stock
better stock price prediction. Specifically, the self-organizing        price of companies acting in stock exchange.
map (SOM) is first used to decompose the whole input space              2- Price estimation using two methods of artificial neural
into regions where data points with similar statistical                 network and linear regression neural networks and comparison
distributions are grouped together, so as to contain and capture        of these two methods’ results.
the non-stationary property of financial series. After
decomposing heterogeneous data points into several                                  IV. RESEARCH METHODOLOGY
homogenous regions, support vector regression (SVR) is
applied to forecast financial indices. The proposed technique           A. Sample Unit
is empirically tested using stock price series from seven major                  The population of present study including all
financial markets. The results show that the performance of             companies who were acting in Tehran stock exchange in
stock price prediction can be significantly enhanced by using           1380– 1386. There fore, those companies whose symbol was
the two-stage architecture in comparison with a single SVR              not active during this period were omitted and finally, 100
model. [20]                                                             companies were chosen. The scope of subject in this study
                                                                        includes the consideration of the relationship between macro
Wei-Sen Chen and Yin-Kuan Dua(2008)                                     economic and financial variables with stock future price.
         Their paper adopted the operating rules of the Taiwan          Scope of locative of this study includes all accepted
stock exchange corporation (TSEC) which were violated by                companies who were active in Tehran stock exchange from
those companies that were subsequently stopped and                      early 1379 to the end of 1386.
suspended, as the range of the analysis of this research. In
addition, this paper also used financial ratios, other non-             B. Data Collection Method
financial ratios, and factor analysis to extract adaptable                       In this study, we used 10 macro economic variables
variables. Moreover, the artificial neural network (ANN) and            and 30 financial variables to study their effects on stock future
data mining (DM) techniques were used to construct the                  price. Data related to macro economic variables were collected




                                                                   40                              http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 7, No. 2, February 2010



through Central Bank yearbook, economic reports and balance                             If researcher wants to estimate the dependent variable
sheet of Central Bank and Monetary and financial Research                     by one or more independent variables, he will use a linear
center of Iran Central Bank and data related to companies                     regression model. This model will be shown as follows.
financial variables were calculated collected through                         Amount of P for each set of data will result in
companies financial statements sand informational Agency of                   minimum μ .When ever we use standard scores instead of
Tehran(Iran) stock exchange.                                                  raw variables in the analysis, p regression coefficients will be
                                                                              shown as B. This relation will be shown as.
C. Methodology Steps                                                                    Linear regression can be a method to estimate a set of
1. Identifying related factors and omitting additional variables              time series.
(among macro economic and financial variables) through the                    Average of financial and macro economic variables of
analysis of independent components.                                           identified resources in the beginning of each year are
2. Modeling and estimating stock future price through the                     independent variables in these estimations. Dependent
linear regression equation.                                                   variables Q are the real output of the company in estimation
3. Modeling and estimating stock future efficiency using                      model, which dependent on price data of all stocks in our
General regression neural network.                                            sample. Dependent variable will be estimated using regression
4. Comparison of result related to these methods.                             step method (OLS). All independent variables will enter to the
                                                                              regression equation. These in dependent variables with P
a) Independent Components Analysis (ICA)                                      values more than 5% will be omitted in estimation period and
          To estimate financial time series, it is necessary to               at last, we will choose a subset of independent variables.
use a set of continuous descriptive input variables among a                   Olson & Mossman state that variables of 3 to 7 independent
very huge set of primary inputs.                                              variable will show the best estimations for this period.
It is difficult to choose a significant and suitable subset of                According this study if step solution method chooses more
input variables. In several scientific fields, it is difficult to find        than eight independent variables, P – value will be decreased
a reasonable transfer for a huge set of multi-data.                           to 3% or 4% , and if step solution method chooses one or two
Our purpose is to use a technique to summarize independent                    variables, P- value will be increased to 10% to include more
components of time series in a set of variables which is named                variables.
independent components Analysis (ICA). This method will                                          k
decrease the number of descriptive variables by decreasing a
set of financial and economic information into smaller subsets
                                                                                     Q j ,t =   ∑P
                                                                                                i =1
                                                                                                       i ,t   * F j ,i ,t −1 + u j ,t                     (1)
of independent components and maintaining the suitable                        K = the number of independent variables
information. Removing the random elements from each data                      P = regression coefficient of independent variable I in month t
set will facilitate the identification of relationship between                Fj, i, t-1 = independent variable I for stock j at the end of previous
independent components and stock indexes.                                     period (month t-1).
Independent components Analysis are process to summarize a                    Uj, t = error terms for each regression
new set of statistical independent components in a guide                      Qj, t = price of (dependent variable) stock j in month t
vector. These components will show some estimations of data
main resource.                                                                c) General Regression Neural Network
This process supposes a matrix of time series which includes a                          GRNN can approximate any arbitrary function from
compound process; so, this process will analyze the                           historical data. The major strength of GRNN compared to
independent components by creating a matrix when we enter                     other Ann’s is that its internal structure is not problem
them, and identify the related and unrelated components and                   dependent.
provide us with the best matrix of estimative variables.
                                                                              Topology of GRNN
This technique will summarize as follows:                                       • GRNN consists of four layers:
• This technique will summarize independent components of                       • The first layer is responsible for reception of information.
time series in a set of variables.                                              • The input neurons present the data to the second layer
• This technique will find a way to change data with the                      (pattern neurons).
minimum statistical dependency among the summarized                             • The output of the pattern neurons are forwarded to the
components into a linear data.                                                     third layer (summation neurons).
• If two random variables are unrelated, they will not be                       • summation neurons are sent to the fourth layer (output
independent.                                                                  neuron)
• This technique is so special for analysis and estimation
which uses two matrixes of data covariance and data changes                   And we can summarize this model as:
by increasing the arrangement of linear and non-linear                         • This model will consider a few non- linear aspects of the
regression.                                                                      estimation problem.
                                                                               • This network model will be taught immediately, and will
b) Linear Regression                                                             be suitable for scattered data.




                                                                         41                                        http://sites.google.com/site/ijcsis/
                                                                                                                   ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



  • First, data will be clustered to decrease the needed layers        Cash flow per share
in hidden layer.                                                       Inventory turnover rate
  • This model enables to solve any problems in monotonous             Annual average volume of daily trading relative to annual
functions.                                                             average total market capitalization
  • This model can not ignore non-related inputs with out the          Dividend yield
     main revisions in the main algorithm.                             Dividend payout ratio
                                                                       Dividend per share
      V. FACTORS FOR COMPARISION OF TWO                                Total of sales to total assets
                    METHODS RESULTS                                    Bid – ask spread
          In time series, it is very important to conform an           Market impact of a trade
estimation model to data pattern and we can obtain the                 Price per share
conformity of estimation method with data pattern by                   Trading volume
calculating estimation error during the time period.                   Turnover rate
For example, when a technique of estimation estimates the              Commission rate
periodical and seasonal alternations in time series, then              Indicator variables for the day of the week effect
estimation error will show the disordered or random                    Holiday effect
component in time series.                                              January month
Error square mean index is obtained through dividing total             Amortized effective spread
error differences square by time series. Error percent absolute        Price history
value mean is an index which will be used whenever                     Past return
estimation of error based on percent is more suitable.                 Size of firm
Determination coefficient is the most important factor one can         Ratio of total debt to stockholder’s equity
explain the relationship between two variants by which.                Pastor measure
                                                                       Ratio of absolute stock return to dollar volume
  1- MSE                                                               Market depth
  2- MAPE                                                               Ratio of net income to book equity
  3- R
         2                                                             Operating income to total assets
                                                                       Operating income to total sales
     VI. CHOOSING FINAL VARIABLES AMONG
                PRIMARY VARIABLES                                               Independent components analysis (ICA) most method
        40 financial and macroeconomic variables will enter            chooses variables with minimum statistical dependency and
independent components analysis method:                                explanation strength, and then we chose 40 variables

A. Macroeconomic Variables                                             C. Financial Variables
Growth rates of industrial production                                  Earning per share
Inflation rate                                                         Size of firm
Interest rate                                                          Ratio of total debt to stockholder’s equity
Exchange rate                                                          Operating income to total sales
Rate of return on stock public
Unemployment rate                                                      D. Macroeconomic Variables
Oil price                                                              Inflation rate
Gross Domestic product (GDP)                                           Money supply 1 (M1)
Money supply 1 (M1)                                                    Growth rates of industrial production
Money supply 2 (M2)
                                                                                   VII. RESULTS AND ANALYSES
B. Financial Variables                                                        Here, we show the results of two methods and the
Book value per share                                                   model created by linear regression and neural network
Sales per share                                                        methods and comparison of the models’ results using the
Earning per share                                                      above-mentioned factors.




                                                                  42                               http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                              Vol. 7, No. 2, February 2010



A. Estimation of Linear Regression Model


                                                           Table I: Model Summary
               Durbin-Watson            Std. Error of                Adjusted             R Square               R           Model
                                        The Estimate                 R Square
                    2,013                83,487569                    0,211                   0,279             0,368             1

                              A Predictors: (Constant), EXCHANGE, DEPT, EPS, SOF, INFLATION, M1
                                                  B Dependent Variable: Stock Price

                                                           Table II: table of ANOVA
                    Model              Sum Squares                 df               Mean Square             F               sig
           1     Regression             381258,653                  7
                                                                                      441,257
                   Residual             287923,471                1117                                    5,009           0,000a
                                                                                      382,186
                    Total               326214,368                1123
                                  a.   Predictors: (Constant), EPS, SOF, income, inflation, M1, Dept, ratio

                                                   Table III: table of Coefficients a
                                                                             Standardized
                                       Unstanddardized Coefficients
                   Model                                                     Coefficients                   t                 sig
                                           B                 Std. Error                Beta
           1 (Constant)                  -14,61               39,216                                     -2,498             0,459
           ratio                         2,009                 0,843                  2,138               3,181             0,001
           inflation                     7,162                 3,728                  0,179               2,772             0,005
           income                        -0.208                0.096                  -0,022             -0,532             0,066
           Dept                         0.0309                 0,223                  0,031               1,991             0,042
           SOF                          -0,0001                0,001                  0,027               2,107             0,047
           EPS                           0,189                 0,005                  0,184               2,987             0,001


                                                      a.    Dependent Variable: stock price


                                       Y=-14.61+2.009X1+7.162X2+0.0309X3-0.0001X4+0.189X5                                           (2)

Y: stock price
X 1: Growth rate of industrial products
X 2: Inflation rate
X 3: Ratio of total liabilities to stockholders pay
X 4: Company’s degree
X 5: Earning per share

         As it is observed financial variable of operational                 and t value is (-0.532), so this variable will not be mentioned
income to total selling are not mentioned in the model should                in the model.
be more and than 1.98 and Sig less than 0.05, respectively, for                       According the tables which calculated by algebra
a variable to be meaningful and mentioned in the model. There                method, multi correlation factor (R) is 0.368. That is, it is
fore, the significance level for this variable is more than 5%               0.368 correlations between independent variables and
                                                                             dependent variables. This means that independent variables



                                                                        43                               http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                       Vol. 7, No. 2, February 2010



which remained in regression equation are 0.368 and have a             Also, we calculated spread = 0.8326.becaues spread of more
significant relation ship with stock price.                            than 1 will cause in hyper fitting of network and a larger
Coefficient of determination (R2) or (Pearson’s correlation            region of input to output vector. And its very small value will
coefficient) show a ratio of total dependent variable changes          cause in increase of estimation error. In a way that function
which are calculated by dependent variables of the equation.           will have a high slope and neuron which weights are more
So, in dependent variables could estimate 0.279 variance of            similar to its input will have more outputs than other neurons.
dependent variable (price). Moreover, according the B                  In this network member of input vector P will be calculated
standard coefficient one can say growth rate variable of               for all neurons and will be calculated for transfer function
industrial products (Beta = 2.138) in a significant level 0.001        (sigmoid function) and the output will be gained after
is the most descriptive for dependent variable value or stock          multiplying in weights vector and adding to bias. And this
price.                                                                 output will be a vector. We used a 3- layer general regression
                                                                       neural network which had seven neurons in internal layer and
B. Estimation of General Regression Neural Network                     fourteen neurons in middle layer and one neuron in external to
Model                                                                  design.
       To estimate General Regression Neural Network                   After using learning algorithm and network education of 37
Model, we consider 7 variables obtained from dependent                 educational periods, network error graph is as follows.
components analysis as input (P) and stock price as output (T).

a) Model One
Is an estimated model which is not educated and has its own real error?

                          Y=-8.11+ 1.83X1-0.000011X2+7.16X3+2.07X4-.00008X5+0.957X6+0.243X7                                        (3)

b) Model Two                                                             a larger region of input to output vector, and its very small
- Which is obtained through using learning algorithm in                  value will cause in increase of estimation error.
model One which has the minimum error.                                   - We used a 3 – layer general regression neural network
- LM learning algorithm was chosen which has the most                    which had seven neurons in internal layer, fourteen neurons
adaptability to all survey aspects.                                      in middle layer and one neuron in external layer to design.
- Value of SPREAD = 0.8326 was used because spread
value of more than 1 will case in hype fitting in network and




                                          Fig1: Mean Squared Error of GRNN Network

                                                                                                                                         (4)
                         Y=-11.07+4.11X1-0.000009X2+6.74X3+1.31X4-0.0007X5+0.39X6+0.131X7




                                                                  44                              http://sites.google.com/site/ijcsis/
                                                                                                  ISSN 1947-5500
                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                       Vol. 7, No. 2, February 2010




                                                                       coefficient will be decreased significantly after using training
                    VIII. CONCLUSION                                   in neural network which will be shown the increase of
A. Comparison of two Methods Results                                   estimation factor in trained neural network.
         As it is shown in table below, value of estimation
error square mean, absolute mean of error percent and (R2)


                                             Table IV: the compare of two methods
                      R2                       MAPE                       MSE
                    0,71                        1,42                      76,2                                      GRNN
                    0,368                       3,73                      97,6                             regression linear

        After using LM algorithm and network training, above statistics will be changed as follows

                                 Table V: the compare of two methods after using LM algorithm
                      R2                       MAPE                       MSE
                     0,98                       0,78                       31,6                                        GRNN

          Neural networks are quicker than other methods               exponential smoothing methods, Expert Systems with
including regression because they are executing parallel and           Applications Article in Press.
tolerate more errors and also these networks can make rules
without any implicit formula which are understandable in an            [7] Eldon Y. Li, 1994; artificial neural networks and their
environment of chaos and implicitly, such as stock exchange            business applications, Information & Management, Volume
which is a very important factor.                                      27,               Issue              5,              Pages
          As said before, in this survey, we chose 100                  303-313
companies of high quality in Tehran stock exchange. And we
understand that artificial neural network method is better than        [8] Hwang, H. B. (2001). Insights into neural-network
linear regression method in estimation. And neural network             forecasting of time series corresponding to ARMA (p, q)
method is more descriptive than linear regression method, and          structures. Omega, 29, 273-289.
at last, the research theory, neural network method is better
than linear regression method, is approved in this study.
                                                                       [9] Kyoung-jae Kimand & Ingoo Han,2000; Genetic
                        REFERENCES                                     algorithms approach to feature discretization in artificial
[1] Armstrong, J. S. (1988). Research needs in forecasting.            neural networks for the prediction of stock price index,
International Journal of Forecasting, 4, 449-465.                      Institute of Science and Technology,
                                                                       South Korea
[2] Armstrong, J. S. (2001). Principles of Forecasting: A
Handbook for Researchers and Practitioners. Boston, MA:                [10] Makridakis, S., Anderson, A., Carbone, R., Fildes, R.,
Kluwer Academic Publishers. Business Forecasting with                  Hibdon, M,. Lewandowski, R., Newton, J., Parzen, E., &
Artificial Neural Networks: An Overview 15                             Winkler, R. (1982). The accuracy of extrapolation (time
                                                                       series) methods: Results of a forecasting competition. Journal
[3] Chung et al., 2007 P.C. Chang, Y.W. Wang and C.H. Liu,             of Forecasting, 1(2), 111-153.
The development of a weighted evolving fuzzy neural network
for PCB sales forecasting, Expert Systems with Applications            [11] Medeiros, M. C. & Pedreira, C. E. (2001). What are the
32, pp. 86–96.                                                         effects of forecasting linear time series with neural networks?
                                                                       Engineering Intelligent Systems, 237-424.
[4] David Enke and Suraphan Thawornwong,2005; The use of
data mining and neural networks for forecasting stock market           [12] Miao et al., 2007 K. Miao, F. Chen and Z.G. Zhao, Stock
returns, Journal of Finance, USA                                       price forecast based on bacterial colony RBF neural network,
                                                                       Journal of QingDao University 20 (2) (2007), pp. 50–54 (in
[5] D. E. Allen, W. Yang, 2004; Do UK stock prices deviate             Chinese).
from fundamentals? Volume 64, Pages 373-383
                                                                       [13] Oh and Kim, 2002 K.J. Oh and K.-J. Kim, Analyzing
[6] E.L. de Faria and J.L. Gonzalez(2009); Predicting the              stock market tick data using piecewise non linear model,
Brazilian stock market through neural networks and adaptive            Expert System with Applications 22 (3) (2002), pp. 249–255




                                                                  45                              http://sites.google.com/site/ijcsis/
                                                                                                  ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



[14] Olson, Dennis and Mossman, Charls (2003), neural                   organizing map and support vector regression, Expert Systems
network forecasts of Canadian stock returns using accounting            with Applications, Volume 36, Issue 4, Pages 7947-7951.
ratios, international journal of foresting 19, pp 453-465.
                                                                        [21] Tan et al., 2005 Tan, T. Z., Quek, C., & Ng, G. S. (2005).
[15] Pei-Chann Chang and Chen-Hao Liu,(2008); A neural                  Brain inspired genetic complimentary learning for stock
network with a case based dynamic window for stock trading              market prediction. In IEEE congress on evolutionary
prediction;    Expert      Systems      with Applications               computation, 2–5th September (Vol. 3, pp. 2653–2660).
Volume 36, Issue 3, Part 2, Pages 6889-6898.
                                                                        [22] Wang, 2003 Y. Wang, Mining stock prices using fuzzy
[16] Pino et al., 2008 R. Pino, J. Parreno, A. Gomez and P.             rough set system, Expert System with Applications 24 (1)
Priore, Forecasting next-day price of electricity in the Spanish        (2003), pp. 13–23.
energy market using artificial neural networks, Engineering
Applications of Artificial Intelligence 21 (2008), pp. 53–62.           [23] Wei-Sen Chen and Yin-Kuan Dua, 2008; Using neural
                                                                        networks and data mining techniques for the financial distress
[17] Qing Cao, Karyl B. Leggio, Marc J. Schniederjans,2005;             prediction model, The Journal of Finance
A comparison between Fama and French's model and artificial
neural networks in predicting the Chinese stock market,                 [24] Widrow, B., Rumelhart, D., & Lehr, M. A. (1994). Neural
Computers & Operations Research, Volume32,pages2499-                    networks: Applications in industry, business and science.
2512                                                                    Communications of the ACM,

[18] Ritanjali Majhi and Panda, 2007 Ritanjali Majhi, &                 [25] Yi-Hsien Wang(2007); Nonlinear neural network
Panda, G., (2007). Stock market prediction of S&P 500 and               forecasting model for stock index option price: Hybrid GJR–
DJIA using bacterial foraging optimization technique. In 2007           GARCH approach, Expert Systems with ApplicationsVolume
IEEE congress on evolutionary computation (CEC 2007) (pp.               36, Issue 1, Pages 564-570.
2569–2579).                                                             [26] Zhang, G. P. (2001). An investigation of neural networks
                                                                        for linear time-series forecasting. Computers & Operations
[19] Shaikh A. Hamid and Zahid Iqbal,2003; Using neural                 Research, 28, 1183-1202.
networks for forecasting volatility of S&P 500 Index futures
prices, School of Business, USA                                         [27] Zhang Yudong and Wu Lenan,2008; Stock market
                                                                        prediction of S&P 500 via combination of improved BCO
[20] Sheng-Hsun Hsu and JJ Po-An Hsieh(2008); A two-stage               approach and BP neural network, Expert Systems with
architecture for stock price forecasting by integrating self-           ApplicationsVolume 36, Issue 5, Pages 8849-8854.




                                                                   46                              http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No.2, 2010

 A Methodology for Empirical Quality Assessment of
             Object-Oriented Design
                                                           Devpriya Soni1
                                                Department of Computer Applications

                                                      Dr. Namita Shrivastava2
                                                  Asst. Prof. Deptt. of Mathematics

                                                           Dr. M. Kumar3
                                                Retd. Prof. of Computer Applications

                               Maulana Azad National Institute of Technology (A Deemed University)
                                                     Bhopal 462007, India




Abstract: The direct measurement of quality is difficult                  management and sound empirical research. For example,
because there is no way we can measure quality factors. For               Kitchenham et.al. [2] write: "Unless the software measurement
measuring these factors, we have to express them in terms of              community can agree on a valid, consistent, and
metrics or models. Researchers have developed quality models              comprehensive theory of measurement validation, we have no
that attempt to measure quality in terms of attributes,                   scientific basis for the discipline of software measurement, a
characteristics and metrics. In this work we have proposed the            situation potentially disastrous for both practice and research."
methodology of controlled experimentation coupled with power
of Logical Scoring of Preferences to evaluate global quality of               According to Fenton [4], there are two types of validation
four object-oriented designs.                                             that are recognized: internal and external. Internal and external
                                                                          validations are also commonly referred to as theoretical and
   Keywords: Software Quality, Quantitative Measurement, LSP.             empirical validation respectively [2]. Both types of validation
                                                                          are necessary. Theoretical validation requires that the software
                                                                          engineering community reach a consensus on what are the
                       I.   INTRODUCTION                                  properties for common software maintainability metrics for
    Software quality must be addressed during the whole                   object-oriented design. Software organizations can use
process of software development. However, design is of                    validated product metrics in at least three ways: to identify high
particular importance in developing quality software for two              risk software components early, to construct design and
reasons: (i) design is the first stage in software system creation        programming guidelines, and to make system level predictions.
in which quality requirement can begin to be addressed. Error             Empirical validation can be performed through surveys,
made at this stage can be costly, even impossible to be                   experiments and case-study.
rectified. (ii) design decision has significant effect on quality
on the final product.                                                         Recently, Kumar and Soni [5] have proposed a hierarchical
                                                                          model to evaluate quality of object-oriented software. The
    Measuring quality in the early stage of software                      proposed model of [5] has been validated both theoretically as
development is the key to develop high-quality software.                  well as empirically in a recent paper by Soni, Shrivastava and
Analyzing object-oriented software in order to evaluate its               Kumar [6]. Further the model has been used for evaluation of
quality is becoming increasingly important as the paradigm                maintainability assessment of object-oriented design quality,
continues to increase in popularity. A large number of software           especially in design phase, by Soni and Kumar [7]. In this
product metrics have been proposed in software engineering.               research, the authors have attempted to empirically validate the
While many of these metrics are based on good ideas about                 object-oriented design model of [5] using the methodology of
what is important to measure in software to capture its                   controlled experiment. A global quality assessment of several
complexity, it is still necessary to systematically validate them.        designs have been made using the method of Logical scoring of
Recent software engineering literature has shown a concern for            Preferences (LSP). The Section II deals with experimental
the quality of methods to validate software product metrics               environment and data collection and the Section III deals with
(e.g., see [1][2][3]). This concern is due to fact that: (i)              the method of Logical Scoring of Preferences (LSP) used to
common practices for the validation of software engineering               evaluate the overall quality of software design. Section IV
metrics are not acceptable on scientific grounds, and (ii) valid          gives the steps for design quality evaluation and Section V
measures are essential for effective software project                     analyzes and compare the quality of selected designs.




                                                                     47                               http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No.2, 2010
  II.     EXPERIMENTAL ENVIRONMENT AND DATA COLLECTION                    yields an output preference e0, for the global preference E, or
    For the purpose of empirically evaluating object-oriented             any subfeature Ei. It is calculated as:
design for its quality using the hierarchical quality model               e0 =(W1E1r + ... + WkEkr)1/r , W1 + … + Wk = 1                    (3)
proposed by Kumar and Soni [5], we needed a few designs
created independently for the same problem/project. We used               where e0 is the output preference, W is the weight of the
12 students of fifth semester, Master of Computer Applications            particular feature, E is the elementary preference of a feature, k
of Maulana Azad National Institute of Technology, Bhopal.                 is the number of features in the aggregation block and r is a
They had studied courses on Data Base Management System,                  conjunctive/disjunctive coefficient of the aggregation block.
Object-Oriented Analysis and Design and C++ programming                   For each Ei a weight Wi is defined for the corresponding
language course including laboratory on these topics. We                  feature. The weight is a fraction of 1 and signifies the
formed three groups of 4 students each. These groups were                 importance of a particular feature within the aggregation block.
provided a written problem statement (user requirements) for              The r coefficient represents the degree of simultaneity for a
designing a small sized library management system for                     group of features within an aggregation block. This is described
MANIT library. For any difficulty they were free to consult               in terms of conjunction and disjunction. The modification of
library staff. The three groups independently created one                 above model, called Logic Scoring of Preferences, is a
design each for the library management system. They were                  generalization of the additive-scoring model and can be
asked to follow Object-Oriented Analysis and Design                       expressed as follows
methodology [8] for designing and were given two months to                P/GP(r) = (W1EP1r+W2EP2r + ... + Wm EPm r)1/r                     (4)
complete the work and produce design using methodology of
discussion and walk-through within its group. The three                   where Wi weights and EPi are elementary preferences. The
designs produced are given in Fig 13, 14 and 15 (see Appendix             power r is a parameter selected to achieve the desired logical
A). To make this work more reliable and trustworthy, we also              relationship and polarization intensity of the aggregation
evaluated an object-oriented design of Human Resource                     function. Value of 'r' used in Logic Scoring of Preferences
Department [13]. This design was used to raise HR database,               method is given in Table I.
which is being successfully used by Bharat Heavy Electrical
Limited (BHEL), Bhopal. This design is produced in Fig 16                 TABLE I.         VALUE OF R IN LOGIC SCORING OF PREFERENCE METHOD
(see Appendix A).
                                                                                              Sym
                                                                               Operation                d            r2          r3         r4         r5
                                                                                              bol
        III.   LOGICAL SCORING OF PREFERENCES METHOD                          ARITHMETIC
                                                                                 MEAN
                                                                                               A      0.5000        1.000      1.000      1.000       1.000
     The Logical Scoring of Preferences (LSP) method was                      WEAK QC (-)      C--    0.4375        0.619      0.573      0.546        0.526
proposed in 1996 by Dujmovic [9][11][12] who used it to                       WEAK QC (+)      C-+    0.3125        -0.148     -0.208     -0.235      -0.251
evaluate and select complex hardware and software systems. It
is grounded on Continuous Preference Logic. In LSP, the                       The strength of LSP resides in the power to model different
features are decomposed into aggregation blocks. This                     logical relationships:
decomposition continues within each block until all the lowest
level features are directly measurable. A tree of decomposed                    Simultaneity, when is perceived that two or more input
features and sub-factors at one level will have a number of                      preferences must be present simultaneously
aggregation blocks, each resulting in a higher-level factors                    Replaceability, when is perceived that two or more
going up the tree right through to the highest-level features. For               attributes can be replaced (there exist alternatives, i.e., a
each feature, an elementary criterion is defined. For this, the                  low quality of an input preference can always be
elementary preference Ei needs to be determined by calculating                   compensated by a high quality of some other input).
a percentage from the feature score Xi. This relationship is
represented in the following equation:                                          Neutrality, when is perceived that two or more input
                                                                                 preferences can be grouped independently (neither
                   Ei=Gi(Xi)                 (1)                                 conjunctive nor disjunctive relationship)
where E is the elementary preference, G is the function for
                                                                                Symmetric relationships, when is perceived that two or
calculating E, X is the score of a feature and i is the number of
                                                                                 more input preferences affect evaluation in the same
a particular feature. The elementary preferences for each
                                                                                 logical way (tough may be with different weights).
measurable feature in one aggregation block are used to
calculate the preference score of the higher feature. This in turn               Asymmetric relationships, when mandatory attributes are
is used with the preferences scores of an even higher feature,                   combined with desirable or optional ones; and when
continuing right up until a global preference is reached. The                    sufficient attributes are combined with desirable or
global preference is defined as:                                                 optional ones.
                      E = L(E1 ...,En)                (2)
                                                                                     IV.     STEPS FOR DESIGN QUALITY EVALUATION
where E is the global preference, L is the function for
evaluating E, En is the elementary preference of feature n, n is
the number of features in the aggregation block. The function L                 Steps required for the evaluation of design quality are:




                                                                     48                                        http://sites.google.com/site/ijcsis/
                                                                                                               ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                           Vol. 7, No.2, 2010
1. Consider a hierarchical model for quality characteristics                 This function is a mapping of the measured value in the
and attributes (i.e. A1 …. An): here, we define and specify the              empirical domain [10] into the new numerical domain. Then
quality characteristics and attributes, grouping them into a                 the final outcome is mapped in a preference called the
model. For each quantifiable attribute Ai, we can associate a                elementary quality preference, EQi. We can assume the
variable Xi, which can take a real value: the measured value.                elementary quality preference EQi as the percentage of
            1 Functionality                                                  4 Reusability
             1.1 Design Size                                                  4.1 Design Size
              1.1.1 Number of Classes (NOC)                                    4.1.1 Number of Classes (NOC)
             1.2 Hierarchies                                                  4.2 Coupling
              1.2.1 Number of Hierarchies (NOH)                                4.2.1 Direct Class Coupling (DCC)
             1.3 Cohesion                                                     4.3 Cohesion
              1.3.1 Cohesion Among Methods of Class (CAM)                      4.3.1 Cohesion Among Methods of Class (CAM)
             1.4 Polymorphism                                                 4.4 Messaging
              1.4.1 Number of Polymorphic Methods (NOP)                        4.4.1 Class Interface Size (CIS)
             1.5 Messaging
              1.5.1 Class Interface Size (CIS)                               5 Maintainability
                                                                              5.1 Design Size
            2 Effectiveness                                                    5.1.1 Number of Classes (NOC)
             2.1 Abstraction                                                  5.2 Hierarchies
              2.1.1 Number of Ancestors (NOA)                                  5.2.1 Number of Hierarchies (NOH)
              2.1.2 Number of Hierarchies (NOH)                               5.3 Abstraction
              2.1.3 Maximum number of Depth of Inheritance                     5.3.1 Number of Ancestors (NOA)
                      (MDIT)                                                  5.4 Encapsulation
             2.2 Encapsulation                                                 5.4.1 Data Access Ratio (DAR)
              2.2.1 Data Access Ratio (DAR)                                   5.5 Coupling
             2.3 Composition                                                   5.5.1 Direct Class Coupling (DCC)
              2.3.1 Number of aggregation relationships                        5.5.2 Number of Methods (NOM)
                      (NAR)                                                   5.6 Composition
              2.3.2 Number of aggregation hierarchies (NAH)                    5.6.1 Number of aggregation relationships
             2.4 Inheritance                                                           (NAR)
              2.4.1 Functional Abstraction (FA)                                5.6.2 Number of aggregation hierarchies (NAH)
             2.5 Polymorphism                                                 5.7 Polymorphism
              2.5.1 Number of Polymorphic Methods (NOP)                        5.7.1 Number of Polymorphic Methods (NOP)
                                                                              5.8 Documentation
            3 Understandability                                                5.8.1 Extent of Documentation (EOD)
             3.1 Encapsulation
              3.1.1 Data Access Ratio (DAR)
             3.2 Cohesion
              3.2.1 Cohesion Among Methods of Class (CAM)
             3.3 Inheritance
              3.3.1 Functional Abstraction (FA)
             3.4 Polymorphism
              3.4.1 Number of Polymorphic Methods (NOP)

           Figure 1 Proposed hierarchical design quality model



2. Defining criterion function for each attribute, and                       requirement satisfied by the value of Xi. In this sense, EQi =
applying attribute measurement: In this process, we define                   0% denotes a totally unsatisfactory situation, while EQi =
the basis for elementary evaluation criteria and perform the                 100% represents a fully satisfactory situation, Dujmovic
measurement sub-process. Elementary evaluation criteria                      (1996). Ultimately, for each quantifiable attribute, the
specifies how to measure quantifiable attributes. The result is              measurement activity should be carried out.
an elementary preference, which can be interpreted as the                    3. Evaluating elementary preferences: In this task, we
degree or percentage of satisfied requirement. For each variable             prepare and enact the evaluation process to obtain an indicator
Xi , i = 1, ...,n it is necessary to establish an acceptable range of        of partial preference for design. For n attributes, the mapping
values and define a function, called the elementary criterion.               produces n elementary quality preferences.




                                                                        49                              http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                     Vol. 7, No.2, 2010
4. Analyzing and assessing partial and global quality                               the Maximum Depth of Inheritance (MDIT) metric is a multi-
preferences: In this final step, we analyze and assess the                          level discrete absolute criterion defined as a subset, where 0
elementary, partial and total quantitative results regarding the                    implies depth is 1 level; 6 or more implies depth is satisfactory
established goals.                                                                  (100%).
                                                                                        The preference scale for the Data Access Ratio (DAR)
A. Establishing Elementary Criteria                                                 metric is a multi-level discrete absolute criterion defined as a
                                                                                    subset, where 0 implies ratio is less then 5%; 80% or more
    For each attribute Ai we associate a variable Xi which can                      implies satisfactory (100%) ratio. The preference scale for the
take a real value by means of the elementary criterion function.                    Extent of Documentation (EOD) metric is a multi-level discrete
The final result represents a mapping of the function value into                    absolute criterion defined as a subset, where 0 implies that
the elementary quality preference, EQi. The value of EQi is a                       documentation present is 5% or less; 100% implies satisfactory
real value that ‘fortunately’ belongs to the unit interval.                         (100%) documentation available. Similar criteria were
Further, the preference can be categorized in three rating levels                   followed for other metrics as well.
namely: satisfactory (from 60 to 100%), marginal (from 40 to
60%), and unsatisfactory (from 0 to 40%). For instance, a
marginal score for an attribute could indicate that a correction                    B. Logic Aggregation of Elementary Preferences
action to improve the attribute quality should be taken into
account by the manager or developer. Figure 2, shows sample                             Evaluation process is to obtain a quality indicator for each
elementary criteria for attributes.                                                 competitive system then applying a stepwise aggregation
 Number of Classes                        Number of
                                                                                    mechanism, the elementary quality preferences can be
(NOC)                  100           8    Hierarchie     100           5            accordingly structured to allow the computing of partial
                                           s (NOH)                                  preferences. Figure 3 to 7 depicts the aggregation structure for
  0= no classes
    available
                                                                                    functionality, effectiveness, understandability, reusability and
                       50                                50
                                             0= no
                                                                                    maintainability.
  1=8 or more                              hierarchy
 classes present                           available                                                                  1.1
                       0%            0                   0%            0                             1.1.1                                  0.3
                                               1=
                                           Hierarchy
                                           level is 5
                                                                                                                          1.2
                                                                                                     1.2.1
                                            or more                                                                                 0.2
                                                                                                                      1.3                                      1
Maximum Depth of                             Data
Inheritance (MDIT)                          Access
                                                                                                     1.3.1                          0.15               C--
                       100           6                   100           80%
                                             Ratio
  0= Depth is 1                             (DAR)
      level                                                                                                               1.4
                       50                                50
                                                                                                     1.4.1                             0.15
 1= Depth is 6 or                         0= ratio is
     more                                  less than                                                                      1.5
                       0%            1        5%         0%            5%                            1.5.1
                                                                                                                                          0.2
                                          1= if ratio                                 Figure 3 Structure of Partial Logic Aggregation for Functionality Factor
                                          is 80% or
                                             more

          Extent of Documentation (EOD)                                                              2.1.1
                                                                                                                   0.3
                                                         100           100%
          0= Documentation is upto 5%                                                                                                       2.1
                                                                                                     2.1.2                      A
        1= documentation is upto 100%                    50                                                        0.3                          0.35

                                                                                                     2.1.3         0.4

                                                         0%            5%                                                 2.2
                                                                                                     2.2.1
                                                                                                                                                0.3            2
   Figure 2 Sample elementary criteria defined as preference scales for the                                                                              C--
                           hierarchical model.
    The preference scale for the Number of Classes (NOC)                                             2.3.1         0.44
                                                                                                                                          2.3
metric is a multi-level discrete absolute criterion defined as a                                                                A
                                                                                                                   0.55
subset, where 0 implies no classes available; 8 or more implies                                                                                 0.2
satisfactory (100%) number of classes present. The preference                                        2.3.2
scale for the Number of Hierarchies (NOH) metric is a multi-                                                              2.5
level discrete absolute criterion defined as a subset, where 0                                       2.5.1
implies no hierarchy available; 5 or more implies satisfactory                                                                                  0.15
(100%) number of hierarchies present. The preference scale for                        Figure 4 Structure of Partial Logic Aggregation for Effectiveness Factor




                                                                               50                                   http://sites.google.com/site/ijcsis/
                                                                                                                    ISSN 1947-5500
                                                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                             Vol. 7, No.2, 2010
                                                                                                The global preferences can be obtained through repeating
                                    3.1                                                     the aggregation process at the end. The global quality
                                                                                            preference represents the global degree of satisfaction of all
               3.1.1                                                                        involved requirements. To evaluate the global quality it is
                                                     0.3                                    necessary to assign elementary preference to each metric of the
                                    3.2
                                                                                            hierarchical model in Figure 1. Figure 8 shows the high-level
               3.2.1                                              C--          3
                                                     0.4                                    characteristics aggregation to yield the global preference. The
                                                                                            stepwise aggregation process follows the hierarchical structure
                                    3.4                                                     of the hierarchical model from bottom to top. The major CLP
               3.4.1                                                                        operators are the arithmetic means (A) that models the
                                                     0.3
                                                                                            neutrality relationship; the pure conjunction (C), and quasi-
                                                                                            conjunction operators that model the simultaneity one; and the
Figure 5 Structure of Partial Logic Aggregation for Understandability Factor                pure disjunction(D), and quasi-disjunction operators that model
                                                                                            the replaceability one. With regard to levels of simultaneity, we
                                                                                            may utilize the week (C-), medium (CA), and strong (C+)
                                                                                            quasi-conjunction functions. In this sense, operators of quasi-
                                                                                            conjunction are flexible and logic connectives. Also, we can
                                                                                            tune these operators to intermediate values. For instance, C-- is
                     4.1
      4.1.1                                                                                 positioned between A and C- operators; and C-+ is between
                                              0.15                                          CA and C operators, and so on. The above operators (except A)
                     4.2
                                                                       4                    mean that, given a low quality of an input preference can never
       4.2.1
                                      0.3                                                   be well compensated by a high quality of some other input to
                     4.3                                   C--
                                                                                            output a high quality preference. For example in the Figure 3 at
       4.3.1                          0.3                                                   the end of the aggregation process we have the sub-
                                                                                            characteristic coded 1.1 (called Design Size in the hierarchical
                     4.4
       4.4.1                                                                                Model, with a relative importance or weight of 0.3), and 1.2
                                          0.25                                              sub- characteristic (Hierarchies, 0.2 weighted), and 1.3 sub-
                                                                                            characteristic (Cohesion, 0.15 weighted), and 1.4 sub-
                                                                                            characteristic (Polymorphism, 0.15 weighted), and 1.5 sub-
   Figure 6 Structure of Partial Logic Aggregation for Reusability Factor                   characteristic (Messaging, 0.3 weighted).
                                                                                                All these sub-characteristic preferences are input to the C--
                              5.1                                                           logical function, which produce the partial global preference
                                                                                            coded as 1, (called Functionality).
         5.1.1
                                                  0.2
                              5.2                                                                Functionality
         5.2.1                                                                                       1
                                                  0.15                                                                               0.25
                              5.3
         5.3.1
                                                  0.15                                          Effectiveness
                              5.4                                                                     2
         5.4.1                                                                                                                       0.1                         Global
                                                  0.05                                                                                                           Quality
                       0.5
                                                                                                                                                                 Preference
         5.5.1                                                             5                  Understandability                                        C-+
                                            5.5                                                      3
                                A                                C-+
                                                                                                                                      0.2
         5.5.2         0.5                        0.1

                                                                                                 Reusability
         5.6.1         0.45                                                                          4
                                A           5.6                                                                                      0.2
         5.6.2         0.55                       0.1
                                                                                               Maintainability
                              5.7                                                                    5
         5.7.1                                                                                                                       0.25
                                                  0.05
                              5.8
         5.8.1                                                                                       Figure 8 Global Aggregation of Preferences of Quality
                                                  0.2


 Figure 7 Structure of Partial Logic Aggregation for Maintainability Factor




                                                                                       51                                 http://sites.google.com/site/ijcsis/
                                                                                                                          ISSN 1947-5500
                                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                              Vol. 7, No.2, 2010
     V.     ANALYZING AND COMPARING THE QUALITY OF THE
                             SELECTED DESIGNS
                                                                                             TABLE IV. PARTIAL QUALITY PREFERENCE FOR EFFECTIVENESS OF DESIGN
    We have measured metrics values of all the four designs
(shown in Appendix A in Fig. 13 to 16) and have worked out
elementary preferences as discussed in the previous section.                                 Characteristics and
                                                                                                                         LMS -1        LMS -2        LMS -3            HRIS
The results of partial quality preferences for functionality,                                Sub-characteristics
                                                                                                2. Effectiveness
understandability, reusability, effectiveness and maintainability                                2.1 Abstraction
of designs are shown in Table II to VI. A comparison of partial                                2.1.1 Number of
                                                                                                                           .5             .4            .3              .8
and global preferences of factors is given in Table VII for all                                 Ancestors (NOA)
the four designs. A bar chart representing the global quality of                               2.1.2 Number of
                                                                                                                           .4             .4            .4              .7
                                                                                               Hierarchies (NOH)
four designs is given in Fig 12.                                                                 2.1.3 Maximum
                                                                                              number of Depth of           .5             .4            .2              .6
                                                                                              Inheritance (MDIT)
TABLE II.     PARTIAL QUALITY PREFERENCE FOR FUNCTIONALITY OF                                  2.2 Encapsulation
DESIGN
                                                                                               2.2.1 Data Access
                                                                                                                           1              .8            .6              .8
                                                                                                   Ratio (DAR)
                                                                                                2.3 Composition
                                                                                                2.3.1 Number of
 Characteristics and                                                                               aggregation             .4             .3            .4              .5
                         LMS -1          LMS -2           LMS -3         HRIS
 Sub-characteristics                                                                          relationships (NAR)
  1. Functionality                                                                              2.3.1 Number of
   1.1 Design Size                                                                                 aggregation             .8             .7            .6              .7
                           1                                                                   hierarchies (NAH)
   1.1.1 Number of
    Classes (NOC)
                         EQ=10              1               1             1                   2.5 Polymorphism
                          0%                                                                    2.5.1 Number of
    1.2 Hierarchies                                                                          Polymorphic Methods           1               1             1               1
    1.2.1Number of                                                                                    (NOP)
  Hierarchies (NOH)
                             .4             .4              .4            .7                    Partial Quality
                                                                                                                         72.00          61.62         51.15            76.71
     1.3 Cohesion                                                                                  Preference
1.3.1 Cohesion Among
   Methods of Class          .8             .7              .6            .8
        (CAM)
  1.4 Polymorphism
   1.4.1 Number of
Polymorphic Methods          1              1               1             .8
         (NOP)
    1.5 Messaging                                                                            TABLE V.    PARTIAL QUALITY PREFERENCE FOR REUSABILITY OF DESIGN
 1.5.1 Class Interface
       Size (CIS)
                             .7             .6              .5            .8
    Partial Quality
      Preference
                         77.19             73.54          69.69          86.58




TABLE III. PARTIAL QUALITY PREFERENCE FOR UNDERSTANDABILITY OF                                     Characteristics and
                                                                                                                           LMS -1           LMS -2       LMS -3         HRIS
DESIGN                                                                                             Sub-characteristics
                                                                                                   4. Reusability
                                                                                                   4.1 Design Size
  Characteristics and Sub-                                                                         4.1.1 Number of
                                  LMS -1         LMS -2         LMS -3     HRIS                                                 1              1             1           1
      characteristics                                                                               Classes (NOC)
 3. Understandability                                                                                4.2 Coupling
3.1 Encapsulation                                                                                 4.2.1 Direct Class
                                                                                                                                1              1             1           1
3.1.1 Data Access Ratio                                                                            Coupling (DCC)
                                    1              .8             .6           .8
(DAR)                                                                                                4.3 Cohesion
3.2 Cohesion                                                                                        4.3.1 Cohesion
 3.2.1 Cohesion Among                                                                             Among Methods of              .8             .7            .6          .8
                                    .8             .7             .6           .8                     Class (CAM)
Methods of Class (CAM)
3.4 Polymorphism                                                                                    4.4 Messaging
    3.4.1 Number of                                                                                   4.4.1 Class
                                                                                                                                .7             .6            .5          .8
  Polymorphic Methods               1              1              1            1                 Interface Size (CIS)
          (NOP)                                                                                    Partial Quality
                                                                                                                           86.06            80.12        73.97         88.75
Partial Quality                                                                                       Preference
                                  91.77          81.60          71.08     85.79
Preference




                                                                                        52                                      http://sites.google.com/site/ijcsis/
                                                                                                                                ISSN 1947-5500
                                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                                  Vol. 7, No.2, 2010
TABLE VI. PARTIAL QUALITY PREFERENCE FOR MAINTAINABILITY OF                                                                  VI.     CONCLUSION
DESIGN
                                                                                                  We have used the Logical Scoring of Preferences method to
                                                                                                  evaluate global quality of four designs, three created by fifth
  Characteristics and                                                                             semester Master of Computer Applications students and the
                          LMS -1          LMS -2                 LMS -3           HRIS
  Sub-characteristics
5. Maintainability                                                                                fourth one created by professionals. As expected the global
  5.1 Design Size                                                                                 quality index of design created by professionals has the
 5.1.1 Number of                                                                                  highest quality index of 84.07 followed by design LMS-1,
                               1               1                   1                1
    Classes (NOC)
  5.2 Hierarchies                                                                                 which has the value 78.61. We believe that the methodology
 5.2.1 Number of                                                                                  used is quite simple and will provide reasonable estimates for
                               .4             .4                   .4              .7
 Hierarchies (NOH)                                                                                factors like functionality, effectiveness, reusability,
  5.3 Abstraction
  5.3.1 Number of
                                                                                                  understandability, and maintainability and also the overall
                               .5             .4                   .3              .8             quality of software design. It is worth mentioning that a
  Ancestors (NOA)
 5.4 Encapsulation                                                                                reasonable estimate of maintainability of software design is
5.4.1 Data Access
     Ratio (DAR)
                               1              .8                   .6              .8             going to be very useful for software professionals.
    5.5 Coupling
 5.5.1 Direct Class
                               1               1                   1                1
   Coupling (DCC)
 5.5.2 Number of                                                                                                                 REFERENCES
                               1               1                   1                1
   Methods (NOM)
  5.6 Composition                                                                                 [1]  N. Fenton and B. Kitchenham, "Validating Software Measures," Journal
  5.6.1 Number of                                                                                      of Software Testing, Verification and Reliability, vol. 1, no. 2, pp. 27-
     aggregation               .4             .3                   .4              .5                  42, 1990.
relationships (NAR)                                                                               [2] B. Kitchenham, S-L Pfleeger, and N. Fenton, "Towards a Framework for
  5.6.2 Number of                                                                                      Software Measurement Validation," IEEE Transactions on Software
     aggregation               .8             .7                   .6              .7                  Engineering, vol. 21, no. 12, pp. 929-944, 1995.
 hierarchies (NAH)
                                                                                                  [3] N. Schneidewind, "Methodology for Validating Software Metrics,"
5.7 Polymorphism
                                                                                                       IEEE Transactions on Software Engineering, vol. 18, no. 5, pp. 410-
  5.7.1 Number of
     Polymorphic               1               1                   1                1
                                                                                                       422, 1992.
   Methods (NOP)                                                                                  [4] N. Fenton, "Software Metrics: Theory, Tools and Validation," Software
5.8 Documentation                                                                                      Engineering Journal, pp. 65-78, January, 1990.
   5.8.1 Extent of                                                                                [5] M.Kumar and D. Soni, “Observations on Object-Oriented Design
   Documentation               .7             .8                   .7              .7                  Assessment and Evolving New Model”, Proc of The National
        (EOD)                                                                                          Conference on Software Engineering, pp. 161-164, 2007.
  Partial Quality
                           68.54          65.82                  59.98            79.98           [6] D. Soni, R Shrivastava and M.Kumar “A Framework for Validation of
     Preference
                                                                                                       Object-Oriented Design Metrics”, (IJCSIS) International Journal of
                                                                                                       Computer Science and Information Security, Vol 6, no 3, pp. 46-52, Dec
TABLE VII. QUALITY       FACTORS AND GLOBAL QUALITY FACTORS OF                                         2009.
VARIOUS DESIGNS
                                                                                                  [7] D. Soni and M.Kumar “Maintainability assessment of object-oriented
                                                                                                       design quality”, International Journal on Computer Engineering and
Quality
                                                                                   Global              Information Technology, Vol 2, no 2, pp. 35-41, 2009.
Factors
           Functio      Effecti     Understa          Reusa            Maintai     Quality        [8] J. Rumbaugh et al., “Object-Oriented Modeling and Design,” Prentice
            nality      veness      ndability         bility           nability    Prefere
                                                                                    nces
                                                                                                       Hall, 1991.
Design
                                                                                                  [9] J.J. Dujmovic, "A Method for Evaluation and Selection of Complex
LMS -1       77.19        72          91.77              86.06          68.54      78.61               Hardware and Software Systems", The 22nd International Conference
LMS -2       73.54       61.62         81.6              80.12          65.82       72.9               for the Resource Management and Performance Evaluation of Enterprise
                                                                                                       CS. CMG 96 Proceedings, Vol. 1, pp.368-378, 1996.
LMS -3       69.69       51.15        71.08              73.97          59.98      66.01
                                                                                                  [10] N.E. Fenton, S.L. Pfleeger, “Software Metrics: a Rigorous and
 HRIS        86.58       76.71        85.79              88.75          79.98      84.07               Practical Approach”, 2nd Ed., PWS Publishing Company, 1997.
                                                                                                  [11] J.J. Dujmovic, and R. Elnicki, "A DMS Cost/Benefit Decision Model:
                                                                                                       Mathematical Models for Data Management System Evaluation,
                            Global Quality Preference                                                  Comparison, and Selection ", National Bureau of Standards, Washington
                                                                                                       D.C. Nº GCR 82-374. NTIS Nº PB 82-170150, pp. 150, 1982.
   HRIS                                          84.07                                            [12] Luis Olsina Santos, “Web-site Quality Evaluation
                                                                                                         Method: a case Study on Museums” ICSE 99 – 2nd
 LMS - 3                              66.01
                                                                                                         Workshop on Software Engineering over the Internet,
                                                                                                         1999.
                                                             Global Quality Preference
                                                                                                  [13]    M.Kumar and S.K. Gandhi, “Object-Oriented Modeling Design
 LMS – 2                                  72.9
                                                                                                         Approach to General Human Resource System”, Journal of MACT, Vol.
                                                                                                         34,35, 2003-04.
 LMS - 1                                      78.61


                     Figure 12 Global Quality of Designs




                                                                                             53                                    http://sites.google.com/site/ijcsis/
                                                                                                                                   ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 7, No.2, 2010
Appendix A




                                                                            Figure 14 Library Management System (LMS-2)




    Figure 13 Library Management System (LMS-1)




                        Figure 15 Library Management System (LMS-3)




                                                               54                              http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No.2, 2010




                                           Figure 16 Human Resource Information System (HRIS)
AUTHORS PROFILE
Devpriya Soni has seven years of teaching experience to post                 Dr. Mahendra Kumar is presently Prof. & Dean of Computer
graduate classes and four years of research experience at MANIT. She         Science at S I R T. Bhopal. He was Professor and Head Computer
is pursuing her Ph.D. at Department of Computer Applications,                applications at M A N I T. Bhopal. He has 42 years of teaching and
MANIT, Bhopal. Her research interest is object-oriented metrics and          research experience. He has published more than 90 papers in National
object-oriented databases. EmailId: devpriyasoni@gmail.com                   and International journals. He has written two books and guided 12
Dr. Namita Shrivastava has done M.Sc., Ph.D. She has 19 years of             candidates for Ph D degree and 3 more are currently working. His
teaching and 18 years of research experience. Her area of interest is        current research interests are software engineering, cross language
crack problem, data mining, parallel mining and object-oriented              information retrieval, data mining, and knowledge management.
metrics. EmailId: sri.namita@gmail.com                                       EmailId: prof.mkumar@gmail.com




                                                                        55                                 http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010

       A Computational Algorithm based on Empirical
          Analysis, that Composes Sanskrit Poetry

                            Rama N.                                                        Meenakshi Lakshmanan
             Department of Computer Science                                            Department of Computer Science
                   Presidency College                                                   Meenakshi College for Women
                     Chennai, India                                                             Chennai, India
                n_ramabalu@yahoo.com                                                                 and
                                                                             Research Scholar, Mother Teresa Women’s University
                                                                                               Kodaikanal, India
                                                                                     .

Abstract — Poetry-writing in Sanskrit is riddled with problems             metrical rules of Sanskrit prosody. What would otherwise be an
for even those who know the language well. This is so because the          algorithm with very high time complexity, is considerably
rules that govern Sanskrit prosody are numerous and stringent.             improved by a novel scheme by which the target search space
We propose a computational algorithm that converts prose given             is narrowed down significantly. The algorithm also handles
as E-text into poetry in accordance with the metrical rules of             sandhi-s, since they are compulsorily to be implemented while
Sanskrit prosody, simultaneously taking care to ensure that                versifying. Another path-breaking feature of the algorithm is
sandhi or euphonic conjunction, which is compulsory in verse, is           that it gives suggestions to the poet in case his/her input cannot
handled. The algorithm is considerably speeded up by a novel               be versified according to the metrical rules. Moreover, in cases
method of reducing the target search database. The algorithm               where the sandhi rule is ambiguous, the algorithm interacts
further gives suggestions to the poet in case what he/she has given        with the poet to confirm his decision on resolving the same. In
as the input prose is impossible to fit into any allowed metrical          addition, a speech recognition interface is also provided, that
format. There is also an interactive component of the algorithm            would help the visually impaired dictate words in E-text, which
by which the algorithm interacts with the poet to resolve                  are then versified by the Poetry Composer Engine.
ambiguities. In addition, this unique work, which provides a
solution to a problem that has never been addressed before,                A. Unicode Representation of Sanskrit Text
provides a simple yet effective speech recognition interface that              The Unicode (UTF-8) standard is what has been adopted
would help the visually impaired dictate words in E-text, which is         universally for the purpose of encoding Indian language texts
in turn versified by our Poetry Composer Engine.                           into digital format. The Unicode Consortium has assigned the
   Keywords - Sanskrit, poetry composer, sandhi, metre, metrical           Unicode hexadecimal range 0900 - 097F for Sanskrit
analysis, long-short analysis, speech recognition                          characters.

                       I.     INTRODUCTION                                     All characters including the diacritical characters used to
                                                                           represent Sanskrit letters in E-texts are found dispersed across
    Poetry-writing in any language has always posed a                      the Basic Latin (0000-007F), Latin-1 Supplement (0080-00FF),
challenge, causing poets to be acclaimed as a lofty tribe. The             Latin Extended-A (0100-017F) and Latin Extended Additional
case is particularly strengthened when it comes to writing                 (1E00 – 1EFF) Unicode ranges.
Sanskrit poetry, which is subject to numerous stringent rules at
the grammatical, semantic and metrical levels, with compound                   The Latin character set has been employed in this paper to
word formations and euphonic conjunctions (sandhi-s)                       represent Sanskrit letters as E-text.
exacerbating the complexity.                                                   The text given in the form of E-text using the Unicode
    In Sanskrit poetry, words may be positioned anywhere and               Latin character set, is taken as input for processing. Unicode
in any order in the verse, and need not read in prose-order. The           Sanskrit font may also be accepted as input, but is converted to
prose-order is later gleaned by bunching together words of the             the Latin character form before processing begins, as already
same genre, i.e. those belonging to the same case-inflectional             presented by the authors in [3].
form, gender, number or tense. For example, an adjective can
easily be matched with the noun it describes, by looking for the                            II.   RULES OF VERSIFICATION
closest noun that is in the same case-inflectional form, gender            A. Metrical Rules
and number as itself. This re-organizing into the prose-order is               Verses in Sanskrit are classified according to metres, i.e.
the procedure followed in practice in order to decipher the                according to the number and type of syllables in the four
meaning of a verse.                                                        quarters of the verse (and in a few cases, in the two halves of
   The computational algorithm we propose, converts prose                  the verse). Algorithms to efficiently parse and classify verses
given as E-text into poetry in strict accordance with the                  into more than 700 metres, have already been developed by the




                                                                      56                             http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                           Vol. 7, No. 2, 2010
authors [3]. The following is a brief on the overall                           3           ggl                 t             Anti-bacchius
classification scheme and methodology.                                         4           gll                bh             Dactylus
    Sanskrit verse is normally taken to consist of a sequence of                                         (denoted as b)
four pāda-s or quarters. Each quarter is regulated either by the               5           lgl                 j             Amphibrachys
number of syllables (akṣara-s) or the number of syllabic                       6           llg                 s             Anapaestus
instants (mātrā-s) and the determination of metres is based on                 7           ggg                 m             Molussus
either of these factors [3]. Metres based on the first yardstick               8            lll                n             Tribrachys
are called varṇa metres, while those based on the second are
termed jāti metres.                                                              The meters in which there are greater than 26 syllables per
                                                                             quarter are of the ‘danḍaka’ type and are beyond the scope of
Varṇa Metres                                                                 this work. [3]
    A syllable is as much of a word as can be pronounced at                      Given that each syllable can be either ‘l’ or ‘g’, there is
once. There are two types of syllables to contend with – the                 clearly a combinatorial explosion in the number of possible 1-
long (guru) and the short (laghu). The following is how                      syllabled to 26-syllabled Sama metres. For Ardhasama metres
syllables are categorized as long and short:                                 the possible number is obviously even higher, and with
Short syllables:                                                             Viṣama, the possibilities are infinite. However, the number of
                                                                             metres in actual use across the literature is limited to a smaller
     •      Normally, all short vowels – a, i, u, ṛ, ḷ.                      number than the number theoretically possible. Hence, it is
                                                                             sufficient to handle the metres in vogue [4]. An example is
Long syllables:                                                              given in Table II.
     •      All long vowels – ā, ī, ū, ṝ.
                                                                               TABLE II.          L-G AND GAṆA REPRESENTATIONS OF A SAMPLE VERSE
     •      Any short vowel followed by the anusvāra (ṁ).
     •      Any short vowel followed by the visarga (ḥ).                                    Verse                          l-g syllables      Gaṇa
     •      Any short vowel followed by a double consonant. (The              vande gurūṇāṁ caraṇāravinde                 ggl ggl lgl gg      ttjgg
            exceptions to this rule are the double consonants pr, br,         sandarśitasvātmasukhāvabodhe |              ggl ggl lgl gg      ttjgg
            kr and those starting with h. In these four cases, the            janasya ye jāṅgalikāyamāne                  lgl ggl lgl gg      jtjgg
            preceding short vowel can optionally remain short.)               saṁsārahālāhalamohaśāntyai ||               ggl ggl lgl gg      ttjgg
     •      Optionally, any short vowel at the end of a pāda.
   The optional nature of the exceptions mentioned in the last                   The metre of a verse having the gaṇa sequence “ttjgg” in all
two rules above, indicates a sort of poetic license.                         its four pāda-s is called “Indravajrā”, while that of a verse
                                                                             having the gaṇa sequence “jtjgg” in all its four pāda-s is called
    From the above discussion it is clear that the four quarters             “Upendravajrā”. A verse such as the example given in Table
of a verse can each be represented as a sequence of long and                 II, whose gaṇa sequences are a combination of the Indravajrā
short syllables. Traditionally, identification of varṇa metres is            and Upendravajrā sequences, is said to have the metre called
done on the basis of metrical feet, termed ‘gaṇa-s’ in Sanskrit.             “Upajāti”.
A gaṇa is a combination of three syllables, each of which may
be long or short. As such, there are eight such gaṇa-s defined               Jāti Metres
as in Table I, in which ‘l’ stands for a laghu (short) letter, and               In this type of metre, each short syllable is counted as
‘g’ for a guru (long) one.                                                   constituting one syllabic foot or mātrā, while a long syllable is
   The number of syllables in a quarter can vary from 1 to                   counted as constituting two. Such metres are categorized into
999. When the number of syllables is between 1 and 26 per                    two, depending on whether the verse is considered as
quarter, the meters are categorized into three:                              constituted by two halves, or by four quarters. The various
                                                                             types of the oft-encountered Āryā metres are examples of the
a.       Sama (meaning ‘equal’) – In this, all the four quarters of          first variety.
         the verse are identical not just in terms of the number of
         syllables, but also in the sequence of long and short                   The identification of metres is done based mainly on the
         syllables                                                           number of certain groups of mātrā-s and also partially on gaṇa
                                                                             patterns. Standard groups of mātrā-s are those of 4, 6, 8 and 10
b.       Ardhasama (meaning ‘half-equal’) – In this, the first and           mātrā-s. [3]
         third quarters are identical, as are the second and fourth.
                                                                                 While composing verse, a poet must make sure that the
c.       Viṣama (meaning ‘unequal’) – In this, the quarters are              length of a pāda or half-verse (as the case may be), falls into
         uneven or mixed up.                                                 one of the accepted metre types, either varṇa or jāti. This
                                                                             implies that the laghu-guru (L-G) combinations of syllables in
                       TABLE I.         GAṆA SCHEME                          the verse comply with some accepted metre-format. This forms
             Syllable-                          Corresponding                the main challenge in composing poetry in Sanskrit, and thus
     #                            Gaṇa                                       has to be most importantly ensured while creating poetry out of
           combination                         English Category
     1          lgg                 y          Bacchius                      a given Sanskrit sentence or group of sentences.
     2          glg                 r          Amphimacer




                                                                        57                                 http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010
B. Rules of Euphonic Conjunctions                                         such users, has already been solved by the authors in earlier
   Euphonic conjunctions or sandhi-s in Sanskrit are points               work [4].
between adjacent words or sub-words at which letters coalesce
                                                                           TABLE III.   SCHEME OF CALLING OUT SPECIAL CHARACTERS FOR VOICE
and transform. The application of sandhi is compulsory in                                               INPUT
Sanskrit verse, though the rules are not as stringent in the
prose. A novel computational approach to sandhi processing                        #      Diacritical    English speech equivalent
based on building sandhi-s rather than splitting them, was                                 letter             (all in capital)
developed by the authors [2]. This was done in accordance with                     1         ā                        A
the grammatical rules laid down by the ancient Sanskrit                            2          ī                       I
grammarian-genius Pāṇini in his magnum opus, the Aṣṭādhyāyī                        3         ū                        U
and forms a comprehensive sandhi-building engine.                                  4          ṛ                       R
    An example of sandhi is: tat + ṭīkā = taṭṭīkā. This is an                      5          ṝ                       F
example of the ṣṭutva sandhi type of euphonic conjunctions [2].                    6          ḷ                       L
In this case, the word tat is an ‘l’ syllable, while the word ṭīkā                 7         ṅ                        G
maps to ‘gg’. Hence, with these two words given in the above                       8         ñ                        Y
sequence, we get the l-g sequence, “lgg”. Now application of                       9          ṭ                       T
the sandhi rule as shown above causes a transformation of the                     10         ḍ                        D
word. As per the rules outlined in section 3.1 above, the word
                                                                                  11         ṇ                        N
taṭṭīkā has the l-g sequence “ggg”. Thus, the first syllable
provided by the word tat gets transformed from short type to                      12          ś                       S
long type.                                                                        13          ṣ                       Z
                                                                                  14         ḥ                        H
    While composing poetry by changing the order of the given                     15         ṁ                       M
words, care must be taken to handle all such sandhi rules that
affect the long and short syllables.                                      B. The Overall Algorithmic Approach
    There is, however, an exception to sandhi rules that must be             The following is the overall algorithm for converting the
handled as well. Normally, sandhi rules operational on phale +            given input into poetry.
atra would transform into phale’tra, i.e. the starting vowel ‘a’          Algorithm ComposePoetry
of the second word would be dropped. Now the word phale can
have two meanings: ‘in the fruit’ and ‘two fruits’. In the latter         Step 1: Scan the given text and establish the maximum and
case, i.e. when the word is in the dual number, the above                 minimum possible number of syllables in a verse that can result
sandhi rule will not be operational.                                      from the given input. This is done as follows:

    III.   THE PROSE-TO-POETRY CONVERTER ALGORITHM                           Step 1.1: Determination of Maximum (Max): Max = the
                                                                             total number of vowels in the input.
A. The Input
                                                                             Note: The number n denotes the maximum number of
    The input is given as E-text with diacritical marks, using               syllables possible in the verse, no matter in what order the
the Latin Unicode character set mentioned in Section 1.1. It is              words are jumbled up, and no matter what sandhi rules
assumed that compound words are properly formed before the                   have to consequently be applied. This is because the
input is given. For example, the compound word gaṅgājalam is                 application of sandhi rules can only reduce the number of
actually composed of two words gaṅgāyāḥ jalam meaning                        syllables and can never increase them.
“(River) Gaṇgā’s water”. So, if the poet giving the input wishes
to indicate this meaning, he would have to give ‘gaṇgāyāḥ’ and               Step 1.2: Determination of Minimum (Min): Calculate
‘jalam’ as two separate words, or he would have to provide the               Min, the minimum number of syllables in the verse, by
compound word ‘gaṅgājalam’. Giving the input as the two                      examining possible sandhi-s that are applicable with the
words ‘gaṅgā’ and ‘jalam’ would be incorrect and                             words in the given input, and the maximum number of
unacceptable, unless the poet wants to refer to River Gaṅgā                  reductions possible through them.
independently and water independently, without intending to               Step 2: Use the Max-Min band to reduce the set of possible
convey the relationship “Gaṇgā’s water”.                                  metres that are likely for the given input.
    To facilitate ease of access for the visually impaired, a             Step 3: Convert each word in the input into its l-g equivalent.
simple alternative user interface is introduced. Since English
style E-text is what is employed for input, the application is            Step 4: Starting from the original permutation of words,
made voice-enabled, so that the input can be called out letter by
                                                                          for all possible permutations of the words, do
letter, providing a pause between words. For example, to input
the word “bhagavān”, the user calls out, ‘b’, ‘h’, ‘a’, ‘g’, ‘a’,            apply sandhi rules and reduce;
‘v’, ‘A’, ‘n’ [6]. The special diacritical characters like ‘ā’ are
processed specially by the input module, as shown in Table III.              if number of syllables after reduction is divisible by 4, then
Converting the output verse form to speech for the benefit of                    split the verse into equal-sized quarters;




                                                                     58                             http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                              Vol. 7, No. 2, 2010
          if the l-g patterns of the four quarters are equal then            a.   Giving big words as input is advantageous and would yield
                                                                                  better performance, because the number of possible
             search for a match for the pattern in the reduced                    permutations would reduce.
             table of Sama metres;                                           b.   The given order of words in the prose text is first tried as
          else if the alternate quarters have same l-g pattern then               such, because the order of words given would be
                                                                                  meaningful, and it would be ideal if a verse form is
             search for a match for the pattern in the reduced                    possible in the given order itself. Other permutations of
             table of Ardhasama metres;                                           words are tried only if a verse form is not possible with the
                                                                                  given word-order.
          else
                                                                             c.   The algorithm suggests possible changes by using other
             search for a match for the pattern in the reduced                    words available in the input with the required pattern.
             tables of Viṣama and Jāti metres;                               d.   In case the number of syllables is greater that 26 per
          end if                                                                  quarter, then the given words are split into more than one
                                                                                  set and then Anuṣṭhup (common metres with 8 syllables
          if match found then                                                     per quarter) or Jāti metres are tried out for a match.
             quit;                                                                       IV.   ESTABLISHING THE MAX-MIN BAND
          else                                                                   The algorithm presented in Section 4.1 involves
             indicate the closest match;                                     permutation-generation and string-matching for each
                                                                             permutation [1]. This fact coupled with the big size of the
             suggest possible changes;                                       metres database, places rather large demands on time. It is to
          end if                                                             significantly enhance the performance of the algorithm, that the
                                                                             novel idea of establishing the maximum-minimum band has
   else                                                                      been devised.
          split the verse according to possible Ardhasama metres;                Once this Max-Min band is established, metres with the
                                                                             number of syllables lying within this band alone need to be
          search for a match for the pattern in the reduced table of
                                                                             considered for pattern matching. This approach clearly ensures
          Ardhasama metres;                                                  a substantial savings in terms of time taken by the algorithm.
          if match found then                                                          TABLE IV.    THE SANSKRIT ALPHABET CATEGORIZED
             quit;
                                                                                  #    Category         Letters
          else                                                                     1   Vowels           a, ā, i, ī, u, ū, ṛ, ṝ, ḷ, e, ai, o, au
             split the verse according to possible Viṣama metres                   2   Short vowels     a, i, u, ṛ, ḷ
                                                                                   3   Long vowels      ā, ī, ū, ṝ, e, ai, o, au
             and Jāti metres;
                                                                                   4   Consonants       k, kh, g, gh, ṅ
             search for a match for the pattern in the reduced                         (including       c, ch, j, jh, ñ
                                                                                       Semi-vowels)     ṭ, ṭh, ḍ, ḍh, ṇ
             tables of Viṣama and Jāti metres;
                                                                                                        t, th, d, dh, n
             if match found then                                                                        p, ph, b, bh, m
                                                                                                        y, r, l, v
                   quit;
                                                                                  5    Sibilants        ś, ṣ, s
             else                                                                 6    Aspirate         h
                   indicate the closest match;                                    7    Anusvāra         ṁ
                                                                                  8    Visarga          ḥ
                   suggest possible changes;
             end if                                                              The algorithm presented in Section 4.1 defines how to find
                                                                             the maximum number of syllables possible in a verse formed
          end if                                                             from the given input. The following discussion focuses on the
   end if                                                                    development and establishment of equations through
                                                                             comprehensive empirical analysis, to determine the minimum
end for                                                                      possible number of syllables in a verse constructed from the
end Algorithm                                                                given input text. Table IV presents the letters of the Sanskrit
                                                                             alphabet divided into categories referenced in the discussion
   The following points are worthy of note with regard to the                below.
above algorithm:




                                                                        59                              http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                           Vol. 7, No. 2, 2010
    Consider each individual word of the given input text. The               7.   Set S7: Words that begin with a consonant, sibilant or
observation we first make is that we have to contend with only                    aspirate and end with “aḥ” (Eg: kṛṣṇaḥ)
those sandhi-s which can reduce vowels from long to short, for
this is what will affect metres. Now we introduce the following                   Let the cardinality of S7 be n7.
possibilities and categorizations:                                               We now derive partial equations for the maximum number
1.   Set S1: Words that begin with a vowel and end with a                    of reductions possible in various scenarios, based on the above
     consonant, sibilant, aspirate, anusvāra or visarga (Eg:                 notations for number of word-occurrences. This maximum
     ahaṁ).                                                                  number is denoted by rm where m = 1, 2, 3.

     The maximum change that such a word can bring about is                  A. Formula for r1 (incorporation of S1, S2 and S3 words)
     1, because it has only one vowel at its beginning which                    if n1 = 0 and n2 = 0 and n3 > 0 then
     may merge with another word and get reduced.                                   r1 = n3 – 1;
     Let the cardinality of S1 be n1.                                           else
2.   Set S2: Words that begin with a consonant, sibilant or                         r1 = min(n1, n2) + n3;
     aspirate and end with a vowel other than au, ai (Eg:                       end if
     bhavāmi).
                                                                             Explanation
     The maximum change that such a word can bring about is
     1, because it has only one vowel at its end which may                      In case both S1 and S2 are null sets, S3 words can combine
     merge with another word and get reduced.                                with only S3 words, provided S3 is not null. Hence, clearly, the
                                                                             maximum number of reductions possible is only n3 – 1.
     Let the cardinality of S2 be n2.
                                                                                 Consider the case when both S1 and S2 are not null sets. For
     The reason for not considering words ending with the long               words of the S1 and S2 categories, the maximum change can be
     vowels ai and au, is that these can never, under the effect             brought about by aligning a S1 word just after a S2 word,
     of any sandhi rule whatsoever, lead to a reduction from                 whereby the vowels will combine and may reduce. That is, we
     long to short. For example, in kau + ūrudvayaṁ =                        pair them up. Hence, if n1 and n2 are unequal, then abs(n1-n2)
     kāvūrudvayaṁ. the long vowel au does undergo a                          words will remain unpaired and will therefore cause no change.
     replacement, but only by another long vowel, viz. ā. As                 Hence, if n1 and n2 are non-zero, the maximum number of
     such, there is really no change in the l-g scheme that can              reductions possible is min (n1, n2).
     be brought about by words in this category ending with ai
     and au. Hence we leave them out, thereby reducing the                       As for words of the S3 category, both ends may cause a
     processing time further.                                                change. Hence, irrespective of n1 and n2, n3 number of changes
                                                                             will take place, provided n3 is non-zero. Hence we add n3 to the
3.   Set S3: Words that begin and end with a vowel (Eg: atra).               formula. For example, consider the following sentence
     The maximum change that such a word can bring about is                  provided as input:
     2, because the vowels at both it ends may merge with                         idānīṁ atra ālasyaṁ tyaktvā ahaṁ paṭhāmi ca likhāmi ca
     adjacent words and get reduced.
                                                                             Here,
     Let the cardinality of S3 be n3.
                                                                             S1 words: idānīṁ, ālasyaṁ, ahaṁ
4.   Set S4: Words that begin with a consonant, sibilant or
                                                                             S2 words: tyaktvā, paṭhāmi, ca, likhāmi, ca
     aspirate and end with a consonant, sibilant, aspirate,
     anusvāra or visarga (Eg: marut)                                         S3 words: atra
     Such words can effect no change at all, because no vowel                    Thus, n1 = 3, n2 = 5, n3 = 1. Clearly there are only a
     in them gets reduced. Neither can they reduce any vowel                 maximum of 3 ways, i.e. min (n1, n2) ways, of pairing the S1
     in adjacent words. Hence we do not introduce any notation               and S2 words to cause a change. Further, though both ends of
     for the size of this set.                                               the S3 words can cause change, they can cause only one change
                                                                             each by combining with any other S3 word or with any of the
5.   Set S5: Words that begin with a vowel and end with “aḥ”                 remaining words of S1 or S2. Hence we add n3.
     (Eg: ambaraḥ).
                                                                                 In the case where exactly one of S1 and S2 is a null set, then
     Clearly, this is a subset of S1, and can cause a maximum                too, this formula will clearly hold, since min(n1, n2) = 0 and the
     change of 1.                                                            maximum possible number of reductions will hence simply be
     Let the cardinality of S5 be n5.                                        n3, irrespective of the value of abs(n1-n2).
6.   Set S6: The word ahaḥ is special when it combines with                  B. Formula for r2 (incorporation of S5 words)
     another instance of itself, because ahaḥ + ahaḥ =                          if n1 = n2 and n5 > 0 then
     aharahaḥ, which causes a change of 1.                                          r2 = n5 – 1;
     Clearly, this is a subset of S5, and its cardinality is included           else
     in n5.




                                                                        60                              http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010
      r2 = n5;                                                               Now S2 words are of no use for reduction in combination
   end if                                                                 with S7 words. Consider the following sample input:

Explanation                                                               kṛṣṇaḥ idānīṁ atra ālasyaṁ tyaktvā paṭhati ca likhati ca

    We consider the two cases when n1 and n2 are equal, and               Here,
when they are unequal. When they are equal, they pair up                  S1 words: idānīṁ, ālasyaṁ
completely for r1, and hence if S5 is not null, the S5 words have
                                                                          S2 words: tyaktvā, paṭhati, ca, likhati, ca
only themselves to combine with. For example, we may have
the S5 words, itaḥ and aṁbaraḥ. Here, itaḥ + aṁbaraḥ =                    S3 words: atra
ito’mbaraḥ, and aṁbaraḥ + itaḥ = aṁbara itaḥ, both of which               S7 words: kṛṣṇaḥ
are changes. However, the first does not cause any change in
the long-short scheme, while the second does. Since we are                    Thus, n1 = 2, n2 = 5, n3 = 1, n7 = 1. Clearly, after the S1 and
only calculating the maximum, we take it that there is a                  S2 words combine, three S2 words would remain, say ca, likhati
maximum reduction of 1 in this case. Clearly, therefore, the              and ca. Now only the ending “aḥ” of S7 words are combinable.
maximum number of reductions here is n5 – 1.                              Hence, clearly, S2 and S7 words cannot combine. Hence, if n1
                                                                          <= n2, then no reduction with S7 words can take place. Hence
   In the case where n1 and n2 are unequal, they pair up to               r3 for such a scenario is zero.
reduce as per r1, leaving behind abs(n1-n2) words. Consider the
example,                                                                      When n1 > n2, then n1 – n2 words of the S1 type remain
                                                                          after the r1 calculation. For example, we may have the word
aṁbaraḥ na atra asti parantu aṁbaraḥ anyatra asti ataḥ ahaṁ               ahaṁ of S1 remaining. Thus, kṛṣṇaḥ + ahaṁ = kṛṣṇo’haṁ,
itaḥ tatra gacchāmi                                                       which is a reduction. Similarly, kṛṣṇaḥ + idānīṁ = kṛṣṇa
Here,                                                                     idānīṁ which is again a reduction. The number of such
                                                                          reductions is min(n1-n2, n7) because there will be a maximum
S1 words: ahaṁ                                                            of as many reductions as there are pairs of the remaining n1-n2
S2 words: na, parantu, tatra, gacchāmi                                    words and n7 words.
S3 words: atra, asti, anyatra, asti                                       D. Combined Formula for Reductions and Min
S5 words: aṁbaraḥ, aṁbaraḥ, ataḥ, itaḥ                                        Combining the formulae for r1, r2 and r3, we arrive at the
                                                                          following formula for r, the maximum number of possible
    Thus, n1 = 1, n2 = 4, n3 = 4, n5 = 4. Assuming that the first         reductions for the given set of words:
words of S1 and S2 combine, we have the last three words of S2
left behind. These can produce three pairs in combination with               if (n1 = n2) or (n1 > n2 and n7 = n1 – n2 and n5 > 0) then
three words of S5 and cause a change. For example, we can
                                                                                 r = n1 + n3 + n5 – 1;
have tatra + aṁbaraḥ = tatrāṁbaraḥ. We would thus have one
word of S5 left behind, since n5 > abs(n1-n2), which would                   else if (n1 < n2) or (n1 > n2 and [(n7 > n1 – n2) or (n7 = n1 –
combine with one of the available compounds of S5 with S1 or                 n2 and n5 = 0)]) then
S2. Continuing with the above example, tatrāmbaraḥ + itaḥ =                      r = n1 + n3 + n5;
tatrāmbara itaḥ, a change. All this means that all the S5 words              else
contribute to a change, and hence r2 = n5 in this case.
                                                                                r = n2 + n3 + n5 + n7;
    In case n1 and n2 are unequal and n5 <= abs(n1-n2), then                 end if
after pairing S5 words with the remaining from S1 or S2, we are
left with no more S5 words. Hence, anyway the number of                       Using r, we calculate Min, the minimum possible number
reductions is n5, i.e. the number of pairs. The only other case is        of syllables as Min = Max – r.
n5 = 0, in which r2 should work out to zero. This possibility is
                                                                            V.    SAMPLE SCENARIO OF PERFORMANCE ENHANCEMENT
subsumed in the second case presented in the formula.
                                                                                         USING THE MAX-MIN BAND
C. Formula for r3 (incorporation of S7 words)                                 Now consider an example where Max = 48. This means
   if n1 > n2 and n7 > 0 then                                             that in a single pāda or quarter of the verse, there can be a
                                                                          maximum of 48/4 = 12 syllables. Let us assume that by the
       r3 = min(n7, n1 – n2);
                                                                          above formulations, we arrive at r = 4 for this particular case.
   else                                                                   Then Min = 44, and hence the minimum number of syllables
      r3 = 0;                                                             per pāda is 11. Thus, we need to only search for metres with 11
                                                                          or 12 syllables in a pāda. This reduces the target search space
   end if                                                                 of metres to match with, by more than 85%.
Explanation
                                                                                                 VI.     CONCLUSIONS
    Clearly, we have to handle only the case when n7 > 0. Also,               The problem of automatic conversion of prose to poetry has
after calculation of r1, the remaining abs(n1 – n2) words alone           never been tackled before in the literature. This solution is
have to be contended with in the calculation of r3.                       therefore the first of its kind. Further, the algorithm presented is




                                                                     61                                http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                    Vol. 7, No. 2, 2010
comprehensive and yet efficient due to the reduction formula
proposed through the Max-Min Band method. The approach
also facilitates the giving of suggestions to the poet, in case the
prose given cannot be set to poetry, for it finds the closest
match. Lastly, and significantly, the application also easily
lends itself, through available English speech recognition
interfaces that come packaged with operating systems itself, for
use by the visually impaired.
                               REFERENCES
[1]   Donald E. Knuth, “Fundamental Algorithms Volume 1”, Addison
      Wesley, Third Edition, 1997.
[2]   Rama N., Meenakshi Lakshmanan, “A New Computational Schema for
      Euphonic Conjunctions in Sanskrit Processing”, IJCSI International
      Journal of Computer Science Issues, Vol. 5, 2009 (ISSN (Online): 1694-
      0784, ISSN (Print): 1694-0814), Pages 43-51.
[3]   Rama N., Meenakshi Lakshmanan, “A Computational Algorithm for
      Metrical Classification of Verse”, submitted to under review at IJCSI
      International Journal of Computer Science Issues, Vol. 5, 2009 (ISSN
      (Online): 1694-0784, ISSN (Print): 1694-0814).
[4]   Rama N., Meenakshi Lakshmanan, “An Algorithm Based on Empirical
      Methods, for Text-to-Tuneful-Speech Synthesis of Sanskrit Verse”,
      submitted to and under review at IJCSNS International Journal of
      Computer Science and Network Security, Vol. 10. No. 1, 2010 (ISSN:
      1738-7906).
[5]   Vaman Shivram Apte, “Practical Sanskrit-English Dictionary”, Motilal
      Banarsidass Publishers Pvt. Ltd., Delhi, 1998, Revised and Enlarged
      Edition, 2007.
[6]   Windows Speech Recognition for Windows Vista, Product Information
      and Tutorials can be found at http://www.microsoft.com/enable/
      products/windowsvista/speech.aspx, (last accessed on 21.01.2010).

                            AUTHOR PROFILE
Dr. Rama N. completed B.Sc. (Mathematics), Master of Computer
Applications and Ph.D. (Computer Science) from the University of Madras,
India. She served in faculty positions at Anna Adarsh College, Chennai and as
Head of the Department of Computer Science at Bharathi Women’s College,
Chennai, before moving on to Presidency College, Chennai, where she
currently serves as Associate Professor. She has 20 years of teaching
experience including 10 years of postgraduate (PG) teaching, and has guided
15 M.Phil. students. She has been the Chairperson of the Board of Studies in
Computer Science for UG, and Member, Board of Studies in Computer
Science for PG and Research at the University of Madras. Current research
interests: Program Security. She is the Member of the Editorial cum Advisory
Board of the Oriental Journal of Computer Science and Technology.
Meenakshi Lakshmanan Having completed B.Sc. (Mathematics), Master of
Computer Applications at the University of Madras and M.Phil. (Computer
Science), she is currently pursuing Ph.D. (Computer Science) at Mother
Teresa Women’s University, Kodaikanal, India. She is also pursuing Level 4
Sanskrit (Samartha) of the Samskṛta Bhāṣā Pracāriṇī Sabhā, Chittoor, India.
Starting off her career as an executive at SRA Systems Pvt. Ltd., she switched
to academics and currently heads the Department of Computer Science,
Meenakshi College for Women, Chennai, India. She is a professional member
of the ACM and IEEE.




                                                                                 62                           http://sites.google.com/site/ijcsis/
                                                                                                              ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010

  SURVEY REPORT – STATE OF THE ART IN
 DIGITAL STEGANOGRAPHY FOCUSING ASCII
            TEXT DOCUMENTS
                                                                                                   Muhammad Sher
                   Khan Farhan Rafat                                                      Department of Computer Science
             Department of Computer Science                                               International Islamic University
             International Islamic University                                                   Islamabad, Pakistan
                   Islamabad, Pakistan


Abstract— Digitization of analogue signals has opened up new
avenues for information hiding and the recent advancements in
the telecommunication field has taken up this desire even further.
From copper wire to fiber optics, technology has evolved and so
are ways of covert channel communication. By “Covert” we
mean “anything not meant for the purpose for which it is being
used”. Investigation and detection of existence of such cover
channel communication has always remained a serious concern
of information security professionals which has now been evolved
into a motivating source of an adversary to communicate secretly
in “open” without being allegedly caught or noticed.

This paper presents a survey report on steganographic
techniques which have been evolved over the years to hide the                     Figure 2 – Classification of Information Hiding based on [1]
existence of secret information inside some cover (Text) object.
The introduction of the subject is followed by the discussion
                                                                                    While discussing information hiding, we mainly
which is narrowed down to the area where digital ASCII Text               come across people from two schools of thought. One votes
documents are being used as cover. Finally, the conclusion sums           for making the secret information unintelligible (encryption)
up the proceedings.                                                       [5] whereas the other like Eneas the Tactician, and John
                                                                          Wilkins [4][5] are in favor of hiding the existence of the
   Keywords- Steganography, Cryptography, Conceal, Steganology,           information being exchanged (steganography) because of the
Covert Channel                                                            fact that the exchange of encrypted data between Government
                                                                          agencies, parties etc. has its obvious security implications.
                      I.     INTRODUCTION
                                                                              •      Covert/Subliminal Channel A communication
    Cryptography derived from Greek, (where historian                                channel which is not explicitly designed for the
Plutarch elaborated on the use of scytale – an encryption                            purpose for which it is being used [6][7] e.g. using
technique via transposition, a thin wooden cylinder, by a                            TCP & IP header for hiding and sending secret bits
general for writing message after wrapping it with paper, to                         etc.
decrypt the message, one needs to wrap that piece of paper                    •      Steganography is derived from the Greek words
again on the scytale to decrypt the message [41].), focuses on                       , ‘steganos’ and ‘graphie’,                       [8]
making the secret information unintelligible.                                        which means Covered Writing/Drawing.




                           Figure 1 – Scytale [44]
     Information Hiding Men’s quest to hide information is
best put in words [2] as “we can scarcely imagine a time when
there did not exist a necessity, or at least a desire, of                                              Figure 3 – Prisoner’s Problem
transmitting information from one individual to another in                         The classic model for invisible communication was
such a manner as to elude general comprehension”.                         first proposed by Simmons [3][4] as the prisoners' problem
                                                                          who argued by assuming, for better understanding, that Alice
                                                                          and Bob, who have committed a crime, are kept in separate




                                                                     63                                    http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
cells of a prison but are allowed to communicate with each
                                                                           Advantages                   Disadvantages
other via a warden named Wendy with the restriction that they
                                                                         Does         not   Does not follow Kerchoff’s principle.
will not encrypt their messages and that the warden can put
                                                                         require a device   Requires     voluminous data for
them in isolated confinement on account of any suspicious act
                                                                         for                trespassing and Needs careful
while in communication. In order to plan an escape, they now
                                                                         computational      generation and crafting of cover text
need a subliminal channel so as to avoid Wendy’s
                                                                         purposes.          for hiding bits.
intervention.
                                                                       A.        Terminology: By convention, the object being used
        Following is an example from [34] where in World               to hide information within it is called cover-text. A variety of
War I, German Embassy in Washington (DC) sent the                      media such as text, image, audio etc. depicted in
following telegram messages to its Berlin headquarters (David          [9][10][11][42] are used to hide secret information within its
Kahn 1996):                                                            body. After embedding of secret information, the resultant
                                                                       object is referred to as stegotext/stego-object. According to
“PRESIDENT'S EMBARGO RULING SHOULD HAVE                                [12] the algorithms by virtue of which secret information is
IMMEDIATE     NOTICE.  GRAVE   SITUATION                               embedded in the cover-text at the sending end, and gets
AFFECTING INTERNATIONAL LAW. STATEMENT                                 extracted out of stego-text at the receiving end constitutes a
FORESHADOWS RUIN OF MANY NEUTRALS.                                     stego-system. The secret key involved in information
YELLOW    JOURNALS    UNIFYING NATIONAL                                exchange [13] via private and public key Steganography is
EXCITEMENT IMMENSELY.                                                  referred to as stego-key.

APPARENTLY      NEUTRAL'S   PROTEST      IS                            B.        Model: Though different in their approach,
THOROUGHLY DISCOUNTED AND IGNORED.                                     Steganography and Cryptography go well together when it
ISMAN HARD HIT. BLOCKADE ISSUE AFFECTS                                 comes to information security. The evolution of digital
PRETEXT FOR EMBARGO ON BYPRODUCTS,                                     technology (which is a continuous process) has brought
EJECTING SUETS AND VEGETABLE OILS.” [34]                               significant change in the methodologies being used / preferred
                                                                       earlier for hiding information. As now we opt for a blend of
          By concatenating the first character of every word in        these two techniques added with compression, to attain a near
the first message and the second character of every word in the        to perfect security solution having ‘no-compromise on
second message the following concealed message is retrieved:           security’ as our slogan. Mathematical modeling of Figure-4
      “PERSHING SAILS FROM NY JUNE I” [34]                             follows:




                                                  Figure 4 – Preferred Stegosystem

        At present Internet spam is (and can be) a potential               •     Encoding Process:
candidate to be used as cover for hiding information.                                    Ό = η (ο, , )




                                                                  64                              http://sites.google.com/site/ijcsis/
                                                                                                  ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                  Vol. 7, No. 2, 2010
        Where:                                                          •   Spread Spectrum technique uses the conventional
        η is the function which operates on the Cover ‘ο’ to                approach as is done Telecommunication sector
        embed compressed and encrypted data ‘ ’ using                       where a signal is spread over a range of frequencies.
        the Stego-Key to produce the Stego-Object Ό’.
                                                                        •   Statistical methods encode information by changing
          = ē (ć, ) ‘Encrypting the compressed message
                                                                            several statistical properties of a cover and use
        (ć) with secret key.
                                                                            hypothesis testing in the extraction process.
        ē is the encryption function that takes the                     •   Distortion techniques store information by signal
        compressed data ć for encryption using symmetric                    distortion and measure the deviation from the
                                                                            original cover in the decoding step.
        key .
                                                                        •   Cover generation methods encode information in
        ć = c(M) ‘Compressing the secret message (M)                        the way a cover for secret communication is created.
        using appropriate algorithm.
                                                                    E. Types of Embedding Applications
•   Decoding Process:                                                    Another important pre-requisite for covert channel
                     ο = (‘ Ό ’, , )                                communication is the availability of some type of application
     Where:                                                         embodying some algorithm/technique for embedding secret
       is the function which operates on the stegocover             information inside the cover. The birth of Inter and Intranet
     object ‘Ό’ to decompress and decrypt the data                  has given way to a multitude of such applications where
     indicated by function ‘ ’ using the Stego-Key                  information hiding finds its vitality as was never before.
     and extract the secret information.
                                                                        Following is a brief review as of [36] of such applications
          = (ć, ) ‘Decrypting the decompressed data (ć)             which are differentiated according to their objectives:
        with secret key .
           is the decryption function that takes the                    •   Non-Repudiation, Integrity and Signature
        compressed data ć for decryption using symmetric                    Verification: Cryptography concerns itself with
        key .                                                               making the secret information un-intelligible by using
                                                                            the techniques of confusion and diffusion as
        ć = c (M’) ‘Decompressing the hidden message                        suggested by Shannon, to ensure integrity of the
        (M’) using appropriate algorithm.                                   message contents. Public key cryptography is a
                                                                            preferred way of authenticating the sender of the
C. Categorization:       Steganography        is    broadly                 message (i.e. the sender/signature is genuine / non-
   categorized in [2][7] as:                                                repudiation). This, however, becomes challenging
                                                                            when the information is put on line as a slight error in
    •     Linguistic Variety of techniques (such as                         transmission     can     render     the   conventional
          discussed in [15][16][17][18][19]), takes                         authentication process as a failure; hence now there
          advantage of the syntax and semantics of Natural                  are applications for automatic video surveillance and
          Language (NL) for hiding information. However,                    authentication of drivers’ licenses etc.
          the earliest form probably of which is acrostic.              •   Content Identification: By adding content specific
          Giovanni Boccaccio's Amorosa visione is                           attributes such as how many times a video is being
          considered as the world's hugest acrostic [20, pp.                watched or a song is played on air; one can judge the
          105–106] (1313–1375).                                             public opinion about it.
    •     Technical This technique is broader in scope                  •   Copyright Protection: The most debated, popular
          which is not confined to written words, sentences                 and yet controversial application of information
          or paragraphs alone but involves some kind of                     hiding is copyright protection as it is very easy to
          tool, device or methodology [16] for embedding                    have an exact replica of a digital document / item and
          hidden information inside a cover, particularly in                the owner / holder of the document can own or
          its regions / areas which remain unaffected by                    disown its rights. One such popular incident occurred
          any form of compression.                                          in 1980’s when British Prime Minister being fade up
                                                                            about the leakages of important cabinet documents
D. Categorization of Steganographic Systems based                           got the word processor modified to automatically
on techniques as explained in [8] is as under:                              encode and hide the user’s information within word
    • Substitution systems Redundant parts of cover                         spacing of the document to pin-point the culprits. In
        get replaced with secret information.                               the early 1990’s, people begin to think about digital
    • Transform domain techniques Transform                                 watermarking for copyright compliance.
        space of the signal is used for embedding                       •   Annotating Database: It is not un-common for large
        information such as frequency domain.                               audio / video databases to have text or speech etc.



                                                               65                              http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 7, No. 2, 2010
         captions which can easily be got embedded inside the                   knowledge about the technology and the type of the
         relevant database to resist against various signal                     media (cover) being used in the concealing process.
         processing anomalies.                                             • Analytical Model
     •   Device control: Human audio / video perceptions are                  The stego-object is analyzed in terms of its
         frequently being exploited by the vendors in                         associated attributes such as stego-object type,
         designing their information hiding techniques. In one                format etc. [21] and thereafter on the basis of the
         such reported technique a typical control signal,                    data gathered relevant known steg-analysis tools are
         embedded in a radio signal broadcasted by a FM                       used to extract hidden bits and derive the meaning
         radio station was used to trigger the receiver’s                     out of it.
         decoder.
  •      In-Band captioning: Just as it is not un-common to                              II.    Related Work
         embed data in audio-visual streams; so can be the                     This section covers a literature review of the recently
         case where data for various services launched by             published text-based steganographic techniques such as use of
         Telecom Operators can be embedded in television              acronyms, synonyms; semantics to hide secret bits in English
         and radio signals.                                           Text in paras A – E, format specific techniques are discussed
  •      Traitor Tracing: Here distinct digital signatures are        in paras F – K while ways of hiding secret bits in TCP and IP
         embedded and the number of copies to be distributed          header are elaborated in para L respectively:
         is limited. The unauthorized usage of the document
                                                                      A. Acronym
         can then be traced back by the intended recipient.
                                                                               According to the definition at [43] “an acronym
  •      Media Forensics: The tempered media gets analyzed            (pronounced AK-ruh-nihm, from Greek acro- in the sense of
         by experts to identify the tempering and the portions        extreme or tip and onyma or name) is an abbreviation of
         which have been affected by it but not throw light as        several words in such a way that the abbreviation itself forms
         to how the tempering is done.                                a pronounceable word. The word may already exist or it can
                                                                      be a new word. Webster's cites SNAFU and radar, two terms
F.     Types of Steganographic Systems: According to [8]
                                                                      of World War Two vintage, as examples of acronyms that were
Steganographic Systems can be segregated as:
                                                                      created”.
   • Pure Steganography (PS): Weakest, as is based on
                                                                               Mohammad Sirali-Shahreza and M. Hassan Shirali-
        the assumption that parties other than the intended
                                                                      Shahreza have suggested the substitution of words with their
        ones are not aware of such type of exchange of
                                                                      abbreviations or viza viz in [40] to hide bits of secret message.
        secret information.
                                                                      The proposed method works as under:
   • Secret Key Steganography (SKS): In this                                                  Table 1
        technique, both the sender and receiver share or                           Acronym           Translation
        have agreed on a common set of stego-keys prior to                           2l8              Too late
        commencement of secret communication. The secret                            ASAP         As Soon As Possible
        information is embedded inside the cover using the                            C                  See
        pre-agreed stego-key and gets extracted out at the
                                                                                     CM                Call Me
        receiving end by reversing the embedding process.
                                                                                     F2F             Face to face
        The advantage lies in the fact that an adversary
        needs to apply brute force etc. attack to get the                      If a matched word/abbreviation is found then the bit
        secret information out of the cover which require             to be hidden is checked to see if it is under column ‘1’ or ‘0’
        resources such as computational power, time, and              and based on its value (i.e., 0 or 1), word/abbreviation from
        determination.                                                the corresponding column label is substituted in the cover
   • Public Key Steganography (PKS) As the name                       message, in case of otherwise the word/abbreviation is left
        indicates, public key steganography use a pair of             unchanged. The process is repeated till end of message.
        Public and Private Keys to hide secret information.
                                                                                              Advantages
        The advantage of this technique is that an attacker
                                                                       Speedy
        first needs to come up with a public and private key-
        pair and then the decoding scheme to extract the               Flexibility: More words / abbreviation pairs can be added.
        hidden information out of the cover. The key benefit           Technique can be applied in variety of fields such as
        of this technique is its robustness in execution and           science, medicine etc.
        easy of key management.                                                                Disadvantage
                                                                       The main drawback lies in the static word/abbreviation
G.       Models for Steg-Analysis                                      substitution where anyone who knows the algorithm can
      • Blind Detection Model                                          easily extract the hidden bits of information and decode the
                                                                       message which is against Kerckhoff’s Principle which states
         This model is the counterpart of cryptanalysis and
         analyzes the stego-object without any prior                   that the security of the System should lie in its key, where
                                                                       the algorithm is known to public.



                                                                 66                              http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010
B.        Change of Spelling                                                    If a matched word / synonym is found then the bit to be
          Mohammad Shirali-Shahreza in his paper [23]                           hidden is checked to see if it is under column ‘1’ or ‘0’
proposed a method of exploiting the way; words are spelled                      and based on its value (i.e., 0 or 1), word or synonym
differently in British and American English, to hide bits of                    from the corresponding column label is substituted in the
secret information. The procedure for concealment explained                     cover message. Words not found in the lists are left
below, is the same as that of para A, where the words spelled                   unchanged. The process is repeated till end of the
in British and American English, are arranged in separate                       message.
columns as shown in Table 2.
                              Table 2                                               Advantage                  Disadvantages
          American Spelling                British Spelling                                         Language Specific
                                                                                  Speedy            Non-adherence to Kerckhoff’s
              Favorite                        Favourite
                                                                                                    principle.
              Criticize                        Criticise
                                                                                                    Only one synonym is taken in the
               Fulfill                           Fulfil
                                                                                                    substitution table.
               Center                           Centre
            The column containing British Spelling is assigned            D.        Miscellaneous techniques
     label ‘1’ while that containing American Spelling is                          The authors in [31] have given a number of
     assigned label ‘0’. The information to be hidden is                  idiosyncrasies ways that are / can be used for hiding secret
     converted into bits. The message is iterated to find                 message bits, such as by introducing modification or injecting
     differently spelled words matching to those available in             intentional grammatical word/sentence errors to the text. Some
     pre-defined list (Table 2 refers).                                   of the suggested techniques / procedures which can be
                                                                          employed in this context include:
             If a matched word is found then the bit to be hidden
                                                                               • Typographical errors - “tehre” rather than “there”.
     is checked to see if it is under column ‘1’ or ‘0’ and based
                                                                               • Using abbreviations / acronyms - “yr” for “your” /
     on its value (i.e., 0 or 1), word spelled in American or
                                                                                   “TC” in place of “Take Care”.
     British English from the corresponding column label is
     substituted in the cover message. Words not found in the                  • Transliterations – “gr8” rather than “great”.
     lists are left unchanged. The process is repeated till end of             • Free form formatting - redundant carriage returns or
     the message.                                                                  irregular separation of text into paragraphs, or by
                                                                                   adjusting line sizes.
           Advantage                Disadvantages                              • Use of emoticons for annotating text with feelings -
                            Language Specific                                      “:)” to annotate a pun.
         Speedy             Non-adherence to Kerckhoff’s                       • Colloquial words or phrases - “how are you and
                            principle.                                             family” as “how r u n family”.
C. Semantic Method                                                             • Use of Mixed language - “We always commit the
        Mohammad Sirali-Shahreza and M. Hassan Shirali-                            same mistakes again, and ’je ne regrette rien’!”.
Shahreza in [24] have used those English Language words
whose synonym exists.                                                                    Advantages                 Disadvantages
                                                                                   More variations for          Eye catching.
        The authors had arranged words (having synonym) in                         hiding information.
one column while corresponding synonyms were placed in                             More        computations     Can draw suspicion.
another column (Table 3 refers) and followed the procedure                         required.
explained below:
                                                                          E.       Enhanced Steganography in SMS
     The column containing words/Translation is assigned label                     In his paper at [35] the author has suggested an
     ‘1’ while that containing acronyms is assigned label ‘0’             enhancement in an existing steganographic system [22] by
     and the information to be hidden is converted into bits. The         taking care of the limitations of the existing techniques
     message is iterated to find words/abbreviations matching             discussed in paras A – D which work as under:
     to those available in pre-defined list (Table 1 refers).
                                 Table 3                                       In this enhanced technique, words and their
                                                                               corresponding abbreviations are grouped under two
                        Word          Synonym                                  columns. The column containing words is labeled as ‘1’
                          Big           Large                                  and that containing abbreviations is labeled as ‘0 (Table
                        Small           Little                                 4 refers)’. Depending on the input 128-bit stego-key bits
                        Chilly          Cool                                   and the value of the first stego-key byte, words and their
                        Smart          Clever                                  corresponding abbreviations are swapped so that the two
                       Spaced         Stretched                                columns now contain a mix of words and abbreviations.




                                                                     67                                http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                   Vol. 7, No. 2, 2010
                                     Table 4

                        1                       0
                                                                                                              Advantages
            0        Too late         2l8
            1         ASAP            As Soon As Possible                              The 128-bit LFSR used for encryption with a non
                                                                                       repeated key has rendered the system as OTP.
            0          See            C
                                                                                       The algorithm can be extended to the desktop, PDA
            1          CM             Call Me
                                                                                       platforms.
            1          F2F            Face to face
                                                                                       The algorithm is language independent.
                                                                                       Adding compression before encryption can hide more
    •      Bits Embedding Process_A 128-bit Linear
                                                                                       secret bits in the cover.
           Feedback Shift register (LFSR), initialized using
           the same stego-key, serves as a pseudo random bit                                              Disadvantage
           generator, the first 128 bits of which are discarded                        Slightly slower (in fractions) than its predecessor
           before use. The output bits from the LFSR get XoR-                          technique.
           ed with the bits of the message. Based on the
           resultant bits of the XoR operation, words or                          F.        MS Word Document
           abbreviations corresponding to column labels
           replaces the contents of the original message.

       The embedding and extraction processes are depicted
diagrammatically in Figure 5 and 6 respectively:




                                                                                                  Figure 7 – MS Word for Steganography

                                                                                            The author at [32] has made use of change tracking
                                                                                  technique of MS Word for hiding information, where the
                                                                                  stego-object appeared to be a work of collaborated writing. As
                                                                                  shown in Figure 7, the bits to be hidden are first embedded in
                                                                                  the degenerated segments of the cover document which is
                                                                                  followed by the revision of degenerated text thereby imitating
                                                                                  it as being an edited piece of work.

                                                                                             Advantage                     Disadvantage
                                                                                       Easy to use as most         Easily detectable as MS
                                                                                       users are familiar with     Word has built in spell
        Figure 5.Embedding Process         Figure 6.Extraction process                 MS word.                    check     and     Artificial
                                                                                                                   Intelligence (AI) features.
    •      Bits Extraction Process_It is just the reverse of the
                                                                                  G.       HTML Tags
           Bits embedding process, where after Initialization;
                                                                                           The author of publication at [38] elaborates that
           the hidden bits are first extracted and then get XOR-
                                                                                  software programs like ‘Steganos for Windows’ uses gaps i.e.
           ed with the output of 128-bit LFSR. The resultant bits
                                                                                  space and horizontal tab at the end of each line, to represent
           are concatenated and passed through a
                                                                                  binary bits (‘1’ and ‘0’) of a secret message. This, however,
           transformation which translates the string of bits into
                                                                                  adds visibility when the cover document is viewed in MS Word
           their equivalent ASCII character i.e. secret message
                                                                                  with visible formatting or any other Hex-Editor e.g.:
           text.
                          Advantages                                                                <html>( )->->( )->
                                                                                                    <head>( )->( )( )->
    Adherence to Kerchoff’s Principle
                                                                                                    [Text]()()->
    Shanon’s principles of confusion & diffusion
                                                                                                    </head>->()->->
    Secret bits are encrypted before being embedded in the
                                                                                                    </html>()->()->
    cover makes the system secure, as the enemy will have
    to perform additional efforts of decrypting the bits                          Where ( ) represents Space and ‘->’ denotes Horizontal Tab.
    without the knowledge of key.


                                                                             68                                http://sites.google.com/site/ijcsis/
                                                                                                               ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010
        The above example indicates hiding of secret bits
‘100101001…’ as per analogy explained above.                                        Advantage                          Disadvantages
                                                                            XML         is      widely           Eye catching.
         Spaces are also inserted in between TAGS to                        acceptable     tool     for          Increased      Stego-cover
represent a hidden bit ‘0’ or ‘1’. The above example indicates              information      exchange            File size.
hiding of secret bits ‘1001001010’ as per analogy explained.                which makes the task of              Non        adherence    to
         Later in the discussion, the author proposed the use               its Steg-analysis difficult.         Kerchoff’s principle.
of line shift; interpreted (in hex) as 0xA0, 0xD0 in Windows
and as 0xA0 in Unix Operating System to translate these as             I.         White Spaces
‘1’ and ‘0’. A majority of text editors can interpret the two                     W. Bender, D. Gruhl, N. Morimoto, and A. Lu in
codes for line shift without ambiguity; hence it is a                  [25] have discussed a number of steganographic techniques for
comparatively secure way to hide secret information.                   hiding data in a cover, where one of the methods places one or
                                                                       two spaces after every terminated sentence of the cover
       The author of [39] has shown ways where HTML                    file/text to represent a secret bit ‘0’ or ‘1’ as the case may be.
TAGS can also be manipulated to represent hidden bit ‘0’ or
‘1’.
          Advantage                    Disadvantages
     Works well for          Visibility/Eye catching in case
     HTML                    of TEXT documents.
     documents      as       Increase in Stego-cover File size.                               Figure 9:      Original Text [25]
     regards on screen       Non-adherence to Kerchoff’s
     visibility.             principle.
H.        XML Document


                                                                                              Figure 10:         Stego-Text [25]

                                                                                  Another discussed technique includes hiding data by
                                                                       text justification as shown in Figure 11.




                                                                            Figure 11 -Text from ‘A Connecticut Yankee’ in King Arthur’s Court by
                                                                                                          Mark Twain [25]

                                                                                   Advantage                              Disadvantages
                                                                            Normally    passes              by     Violates         Kerckhoff’s
                                                                            undetected.                            Principle.
                                                                                                                   Increases cover text size.
                                                                       J.       Line Shifting
               Figure 8: Data Hiding in XML document                            Printed text documents can also be manipulated as an
                                                                       image and subjected to steganographic techniques such as
         XML is a preferred way of data manipulation
                                                                       discussed in [28][29] by slight up/down lifting of letters from
between web-based applications hence techniques have been
                                                                       baseline or right/left shifting of words within a specified
evolved as published in [26] for hiding secret information
                                                                       image/page width, etc.
within an XML document. The user defined tags are used to
hide actual message or the placement of tags represents the
corresponding secret information bits. One such technique
places hidden text bytes sequentially in Tags as shown in
Figure 8.                                                                                                 Figure 12 [28]




                                                                  69                                       http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                              Vol. 7, No. 2, 2010
This increase/decrease in line height or the increase decrease                                III.   Conclusion
in space between words by left / right shifting can be                                This paper presents a survey on a data hiding
interpreted as binary bits ‘0’ or ‘1’ accordingly to hide secret             technique called ‘Steganography’, the terminology, the model,
information.                                                                 its types, and two types of attacks on any Steganographic
                                                                             system. This is followed by a discussion on various text-based
                                                                             data-hiding techniques where the primary focus remained on
                             Figure 13 [28]                                  recently proposed/developed Steganographic techniques.
          Advantage                       Disadvantages
                                                                                       Secure e-Governance_An essential feature of e-
 Difficult to detect in the          Looses format if the
                                                                             government includes secure transmission of confidential
 absence of original text.           document is saved as text.
                                                                             information via computer networks where the sensitivity of
K.       Feature Coding                                                      some information may fall equivalent to a level as that of
         The steganographic method in [30] hides the secret                  national security. Every e-government has its own network but
information bits by associating certain attributes to the text               cannot ignore the Internet which by far, is the cheapest means
characters like changing font’s type, its size, color, by                    of communication for common people to interact with the
underlining it or using strike-through etc.                                  Government. The data on Internet, however, is subjected to
                                                                             hostile attacks from Hackers etc. and is therefore a serious e-
      e.g. Steganography is the art of hiding secret information.
                                                                             government concern. In his paper at [37] the author has
           Advantages                            Disadvantages               emphasized on the importance of steganography for use in e-
 More variations for hiding                   Eye catching.                  Government and discussed that Governments, seek and had
 information.                                                                sought consultation and help from cryptographers and have
 More computations required.                  Can draw suspicion.            invested huge amounts of time and funds in getting developed
                                                                             specially designed information security systems to strengthen
L.       IPv4 and Transport Layer                                            data security. In today’s' world, cryptography alone is just not
         Richard Popa [33] has analyzed a variety of                         an adequate security solution. With the increase in
steganographic techniques and among the techniques                           computation speed, the old techniques of cryptanalysis are
discussed, those related to Internet protocol (IP) and                       falling short of expectations and will soon be out-dated.
Transmission control protocol (TCP) are discussed here.                      Steganology – that encompasses digital data hiding and a
Figure 14 shows how the IP (version 4) header is organized.                  detection technique has gained considerable attention now
Three unused bits have been marked (shaded) as places to                     days. It appears to be a powerful opponent to cryptology and
hide secret information. One is before the DF and MF bits and                offers promising technique for ensuring seamless e-security.
another unused portion of this header is inside the Type of
service field which contains two unused bits (the least                               From the discussion, it is apparent that ensuring
significant bits).                                                           one’s privacy has remained and will always remain a serious
                                                                             concern of Security frontiers. The innocent carrier i.e., text
                                                                             document (ASCII text format), will continue to retain its
                                                                             dominance in time to come for being the preferred choice as
                                                                             cover media, because of zero overhead of metadata with its
                                                                             body.
                                                                                                   REFERENCES

                                                                             [1]        Fabien A. P. Petitcolas, Ross J. Anderson and Markus G.
                              Figure 14 [33]                                 Kuhn, Information Hiding- A Survey, Proceedings of the IEEE, special issue
                                                                             on protection of multimedia content, 87(7):1062-1078, July 1999
Every TCP segment begins with a fixed-format 20-byte
header. The 13th and 14th bytes of which are shown in Figure                 [2]        Code Wars: Steganography, Signals Intelligence, and
15. The 6-bit field not used, indicated in shade, can be used to             Terrorism. Knowledge, Technology and Policy (Special issue entitled
hide secret information.                                                     ‘Technology and Terrorism’) Vol. 16, No. 2 (Summer 2003): 45-62 and
                                                                             reprinted in David Clarke (Ed.), Technology and Terrorism. New Jersey:
                                                                             Transaction Publishers (2004):171-191. Maura Conway.

                                                                             [3]      WIPO Diplomatic Conference on Certain Copyright and
                              Figure 15 [33]                                 Neighbouring Rights Questions, 1996.
                                                                             [4]      WIPO Copyright Treaty, 1996.
             Advantage                      Disadvantage
     Due to enormous packet            Loss of packets may                   [5]        Document prepared by the International Bureau,
                                                                             WIPO/INT/SIN/98/9, 1998. Presented at the WIPO Seminar for Asia and the
     flow    almost     unlimited      render     undesirable                Pacific Region on Internet and the Protection of Intellectual Property Rights,
     amount of secret bits can be      results.                              Singapore.
     exchanged      via     these
     techniques.                                                             [6]       Mark Owens, A Discussion of Covert                  Channels    and
                                                                             Steganography, © SANS Institute, March 19, 2002




                                                                        70                                    http://sites.google.com/site/ijcsis/
                                                                                                              ISSN 1947-5500
                                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                 Vol. 7, No. 2, 2010
[7]     LADA Luiz, Angel, Dimitar and Andrew, The Art of Covert                    [23]      Mohammad Shirali-Shahreza, Text Steganography by Changing
Communication                                                                      Words Spelling, ISBN 978-89-5519-136-3, Feb. 17-20, 2008 ICACT 2008

[8]        Dave Kleiman (Technical Editor), Kevin Cardwell, Timothy                [24]      M. Hassan Shirali-Shahreza, Mohammad Shirali-Shahreza, A
Clinton, Michael Cross, Michael Gregg, Jesse Varsalone, The Official               New Synonym Text Steganography ,International Conference on Intelligent
CHFI Study Guide (Exam 312-49) for Computer Hacking Forensic                       Information Hiding and Multimedia Signal Processing 978-0-7695-3278-3/08
Investigators, Published by: Syngress Publishing, Inc., Elsevier, Inc., 30         © 2008 IEEE
Corporate Drive, Burlington, MA 01803, Craig Wright
                                                                                   [25]       W. Bender, D. Gruhl, N. Morimoto, and A. Lu, Techniques for
[9]       Stefan Katzenbeisser, Fabien A. P. Petitcolas, Information               data hiding IBM Systems Journal, Vol. 35, Issues 3&4, pp. 313-336, 1996.
Hiding Techniques for Steganography and Digital Watermarking, Artech
House, Boston – London                                                             [26]       Aasma Ghani Memon, Sumbul Khawaja and Asadullah Shah,
                                                                                   Steganography: a New Horizon for Safe Communication through XML,
[10]      Nedeljko Cvejic, Algorithms For Audio Watermarking And                   www.jatit.org, JATIT ©2005 – 2008
Steganography, Department of Electrical and Information engineering,
Information Processing Laboratory, University of Oulu, 2004.                       [27]      Xuan Zhou, HweeHwa Pang, KianLee Tan, Querybased
                                                                                   Watermarking for XML Data,           ASIACCS’07, March 2022,2007,
[11]      Jessica Fridrich, Tomáš Pevný, Jan Kodovský, Statistically               Singapore.Copyright 2007 ACM 1595935746/07/0003 ...$5.00.
Undetectable JPEG Steganography: Dead Ends, Challenges, and                        [28]      Patrick Diskin, Samuel. Lau and Robert Parlett, Steganography
Opportunities, Copyright 2007 ACM 978-1-59593-857-2/07/0009 ...$5.00.              and Digital Watermarking, Jonathan Cummins, School of Computer Science,
                                                                                   The University of Birmingham, 2004
[12]       B. P_tzmann, Information hiding terminology, In Anderson [5],
pp. 347{350, ISBN 3-540-61996-8, results of an informal plenary meeting and        [29]     S. H. Low N. F. Maxemchuk J. T. Brassil L. O'Gorman,
additional proposals.                                                              Document Marking and Identification using Both Line and Word Shifting,
                                                                                   AT&T Bell Laboratories, Murray Hill NJ 07974, 0743-166W95-1995 IEEE
[13]      Bret Dunbar, Steganographic Techniques and their use in an
Open-Systems Environment, As part of the Information Security Reading              [30]       Lingyun Xiang, Xingming Sun, Gang Luo, Can Gan, Research
Room., © SANS Institute 2002                                                       on Steganalysis for Text Steganography Based on Font Format, School of
                                                                                   Computer & Communication, Hunan University, Changsha, Hunan
[14]       Ingemar J. Cox, Matthew L. Miller, Jeffrey A. Bloom, Jessica            P.R.China, 410082
Fridrich, Ton Kalker, Digital Watermarking and Steganography, Second
Edition, Copyright © 2008 by Elsevier Inc. All rights reserved.                    [31]       Mercan Topkara, Umut Topkara, Mikhail J. Atallah,
                                                                                   Information Hiding Through Errors: A Confusing Approach, Purdue
[15]       Glancy, D., Privacy and Intelligent Transportation Technology,          University
Santa Clara Computer & High Technologies Law Journal, 1995, pp. 151.
                                                                                   [32]      Tsung-Yuan Liu, Wen-Hsiang Tsai,and Senior Member, A New
[16]       Victor Raskin, Brian Buck, Arthur Keen, Christian F.                    Steganographic Method for Data Hiding in Microsoft Word Documents by a
Hempelmann, Katrina E. Triezenberg, Accessing and Manipulating                     Change Tracking Technique, 1556-6013 © 2007 IEEE
Meaning of Textual and Data Information for Information Assurance and
Security and Intelligence Information, Copyright © 2008 ACM 978-1-60558-           [33]        Richard Popa, An Analysis of Steganographic Techniques, The
098-2/08/05 ... $5.00                                                              'Politehnica' University of Timisoara, Faculty of Automatics and Computers,
                                                                                   Department of Computer Science and Software Engineering.
[17]       Chen Zhi-li, Huang Liu-sheng, Yu Zhen-shan, Zhao Xin-xin,
Zheng Xue-ling, Effective Linguistic Steganography Detection, IEEE 8th             [34]      Mark Stamp, Information Security-Principles and Practice,
International Conference on Computer and Information Technology                    Wiley Student Edition, 2006
Workshops, 978-0-7695-3242-4/08 $25.00 © 2008 IEEE
                                                                                   [35]      Rafat, K.F, Enhanced text steganography in SMS, Computer,
[18]        Hasan Mesut Meral, Bulent Sankur, A. Sumru Ozsoy, Tunga                Control and Communication, 2009. IC4 2009 2nd International Conference
Gungor, Emre Seving, Natural language watermarking via morphosyntactic             on 17-18 Feb. 2009, Digital Object Identifier 10.1109/IC4.2009.4909228
alterations, 0885-2308/$ - see front matter 2008 Elsevier Ltd. All rights
reserved.                                                                          [36]      Pierre Moulin and Ralf Koetter, Data-Hiding Codes, 0018-
                                                                                   9219/$20.00 © 2005 IEEE
[19]      Mercan Topkara Cuneyt M. Taskiran Edward J. Delp, Natural
Language Watermarking, Security, Steganography, and Watermarking of                [37]       Huayin Si and Chang-Tsun Li, Maintaining Information
Multimedia Contents VII, edited by Edward J. Delp III, Ping Wah Wong, Proc.        Security in E-Government through Steganology, Department of Computer
of SPIE-IS&T Electronic Imaging, SPIE Vol. 5681 © 2005 SPIE and IS&T ·             Science, University of Warwick, Coventry CV4 7AL, UK
0277-786X/05/$15
                                                                                   [38]       Stanislav S. Barilnik, Igor V. Minin, Oleg V. Minin ,Adaptation
[20]       Maes, M., Twin Peaks: The Histogram Attack on Fixed Depth               of Text Steganographic Algorithm for HTML,ISSN 1815-3712 ISBN 978-5-
Image Watermarks, in Proceedings of the Second International Workshop on           7782-0752-3 (C) Novosibirsk State Technical University.
Information Hiding, vol. 1525 of Lecture Notes in Computer Science,
Springer, 1998, pp. 290–305.                                                       [39]     Sudeep Ghosh , StegHTML: A message hiding mechanism in
[21]       GLENN WATT, CTA Conference, Santa Fe, NM, 2006                          HTML tags, December 10,2007

[22]      Mohammad Sirali-Shahreza, M. Hassan Shirali-Shahreza, Text               [40]       Mohammad Sirali-Shahreza, M. Hassan Shirali- Shahreza,
Steganography in SMS,      0-7695-3038-9/07 © 2007 IEEE, DOI                       Text Steganography in Chat, 1-4244-1007/07 © 2007 IEEE
10.1109/ICCIT.2007.100
                                                                                   [41]      http://mail.colonial.net/~abeckwith/encrypt.htm




                                                                              71                                   http://sites.google.com/site/ijcsis/
                                                                                                                   ISSN 1947-5500
                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                              Vol. 7, No. 2, 2010
[42]      Chapman, Mark. A Software System for Concealing Ciphertext as
Innocuous         Text,         Hiding           the          Hidden:
http://www.NICETEXT.com/NICETEXT/doc/ thesis.pdf.1997

[43]      http://searchcio-midmarket.techtarget.com/
          sDefinition/0,,sid183_gci211518,00.html

[44]      http://mail.colonial.net/~abeckwith/images/ scytale.gif

                      AUTHORS PROFILE

 KHAN FARHAN RAFAT has
 completed his Ph.D. course work
 under supervision of Professor Dr.
 Muhammad Sher, International
 Islamic University, Islamabad.

      He has twenty years R & D
 experience in the field of
 Information and communication
 Security ranging from formulation
 and implementation of security
 policies, evolution of new and
 enhancement of existing security
 related   Projects  to   software
 development etc.

 Professor Dr. MUHAMMAD
 SHER is Head of Department of
 Computer Science, International
 Islamic University, Islamabad,
 Pakistan. He did his Ph.D.
 Computer Science from TU Berlin,
 Germany, and specialized in Next
 Generation Networks and Security.

    He has vast research and
 teaching experience and has a
 number of international research
 publications to his credit.




                                                                          72                             http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                 (IJCSIS) International Journal of Computer Science and Information Security,  

                                                                                                                               Vol. 7, No. 2, 2010 



      New clustering method to decrease probability of
      failure nodes and increasing the lifetime in WSNs
            Shahram Babaie                             Ahmad Khadem Zade                                    Ali Hosseinalipour
 Department of Computer Engineering              Department of Computer Engineering               Department of Computer Engineering
PhD students, Islamic Azad University,         Iran Telecommunication Research Center            Islamic Azad University- Tabriz Branch
   Olom VA Tahghighat Branch,                              Tehran, Iran                                       Tabriz Iran
             Tehran, Iran                                        .                                                 .
                   .


                                                                              To avoid these overheads and unbalanced consumption of
Abstract—Clustering in wireless sensor networks is one of the             energy some high-energy nodes called “Gateways” are
crucial methods for increasing of network lifetime. There are             deployed in the network [2]. These sensors are used as head
many algorithms for clustering. One of the important cluster              clusters due to decrease the failure probability of head clusters.
based algorithm in wireless sensor networks is LEACH                      And this increases the lifetime of the network. But since this
algorithm. In this paper we proposed a new clustering method for          method takes a lot of expenditure so in this article we just use
increasing of network lifetime. We distribute several sensors with        these sensors as manager for a number of head clusters. In this
a high-energy for managing the cluster head and to decrease               manner each one becomes gatewayamong each head cluster.
their responsibilities in network. The performance of the                 This method decreases both networks lifetime and failure
proposed algorithm via computer simulation was evaluated and              probability.
compared with other clustering algorithms. The simulation
results show the high performance of the proposed clustering                  In the second part, the architecture of two networks and the
algorithm.                                                                relevant tasks will be explained. In the third part, the proposed
                                                                          protocol has been explained and in the fourth part the results of
  Keywords-Network Clustering; Nodes failure; Energy-Aware                simulating and tests evaluation can be seen. The last part
              Communication; Wireless Sensor Networks                     involves conclusion of the article and discussing about pattern
                        I. INTRODUCTION                                   of future researches.
    Recent improvements in integrated circuits (IC) have                                         II. RELATED WORKS
fostered the emergence of a new generation of tiny, called                    System architecture for clustered sensor networks has been
Sensors. That from economical aspect they are commodious                  shown in figure 1. There just two sorts of nodes, cluster joint
and also they are used in non military (for instance                      sensors and head cluster with tolerance of energy shortcoming.
environmental managing: temperature, pressure, tremor, etc)               Joint sensors and homogeneous head clusters with a same
    To consider having group of limitations such as battery life          identity have been assumed as similar. All the connections are
time, calculating and memory significantly they have been                 wireless. The connection of joint nodes with the main station is
predicted as non recyclable and also they live until their powers         possible only with head cluster. For sending information
fade away. So power is something rare for systems like sensor.            schedule we use TDMA (Time-Division Multiple Access)
During a special mission the correct consumption for sensors              protocol.
lifetime should be managed knowingly. The power of sensor                     During starting the process a unique ID, primary energy
can not support more than far connection. Therefore to transmit           and TDMA scheduling are attributed for all the sensors and
they need the architecture of multi sectional. A useful way to            gateways. We suppose that the entire node are aware from
decrease the system lifetime is to divide them to diverse                 others place by the GPS. In the beginning all of the connective
clusters [2]. Parts of a cluster-based network sensor are base            bridges are assumed in connection area. as the energy
stations and sensors. In this method sensors relay the data flow          consumption of GPS is high , it is On at the beginning of the
by head clusters. The central station always stays far from               clustering and on the other states it is in the sleep mode.
where sensors are expanded. In this manner saving the                     Connection scheduling among connective bridges first appears
consumption energy and awareness of that to communicate                   with head cluster when it establishes.
with central station has various methods. Two methods of
routing in articles have been proposed [5, 6]. These methods                 The central station always stays far from where the sensors
because of their route detecting and finding optimum steps in             are expanded. in this order, maintaining the consumption
relation with central station have head load. In addition, they           energy and being aware of that in relation with central station
will have extra load on nodes that are located around central             have different methods: such as LEACH (Low-energy
station, so most of the traffic will be from them.                        Adaptive Clustering Hierarchy) [1] and SEP (Stable Election
                                                                          Protocol) [7] and also two other routing method have been


                                                                     73                               http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,  

                                                                                                                                  Vol. 7, No. 1, 2010 

explained in articles [5, 6].these methods due to detecting the
path and finding the optimum steps in relation with command
node have head load. In addition having extra load on nodes,
which is located around central station, most of the traffics will
be because of them. To avoid this head loads and unstable
energy consumption some of nodes have been expanded
through the networks by a high-energy that called gateway
[2].these sensors act as gateway among clusters and central
stations. And mage the entire network in cluster. Each sensor
with a high-energy belongs just to one cluster. And the
connection with the central station just takes place through
cluster Gateway. In this method failure probability decreases
and networks lifetime increases.




                                                                                            Figure 2: The LEACH Network model




                                                                                          Figure 3: The LEACH protocol Phase.[1]

                                                                              First phase as a compared with second one less overhead
                                                                          impose to protocol. In initialization phase, at first in choose of
                Figure 1: network style with clustering
                                                                          cluster head step, randomly allocate number between zero and
                                                                          one for each node and then compared with cluster head
A. LEACH Protocol                                                         threshold. A node is chosen for cluster head if its number is
    LEACH protocol is hierarchical routing algorithm that can             less than threshold. Threshold of cluster head shows in relation
organize nodes into clusters collections. Each cluster controlled         1.
by cluster head. Cluster head has several duties. First one is
gathering data from member cluster and accumulates them.
Second one is directly sending accumulation data to sink. Used                            ⎧                                  n ∉ G
model in LEACH shows in Figure 2. Third one is scheduling                                 ⎪G                                 n ∈ G
based of Time-Division Multiple Access (TDMA). In that,                                   ⎪
                                                                                          ⎪
                                                                                 Τ (n ) = ⎨ P
each node in cluster related to it's time slot could send                                 ⎪
collection data [1].                                                                      ⎪1 − P ⎛ r mod ⎛ 1
                                                                                                         ⎜
                                                                                                                       ⎞⎞
                                                                                          ⎪
                                                                                          ⎩
                                                                                                 ⎜
                                                                                                 ⎝       ⎝           p ⎟⎟
                                                                                                                       ⎠⎠
    Cluster head announce time slot by uses of distribution
property to all members of cluster. Main operations of LEACH                       Relation 1: The way of cluster head selection relation.[1]
are classify in two separate phase that shows in figure 3 [1].
First phase or initialization phase has two process; clustering           T (n): Threshold
and cluster head determining. Second phase mean steady-state,             P: node selection probability in every period
that this phase concentrate to gathering, accumulation and                G: the set of unselected nodes
transmit data to sink.                                                    r: number of current period (started from one)




                                                                     74                                   http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,  

                                                                                                                              Vol. 7, No. 1, 2010 

    A node as a cluster head, announces new roles to the other               To do so, we expand some of nodes according to lifetime,
nodes. With this signal other nodes based on straight of                 space and number of exist sensors in network. While clustering
received signal decide to be membership of which cluster. In             we don’t need this work node. We can cluster the network with
every cluster, created time slot by cluster head based on                the algorithms like SEP, LEACH and TEEN (Threshold-
TDMA, distributed between cluster that contain visual time slot          sensitive Energy-Efficient sensor Network Protocol).afterward
for each member of cluster. Cluster head use Code-Division               the clustering is done, each head cluster sends a signal to these
Multiple Access (CDMA) technique too. With completion of                 sensors. And with these signals the sensors specify which
initialization phase, steady-state phase start. In this phase,           cluster is appropriate to manage. And with the hypothesis of
nodes in determining time slot gathering data and sending to             network they choose some of the cluster to in order to manage
the cluster head node. Meanwhile gathering of data is                    them. And each closer is being managed just by one of these
periodically.                                                            sensors. After establishing the network the role of these sensors
                                                                         as gateways between head clusters and central stations, by the
B. SEP Protocol                                                          hypothesis network chooses some of clusters to manage. And
    SEP protocol was improved of LEACH protocol. Main aim                each cluster is being controlled by just one of the sensors. After
of it was used heterogeneous sensor in wireless sensor                   establishing the network, the sensors have the role of a gateway
networks. This protocol have operation like LEACH but with               between central stations and head clusters. To be attentive that
this difference that, in SEP protocol sensors have two different         head clusters to transmit to central stations and data assembling
level of energy. Therefore sensors are not homogeneous. In this          and calculating in protocol consume a great deal of energy. All
protocol with suppose of some sensors have high energy                   the responsibility of head cluster is given over to joint cluster
therefore probability of these sensors as cluster head will              sensors or Gateway. Then after receiving data from its joint
increased. But in SEP and LEACH, cluster heads aren’t choose             nodes without any calculating delivers them to gateway. And
base of energy level and their position. This is main problem of         its gateway that transmits them to base station after doing
these methods, so their operations are static.                           necessary works and calculations. This method can be used in
                                                                         two ways. One that we spread high-energy sensors beside other
                     III. PROPOSED METHOD                                sensors. And another practical way is to put them between root
    These methods because of their route detecting and finding           station and head clusters. In both aspects both network lifetime
optimum steps in relation with central station have head load.           increases and extra load eliminates from head clusters and also
In addition, they will have extra load on nodes that are located         failure probability decreases.
around central station, so most of the traffic will be from them.
                                                                             That other cluster heads don’t have connection with Sink
                                                                         station. And this connection is accomplished via Gateway and
                                                                         these nodes with high-energy contain the rule of Gateway. And
                                                                         these Gateways to lifetime termination managing same cluster
                                                                         heads. But similar to LEACH algorithm in any time period the
                                                                         cluster head is changing. When the cluster node is changing,
                                                                         the cluster head tell to gateway via a signal. This protocol is
                                                                         resumed to end of lifetime.
                                                                                              IV. SIMULATION RESULTS
                                                                             We stimulated a wireless sensor network in a 100*100
                                                                         space and with an equal distribution of 100 sensors randomly
                                                                         by using MATLAB software. In this simulation the central
                                                                         node at the end of area with the co ordinations has been put.
                                                                         And we spread 4 sensors with high power in network. The
                                                                         primary energy of typical sensors is 0.5 J and sensors with
                                                                         high-energy are 1.0 J. we adjust the execution of the simulation
                                                                         for 1000 cycle and also consumption energy is evaluated based
                                                                         on table number 1.

                                                                               TABLE 1: USED RADIO CHARACTERISTICS IN OUR SIMULATIONS
           Figure 4: Multi-gateway clustered sensor network

    To avoid this extra load and unstable consumption of                                   Operation               Energy Dissipated
                                                                                Transmitter/Receiver Electronics      Eelec=50nJ/bit
energy some of the nodes have been expanded with a high-
                                                                                       Data Aggregation             EDA=5nJ/bit/signal
energy called Gateway [2] sensors are used as head clusters due                       Transmit Amplifier             Єƒs=10pJ/bit/m2
to decrease the failure probability of head clusters. And this                         if dmaxtoBS ≤ d0
increases the lifetime of the network but since this method                           Transmit Amplifier             єmp=0.0013pJ/bit/m4
takes a lot of expenditure so in this article we just use these                        if dmaxtoBS ≥ d0
sensors as manager for a number of head clusters.



                                                                    75                                 http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                                                           (IJCSIS) International Journal of Computer Science and Information Security,  

                                                                                                                                                             Vol. 7, No. 1, 2010 

                                                                                                     [5]   S. Singh, M. Woo and C. S. Raghavendra, "Power-Aware Routing in
                                                                                                           Mobile Ad Hoc Networks", Proc. of ACM MOBICOM'98, Dallas,
    The results of simulation show that new method in                                                      Texas, October 1998
comparison with LEACH and SEP acts better and also
                                                                                                     [6]   D. Estrin, R. Govindan, J. Heidemann, and S. Kumar. "Scalable
increases the networks lifetime significantly.                                                             coordination in sensor networks" Proc. of ACM/IEEE MobiCom 1999,
                                                                                                           Seattle, Washington, August 1999.
    We test this protocol and LEACH and SEP with different
sensors (50,100,200,300,400,500) and as seen in figure 5 the                                         [7]   Georgios Smaragdakis Ibrahim Matta Azer Bestavros” SEP: A Stable
                                                                                                           Election Protocol for clustered heterogeneous wireless sensor networks”
results show that the new method is better than exist methods.                                             Technical Report BUCS-TR-2004
And the lifetime of the network is more than the same lifetime                                       [8]   Piraeus     Tillapart,     Sanguan      Thammarojsakul,       Thanachai
in LEACH and SEP. both LEACH and SEP die with 100                                                          Thumthawatworn, Pratit Santiprabhob”An Approach to Hybrid
sensors when they see the first sensor and live for another 200                                            Clustering and Routing in Wireless Sensor Networks” 2005 IEEE.
time. While in the proposed protocol after observing the first
died sensor that itself observes later than LEACH and then
lives for another 300 times.

                         1400

                         1300
      Network Lifetime




                         1200

                         1100
        ?
                         1000

                          900

                          800
                                  10      100     200       300     400     500
                                                        No.Node
                                             NEW Protocol         SEP        LEACH



                                Figure 5: Comparing proposed algorithm with others


                                    V. CONCLUSION AND FUTURE WORKS
    The node of Gateway with a high-energy through the
sensors is used as a central manager is just a step away from
the central station. Ultimately after simulating we found out
that proposed protocol plays an indispensable role in increasing
network lifetime and could have been increased the lifetime in
comparison with SEP and LEACH.
    In this article it is supposed that sensor nodes and gateways
are fixed and motionless. On the other program we will
research the mobile gateways.
                                                   REFERENCE
[1]                      Kazem Sohraby, Daniel Minoli, Taieb Znati "Wireless Sensor Networks
                         Technology, Protocols, and Applications" Published by John Wiley &
                         Sons, Inc., Hoboken, New Jersey. Published simultaneously in Canada.
                         2007.
[2]                      Gaurav Gupta, Mohamed Younis "Fault-Tolerant Clustering of Wireless
                         Sensor Networks" 2003 IEEE
[3]                      Yongxuan Lai, Hong Chen "Energy-Efficient Fault-Tolerant Mechanism
                         for Clustered Wireless Sensor Networks". 2007 IEEE. This work is
                         supported by the National Natural Science Foundation of China under
                         Grant.
[4]                       Ameer Ahmed Abbasi, Mohamed Younis, Saudi Arabia "A survey on
                         clustering algorithms for wireless sensor networks" Computer
                         Communications 30(2007)2826-2841 WWW.ScienceDirect.com




                                                                                                76                                    http://sites.google.com/site/ijcsis/
                                                                                                                                      ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010

                Comments on “Routh Stability Criterion”
                T.D.Roopamala                                                                     S.K.Katti
                Assistant Professor                                                               Professor
    Sri Jayachamarajendra college of Engineering                                  Sri Jayachamarajendra college of Engineering
                         .                                                                             .



                                                                                                              λ4 +1 = 0                            (1)
Abstract— In this note, we have shown special case on Routh
stability criterion, which is not discussed, in previous literature.
This idea can be useful in computer science applications.                     Applying Routh criterion to above polynomial, we get

Keywords- Routh stability criterion, Routh array, Hurwitz criterion,                          λ4      1        0        1
stability.
                                                                                             λ 3
                                                                                                      ∈       ∈         ∈
                       I.   INTRODUCTION                                                     λ2       -1       0        0                    (2)
    The Routh stability criterion [1] is an analytical procedure                             λ1       ∈       ∈        0
for determining if all the roots of a polynomial have negative                               λ0        1       0       0
real parts, and it is used in the stability analysis of linear time-
invariants systems [6]. This stability criterion is useful in
various engineering applications [7-8]. There are various                     In above problem, first row of the Routh’s array does not
special cases discussed in various literature based on Routh                posses all non-zero elements, and the immediate second row
criterion [2, 5]. In this small note, one special case based on             has all the elements zeros and hence the problem considered in
Routh criterion is considered which is not dealt by the previous            this note is different from the other existing cases. Now
authors, to the best of our knowledge.                                      Replacing all the elements in the second row by ∈ , as shown
                                                                            in (2), where ∈ is a small positive number. Then, we apply
                                                                            Routh method to remaining array formulation. So, in the first
                                                                            column of the Routh array, there exist two changes in sign and
                 II.    ROUTH STABILITY CRITERION                           hence, this polynomial has complex conjugate eigenvalues
  In order to ascertain the stability of a linear time-invariant            with positive real parts.
system, it is necessary to determine if any of the roots of its
characteristics equation lie in the right half of the s-plane. A.           The actual roots of a polynomial are
Hurwitz and E. J. Routh independently published the method
of investigating the sufficient conditions of stability of a                                        λ1,2 = −0.7171 ± 0.7071 j,
                                                                                                                                                   (3)
system [1]. The Hurwitz criterion is in terms of determinants                                       λ3,4 = 0.7171 ± 0.7071 j
and the Routh criterion is in terms of array formulation. A
necessary and sufficient condition for stability is that all of the
elements in the first column of the Routh array be positive. If
this condition is not met, the system is unstable, and the
                                                                                                     ACKNOWLEDGMENT
number of sign changes in the elements of the first column of
the Routh array corresponds to the number of roots of the                   We are thankful to Dr. Yogesh V. Hote for suggestion in
characteristics equation in the right half of the s-plane.                  writing this paper.
However, the standard procedure fails if we encounter any of
the following situations in the formulation of the array [4].
[1]    A row of all zeros appears
                                                                                                           REFERENCES
[2]    First element of a row, appearing in first column of the
       array is zero, but the entire row is not all zeros.                  [1]   E. J. Routh, A Treatise on the Stability of motion, London, U. K.:
                                                                                  Macmillan, 1877.
                                                                            [2]   K. Khatwani, “On Routh Hurwitz criterion,” IEEE Transactions on
                                                                                  Automatic Control, vol. 26, no. 2, pp. 483-582, 1981.
                                                                            [3]   M. V. C. Rao and P. V. Rao, “Some More Comments on “ On the
     III. PROPOSED SPECIAL CASE ON ROUTH CRITERION                                Routh Hurwitz Criterion,” IEEE Transactions On automatic Control, pp.
  Consider the following polynomial                                               714-716, 1975.




                                                                       77                                   http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                 Vol. 7, No. 2, 2010
[4]   A. Lepschy, “Comments on Polynomial Factorization using Routh                [6]   M. Gopal, Control Systems Principles and Design, Tata McGraw Hill,
      Criterion,” IEEE Proceedings, 1972.                                                Second edition, 2000.
[5]   R. N. Clark, “The Routh-Hurwitz stability criterion, revisited,” IEEE        [7]   K. Dekker, “ Formula Manipulation in ALGOL 68 and application to
      Control system magazine, pp. 119-120, Jun. 1992.                                   Routh’s Algorihm,” Computing, Vol. 26, pp. 167-187, 1981.

[8]   A. P. Liyaw, “ Hgram patterns of Routh Stability zones in linear
      systems,” International Journal of Mathematical Education in Science
      and Technology, vol. 28, no. 2, pp. 225-241, 1997.




                                                                              78                                  http://sites.google.com/site/ijcsis/
                                                                                                                  ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                     Vol. 7, No. 2, 2010

Concurrent Approach to Flynn’s SPMD Classification
                                                       Through Java


                                              Bala Dhandayuthapani Veerasamy
                                                    Department of Computing
                                                       Mekelle University
                                                       Mekelle, Ethiopia
                                                     .



Abstract—Parallel programming models exist as an abstraction of        some of the tasks can be executed concurrently. In some
hardware and memory architectures. There are several parallel          situations, doing more work over the same time period is not
programming models in commonly use; they are shared memory             the goal. Rather, simplifying the programming solution is the
model, thread model, message passing model, data parallel              goal. Sometimes it makes more sense to think of the solution
model, hybrid model, Flynn’s models, embarrassingly parallel           to the problem as a set of concurrently executed tasks. This
computations model, pipelined computations model. These                technique is used in the parallel computer architectures.
models are not specific to a particular type of machine or
memory architecture. This paper focuses the concurrent                     Java is just a computer language [5] that has secure,
approach to Flynn’s SPMD classification in single processing           portable, object-oriented, multithreaded [3] [4] [6], interpreted,
environment through java program.                                      byte-coded, garbage-collected, language with a strongly typed
                                                                       exception-handling mechanism for writing distributed
   Keywords-Concurren; Flynn’s Taxonomy; Single processor              programs [4]. Java is an object-oriented programming
Environment; Java Development Ki; Parallel;                            language, which added the new features such as overriding,
                                                                       interface and etc. Java supports multithreaded programming,
                                                                       which allows you to do many things simultaneously on the
                                                                       same time interval. Java enables the creation of cross-platform
                      I.   INTRODUCTION                                programs by compiling into an intermediate representation
    Parallel programming and distributed programming [1] are           called java byte code. JVM (Java Virtual Machine) is an
two basic approaches for achieving concurrency with a piece            interpreter for java. Java is designed for the distributed
of software. They are two different programming paradigms              environment on the Internet. Java has technology called RMI
that sometimes intersect. In the past programming life, we             (Remote Method Invocation) that brings unparalleled level of
were mostly using sequential programming. But, today’s life            abstraction to client / server programming. Byte code is a
style is going with more faster than the past decades. Also,           highly optimized set of instructions designed to be executed
solving problems on the computers are enormous. Parallel               by the java run-time system, which is called Java Virtual
computer [1] can executes two or more job within a same                Machine (JVM). Java handles de-allocation for you
period of time.                                                        automatically, this technique called garbage collection. The
                                                                       Java Developers Kit (JDK) is a set of command-line tools that
    Two events are said to be concurrent if they occur within
                                                                       can be used to create Java programs. The current release of the
the same time interval. Two or more tasks executing over the
                                                                       JDK is version 1.6.
same time interval are said to execute concurrently. Tasks that
exist at the same time and perform in the same time period are
concurrent. Concurrent tasks can execute in a single or                              II. FLYNN’S CLASSICAL TAXONOMY
multiprocessing environment [2]. In a single processing                    Parallel computers can be divided into two main categories
environment, concurrent tasks exist at the same time and               of control flow and data flow. Control-flow parallel computers
execute within the same time period by context switching. In a         are essentially based on the same principles as the sequential
multiprocessor environment, if enough processors are free,             or von Neumann computer, except that multiple instructions
concurrent tasks may execute at the same instant over the              can be executed at any given time. Data-flow parallel
same time period. The determining factor for what makes an             computers sometimes referred to as “non-von Neumann,” is
acceptable time period for concurrency is relative to the              completely different in that they have no pointer to active
application.                                                           instruction(s) or a locus of control. The control is totally
    Concurrency techniques [3] [6] are used to allow a                 distributed, with the availability of operands triggering the
computer program to do more work over the same time period             activation of instructions. In what follows, we will focus
or time interval. Rather than designing the program to do one          exclusively on control-flow parallel computers.
task at a time, the program is broken down in such a way that




                                                                  79                               http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
    There are different ways to classify parallel computers.             each task can be executing the same or different program as
One of the more widely used classifications, in use since 1966,          other tasks. All tasks may use different data.
is called Flynn's Taxonomy [2]. The Flynn’s taxonomy
distinguishes    multi-processor     computer     architectures                     III.   FLYNN’S SPMD IMPLEMENTATION
according to how they can be classified along the two
independent dimensions of Instruction and Data. Each of these                 SPMD is actually a "high level" programming model that
dimensions can have only one of two possible states called               can be built upon any combination of the parallel
Single or Multiple. There are four possible classifications              programming models. A single program can have multiple
according to Flynn’s that is shown in Figure 1.                          tasks, which can be executed simultaneously. At any moment
                                                                         in time, tasks can be executing the same or different
                                                                         instructions within the same program. SPMD programs
                                                                         usually have the necessary logic programmed into them to
                                                                         allow different tasks to branch or conditionally execute only
                                                                         those parts of the program they are designed to execute. That
                                                                         is, tasks do not necessarily have to execute the entire program
                                                                         - perhaps only a portion of it. Here all tasks may use different
                                                                         data.
                                                                             Single processing environment can have concurrent tasks
                                                                         exist at the same time and execute within the same time period
                                                                         by context switching (time limits). This paper only focuses on
                                                                         Flynn’s SPMD classification in single processing environment
                                                                         using concurrent approach.
                                                                                    Program 1. A Sample program for Flynn’s SPMD
                   Figure 1. Flynn’s Taxonomy
                                                                            class SPMD implements Runnable{
    SPSD is simplest type of computer performs one
instruction per cycle, with only one set of data or operand.                Thread t;
SPSD is serial computer architecture. Such a system is called a             String name;
scalar computer. SPSD will have one program and one set of                  int a,b,sum;
data. Single instruction: only one instruction stream is being
acted on by the CPU during any one clock cycle. Single data:                SPMD(String str, int val1,int val2){
only one data stream is being used as input during any one                     t=new Thread(this,str);
clock cycle. It will execute by only one processor as a                        name=str;
sequential manner. Hence it is not a parallel programming                      a=val1;
model rather it is a sequential programming model. It can be                   b=val2;
executed by a single processor based system by sequential                      t.start(); }
way.
    MPSD [7] is a single data stream is fed into multiple                   public void run(){
processing units. Each processing unit operates on the data                      try{
independently via independent instruction streams. Few actual
examples of this class of parallel computer have ever existed.                    sum=a+b; // single operation
MPSD will have more than one program with same values will                        System.out.println("the sum is "+ sum + " produced
be used by all the programs. All the programs will execute in                          by " + name +" thread");
different processors with the same values. If all task or threads                 t.sleep(200);
are executed in different processor means, it will take the same
values.                                                                           }catch(Exception e){}
     SPMD is actually have a single program is executed by all              }
tasks simultaneously. At any moment in time, tasks can be
executing the same or different instructions within the same                public static void main(String BDP[]){
program. SPMD programs usually have the necessary logic
programmed into them to allow different tasks to branch or                  SPMD b1=new SPMD("task1",1,1); // value 1
conditionally execute only those parts of the program they are              SPMD b2=new SPMD("task2",5,5); // value 2
designed to execute. That is, tasks do not necessarily have to              SPMD b3=new SPMD("task3",10,10); // value 3
execute the entire program perhaps only a portion of it. Here               SPMD b4=new SPMD("task4",1,5); // value 4
all tasks may use different data.
    MPMD [8] is actually a "high level" programming model.                  }}
MPMD applications typically have multiple executable object
files (programs). While the application is being run in parallel,



                                                                    80                               http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
                IV.   RESULTS AND DISCUSSION                             Concurrent approaches can execute multiple tasks using
    Sequential programming also called serial programming. It            context switching in single processor environments. It enabled
is normally a computer programs, which involves consecutive              to execute Flynn’s SPMD classification in single processing
process or sequential process. It can uses only single                   environment. This finding also initiated to have high
processing environment. There are drawbacks in sequential                performance and throughput on single processing
programming. It can be executed in a sequential manner. It               environment. Hence, this paper recommending you to have
will take more time for execution because instruction will               concurrent execution of single program with multiple values
execute by the processor one after another. It will have less            on single processing environment.
clock speed. Biggest problems cannot be solved. The
concurrent programming is also a computer program, which                                                REFERENCES
involves more than one process within the same time interval.            [1]   Tobias Wittwer, An Introduction to Parallel Programming, VSSD, 2006.
Two or more tasks executing over the same time interval are              [2]   Hesham El-Rewini, Mostafa Abd-El-Barr, Advanced Computer
said to execute concurrently. Parallel and distributed                         Architecture and Parallel, A John Wiley & Sons, Inc Publication, 2005.
programmings are two approaches for achieving concurrency.               [3]   Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes,
                                                                               Doug Lea, Java Concurrency in Practice, Addison Wesley Professional,
    Java provides Thread class to create concurrent execution                  2006.
of tasks. Thread class has constructors and methods, which are           [4]   Charles W. Kann, Creating Components: Object Oriented, Concurrent,
helping to create concurrent execution of tasks. The Program 1                 and Distributed Computing in Java, Auerbach Publications, 2004.
developed to execute in a single processing environment using            [5]   Peter Norton & Wiliam Stanek, Java Programming, Sams Publishing,
Flynn’s classification with SPMD. In this program, SPMD                        1996.
(String str, int val1, int val2) constructor has an argument with        [6]   Stephen J. Hartley, Concurrent Programming Using Java, Oxford
“String str” will receive name of the task, “int val1, val2” will              University Press, 1998.
receive values for addition, subtraction, multiplication and             [7]   Bala Dhandayuthapani Veerasamy, Concurrent Approach to Flynn’s
division. In the main function b1, b2, b3, b4 are objects; once                MPSD Classification through Java, International Journal of Computer
                                                                               Science and Network Security, Vol. 10 No. 1 pp. 126-129, January
it has created constructor will be automatically called. The                   2010.
t=new Thread(this, str) creates tasks such as “Task1”,                   [8]   Bala Dhandayuthapani Veerasamy, Concurrent Approach to Flynn’s
“Task2”, “Task3” and “Task4”. The t.start() method has been                    MPMD Classification through Java, International Journal of Computer
starting all the tasks. After starting the tasks, it will be                   Science and Network Security, Vol. 7 No. 2, February 2010.
automatically called run() method. The run() method will
execute all the tasks concurrently by using t.sleep(200)
method (context switching). The t.sleep(200) method pause                                             AUTHORS PROFILE
any task for 200 milliseconds during execution and it will                                                Bala Dhandayuthapani Veerasamy was
allow to execute waiting of any other task. Until completing                                         born in Tamil Nadu, India in the year 1979. The
all the tasks, run() method permitted to execute tasks                                               author was awarded his first masters degree M.S
                                                                                                     in Information Technology from Bharathidasan
concurrently using sleep() method and it enabled to exploit the                                      University in 2002 and his second masters degree
processor idle time. Here all the tasks will use same operation                                      M.Tech in Information Technology from
with sum=a+b as the same program but it will use different                                           Allahabad Agricultural Institute of Deemed
data as "task1" uses 1,1; "task2" uses 5,5; "task3" uses 10,10;                                      University in 2005. He has published more than
                                                                                                     fifteen peer reviewed technical papers on various
"task4" uses 1,5; Finally, this program will produce the                                             international journals and conferences. He has
following result.                                                                                    managed as technical chairperson of an
                                                                         international conference. He has an active participation as a program
   the sum is 2 produced by task1 thread                                 committee member as well as an editorial review board member in
                                                                         international conferences. He is also a member of an editorial review board in
   the sum is 10 produced by task2 thread                                international journals.
                                                                              He has offered courses to Computer Science and Engineering,
   the sum is 20 produced by task3 thread                                Information Systems and Technology, since 8 years in the academic field. His
                                                                         academic career started in reputed engineering colleges in India. At present,
   the sum is 6 produced by task4 thread                                 he is working as a Lecturer in the Department of Computing, College of
                                                                         Engineering, Mekelle University, Ethiopia. His teaching interest focuses on
   Hence, this research finding introduced to use for Flynn’s            Parallel and Distributed Computing, Object Oriented Programming, Web
                                                                         Technologies and Multimedia Systems. His research interest includes Parallel
SPMD classification to execute on the single processing                  and Distributed Computing, Multimedia and Wireless Computing. He has
environment using concurrent approach.                                   prepared teaching material for various courses that he has handled. At present,
                                                                         his textbook on “An Introduction to Parallel and Distributed Computing
                                                                         through java” is under review and is expected to be published shortly. He has
                       V. CONCLUSION                                     the life membership of ISTE (Indian Society of Technical Education).
   Flynn’s classical taxonomy has four classifications, except
the first classification all other classification will utilize
multiprocessing environment. While executing a single
program over processor, it executes one task at a time.




                                                                    81                                    http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010

            Multi-objective Geometric
 Programming Problem with Weighted Mean Method
                         A. K. Ojha                                                                 K. K. Biswal
                  School of Basic Sciences                                               Department of Mathematics
                      IIT Bhubaneswar                                                      C.T.T.C, Bhubaneswar
                  Orissa, Pin-751013, India                                                 Orissa, India-751024
                               .                                                                      .

Abstract-Geometric programming is an important class of                 functions. In this case, it is not suitable to use any single-
optimization problems that enable practitioners to model a              objective programming to find an optimal compromise
large variety of real-world applications, mostly in the field of        solution. Biswal[4] has studied the optimal compromise
engineering design. In many real life optimization problem              solution of multi-objective programming problem by using
multi-objective programming plays a vital role in socio                 fuzzy programming technique [20, 21]. In a recent paper
economical and industrial optimizing problems. In this paper
we have discussed the basic concepts and principle of multiple
                                                                        Islam and Ray[8] find the Pareto optimal solution by
objective optimization problems and developed geometric                 considering a multi-objective entropy transportation
programming (GP) technique to solve this optimization                   problem with an additional restriction with generalized
problem using weighted method to obtain the non-inferior                fuzzy number cost.
solutions.                                                              In this paper we have developed the method to find the
                                                                        compromise optimal solution of certain multi-objective
Keywords- Geometric programming, optimization, weighted                 geometric programming problem by using weighting
method, duality theory, non-inferior solutions.                         method. First of all the multiple objective functions
                                                                        transformed to a single objective by considering it as the
                     1 INTRODUCTION                                     linear combination of the multiple objectives along with
                                                                        suitable constants called weights. By changing the weights
Geometric Programming(GP) problems have wide range of                   the most compromise optimal solution has been arrived by
application in production planning, location, distribution,             using GP techniques.
risk managements, chemical process designs and other                     The organization of the paper is as follows: Following the
engineer design situations. GP problem is an excellent                  introduction, Formulation of multi-objective GP and
method when decision variable interact in a non-linear,                 corresponding weighting method have been discussed in
especially, in an exponential fashion. Most of these GP                 Section 2 and 3. The duality theory has been discussed at
applications are posynomial type with zero or few degrees               Section 4 to find the optimal value of the objective function
of difficulty. GP problem whose parameters, except for                  and the illustrative examples have been incorporated at
exponents, are all positive are called posynomial problems,             Section 5 to understand the problem. Finally, at Section 6
where as GP problems with some negative parameters are                  some conclusions are drawn from the discussion.
refereed to as signomial problems. The degree of difficulty
is defined as the number of terms minus the number of                              2 FORMULATION OF MULTI-OBJECTIVE
variables minus one, and is equal to the dimension of the                              GEOMETRIC PROGRAMMING
dual problem. When the degree of difficulty is zero, the
problem can be solved analytically. For such posynomial                 A multi-objective geometric programming problem can be defined
problems, GP techniques find global optimal solutions.                  as:
If the degree of difficulty is positive, then the dual feasible         Find   x = ( x1 , x 2 ,...., xn ) T
region must be searched to maximize the dual objective,
                                                                        so as to
while if the degree of difficulty is negative, the dual                                          Tk 0                n
constraints may be inconsistent. For detail discussions of
                                                                         min : g k 0 ( x) = ∑ C k 0t ∏ x j k 0 tj , k = 1,2,..., p
                                                                                                                         a
                                                                                                                                                       (2.1)
various algorithms and computational aspects for both
                                                                                                 t =1            j =1
posynomial and signomial GP refers to Beightler et al.[2],
                                                                        subject to
Duffin et al.[6], Ecker[7] and Phillips et al.[13]. From early
                                                                                           Ti           n
                                                                               g i ( x) = ∑ Cit ∏ x j itj ≤ 1, i = 1,2,..., m
1960 a lot of research work have been done on these GP                                                           d
                                                                                                                                                      (2.2)
problems [3, 5, 9, 11, 14, 16, 17, 18]. Mainly, we use GP
                                                                                          t =1          j =1
technique to solve some optimal engineering design
problems[1] where we minimize cost and/or weight,                                  x j > 0 , j = 1,2,..., n                                           (2.3)
maximize volume and/or efficiency etc. Generally, an
                                                                        where Ck0t for all k and t are positive real numbers and ditj
engineering design problem has multiple objective                       and ak0tj are real numbers for all i,k, t, j.



                                                                   82                                          http://sites.google.com/site/ijcsis/
                                                                                                               ISSN 1947-5500
                                                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                                          Vol. 7, No. 2, 2010
Tk0 = number of terms present in the kth objective function.                                                                4.DUAL FORM OF GPP
Ti= number of terms present in the ith constraint.                                                        The model given by (3.2), (3.3) and (3.4) is a conventional
In the above multi-objective geometric program there are p                                                geometric programming problem and it can be solved
number of minimization type objective function, m number                                                  directly by using primal based algorithm for non linear
of inequality type constraints and n number of strictly                                                   primal problem or dual programming [12]. Methods due to
positive decision variables.                                                                              Rajgopal and Bricker [15], Beightler and Phillips[1] and
                                                                                                          Duffin et al.[6] projected in their analysis that the dual
   3 WEIGHTING METHOD OF MULTI-OBJECTIVE                                                                  problem has the desirable features of being linearly
                FUNCTIONS:                                                                                constrained and having an objective function with structural
                                                                                                          properties with suitable solution.
The weighting method is the simplest multi-objective                                                      According to Duffin et al.[6] the model given by (3.3) can
optimization which has been widely applied to find the non-                                               be transformed to the corresponding dual geometric
inferior optimal solution of multi-objective function within                                              program as:
the convex objective space.                                                                                                                          w0 t                             wit
                                                                                                                  T0
                                                                                                                    ⎛w C                         ⎞           m
                                                                                                                                                                      ⎛ wi 0 C
                                                                                                                                                                     Ti
                                                                                                                                                                                  ⎞         Ti
                                                                                                           max ∏ ⎜ k k 0t                                   ∏∏ ⎜ w it                       ∏ λ (w
If f1(x), f2(x),… ,fn(x) are n objective functions for any
                                                                                                                    ⎜ w                          ⎟
                                                                                                                                                 ⎟                    ⎜           ⎟
                                                                                                                                                                                  ⎟                             ) λ ( wit )
vector x = ( x1 , x 2 ,...., x n ) then we can define weighting
                                               T                                                                                                                                                           it
                                                                                                               t =1 ⎝                            ⎠          i =1 t =1 ⎝           ⎠
                                                                                                            w
                                                                                                                        0t                                                   it             t =1
method for their optimal solution as defined below:                                                                                                                                                             (4.1)
             ⎧                                             n                 ⎫                                              T0
Let W = ⎨w : w ∈ R , wi > 0,
                                     n
                                                          ∑w          j   = 1⎬ to be the set of           subject to    ∑w              0t   =1
             ⎩                                             j =1              ⎭                                              t =1
non-negative weights. The weighted objective function for                                                                   m      Ti                            m        Ti

the multiple objective function defined above can be defined                                                            ∑∑ ai =1 t =1
                                                                                                                                             itj   wit + ∑∑ d itj wit = 0 , j=1,2,…,n
                                                                                                                                                                 i =1 t =1
                                                   n
as P(w) where P ( w) = min
                                             x∈X
                                                   ∑w
                                                   j =1
                                                               j   f j ( x)             (3.1)                               wit ≥ 0 ∀ t , j
                                                                                                                 p
It must be made clear, however, that if the objective space
of the original problem is non-convex, then the weighting                                                       ∑w
                                                                                                                k =1
                                                                                                                        k     = 1, wk > 0, k = 1,2,..., p
method may not be capable of generating the efficient                                                     Since it is a usual dual problem then it can be solved using
solutions on the non-convex part of the efficient frontier. It                                            method relating to the dual theory.
must also be noted that the optimal solution of a weighting
problem should not be used as the best compromise                                                                                  5 NUMERICAL EXAMPLES
solution, if the weights do not reflect the decision maker's
preferences or if the decision maker does not accept the                                                  For illustration we consider the following examples.
assumption of a linear utility function. For more detail about                                            Example: 1
the weighted method refer[10].                                                                            Find x1, x2, x3, x4 so as to
Based on the importance of the p number of objective
functions defined in (2.1) the weights w1,w2,…,wp are                                                     min : g10 ( x) = 4 x1 + 10 x2 + 4 x3 + 2 x4       (5.1)
assigned to define a new min type objective function Z(w)                                                  max : g 20 ( x) = x1 x2 x3                                                               (5.2)
which can be defined as                                                                                                       2              2
                                                                                                                         x        x
                                                                                                                              +        ≤1
                                      p                                                                                       1              2
      min : Z ( x) = ∑ wk g k 0 ( x)
                                                                                                          subject to          2              2
                                                                                                                                                                                                    (5.3)
                                                                                                                         x    4   x          4
                                     k =1
                                                                                                                        100
                                p
                                      ⎛ Tk 0      n                             ⎞                                                 ≤1                                                                (5.4)
                                   wk ⎜ ∑ C k 0t ∏ x j k 0 tj
                              ∑ ⎜ t =1                                          ⎟
                                                      a
                          =
                                                                                ⎟        (3.2)                         x1 x2 x3
                              k =1    ⎝          j =1                           ⎠                                      x1 , x2 , x3 , x4 > 0
                                p Tk 0                         n

                              ∑∑ w C ∏ x                                                                  Now the problem can be rewritten as
                                                                      ak 0 tj
                          =
                                                                                                           min : g10 ( x) = 4 x1 + 10 x2 + 4 x3 + 2 x4
                                               k    k 0t              j
                              k =1 t =1                     j =1                                                                                                                                   (5.5)
                                                                                                                                             −1 −1 −1
               Ti             n
                                                                                                           min : g ( x) = x x x
                                                                                                                       /

               ∑ Cit ∏ x j itj ≤ 1 , i = 1,2,..., m
                                         d                                                                             20                    1  2 3                                                (5.6)
subject to                                                                              (3.3)
                                                                                                                             2 −2                        −2
               t =1           j =1                                                                        Subject to x x     1 4+ x x ≤1     2
                                                                                                                                             2          4                                          (5.7)
                 x j > 0, j = 1,2,..., n                                                                                100 x x x ≤ 1   −1 −1
                                                                                                                                        1  2
                                                                                                                                                        −1
                                                                                                                                                        3                                        (5.8)
         p
                                                                                                                         x1 , x2 , x3 , x4 > 0                                                   (5.9)
where   ∑w
        k =1
                    k   = 1, wk > 0, k = 1,2,..., p                                     (3.4)




                                                                                                    83                                                      http://sites.google.com/site/ijcsis/
                                                                                                                                                            ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                     Vol. 7, No. 2, 2010
Introducing weights for the above objective functions a new               w05            w11         w12          w21             Z
objective function is formulated as                                   0.0010217       0.051051 0.014213        0.3319702      8.80776
                                                       − −
Z ( x) = w1 (4 x1 + 10 x2 + 4 x3 + 2 x4 ) + w2 ( x1−1 x2 1 x3 1 )                                0.0004543        0.051080       0.014221             0.3319701        17.60555
                                                                    (5.10)                       0.000265092      0.05109        0.0142237            0.3329799        26.40333
               2 −2             −2
subject to x x 1 4+ x x ≤1
                         2
                         2      4                               (5.11)                           0.000170424      0.051095       0. 014225            0.3331061       35.201110.
                    −1 −1      −1
         100 x x x ≤ 1
                    1  2       3                                  (5.12)                         0.000113614      0.051098       0.0142259            0.3331818       43.99888

          x1 , x2 , x3 , x4 > 0
                                                                                                 Using primal dual relationship the corresponding primal
where w1 + w2 = 1, w1 , w2 > 0                (5.13)                                             solution are given in the following Table.
This problem is having degree of difficulty 3. The problem                                                                   Table-2
is solved via the dual programming [6].                                                                                 Primal solution:
The corresponding dual program is:                                                               w1    w1         x1               x2               x3                 x4            Z
                                w01               w02             w03                 w04        0.1   0.9     5.084055        2.682555          7.332315           5.748367     8.80776
               ⎛ 4w ⎞                 ⎛ 10w1 ⎞          ⎛ 4w1 ⎞         ⎛ 2w1 ⎞
max : V ( w) = ⎜ 1 ⎟
               ⎜w ⎟                   ⎜
                                      ⎜ w ⎟  ⎟          ⎜
                                                        ⎜w ⎟  ⎟         ⎜
                                                                        ⎜w ⎟  ⎟
                                                                                                 0.2   0.8     5.084055        2.682555          7.332315           5.748367     17.60555
 w
               ⎝ 01 ⎠                 ⎝ 02 ⎠            ⎝ 03 ⎠          ⎝ 04 ⎠                   0.3   0.7     5.084055        2.682555          7.332315           5.748367     26.40333
         w05            w11            w12
⎛ w2 ⎞         ⎛ 1 ⎞          ⎛ 1 ⎞                                                              0.4   0.6     5.084055        2.682555          7.332315           5.748367     35.20111
⎜
⎜w ⎟ ⎟         ⎜w ⎟
               ⎜    ⎟         ⎜
                              ⎜w ⎟ ⎟         (w11 + w12 )(w  11 + w12   )
                                                                            100 w21              0.5   0.5     5.084055        2.682555          7.332315           5.748367     43.99888
⎝ 05 ⎠         ⎝ 11 ⎠         ⎝ 12 ⎠
                                                                              (5.14)

subject to w01 + w02 + w03 + w04 + w05 = 1                                                       where the minimum values of g10 = 87.98776 and g20 = 0.01

               w01 − w05 + 2w11 − w21 = 0                                                        Example: 2
                                                                                                 Find x1, x2, x3, x4 in order to
               w02 − w05 − 2 w12 − w21 = 0                                                                             −    −
                                                                                                 min : f1 ( x) = x1−1 x2 1 x3 1                                 (5.15)
                w03 − w05 − w21 = 0                                                                                     −    −           −
                                                                                                 min : f 2 ( x) = x1−1 x2 3 x3 5 + x1−1 x2 1                    (5.16)
               w04 − 2w11 − 2w12 = 0
                                                                                                 subject to x x x + x 2 x3 ≤ 6
                                                                                                                   2
                                                                                                               1 2 3                                           (5.17)
                w1 + w2 = 1                                                                                    x1 x3 ≤ 1                                       (5.18)

                w01 , w02 , w03 , w04 , w05 , w11 , w12 , w21 ≥ 0                                               x1 , x2 , x3 > 0                               (5.19)
                                                                                                 Using the weights the above objective function can be
                w1 , w2 > 0                                                                      reduced to the new objective function as:

By considering different values of w1 and w2 the dual
                                                                                                                     −    −                  −    −            −
                                                                                                 Z ( x) = w1 ( x1−1 x2 1 x3 1 ) + w2 ( x1−1 x2 3 x3 5 + x1−1 x 2 1 )
variables, corresponding maximum value of dual objective                                                                                                                  (5.20)
are given in the following Table.                                                                       x x x + x 2 x3 ≤ 6
                                                                                                                 2
                                                                                                             1 2 3                                                       (5.21)

                                 Table-1                                                                x1 x3 ≤ 1                                                        (5.22)
                               Dual solution:                                                           x1 , x2 , x3 > 0                                                 (5.23)
w1    w2           w01               w02               w03                 w04                   where w1 + w2 = 1 w1 , w2 > 0                            (5.24)
0.1   0.9      0.2308894         0.3045667         0.3329927            0.1305293                In this problem the degree of difficulty is 2 and it can be
0.2   0.8      0.2310206         0.3044397         0.3331819            0.1306035                solved by using duality theory as given by
                                                                                                                               w01             w02            w03
0.3   0.7      0.2310643         0.3047974         0.3332450            0.1306282                               ⎛w ⎞                 ⎛ w2 ⎞          ⎛ w2 ⎞
0.4   0.6      0.2310862         0.3048263         0.3332765            0.1306406
                                                                                                 max : V ( w) = ⎜ 1 ⎟
                                                                                                                ⎜w ⎟                 ⎜
                                                                                                                                     ⎜w ⎟ ⎟          ⎜w ⎟
                                                                                                                                                     ⎜    ⎟
                                                                                                  w
                                                                                                                ⎝ 01 ⎠               ⎝ 02 ⎠          ⎝ 03 ⎠
0.5   0.5      0.2310993         0.3048436         0.3332955            0.1306480                                                                                         (5.25)
                                                                                                                         w11             w12
                                                                                                            ⎛ 1 ⎞ ⎛ 1 ⎞
                                                                                                            ⎜ 6 w ⎟ ⎜ 6 w ⎟ (w11 + w12 )
                                                                                                                                        ( w11 + w12 )
                                                                                                            ⎜     ⎟ ⎜       ⎟
                                                                                                            ⎝ 11 ⎠ ⎝ 12 ⎠
                                                                                                 subject to w01 + w02 + w03 = 1




                                                                                            84                                  http://sites.google.com/site/ijcsis/
                                                                                                                                ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010
          − w01 − w02 − w03 + w11 + w21 = 0                                                          6 CONCLUSIONS

          − w01 − 3w02 − w03 + w11 + w12 = 0                              By using weighted method we can solve a multi-objective
                                                                          GPP as a vector minimum problem. A vector-maximum
        − 2w01 − 5w02 + 2w11 + w12 + w21 = 0                              problem can be transformed as a vector minimization
                                                                          problem. If any of the objective function and/or constraint
         w01 , w02 , w03 , w11 , w12 , w21 ≥ 0                            does not satisfy the property of a posynomial after the
                                                                          transformation, then we use any of the general purpose non-
             w1 , w2 > 0                                                  linear programming algorithm to solve the problem. We can
                                                                          also use this technique to solve a multi-objective signomial
For different values of w1, w2 the dual variables and the                 geometric programming problem. However, if a GPP has
corresponding maximum values of dual objective is                         either a higher degree of difficulty or a negative degree of
obtained as given in the Table                                            difficulty, then we can use any of the general purpose non-
                                                                          linear programming algorithm instead of a GP algorithm.
                            Table-3
                         Dual solution:                                                                  REFERENCES
 w1      w2          w01            w02                w03                [1]    C.S.Beightler and D.T.Phillips: Applied Geometric programming,
0.1     0.9       0.2085711     0.5276192           0.2638096                    John wiley and Sons, New York., 1976.
                                                                          [2]    C.S.Beightler and D.T.Phillip, D.J.Wilde: Foundations of
0.2     0.8       0.3640122      0. 4239919         0.2119959                    optimization, Prentice-Hall, New Jersy, 1979.
0.3     0.7       0.4952513      0.3364992       0. 1682496               [3]    H.P.Bensonand, G.M. Boger: Multiplicative programming problems
                                                                                 analysis and efficient point search heuristic, Journal of optimization
0.4     0.6       0.604162       0.2638920       0. 1319460                      theory and applications 94, 487-510, 1997.
                                                                          [4]    M.P. Biswal: Fuzzy Programming technique to solve multi-objective
0.5     0.5       0.6959958      0. 2026694      0. 1013347                      geometric programming problem, Fuzzy sets and systems 51,67-71,
                                                                                 1992.
                                                                          [5]     C.Chu and D.F.Wong: VLSI Circuit performance optimization by
      w11              w12             w21            Z                          geometric programming, Annals of Operations Resarch 105, 37-60,
      1.00          1.055235            0        0.1642316                       2001.
                                                                          [6]    R.J.Duffin, E.L.Peterson and C.M.Zener: Geometric Programming
 0.9239919         0.9239918       0.076008         0.1831441                    Theory and Application, Wiely, New York , 1967.
                                                                          [7]     J.G.Ecker: Geometric programming Methods, computations and
 0.8364992         0.8364992       0.1635008        0.2019177                    applications. SIAM Review 22, 338-362, 1980.
 0.7638920         0.7638920       0.2361080        0.2206914             [8]     S.Islam and T.K.Ray: A new fuzzy multi-objective programming:
                                                                                 Entropy based geometric programming and its applications of
0. 7026695         0.7026694       0.2973305        0.2394650                    transportation problems, Europian Journal of Operational Research,
                                                                                 173, 387-404, 2006.
                                                                          [9]    C. Kao and S.T.Liu: Predicting bank performance with financial
                                                                                 forecasts:A case of Taiwan commercial banks, Journal of Banking
The corresponding primal solution is given in the following                      and Finance 28, 2353-2368 , 2004.
Table:                                                                    [10]   G.P.Liu, J.B.Yang and Whidborne: Multi-objective optimization and
                         Table-4                                                 contral, PHI, EEE, 2006.
                     Primal Solution                                      [11]   S.T.Liu: Geometric Programming with parametric uncertainty,
w1 w1          x1         x2            x3            Z                          Europian Journal of Operation Research 168, 345-353, 2006.
                                                                          [12]   E.L.Peterson: The fundamental relations between geometric
0.1 0.9 2.527860 8.217575 0.3748833 0.1642316                                    programming duality, Parametric programming duality, and ordinary
0.2     0.8     2.620746   7.862237     0.3815708     0.1831441                  Lagrangian duality, Annals of Operations Research 105,109-153,
                                                                                 2001.
0.3     0.7     2.620745   7.862236     0.3815709     0.2019177           [13]   D.T.Phllips, C.S.Beightler: A technical state of the art survey.AIIE
                                                                                 Transactions 5, 97-112, 1973.
0.4     0.6     2.620747   7.862240     0.3815707     0.2206914           [14]   J.Rajgopal D.L Bricker: Posynomial geometric programming as a
                                                                                 special case of semi-infinite linear programming, Journal of
0.5     0.5     2.620747   7.862242     0.3815705     0.2394650                  Optimization Theory and Applications 66, 455-475, 1990.
                                                                          [15]   J.Rajgopal and D.L.Bricker: Solving Posynomial geometric
                                                                                 programming problems via generalised linear programming,
Ideal solution of the two objective functions are given                          Computational Optimization and Applications 21, 95-109,2002.
below:                                                                    [16]   C.H.Scott and T.R.Jefferson: Allocation of resources in project
f1 = 0.33333; x1 = 236.9322; x2 = 710.7964; x3 = 0.0042206                       management, International Journal of Systems Science 26, 413-420,
and f2 = 0.1421595; x1 = 2.148558; x2 = 9.82199;                                 1995.
x3=0.3490711.                                                             [17]   H.D.Sherali: Global Optimization of nonconvex polynomial
                                                                                 programming problems having rational exponents, Journal of global
                                                                                 Optimization 12, 267-283, 1998.
                                                                          [18]   S.B.Sinha, A.Biswas and M.P.Biswal: Geometric Programming
                                                                                 problem with negative degrees of difficulty, Europian Journal of
                                                                                 Operations Research 28, 101-103, 1987.




                                                                    85                                    http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                Vol. 7, No. 2, 2010
[19] B.M.Worrall, M.A.Hall: The analysis of an inventry central model
     using posynomial geometric programming, International Journal of
     Production Research 20, 657-667, 1982.
                                                                                K.K.Biswal: Mr.K.K.Biswal received M.Sc.(Mathematics)
[20] H.J.Zimmermann : Fuzzy programming and linear programming with
                                                                                from Utkal University in 1996. Currently he is a lecturer in
     several objective functions, Fuzzy sets and systems 1, 46-55, 1978.        Mathematics at CTTC, Bhubaneswar, India. He is
[21] H.J.Zimmermann: Fuzzy set theory and its applications, 2nd ed.             performing research works in Geometric Programming. He
     Kluwer Academic publishers, Dordrecht-Boston, 1990.                        is served more than 7 years in different colleges in the state
                                                                                of Orissa. He has published 2 research papers in different
                         AUTHORS PROFILE                                        journals.
Dr.A.K.Ojha: Dr.A.K.Ojha received a Ph.D(mathematics)
from Utkal University in 1997. Currently he is an Asst.Prof.
in Mathematics at I.I.T. Bhubaneswar, India. He is
performing research in Nural Network, Geometric
Programming, Genetical Algorithem, and Particle Swarm
Optimization. He has served more than 27 years in different
Govt. colleges in the state of Orissa. He has published 22
research papers in different journals and 7 books for degree
students such as: Fortran 77 Programming, A text book of
modern algebra, Fundamentals of Numerical Analysis etc.




                                                                           86                              http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                    International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                     Vol.7, No.2, February 2010



    Use of Service Curve for Resource Reservation in
             Wired-cum-Wireless Scenario
                          Nitul Dutta                                                             Iti Saha Misra
       Sikkim Manipal Institute of Technology, Computer                                Jadavpur University, Electronics &
                Science & Engg. Deptt., India                                           Telecommunication Engineering
                                .                                                             Department, India
                                                                                                       .

 Abstract- In a network, arrival process is converted into                of amount of data which may be handled by different
 departure process through network elements. The departure                network elements preserving the QoS to the ongoing traffic.
 process suffer propagation delay in the link, processing delay at                 Rest of the paper is organized as follows. There are
 the network elements like router and data loss due to buffer              a lot of research work carried out on network calculus and
 overflow or congestion. For providing guaranteed service
 resources need to be reserved before conversation takes place.
                                                                           its application in performance measure of network
 To reserve such resources estimation of them are indispensable.           architecture. Section II is a discussion of few of such works
 The idea of service curve gives beforehand deterministic value            with the motivation. Mathematical overviews of the
 of these parameters. In this paper, we aim to minimum and                 network calculus along with a few definitions are found in
 maximum buffer space required in the router, minimum link                 section III which will help readers to have a clear
 capacity required to guarantee a pre-specified end-to-end delay           understanding of the rest of the paper. The concept of
 for an ongoing session in a wired-cum-wireless scenario by                service curve and its application to measure various
 analyzing minimum and maximum service curve. We assume                    resource requirements for providing guaranteed service is
 that the network we are analyzing is an IP based mobile                   elaborated in section IV. The wired-cum-wireless scenario
 network. The findings of the work are presented in the form of
 tables which can be used for resource reservation to offer
                                                                           for which we have carried out the various service curve
 quality service to end-users.                                             analysis is briefly explained in section V. Findings of this
                                                                           work are presented in a tabulated form in section VI along
 Key words: Service Curve, Network Calculus, Convolution Operator,         with a brief discussion of various parameters used for
 Causal Process                                                            calculation. Finally, paper is concluded in section VII.

                         I. INTRODUCTION                                               II.   RELATED WORK AND MOTIVATION

        Proper analysis using network engineering                                  A concise discussion on some of the research work
techniques enhance the strength of any network architecture                related to network calculus and its application is presented
for world wide deployment. This analysis may be done                       in this section. The work of [1] presents a non-probabilistic
either by probabilistic or deterministic method. In this work              approach for bursty data is modeled for deterministic
we want to study the behavior of traffic flow in a mobile IP               bound through network calculus. The calculus they have
based wired cum wireless scenario by means of                              developed gives a measure of bounds on delay and buffer
deterministic method for an intrinsically stochastic stream                requirement in a packet switched network under a fixed
source to provide guaranteed service. Network calculus has                 routing strategy. Another similar research presented in [2],
undergone a lot of development as a sophisticated tool for                 have analyzed a conceptual framework for flow of data in
performance analysis in traffic engineering. This tool can be              integrated services network model and analyzed the
used to engineering networks with worst case performance                   behavior of open loop, rate based flow control protocols, as
guarantees in presence of variety of network elements like                 well as closed loop, window based flow control protocols.
shapers, multiplexer and propagation delay. Here, emphasis                 They have modeled links, propagation delays, schedulers,
is given to evaluate the performance of the network taking                 regulators, and window based throttles by using lower and
into account the minimum and maximum service curve so                      upper service curve. Finally, a measure of end-to-end delay
that a measure of minimum and maximum end-to-end delay,                    bounds and maximum buffer requirement is measured
requirement of buffer and link capacity for a wired-cum                    using service curves. The paper provides a good
wireless scenario can be made in advance to provide quality                understanding of service curve for performance analysis
of service (QoS) guarantee in the network. Minimum service                 with examples. Lot of propositions are proposed and
curve gives a measure of minimum data required at a                        proved in the paper which may be used as a basis for other
network element (say router) for efficient utilization of the              research work. The objective of [3, 4] is to introduce
service rate and the upper service curve provides a measure                stochastic network calculus as an evolving new

  This work is supported by All India Council For Technical Education
  (AICTE), New Delhi, India under Research Promotion Scheme (RPS)
  F.No. 8032/BOR/RID/RPS-234/2008-09.
   .
                                                                     87                              http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                  International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                   Vol.7, No.2, February 2010

methodology for backlog and delay analysis of networks               Definition 1. Process: A process A ( t ), t ∈ ℜ is defined as
that can account for statistical multiplexing gain. They             a non-decreasing and right continuous function of time
promote the advances of stochastic network calculus by               which could count the amount of data arriving or departing
deriving a network service curve, which expresses the                to or from some network element [12,13].
service given to a flow by the network as a whole in terms                   A(t) is a mapping from the real number in to the
of a probabilistic bound. Through the presented network              extended nonnegative real numbers which is
service curve a calculation of statistical end-to-end delay          mathematically represented as A : ℜ → ℜ + ∪ { +∞ }
and backlog bounds for broad classes of arrival and service
distributions are measured. The benefits of the derived              Definition 2. Causal process: A process A(t ), t ∈ ℜ is said
service curve are illustrated for the exponentially bounded          to be causal if it has the property A ( t ) = 0 for t<0 [12].
burstiness (EBB) traffic model. Their work deals with the                    A causal process will be identically zero for all
traffic flow through a series of network elements from               negative times. For example if A(t) is a causal process
source to destination and shows that end-to-end                      representing the amount of traffic fed to an agent, then A(t)
performance measures computed through a network service              is the amount of data (in bits ) arriving to the agent in the
curve are bounded by O(HlogH), where H is the number of              interval ( −∞ , t ] .
network elements traversed by the flow. Using currently              Definition 3. Supremum: Let S is a subset of real number
available techniques, which compute end-to-end bounds by
                                                                      ℜ such that ∃b ∈ ℜ , and ∀ s ∈ S , s ≤ b . Then subset S is
adding single node results, the corresponding performance
measures are bounded by O(H3). Their work is inclined                said to be bounded above. In such case it can be proved
towards statistical approach rather than deterministic               that there is a number u and i) ∀ s ∈ S , s ≤ u and ii) For
approach, which describes arrival process and offered                every b, b upper bounds S, u ≤ b . The number u is the least
service probabilistically while preserving the elegance and          upper bound of S and called supremum or sup of set S. It is
expressiveness of the original framework.                            denoted as u = sup{ s : s ∈ S } [12 ].
        In wired-cum-wireless networks, resources in the                     Supremum is the smallest real number that is
wireless part is more precious as compared to that in the            greater than or equal to every number in S. A real number
wired part. The situation becomes more complicated when              is said to have the completeness property and for this
wireless nodes are mobile. There are plenty of network               property every non-empty subset of real number that is
layer protocols to support communication efficiency in               bounded above has a supremum that is also a real number.
such wireless environment. Mobile IPv6 (MIPv6) [5] and
Hierarchical mobile IPv6 (HMIPv6) [6] are two widely                 Definition 4. Infimum: Let S is a subset of real number
used protocols with seamless mobility and best effort                 ℜ such that ∃a ∈ ℜ , and ∀ a ∈ S , a ≤ s . Then subset S
service. But in most of the cases guaranteed service is quite
                                                                     is said to be bounded below. Then there is a greatest lower
demanding rather than a best effort service. Many authors
                                                                     bound l which is called the infimum of S and is denoted by
have proposed the use of Integrated Services (IntServ) [7]
                                                                      l = inf{ s : s ∈ S }. [12 ].
with Resource Reservation Protocol (RSVP) [8, 9, 10] to
provide guaranteed service when MIPv6 or HMIPv6                               Infimum is the biggest real number that is smaller
protocols are used. But while using RSVP, measurement of             or equal to every real number in S. If no such number
resource requirement for any traffic flow is a complicated           exists, then inf(S) = -∞ and if S is empty then inf(s) = ∞.
task. Especially in wireless environment the situation is
worst. In such a situation network calculus is supposed to           Definition 5. Convolution operation (*): If A (t ) and
be the best method to estimate the amount of resource                 B (t ), t ∈ ℜ , are non negative non decreasing causal
requirement for guaranteed service under various traffic             functions then, convolution of these two functions is defined
conditions. This fact motivated us to do this research in a          as ( A * B )( t ) := inf ( A (τ ) + B (τ − t )) [4,12 ].
mobile IPv6 based wired-cum wireless scenario to make                                      τ ∈ℜ
use of RSVP protocol.                                                        Convolution operation produces a third function
                                                                     from any two functions and may be viewed as modified
              III.   MATHEMATICAL MODELING                           version of one of the original functions.

         Service curve specifies how the arriving stream of          Definition 6. Identity element δ(t) is defined as a process
packets is converting into a departing process. Service              such that δ ( t ) = 0 for t<0 and ∞ otherwise and satisfies
curve can model a variety of network elements like router,           the equality δ d (t ) = δ ( t − d ) [12]. For any causal process
link capacity etc. Before we proceed further, some
definitions are presented here for clarity of the reader.            A(t), ( A * δ d )( t ) = A ( t )
These definitions are used in the subsequent sections in the
paper.



.
                                                                88                                      http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                       International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                                        Vol.7, No.2, February 2010

                    IV.   SERVICE CURVE CONCEPT                                          non-decreasing causal functions. If D(t ) ≥ A(t ) * S (t ) , then
                                                                                                                                                       −

          Service curve scientifically and mathematically                                S(t) is a lower service curve and if D ( t ) ≤ A ( t ) * S ( t ) , then
                                                                                           −
justifies the theoretical utilization and efficiency based on                            S (t ) is called upper service curve. The operator * is the
the incoming traffic to any network system. Service curve                                                                             −
may be either lower or upper. The lower service curve                                    convolution operation. If S ( t ) = S ( t ) then, S is called
deterministically evaluates amount of network traffic which                              service curve[12 ].
is must to proper utilization of the service of the
multiplexer. On the other side, the upper service curves                                                        V.    THE NETWORK SCENARIO
gives a deterministic measure of maximum allowable data
which could be fed to the multiplexer without degrading                                           In Figure 2, a sample network scenario is depicted
the end-to-end QoS. Both the upper and the lower service                                 for which various performance parameters are analyzed in
curve are dependent on the traffic arrival rate, service rate                            accordance with the service curve. Different components of
or processing rate of the multiplexer and bandwidth of the                               the scenario are discussed below.
outgoing line in the multiplexer. To understand the concept
clearly, let us consider Figure 1.

                     A(t)             S                 D(t)                                                         CN

                                      S-
                   Figure 1: Service curve of a network element
      In a network multiplexer, A(t) is the amount of traffic                                                              AR
arrived at a duration of time t which is passed through the
link with the capacity C bps and D(t) is the amount of data
which is being departed within time t. Let us assume that
the source data generates in minimum r bytes per sec and
delivers to the multiplexer as a packet of Lmax bytes which                                                                                    MN
is transmitted through the multiplexer. If data is not                                                 Figure 2: Example Wired-cum-Wireless scenario
regulated by the source before delivering it to the channel
for transmission, then any byte may be delayed by at most                                            A mobile node (MN) is connected to Access
 L max unit time. At time t - L max   , arrived traffic is less                          Router (AR). AR serves MNs within a specified region
      r                                     r                                            called cell. All MNs in the cell communicate with the
than the traffic that could be departed from the system. So,                             Correspondent Node (CN) via same AR. We are intended
                                    L max     (1)                                        to study delay suffered by packets from MN to CN, buffer
                    D (t ) ≥ A (t −       )
                                                    r                                    space required at AR to store access data so that guaranteed
From the definition of identity element δ(t) and convolution                             service can be offered by reserving resources beforehand.
operation of identity element with A(t), we can rewrite                                  A measure of minimum bandwidth required to support
equation (1) as                                                                          guaranteed service with a pre specified delay is also made
                    L                                                                    in the analysis. Observation is made by splitting the entire
           A ( t − max ) = ( A * δ L max )( t )
                      r                  r                                               scenario into two parts; wireless and wired segment. First
i.e                                                                                      we calculate the minimum and maximum delay of packets
                    D ( t ) ≥ ( A * δ Lmax )( t )                                        from MN to AR and then from AR to CN. We assume that
                                        r                  (2)                           several audio sessions are connected to CN from MN and
                                                                                         traffic to wireless channel is injected by an envelope of (σ,
          ∂ Lmax                                                 ∂ Lmax                  ρ). There is no such regulator maintained at AR and data is
Hence,             is the lower service curve. If                         is very
            r                                                      r                     allowed to pass to the wired link as long as bandwidth is
small, service rate of the multiplexer is under-utilized.                                available and buffered otherwise. A measure of minimum
Again, if the source generates data in such a speed that                                 bandwidth required to maintain a pre specified end-to-end
before time t - L max the amount of data exceeds the data                                delay is also made for the scenario.
                          r                                                                   Under an AR there may be a group of MNs. The
that the multiplexer could server, hence backlog will                                    arrival process A(t) is influenced by the traffic of MNs
generate.                                                                                under the coverage of the AR. As the number of MNs
         Let us now define lower and upper service curves                                which are distributed under different ARs increases, the
                                                −                                        A(t) increases. The service rate of the AR remains constant.
mathematically. Let S(t) and S (t ) are two non-negative,                                This is also true for departure process D(t) which may vary



.
                                                                                    89                                    http://sites.google.com/site/ijcsis/
                                                                                                                          ISSN 1947-5500
                                                      International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                       Vol.7, No.2, February 2010

depending upon A(t) as long as it does not exceed the total                     d max = inf{d : d ≥ 0, E * δ d max ≤ S}
capacity of the outgoing line of the AR. Once the arrival                                                                          (5)
process exceeds the capacity of the outgoing link or the                 and
                                                                                                  −
service rate of the AR is not sufficient to attend the arrival                  d min = sup{ t : s ( t )} = 0
process, backlog is generated. A fixed length buffer is                                                                            (6)
assumed to be maintained in each of the AR to minimize
data loss. Hence, if the buffer is full the data will be                 B. Buffer requirement
dropped and performance of the network is said to be
degraded. As a result, to maintain desired quality of                           Buffer requirement is another important parameter to
services to the network traffic, either we have to restrict the          adjust for providing guaranteed service to end users. Too
total number of MNs under an AR or session should be                     large buffer space introduces high end to end delay. For
stopped at the connection establishment phase.                           traffic with high temporal dependencies, such long delay
      In the next subsection we will discuss delay, buffer               results in data delivery which is of no use to the end users.
space and link capacity with respect to the above network                These data unnecessarily consume network bandwidth. If
scenario so that a measure could be made to provide                      buffer space is too small more number of packets is
preferential treatment to certain traffic in the network.                dropped. In case of stream traffic, around 2-5% of packet
                                                                         drop is acceptable to end users [1]. But for elastic traffic
A. Delay analysis                                                        even a single packet loss is unacceptable and needs
                                                                         retransmission of the packet. These retransmitted packets
       Delay experienced by traffic passing through any                  consume considerable amount of bandwidth. In this
network element is either upper and lower bounded by dmax                subsection buffer requirement for traffic session is analyzed
and dmin respectively. If delay exceeds dmax then the packet             in terms of arrival and departure process and service curve.
is of no use to the end. If dmin is very low and end user                Maximum buffer requirement may be expressed as,
cannot consume the data at the rate with which it arrives,                                    A(t ) − D(t ) ≤ bmax (7)
buffer overflow will occur in the destination. If more                   i.e. when amount of data arrived is larger than the data that
packets are lost due to buffer overflow, end system may not              could be departed from the system than backlog is
make use of the arrived data properly. To support                        generated. In terms of envelop E and service curve S
guaranteed service to end users, the values of dmax and dmin
should be within the range such that end users can tolerate
the delay or can make the other alternative (like buffer) to                                  E (t ) ≤ bmax + S (t ) (8)
adjust the delay. Again, let us examine the delay bound in a             From the definition of envelop and service curve
traffic flow with arrival process A(t) and departure process
D(t). From the definition of A(t) and D(t) and value of dmin                    A(t ) − D(t ) ≤ A * (bmax + S (t )) − A * S (t )
and dmax we can have
                                                                               A(t ) − D(t ) ≤ A * bmax + A * S (t ) − A * S (t )
        A(t − d max ) ≤ D (t ) ≤ A(t − d min )        (3)
                                                                                           A(t ) − D(t ) ≤ A * bmax
It implies that amount of packets arrived till the time t-dmax                    Or b max = sup{ E ( t ) − S ( t ) : t ∈ ℜ }
cannot exceed the amount of traffic departed from the                                                                         (9)
system but the amount of traffic arrived at time t-dmin may              C. Link Capacity
exceed the amount departed from the system at time t.
      To provide guaranteed service to end users these two                       Every physical device in the network is connected
parameters must be selected carefully taking both the                    via communication link of fixed capacity which is known
characteristics of the A(t) and D(t) into account. Using the             as topology. The maximum transmission capacity or simply
shift operator and its definition δ d (t ) = δ (t − d ) where,           the capacity of a link is measured in bits per second or bps.
δd is the shift operator and for any process A*δd (t) = A(t −d) .        This link capacity also has direct influence on the
                                                                         performance of the network and hence on the quality of
Hence, equation (3) may be rewritten as                                  service to be offered to a particular flow. So link capacity
        A * δ d max (t ) ≤ D(t ) ≤ A * δ d min (t )   (4)                can also be modeled as a service curve element with
                                                                         maximum allowable transmission capacity in terms of bps.
                                                                                 Let us assume that the capacity of the link under
Comparing equation (4) with minimum and maximum                          observation is C bps. It implies that for any instance of time
service curve definition, it could be stated that the delay              t, it can transmit only C(t) amount of data through it. In
element is a service curve element with minimum value                    terms of departure process D(t), it holds the inequality,
δdmin and maximum value δdmax. Mathematically,




.
                                                                    90                                http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                                 International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                                  Vol.7, No.2, February 2010


                               D(t ) ≤ C (t )                                     A network session which allow maximum delay of T,
                                                                                                             ⎛ E ( t ) − Ct ⎞
also for any τ ≤ T, we can have                                                                    sup t ≥ 0 ⎜              ⎟≤T
                                                                                                             ⎝       C      ⎠
                      D(t) − D(τ ) ≤ C(t −τ )                                     Here C=Cmin, and hence
                                                                                                               ⎛ E (t ) − C         t ⎞
                                                                                                               ⎜                      ⎟ ≤ T
                                       D(t ) ≤ A(t ) , so
                                                                                                                              min
Since we have mentioned that                                                                       sup   t≥0   ⎜                      ⎟
                                                                                                               ⎝      C min           ⎠
                        D(t) ≤ A(τ ) + C(t −τ )                                                                    E (t ) − C min t ≤ C min T
                                                                                  Or                                                                  ⎛ E (t ) ⎞
or                                                                                                                            C min ≥ sup       t≥0   ⎜        ⎟.
                                                                                                                                                      ⎝T + t ⎠
                      D ≤ A*C         (12)                                        Strict inequality cannot hold in this case. So,
In the above expression, C is the amount of data which is
                                                                                                                E (t )
passed through the link and denoted by Ct for t≥0 and 0                                             C min =                             (16)
otherwise. It is worthwhile to mention that when a single                                                       T +t
link is shared by number of different sessions, then the total
capacity of the link is not dedicated to a single flow. To                                        VI.   RESULTS AND DISCUSSIONS
provide QoS to end users an amount of the capacity needs
to be reserved in advance.                                                               Results are discussed with respect to wired-cum-
         For the arrival process, A(t) passes through the link                    wireless scenario depicted in Figure 2. To realize the traffic
with lower service curve S(t)=Ct, we can find the minimum                         flow we have considered that several traffic sessions exist
link capacity required to suffer a maximum delay of T by                          from a mobile node (MN) to a correspondent node (CN)
any traffic flow [12]. Source generating data at a rate r, has                    via the Access Router (AR). Each of the MN may have
envelop E= rt. If the flow is regulated through (σ,ρ)                             multiple number of ongoing sessions and maintains an
process, the envelop E(t)=min(rt,( σ+ρt)). Equation (5)                           envelope of (σ, ρ) where σ=5kb and ρ=200kbps. Different
may be rewritten as                                                               parameters like end-to-end delay, buffer requirements and
                                                                                  link capacity are observed for various wireless link
            d max = inf{ d : E * δ d ≤ S }                (13)                    capacities of 64kbps, 128kbps and 256kbps through which
                                                                                  MNs are connected to the AR with a propagation delay of
This may be shown graphically as below [12],
                                                                                  20ms. AR serves incoming packets at a rate of 400kbps and
              E(t)                                                                takes a processing delay of 10ms. AR is connected to the
                                     C .t                                         CN via a wired T1 link of capacity 1.2mbps and packet
                                                                                  suffers a propagation delay of 25ms. To simplify our
                rt                                                                analysis we have segmented the entire architecture of
                                                      σ (r − C )                  Figure 2 into two parts: wireless and wired and examined
                 σ                                     (r − ρ )                   the parameters separately. Then we combined these
                                                                                  parameters to evaluate the resources required to provide
                                                                                  guaranteed service for the whole architecture.
                        dmax                                        t                       Wireless Link                           Access Router

        Figure 3: Representation of maximum delay and buffer size                       Service                               Service           Processing
                                                                                                         Delay                 Rate            .Delay
Depending on dmax the envelop may fall below or exceed                                   Rate
service curve S(t). To minimize the backlog in the system,
                                                                                           Figure 4: Service curve elements in Wireless segment
dmax should be shifted to left such that it falls below S(t). In
such case,                                                                              With this example scenario, now we will examine the
                                                                                  performance of the network in terms of service curve
                               σ (r − C )                                         elements end-to-end delay and buffer requirement and
                 b max =                         (14)
                               C (r − ρ )                                         bandwidth required so that a guaranteed service could be
                                                                                  provided by reserving such resources. Stated scenario may
If r>ρ, link capacity decreases and bmax changes from 0 to                        be represented by a series of service curve element as given
 σ . If C< ρ, it leads to infinite buffer build up. In terms of                   in figure 4.
C
Envelop and A(t)                                                                       E(t) : envelope of the incoming traffic
                                                                                       S1(t): service rate of wireless link
                                       ⎛ E ( t ) − Ct ⎞                                S2(t): propagation delay suffered by packet in the
                     d max = sup t ≥ 0 ⎜              ⎟     (15)
                                       ⎝       C      ⎠                                       wireless segment




.
                                                                             91                                    http://sites.google.com/site/ijcsis/
                                                                                                                   ISSN 1947-5500
                                                         International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                          Vol.7, No.2, February 2010

     S3(t): rate of service offered by AR                                 propagation delay in the wireless network. Similarly, the
     S4(t): service rate of wired link                                    total processing delay in the system is for the service curve
     S5(t): propagation delay suffered in wired link                                                                      k
                                                                          element S3(t) and it is denoted by φ = ∑φi = 10ms where k
     E (t ) = 5 kb + 200 kbps .t        (17)
                                                                                                                         i =1
     s ( t ) = 64 kbps .t               (18)
       1                                                                  is the number of service curve elements that introduces
      s 2 (t ) = δ 20 ms (t ) = 20 ms .t   (19)                           processing delay in the network. Using envelop of the
                                                                          source σ=5kb and ρ=200kbps. There is only one router
      s 3 ( t ) = − 0 . 4 kb + 400 kbps .t (20)
                                                                          (AR) that forwards the packet with a service rate of 400
      s 4 ( t ) = 1 . 2 mbps .t            (21)                           kbps and it is the total service rate of the system denoted by
      s 5 (t ) = δ 25 ms ( t ) = 25 ms .t  (22)                           p, i.e. p=400 kbps. From the above discussions the
Based on discussion in section V we have represented the                  following parameters are derived and given in Table -I:
characteristics of different elements of example parameters
in terms of service curve. Inclusion of t in all the equations                     Minimum delay = θ=20 ms,
is to represent them as causal process of time. Equation                           Maximum delay = θ+σ/r=20ms+12.5ms=32.5ms
(17) represents the envelop maintained by the source with                          Maximum buffer size = σ+ρθ=5kb+9kb=14kb
parameters σ=5kb and ρ=200kbps and only the rate (ρ) of                                  TABLE I :: DELAY AND BUFFER REQUIREMENT
injecting data in to the network is dependent on the time.
Equation (18) and (20) is the service curve of wireless and                    Wireless           Minimum          Maximum           Buffer
                                                                              Bandwidth            Delay             Delay            Size
wired link capacity respectively, whereas, the delay for                        (kbps)              (ms)              (ms)            (kb)
both the links are represented by equation (19) and (22).                         64                 20          32.5078125            14
Equation (22) models the service of AR. All though AR has                        128                 14          38.039062             56
a service rate of 400 kbps, in reality actual service rate is                    256                 12          35.019531            100
lower than 400kbps because of the processing time of the
AR. The negative component of the equation (22) reflects                  Consider an example of a voice coder emitting 10ms
the processing delay of the AR in is service curve.                       speech and 10 bytes per frame. The rate of injecting data to
         Now from the service curve representation of                     the channel is 8kbps. In the Table-II, we have shown the
individual network elements, the maximum and minimum                      minimum bandwidth required by the application and
service curve for the wireless segment is represented by                  number of such sessions that can exhaust the link capacity.
equation (23) and (25) respectively. Substituting values for                                 TABLE II : DELAY FOR VOICE DATA
parameters in the equations (25) and (26) and expanding as
                                                                              Wireless         Acceptable     Buffer Space          Sessions
in [2], equation (24) and (26) is derived.                                   Bandwidth           Delay        Required (kb)        Supported
                           −
                                                                               (kbps)             (ms)
                           s = s1 * s 2           (23)                           64            35.078125           130                 8
and calculated as,                                                              128            35.039062           250                16
                 −                                                              256            35.019531           500                32
                 s = − 72 . 8 kb + 64 kb / st (24)
                                                                                   Data shown in Table–II represents maximum
                                                                          tolerable delay by each of the session, total session that can
Similarly, minimum service curve is given by
                                                                          exhaust entire bandwidth of a wireless link and the buffer
                         s = s1 * s 2 * s3        (25)                    space required to cope up with the delay by the end
                                                                          application. Recorded data shows that maximum end-to-
and calculated as
                                                                          end delay and buffer space required per session decreases
                    s = − 26 .4 kb + 64 kb / s.t (26)                     when link capacity increases. On the other hand, total
                                                                          sessions supported are more if channel capacity is large.
       Now, we will make a measure of different resources                 Increased supported session increases the buffer space
required for providing guaranteed service to end users                    required to provide guaranteed service at the AR of the
[12,2,3]. Consider that θ i , φi ri and pi are the propagation            wired-cum-wireless scenario. The AR is connected to the
delay, processing delay, transmission rate and service rate               destination via T1 link of capacity 1.2mbps. Next follows a
respectively at i-th service curve element. So, from S1(t),               calculation of the above observed parameters for wired part
r = min 1≤i ≤k ri is the minimum service rate of the wireless             of the network. Assumption is made that AR does not
                                     k
                                                                          maintain any regulator and allows passing data as and when
segment. Again, from S2(t), θ = ∑θ i = 20ms where k is the                channel is free. For the AR, the following parameters are
                                    i =1                                  assumed
number of service curve elements that introduces                          φ: processing delay of AR = 10ms




.
                                                                     92                                 http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                       International Journal of Computer Science and Information Security (IJCSIS),
                                                                                                        Vol.7, No.2, February 2010

C : capacity of outgoing T1 link = 1.2 Mbps                             aim of this paper is to measure end-to-end delay suffered
Lmax : size of a packet = 8kb                                           by each of the flow in such scenario and buffer requirement
Propagation Delay = L max = 8 kbps = 6 . 67 ms                          to cope up with the end-to-end delay and minimum
                         C        1 . 2 Mbps                            bandwidth required by end applications so that a
                                                                        guaranteed service can be provided to the end user. All the
It adds another delay to the outgoing data packets as
                                                                        service curve elements that contributed to the flow are
processing delay of AR and propagation delay of wired link
                                                                        identified first and their influences to maintain a minimum
(10ms and 6.67ms). The link capacity consumed (Ccon) by
                                                                        and maximum service curve is analyzed. With the help of
the session is calculated as
                                                                        examples the parameters like maximum and minimum
                                   C
                          C con =                                       delay suffered by a packet and the total buffer requirement
                                  Loff                                  is also shown in this paper. The process can be extended to
where Loff is the offered load and C is the link capacity.              any number of nodes related to the wireless environments.
Applying data from Table II and assuming there are                      With the growing world of wireless users in this day,
sufficiently large number of MNs available to exhaust the               guaranteed QoS is a major concern. This paper shows a
total capacity of the wireless link during transmission of              way to calculate the QoS parameters in a wired-cum-
data to AR. For the first case with wireless link capacity              wireless scenario.
64kbps, there are eight numbers of sessions that
continuously sending data to the AR. So, number of                                                   REFERENCES
sessions that can exhaust the entire wired bandwidth is
calculated as,                                                          [1] Rene L. Cruz et. al., “A Calculus for Network Delay Part I: Network
                                                                        Element in Isolation”, IEEE Transactions On Information Theory , Vol.
                       1 . 2 Mbps                                       37, No. 1, June 1991.
             C con =                = 18 . 75 ≈ 18
                        64 Kbps                                         [2] R. Agarwal et. al, “Performance Bounds for Flow Control Protocols”,
                                                                        IEEE/ACM Transactions On Networking, Vol. 7, No. 3, June 1999.
Approximately 18 numbers of MNs can be supported by                     [3] Florin Ciucu, “A Network Service Curve Approach for the Stochastic
                                                                        Analysis of Networks”, SIGMETRICS’05, June 6–10, 2005, Banff,
the AR distributed over various parts of the cell offering              Alberta, Canada 2005 ACM.
eight sessions per MN. Similarly, in Table – III, we have               [4] Florin Ciucu et al,, “Scaling Properties of Statistical End-to-End
noted down the number of supported MNs for wireless link                Bounds in the Network Calculus”, IEEE Transactions On Information
of various capacity.                                                    Theory, Vol. 52, No. 6, June 2006.
                                                                        [5] Johnson and C. Perkins, "Mobility support in IPv6," IETF draft,
             TABLE III :: MN SUPPORTED IN THE SCENARIO                  draftietf-mobileip-ipv6-15.txt, July 2001.
        Wireless             Number of MNs           Session            [6] H. Soliman et al. Hierarchical mobile IPv6 mobility management
       Bandwidth                supported           supported           (HMIPv6)”. Internet draft, 4(1), 2003.
        (Kbps)                                                          [7] R. Braden , D. Clark , S. Shenker, “Integrated Services in the Internet
           64                      18                   8               Architecture: An Overview”, RFC Editor, 1994
          128                       9                  16               [8] R. Braden,et al ,“Resource ReSerVation Protocol (RSVP)”, RFC 2205,
          256                       4                  32               September 1997.
                                                                        [9] Nen-Fu Huang1 and Whai-En Chen ,“RSVP Extensions for Real-
                                                                        Time Services in Hierarchical Mobile IPv6 Mobile Networks and
      Data given in the table-III provides a measure of                 Applications”, Springer Netherlands, Volume 8, Number 6 / December,
various parameters like total allowable sessions per mobile             2003.
node in a sample wired-cum-wireless scenario. In such                   [10] Architecture Zheng Wan, Xuezeng Pan, and Lingdi Ping , “QoS
                                                                        Provisioning in an Enhanced FMIPv6”, ICCSA 2005, LNCS 3481, pp.
scenario we have measured the buffer requirement and link               704 – 713, 2005.
capacity required to meet a pre-specified end-to-end delay.             [11] Nitul Dutta, ,Iti Saha Misra, “Handoff Latency and Packet Dropping
The measured quantities can be used to provide guaranteed               Probability In Layered Mipv6: A Mathematical Analysis”, IACSIT
service to end-users by reserving different resources before            International Conference On Computer Ad Network Technology (ICCNT
                                                                        2009), July 24-26, 2009, Chennai, India.
starting the conversation. We can make use of the well
                                                                        [12] Anurag Kumar, D. Manjunath, Joy Kuri, Communication Networking
known Resource Reservation Protocol (RSVP) [10] of                      An analytical Approach, Morgan Kaufmann Publisher, Elsevier, ISBN 81-
Integrated services (IntServ) for reserving resources. The              8147-593-3, 2005.
calculations and data presented here provide a mechanism                [13] Julian Eckert et al. “Worst-Case Performance Analysis of Web
                                                                        Service Workflows” , Proceedings of iiWAS 2007.
to use network calculus to compute resource requirements
to apply Integrated Services in wired-cum-wireless
environment where resources are very precious.

                       VII.   CONCLUSION

       In this paper, an analysis is made for different
sessions in a wired cum wireless environment. The main




.
                                                                   93                                   http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010

Analysis, Modification, and Implementation(AMI) of
Scheduling Algorithm for the IEEE 802.116e (Mobile
                     WiMAX)
                                    C. Ravichandiran1, Dr. C. Pethuru Raj2, Dr. V. Vaidhyanathan3,
                               1
                              IT Leader, Zagro Singapore Pte Ltd, Singapore.
                2
                    Lead Architect, CR Division of Robert Bosch, Bangalore, India.
                        3
                          Professor and HOD, Dept. of IT, SASTRA University, India.


Abstract— Mobile WiMAX (Worldwide Interoperability for                             Orthogonal Frequency Division Multiple Access
Microwave Access) is being touted as the most promising and                 (OFDMA) for improved multipath performance in non-line-of-
potential broadband wireless technology. And the popularity rate            sight (NLOS) environments and high flexibility in allocating
has been surging to newer heights as the knowledge-backed                   resources to users with different data rate requirements. The
service era unfolds steadily. Especially Mobile WiMAX is being              fundamental premise of the IEEE 802.16e media access control
projected as a real and strategic boon for developing counties              (MAC) architecture is QoS. Mobile WiMAX QoS features
such as India due to its wireless coverage acreage is                       enable operators to optimize network performance depending
phenomenally high. Mobile WiMAX has spurred tremendous                      on the service type (e.g., voice, video, and gaming) and the
interest from operators seeking to deploy high-performance yet              user’s service level. In wireless communication the task of
cost-effective broadband wireless networks. The IEEE 802.16e                taking care of resources being utilized falls into Radio
standard based Mobile WiMAX system will be investigated for                 Resource Management (RRM).                RRM, in general, is
the purpose of Quality of Service provisioning. As a technical              responsible for the improvement of efficiency and reliability of
challenge, radio resource management will be primarily                      radio links, but in particular it enables many specific operations
considered and main is the costly spectrum and the increasingly             are below:
more demanding applications with ever growing number of
subscribers. It is necessary to provide Quality of Service (QoS)                Rate control: To be capable of utilizing the bandwidth more
guaranteed with different characteristics. As a possible solution           efficiently and maintain the quality of the radio links Adaptive
the scheduling algorithms will be taken into main consideration             Modulation and Coding (AMC) technique is used in wireless
and the present well known algorithms will be described.                    communication. Channel assignment: Mapping the most
                                                                            efficient subcarriers to their corresponding symbol times is
In this paper, we have highlighted the following critical issues for        done with the help of the information provided trough RRM
Mobile WiMAX technologies. This paper specifically discussed                Subcarrier permutation: Mainly there are two types of
about the below mentioned in detail.                                        subcarrier permutation: Distributed Subcarrier Permutation:
                                                                            where frequency subcarriers are spread along the whole
•   QoS Requirements For IEEE 802.16 Service Classes,                       allocated transmission band pseudo‐randomly.
    Achieving efficient radio resource management
                                                                                Scheduling System: Scheduling makes up an important part
                                                                            of the communication systems since it is chiefly the process of
•   Deficit Round Robin (DRR) Scheduling algorithm
                                                                            sharing the bandwidth. Therefore, has a significant effect on:
                                                                            The time taken by a packet to travel from one OSI (Open
•   Modified Deficit Round Robin (MDRR) scheduling                          System Interconnection) stack layer to its corresponding peer
    algorithm’s attributes, properties and architecture                     layer. Jitter: The inter‐packet arrival time difference. Packet
                                                                            Loss: The amount of packet being dropped on both the Uplink
•   System Model And Scenarios              Using OPNET Modeler             (UL) and Downlink (DL). Throughput: The number of
    Software                                                                successful bits/packets per second arriving at the receiver [1].
•   Simulation Limitations And Constraints
                                                                                            II.   IEEE   802.16E ( MOBILE WIMAX)
  Keywords- IEEE 802.16, Mobile WiMAX (802.16e), QoS, PHY,                      Mobile WiMAX is expected to deliver significant
MAC, OFDM, OFDMA, OPNET                                                     improvements over Fixed WiMAX which makes it even more
                                                                            attractive for fixed deployments. In wireless environments, link
                          I.       INTRODUCTION                             budget (measured in dB) and spectral efficiency are the two
                                                                            primary parameters used for evaluating system performance
    “Mobile WiMAX” refers to a rapidly growing broadband                    [22]. Mobile WiMAX) standard amendment as the
wireless access solution built upon the IEEE 802.16e-2005 air               investigation host for the discussed scheduling algorithms, thus
interface standard. It is equally applicable to fixed, portable and         from now on any mentioned technology will be those which
mobile applications. The Mobile WiMAX air interface utilizes                are valid for the Mobile WiMAX. For instance, the multiple



                                                                       94                                 http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
access technique considered will be Orthogonal Frequency                 thee OFDMA symbol time(s). Figure 2 could be modified to
Division Multiple Access (OFDMA) rather than the previously              show Subchannelization for OFDMA, as illustrated in Figure 3:
utilized Orthogonal Frequency Division Multiplexing (OFDM)
technique.




Since the packet scheduling theme is mainly done in the MAC
layer of the OSI protocol stack, the main task will be to present           Figure3: Subchannelization in OFDM
a brief background overview on the scheduling procedure                      Note that different colours mean different users. Unlike
related MAC entities; as it will also briefly explain the                OFDM, here in OFDMA data streams from different users are
WiMAX Physical (PHY) Layer inter related functionalities                 multiplexed, rather than using the whole band for a single user
which are involved in the scheduling process[2].                         per one symbol frame. Note also that the subcarriers are not
                                                                         adjacently grouped, but in a random manner. This introduces
A. IEEE 802.16E PHY Layer                                                frequency diversity which is specifically rewarding in the case
    The WiMAX physical layer is based on orthogonal                      of mobile communications (since the channel tends to vary the
frequency division multiplexing. OFDM is the transmission                most among other cases). Adding to that, it allows a better
scheme of choice to enable high-speed data, Big files, video,            application of fairness between the users since the probability
Deficit Round Robin (DRR), and multimedia file and is used               of a user experiencing bad channel impulse response will be
by a variety of commercial broadband systems, including DSL,             less.
Wireless, Digital Video Broadcast-Handheld (DVB-H), and
MediaFLO, besides WiMAX[22].                                             B. IEEE 802.16e MAC Layer
   Basically, OFDM subdivides the channel to multiple                        IEEE 802.16 MAC was designed for point-to-multipoint
subcarriers, where each subcarrier is orthogonal to the other.           broadband wireless access applications. The primary task of the
There are three types of subcarriers:                                    WiMAX MAC layer is to provide an interface between the
                                                                         higher transport layers and the physical layer. The 802.16
   •    Null Subcarrier: used as guard band or DC carriers.              MAC is based on collision sense multiple access with collision
   •    Pilot Subcarrier: used for channel estimation and                avoidance (CSMA/CA). The MAC incorporates several
        channel tracking.                                                features suitable for a broad range of applications at different
   •    Data Subcarrier: carrying the data information.                  mobility rates, as mentioned below[21][7]:
                                                                            •      Broadcast and multicast support.
   Figure 2 illustrates the types of the subcarriers in a 10 MHz            •      Manageability primitives.
channel bandwidth.
                                                                            •      High-speed handover and mobility management
                                                                                   primitives.
                                                                            •      Three power management levels, normal operation,
                                                                                   sleep and idle.
                                                                            •      Header suppression, packing and fragmentation for
                                                                                   efficient use of spectrum.
                                                                            •      Five service classes, unsolicited grant service (UGS),
                                                                                   real-time polling service (rtPS), non-real-time polling
                                                                                   service (nrtPS), best effort (BE) and Extended real-
                                                                                   time variable rate (ERT-VR) service.


                                                                                III.   SCHEDULING ALGORITHMS: ANAYSIS AND MODIFICATION
   Figure 2: OFDM Sub carrier Structure
                                                                         A. Scheduling Algorithms
   Fundamentally, OFDMA is OFDM with the application of
Subchannelization and Time Division Multiple Access                         Packet Switching (PS) networks came into existence, need
(TDMA). Subchannelization basically means to group multiple              was recognized to differentiate between different types of
subcarriers and allocate them to a single user over one, two or          packets. Since then packet scheduling has been a hot research
                                                                         subject and its still being investigated at many




                                                                    95                                http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
institutions/company. This is basically because scheduling                Fairness: Fairness can be defined such that: “If two flows are
means bandwidth sharing.                                                  backlogged, difference between their weighted throughputs is
                                                                          bounded.” Since mobile subscriber stations are considered
    Traditionally, the First Come First Served (FCFS) scheme              equal regardless their location, distance from the BS and
had been used for packet scheduling. Packets coming from all              channel quality, a scheduling algorithm should be able to
the input links were enqueued into a First In First Out (FIFO)            recompense users with poor channel quality and it is based on
memory stack, then they were dequeued one by one on to the                the “Max‐min fair share”.
output link. This is shown in Figure 4‐(a). Since unlike packets
were mixed and treated equally, packets requiring urgent                  Flexibility: A scheduling algorithm should be capable of
delivery could not be achieved. So there is no scheduling action          accommodating users with different QoS requirements.
taking place in this case.
                                                                          Link Utilization: Maximizing the link utilization, especially in
    In the present time different queues are specified to non             the case of wireless communications, is of great significance to
similar packets for achieving packet classification. In this case         service providers. Since the produced income is directly
scheduling should be done. The main task of the embedded                  proportional to this criteria.
scheduling algorithm is to choose the next packet to be
dequeued from the available multi queues and forwarded onto               Protection: A scheduling algorithm is required to protect well‐
the output link. This is illustrated in Figure 4‐ (b) shown below.        behaving users from the misbehaving users. Well‐behaving
                                                                          users are those who stick to the Service Level Agreements
                                                                          (SLA), while the misbehaving users are those who do not
                                                                          comply with the SLA at all times and thus causes
                                                                          unpredictability in the network.

                                                                                      IV.   FUNDAMENTAL SCHEDULING ALGORITHM

                                                                          In the coming subsections the fundamental scheduling
                                                                          algorithms will be briefly described. These basic algorithms
                                                                          make up the foundation of target scheduling algorithm, the
                                                                          Modified Deficit Round Robin (MDRR). Afterwards, a
                                                                          detailed investigation of MDRR will be carried out,
                                                                          emphasizing the modifications made to adjust the algorithm.

                                                                          A. Round Robin(RR)
                                                                              Round‐Robin as a scheduling algorithm is considered the
                                                                          most basic and the least complex scheduling algorithm.
B. Scheduling Algorithm Aim                                               Basically the algorithm services the backlogged queues in a
                                                                          round robin fashion. Each time the scheduler pointer stop at a
   The main aims behind the concept of packet scheduling                  particular queue, one packet is dequeued from that queue and
could be simply defined by four points:                                   then the scheduler pointer goes to the next queue. This is
                                                                          shown in Figure 5.
•   The first and foremost goal of a scheduling algorithm is to
    be able to share the total system bandwidth fairly.
•   The algorithm should be able to guarantee the minimum
    bandwidth per SS. This consequently leads to the
    separation of different demanding SSs.
•   To be capable of meeting packet drop guarantees.
•   To be able to assure latency guarantees.
•   To be capable of reducing latency variation.

C. Scheduling Algorithm Criterions
    On the other hand, metrics on which scheduling algorithms
will be compared are as follows:
Simplicity: This criterion in particular is of significant
importance to the high‐speed networks available in the present
time since a simply implemented algorithm directly leads to a
faster operation and thus lower packet latency. In addition, a
less complex algorithm may also mean a lower implementation
cost. Furthermore, simplicity of the algorithm would also
benefit mobile devices that possess a limited power resource.




                                                                     96                              http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
    Note that in this case all packets are of same length.               deficit counter is deducted by the amount of information being
However, for instance an MPEG video application may have                 served on each pass of the scheduler to the queue. Queues are
variable size packet lengths. This case is shown in Figure 6.            served only if the amount of quantum added to the remaining
                                                                         deficit counter amount from previous round is greater tan zero.
                                                                         Otherwise, the quantum is added only and that particular queue
                                                                         is held till it is served in the next round.
                                                                             On the other hand, when packets of a backlog queue are
                                                                         completely served then any remaining credit in the deficit
                                                                         counter will be set to zero, as the accumulation of credit
                                                                         without being utilized will result in unfairness [3].
                                                                          // qI = Quantum for Queue i;
                                                                          // dcI = Deficit Counter for Queue i;
                                                                          // n = Maximum Packet Size;
                                                                          // pI = Packets in Queue i;
                                                                          // noP = Number of Packets;
                                                                          // pS = Packet Size;

                                                                          for(int i = 1; i <= n; i++)
                                                                          {
                                                                                     if(pI > 0)
It is assumed that queues Q2‐Q5 have constant packet size of                         {
50 bytes and Q1 have a packet size of 100 bytes. Note that in                                    dcI = dcI + qI;
Figure 6, unlike Figure 5, Q1 has superior throughput than the
                                                                                                if(dcI > 0)
other queues.
                                                                                                {
• Previously Q1 was transmitting 3x50 bytes per X interval                                                 do
      = 150 bytes/X interval                                                                               {
• Now Q1 is transmitting 2x100 bytes per X interval = 200                                                           // [Serve Packet]
      bytes/X interval                                                                                              dcI = dcI – pS;
This was caused by transmitting longer packet lengths. Hence,                                              }while(dcI >=0 && noP > 0);
we can deduce that the round robin scheduling algorithm does                                    }
not convey fairness in systems with variable packet lengths,                                    if(dcI >= 0 && noP ==0) // for fairness issues
since RR tends to serve flows with longer packets more[4].                                      {
                                                                                                          dcI = 0; // the dcI is reset
B. Weighted Round Robin(WRR)                                                                    }
                                                                                     }
    Weighted round robin was designed to differentiate flows              }
or queues to enable various service rates. It operates on the                              Table1: DRR scheduling algorithm
same bases of RR scheduling. However, unlike RR, WRR
assigns a weight to each queue. The weight of an individual              Usually the quantum is set to the maximum packet size. This is
queue is equal to the relative share of the available system             done in order to make sure that at least one packet per flow per
bandwidth. This means that, the number of packets dequeued               non‐empty queue is served.
from a queue varies according to the weight assigned to that
queue. Consequently, this differentiation enables prioritization
among the queues, and thus the SSs. Nevertheless, the                                V.     MODIFIED DEFICIT ROUND-ROBIN      (MDRR)
downside of a WRR scheduler, just like an RR scheduler is                MDRR scheduling is an extension of the previously mentioned
that, different packet lengths being used by SSes would lead to          DRR scheduling scheme. There may be different
the loss of its fairness criterion.                                      modifications of the DRR scheme and yet share the name is
                                                                         MDRR. Nevertheless, MDRR is mainly used as a scheduling
C. Deficit Round Robin (DRR)                                             scheme for the 12000 Cisco routers.
    The DRR scheduling algorithm was designed to overcome
the unfairness characteristic of the previous RR and WRR                 The algorithm depends on the DRR scheduling fundaments to
algorithms. In DRR scheduling, every queue is accompanied                a great extent, however, in MDRR the quantum value given to
by a deficit counter which is initially set to the quantum of the
                                                                         the queues is based on the weight associated with them, as
queue. A quantum is a configurable amount of credits (in
bits/bytes) given to a queue whenever it is served. Quantum              indicated in Equation 1.
should represent the idle amount of bits/bytes a queue may
require. Adding quantum is proportional to assigning weight to
a queue.
     The deficit counter is increased by one quantum on every
visit of the scheduler, except when the queue is empty; the




                                                                    97                                   http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
                                                                          According to the mode of serving the Priority Queue, there
 // q = Quantum;                                                         are mainly two types of MDRR schemes:
 // w = Weight;
 // mtu = Maximum Tranmission Unit;                                      •   Alternate Mode: In this mode the high priority queue is
                                                                             serviced in between every other queue. For instance the
 q = mtu + 512 * w;                                                          scheduling sequence may be as follows: {PQ, Q1, PQ,
                                                                             Q2, PQ, Q3, PQ, and Q4}.
Table 2: MDRR Equation (1).
                                                                         •   Strict Priority Mode: here the high priority queue is
Maximum Transmission Unit (MTU) is the maximum packet                        served whenever there is backlog. After completely
size that a queue may deliver. Note that, since the MTU is a                 transmitting all its packets then the other queues are
constant number for a given system, quantum value and                        served. However, as soon as packets are backlogged again
weight are therefore directly proportional and hereafter could               in the high priority queue, the scheduler transmits the
be used interchangeably.                                                     packet currently being served and moves back to the high
                                                                             priority queue.
The reason of including the MTU parameter in equation 1 is to
ensure that the quantum to be delivered to the intended queue                                VI.   MDRR ADJUSTMENTS
at least enables the queue to transmit one packet. Since if no           Priority queuing technique could be applied to classes of
packet was transmitted in a round this results in the increase of        queues rather than the queues themselves individually. The
the operational complexity. Except cases where the deficit               intensive high‐priority‐queue scheduling idea instead could be
counter is below zero.                                                   achieved by assigning distinct and special weights to particular
                                                                         queues possessing large backlogs. For example, this could be
In Equation 1 the weight is assigned to be equal to a                    shown as in Figure 8.
percentage ratio and its indicated as shown in Equation (2).


 // w = Weight;
 // mtmr = Multi Transmit Multi Receive;
 // sps = Symbol Per Second;
 // tsc = Total System Capacity
 w = mtmr(sps)/tsc(sps)*100;

Table 3: MDRR Equation (2).

The Cisco MDRR scheduling scheme adds a Priority Queue
(PQ) into consideration with DRR. A Priority Queuing scheme
isolates high demanding flows from the rest of the other flows
for the reason of better quality of service provisioning. This is
illustrated as shown in Figure 7.




                                                                         As indicated in Figure 8, the priority queuing scheduler gives
                                                                         precedence to the queues Q3, Q4, Q5 and Q6 which are
                                                                         scheduled by the high priority MDRR scheduler. After the
                                                                         high priority queues on the right hand side are completely
                                                                         served and no packet is found to be waiting in the buffers, then
                                                                         the PQ scheduler switches to the low priority class and serves
                                                                         the queues Q1 and Q2 in a MDRR scheduling scheme[6].

                                                                         Changing the order of scheduling according to class priority,
                                                                         in other words, means to change the frequency of the
                                                                         scheduler serving a particular queue. This eventually leads to
                                                                         changing the throughput, latency, jitter and packet overflow at
                                                                         the queues. UGS and ertPS scheduling services are usually
                                                                         utilized for voice traffic and as it was mentioned before the
                                                                         requirements of thee scheduling services possess their own




                                                                    98                              http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
grant time period and polling time period, respectively. Thus            quality measurements, measured by the SS, to the BS. The
to provide QoS, these strict constraints must be applied and             parameter sent over this channel is the CINR value. For the
there is not much scheduling flexibility. However, in this work          purpose of adjusting the weight of the channel, CINR will be
it will be shown that rtPS may also carry voice traffic                  incorporated into the design as indicated in Equation (3)
according to the voice related criteria. On the other hand, rtPS         below.
and nrtPS scheduling mechanisms are used for data traffic. In             // w = Weight;
OPNET “Modeler Software – WiMAX Module”/Other                             // mtmr = Multi Transmit Multi Receive;
Software MDRR can use for polling services (rtPS and nrtPS)               // sps = Symbol Per Second;
while RR is used for BE services. Then priority queuing is                // tsc = Total System Capacity;
                                                                          //cinr = Carrier to Interference and Noise Ratio;
applied between the two classes of queues. The high priority is
                                                                          //int cinrInt;
given to the rtPS and nrtPS queues since they possess QoS
constraints. Unlike rtPS and nrtPS, BE services do not have               cinrInt = (cinr-12/22) * 3.5;
any QoS constraints and thus they are assigned as a low                   w = (mtmr(sps)/tsc(sps) * 100) + cinrInt * 3;
priority queue class[5].                                                 Table 4: MDRR Equation (3).

 Considering the case of using AMC in conjunction with the               The numbers associated with the CINR portion of Equation
discussed MDRR scheduling scheme is the central idea of this             (3) is designed after intensive experimentation. Basically, the
paper. As it was mentioned before AMC adaptively changes                 right hand portion is an additional amount of weight given to
the modulation and coding for the BS and MS according to the             those mobile stations with considerable CINR values. The
channel quality that the MS experiences. When a mobile is                CINR values noticed from experiment results range from 15
initiated communication with the BS while it is configured to            dB to 30 dB. Equation (3) will be incorporated into the
operate in the AMC mode, it makes use of the most robust                 OPNET MDRR scheduler and then results will be examined
burst profile, which in the case of Mobile WiMAX it is QPSK              with taking the CINR part into account in implementation
½. This makes sure that even if the MS is at its furthest                work using software.
distance from the BS, it is still capable of establishing initial
communication. Since QPSK ½ mode is used then the Symbol                                 VII.    SYSTEM MODEL AND SCENARIOS

Per Second (SPS) value of the MTMR is equal to the Bit Per
                                                                         A. Evaluation Methodology
Second (BPS) value of the MTMR. According to the Equation
1, having the lowest modulation burst profile leads to gaining           There are three main methods to evaluate a Scheduling
the greatest weight. Thus in brief, all AMC operating mobile             algorithm: Deterministic modeling: Different algorithms are
terminal start with the most robust modulation and coding                tested against a predetermined workload. Then the
profile and are assigned the highest weight [13-16].                     performance results are compared. Queuing models: Random
                                                                         backlogs are studied by analytically – in a mathematical way.
This is determined to be as such because there is a probability          Implementation/Simulation: The most versatile method of
that any mobile station may move away from the BS, then                  testing scheduling algorithms is to actually simulate the
according to AMC, more robust modulation and coding shall                designed algorithm with real life data and conditions.
be used. Consequently, this means only low bit rates will be
available at the mobile terminal. So here, as a reimbursement,           B. OPNET Modeler
the mobile terminal is assigned more weight to compensate for
                                                                         Indeed trying to analyze and simulate a part of the total system
its low data rate experience. Otherwise, it would be unfair to
                                                                         would still need the fully simulated and accurate system
give distant mobile stations less data rate or bandwidth.
                                                                         beforehand. This is supported by the fact that, any other
However, the main point of this paper is that, mobile stations
                                                                         cooperating system entity may totally or in part change the
near the base station can actually have better data rates and
                                                                         outcome of a simple scenario. Therefore, as many nodes and
without ignoring the fairness criteria. This idea originates from
                                                                         sub‐nodes, with their correct attributes, should be incorporated
the fact that mobile stations near the BS are changing their
                                                                         into the system model. However, this is not an easy task at all.
modulation format and coding rate as soon as they establish
                                                                         Even a very small portion of the whole system model would
communication with the BS. The change in modulation and
                                                                         need weeks to get it to behave like the original real life
coding scheme will be towards a higher modulation format
                                                                         system. It should also be mentioned that, lacking a fully
and a lower coding rate. This is valid, since mobile stations
                                                                         simulated system model, usually causes researchers to fail at
near the base station experience very good channel impulse
                                                                         some point during their study to get feasible results.
responses. As a result, these mobile stations consume less
bandwidth than the distant mobile stations. Thus, in order not
                                                                         It is true that commonly used soft wares like C, C++, Java,
to waste the bandwidth allocated to the mobile stations near
                                                                         MATLAB and many other programming languages are strong
the base station, it is suggested that the more weight should be
                                                                         and performing languages; however, these programmes do not
given to mobile stations near the BS.
                                                                         come with a model of a specific system. Thus for the sake of
In Mobile WiMAX, the channel called Channel Quality
                                                                         accuracy accompanied by an almost complete WiMAX system
Indicator Channel (CQICH) is dedicated to return channel



                                                                    99                                 http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
model simulation OPNET Modeler was researched to be one
of the best candidates. OPNET Modeler is a product of the
OPNET Technologies Inc. It is a Discrete Event Simulation
(DES) programme: events are handled in a chronological
manner. It has a Graphical User Interface (GUI) with a “user
friendly” sense. It has an enormous library at the service of the
user. On request, OPNET Technologies can provide ready‐to‐
use models. For the research to be done in this project,
“OPNET Modeller Wireless Suite” was provided with an
accompanying “WiMAX Model”[16].

OPNET Modeller is made up of 4 main editors: Project
editor: This is where the wireless network is laid out. The
network comprises of the network nodes and connections.
Node editor: Nodes can be edited with the node editor. Nodes
are made up of sub‐modules, which carry out the functions of
the node. The functions are in the form of processes. Process
                                                                                    Figure 9: WiMAX Base Station Parameters
editor: Processes function as a Finite State Machine (FSM).
Code editor: Each state in the FSM is coded in either C or C+
+ or Java programming language. The code is actually the
tasks that the node does.

C. System Mode
In the following scenarios 6 mobile stations are configured in
operate in the AMC mode. The load on the network mobile
stations is 96 Kbps, originally 64Kbps, but with header and
control information it adds up to 96 Kbps. The parameters of
the mobile stations, Base station, WiMAX Configuration
Node are as shown in Figure 8, Figure 9, Figure 10, and
Figure 11.




                                                                                 Figure 10: WiMAX Configuration Node Parameters




           Figure 8: WiMAX Mobile Station Parameters

                                                                                 Figure 11: WiMAX Configuration Node Parameters


                                                                          D. Simulated Scenario
                                                                          In the following scenarios the parameters for the Mobile
                                                                          Station, Base Station and the WiMAX configuration nodes



                                                                    100                            http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                    Vol. 7, No. 2, 2010
were set as they were previously shown in Figures 8, 9, 10 and
11.

In this scenario equation (3) was set into the MDRR
scheduling C code and the following graphs were obtained
after simulating for 1 minute and 40 seconds. Figure 12 shows
the CINR gotten as a feed back from the mobile station to the
base station.




                                                                       Figure 14: The effect of MTMR on UL throughput

                                                                       Considering delays that the mobile stations possess, Figure 15
                                                                       shows the how much delay each mobile station is
Figure 12: Mobile Station CINR Values                                  experiencing.

Figure 12 indicates that, MS_0 has the highest CINR value
and MS has the lowest CINR value.




                                                                       Figure 15: Mobile Station Delay

                                                                       As was expected Mobile station 4,1 and 0 (green, pink and
                                                                       red) are at the bottom, meaning that they own the lowest
Figure 13: WiMAX UL MS Throughput                                      delays. This may have been the result of the weighting
                                                                       process. In other words, when great weights were assigned to
It is shown in Figure 13 that all the Mobile station UL                mobile stations with good channel quality, then the MDRR
connections do transmit the work load applied on them. This            scheme have served them more than the others; Causing the
may indicate that the weights assigned to the queues were              other queues to wait till they get some deficit. Moreover, the
affecting the dequeuing process enough to eventually lower             Figure also indicates that on average very low delays have
the throughputs of the corresponding mobile stations.                  been achieved. This is a very good indication, which might
                                                                       qualify the scheduler to be utilized for voice applications as
On the other hand, polling the queues might have had more              well. Nevertheless, further simulations are required to approve
effect on the throughput rather than the assigned weights.             that the algorithm is capable of handling large amounts of
Since however the weight may be still polling the SS has a             users.
superior act on servicing that SS. This was justified when the         E. Resulted Simulation Limitations and Constraints
MTMR (which polling period is dependent on) of MS_2 was
set to be higher than the other queue. The result, as shown in         OPNET Modeler Software is still immature. There are many
Figure 14, indicate that MTMR indeed have raised the                   bugs in the WiMAX Model which took a lot of time of study.
throughput of the corresponding queue[16].                             Furthermore, the software is quite complicated, requiring that
                                                                       the user is already a professional C programmer to be able to
                                                                       change the code within, which eventually blocked the way to
                                                                       give complete simulation set. Some of the basic mistakes
                                                                       were encountered regarding the position of the mobile
                                                                       stations. For instance, a mobile station at a distance 1 Km
                                                                       from the BS in one direction does not have the CINR as in



                                                                 101                               http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                  Vol. 7, No. 2, 2010
another direction, knowing that the antenna is an omni antenna                        [6]    M. Katevenis, S. Sidiropoulos and C. Courcoubetis, "Weighted round‐
                                                                                             robin cell multiplexing in a general‐purpose ATM          switch chip",
and the position should be a problem if the distance was is                                  Selected Areas in Communications, IEEE Journal on 9(8), pp. 1265‐
same.                                                                                        1279, 1991.
                                                                                      [7]    S. Belenki, "Traffic management in QoS networks: Overview and
                                                                                             suggested improvements," Tech. Rep., 2000.
                                                                                      [8]      M.Shreedhar and G.Varghese, "Efficient Fair Queuing using Deficit
                                                                                             Round Robin," IEEE/ACM Transactions on Networking, vol. 1, pp.
                                                                                             375‐385, June 1996.
                                                                                      [9]    T. Al‐Khasib, H. Alnuweiri, H. Fattah and V. C. M. Leung, "Mini round
                                                                                             robin: An enhanced frame‐based scheduling      algorithm for multimedia
                                                                                             networks", IEEE Communications, IEEE International Conference on
                                                                                             ICC, pp. 363‐368 Vol. 1, 2005.
                                                                                      [10]   Nortel Networks, "Introduction to quality of service (QoS)," Nortel
                                                                                             Networks Website, 2003. Accessed on 1st of September 2008.
                                                                                      [11]   X. Zhu, J. Huo, S. Zhao, Z. Zeng, and W. Ding, “An adaptive resource
                                                                                             allocation scheme in OFDMA based multiservice WiMAX systems,” in
                                                                                             IEEE International Conference on Advanced Communication
                                                                                             Technology,2008, pp. 593–597.
Figure 16: An OPNET bug
                                                                                      [12]   Jia-Ming Liang, Jen-Jee, “Priority-Based Scheduling Algorithm for
                                                                                             Downlink Traffics in IEEE 802.16 Networks” , Nationa Chiao_Tung
It is noticed here (Yellow & Orange color), when the Mobile                                  University, Taiwan.
Station “MS” moves, it gets dropped off exactly right after                           [13]   Dr. Pethuru Raj, C. Ravichandiran, “A Comparative Study on High-
that the software produces an error, which should not happen.                                Performing WLAN Mesh Network Solutions”, Sambharam Academy of
                                                                                             Management Studies (SMRITI), April 2007.
This means that the software itself also has some bugs yet to
                                                                                      [14]   Lars Staalhagen,"Introduction to OPNET modeler", Networks
be corrected. Eventually, after re‐simulating the programme a                                Competence Area, COM • DTU, 24th of August, 2007.
couple of times, the bug unexpectedly disappeared. Many                               [15]   Han‐Seok Kim, "Introduction to WiBro (mobile WiMAX)," Samsung El
other bugs were noticed and took a lot of time for the software                              ectronics Co., Ltd., 2005.
to get back to normal. Another simulation limitation as that                          [16]   OPNET Technologies, OPNET modeler. Software Package. Available at
Modeler sets the path taken by the uplink to be the same as the                              : http://www.opnet.com
path taken by the downlink for CINR measurements, where                               [17]   T. Al- Khasib, H. Alnuweiri, H. Fattah and V. C. M. Leung, "Mini round
                                                                                             robin: An enhanced frame‐based scheduling algorithm for multimedia
this is almost always not the case, but rather the paths take                                networks", IEEE Communications, IEEE International Conference on
different channel quality values.                                                            ICC, pp. 363‐368 Vol. 1., 2005.
                                                                                      [18]   Xiaojing Meng "An Efficient Scheduling for Diverse QoS Requirements
                                CONCLUSION                                                   in WiMAX" A thesis presented to the University of Waterloo. Waterloo,
Being one of the hottest current research issues and as                                      Ontario, Canada, 2007.
indicated by Samsung: designing a scheduler that is less                              [19]   Dr. Vaithiyanathan, C. Ravichandiran, “An Incisive SWOT Analysis of
                                                                                             Wi-Fi, Wireless Mesh, WiMAX and Mobile WiMAX Technologies”,
complex, more efficient and provides a superior Quality                                      IEEE (ICETC 2009), Singapore, 2009.
of Service is of great importance to mobile WiMAX                                     [20]   Seungwoon Kim and Ikjun Yeom, “TCP-aware Uplimk scheduling for
systems. In this paper, a comprehensive, yet brief,                                          IEEE 802.16”. IEEE Communication Letter, Feb 2007.
introduction was given for the IEEE 802.16e                                           [21]   Chingyao Huang, Hung‐Hui Juan, Meng‐Shiang Lin and Chung‐Ju
commercially known as Mobile WiMAX Systems.                                                  Chang, "Radio resource management of heterogeneous services in
                                                                                             mobile WiMAX systems [Radio Resource Management and Protocol
Modified DRR scheduling algorithm has been studied in depth                                  Engineering for IEEE 802.16]," IEEE Wireless Communications, vol.
and implemented in OPNET Modeler Software. After that it                                     14, pp. 20‐26, 2007.
was attempted to enhance the throughput of the system                                 [22]   J. G. Andrews, Ph. D and R. Muhamed, Fundamentals of WiMAX :
with regard to the channel quality if the subscriber                                         Understanding Broadband Wireless Networking. Upper Saddle River,
stations while taking fairness into consideration.                                           NJ: Prentice Hall, 2007.

                                REFERENCES                                                                           AUTHORS PROFILE
[1]   F. Hsieh, F. Wang, and A. Ghosh, “Link Performance of WiMAX                     C. Ravichandiran received the MCA from the Madurai Kamaraj University,
      PUSC,” IEEE WCNC, Apr. 2008.                                                    India, in 1999. He received the M. Tech degree in Software Engineering from
[2]   Pratik Dhrona, "A Performance Study of Uplink Scheduling Algorithms             IASE University, India. And currently pursuing PhD degree in Computer
      in Point to Multipoint WiMAX Networks," 2007.                                   Science from SASTRA University, India. His fields of interest are Computer
                                                                                      Networks, Network Security, Wireless and Mobile Communication, Database.
[3]   B. Lannoo et al., “Business scenarios for a WiMAX deployment in                 He has more than 9 publications to his credit in international journals and
      Belgium”, in Proceedings of IEEE Mobile WiMAX 2007 conference,                  conferences. He is a life member of the International Association of Computer
      Orlando, USA., Mar. 2007. Proceeding IEEE Mobile WiMAX                          Science and Information Technology (IACSIT), International Journal of
      Symposium, Orlando, 2007.                                                       Electronic Business (IJEB), and International Association of Engineers
[4]   R. Jain, lecture notes, "A Survey of Scheduling Methods", University of         (IAENG).
      Ohio, 2007.
[5]   Mark Handley, lecture notes, "Scheduling and queue management",                 Dr. C. Pethuru Raj (www.peterindia.net) has been working as a lead
      University College of London, 2006.                                             architect in the corporate research (CR) division of Robert Bosch. The
                                                                                      previous assignment was with Wipro Technologies as senior consultant and
                                                                                      was focusing on some of the strategic technologies such as SOA, EDA, and




                                                                                102                                     http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                  Vol. 7, No. 2, 2010
Cloud Computing for three years. Before that, he worked in a couple of                of Computing, SASTRA University, and Thanjavur, India. He has more than
research assignments in leading Japanese universities for 3.5 years. He has 8         19 years of experience in teaching and research. He has been guiding more
years of IT industry experiences after the successful completion of his UGC-          than 25 M.Tech Projects, 5 PhD and thesis. His fields of interests are various
sponsored PhD in formal language theory / fine automata in the year 1997. He          techniques in Image Processing, Computer vision for shape identification,
worked as a CSIR research associate in the department of computer science             Reconstruction, noise removal, online correction of an image by developing
and automation (CSA), Indian institute of science (IISc), Bangalore for 14            software and in the area of cryptography. Various applications of soft computing
memorable months. He has been authoring research papers for leading                   techniques for object identifications. He has more than 40 publications to his
journals and is currently involved in writing a comprehensive and informative         credit in international journals and conferences. He has visited many
book on Next-Generation Service Oriented Architecture (SOA).                          universities in India.

Dr. V. Vaidhyanathan received the PhD degree from the Alagappa
University, Karaikudi, India. He is currently Professor and HOD-IT in School




                                                                                103                                     http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010

           Current Conveyor Based Multifunction Filter


           Manish Kumar                                    M.C. Srivastava                                          Umesh Kumar
  Electronics and Communication                     Electronics and Communication                        Electrical Engineering Department
      Engineering Department                            Engineering Department                             Indian Institute of Technology
   Jaypee Institute of Information                   Jaypee Institute of Information                                 Delhi, India
            Technology                                        Technology                                                  .
            Noida, India                                      Noida, India
                  .                                                 .


Abstract—The paper presents a current conveyor based                        band-pass) employing three positive type current conveyor and
multifunction filter. The proposed circuit can be realized as low           five passive components. The circuit proposes high output
pass, high pass, band pass and elliptical notch filter. The circuit         impedance.
employs two balanced output current conveyors, four resistors
and two grounded capacitors, ideal for integration. It has only                 In this paper a circuit employing two balanced output
one output terminal and the number of input terminals may be                current conveyors, four resistors and two grounded capacitors
used. Further, there is no requirement for component matching               is proposed. This circuit has one output terminal and four input
in the circuit. The parameter resonance frequency (ω0) and                  terminals. All the basic filters (low pass, high pass, band pass
bandwidth (ω0 /Q) enjoy orthogonal tuning. The complementary                and notch filter) may be realized by selecting appropriate input
metal oxide semiconductor (CMOS) realization of the current                 terminals of the circuit.
conveyor is given for the simulation of the proposed circuit. A
HSPICE simulation of circuit is also studied for the verification               The following section presents circuit description of the
of theoretical results. The non-ideal analysis of CCII is also              balanced output current conveyor. The sensitivity analysis,
studied. (Abstract)                                                         nonideal analysis of balanced output current conveyors,
                                                                            simulation results and conclusion are discussed in the
   Keywords- Active filters, Current Conveyor, Voltage- mode.               subsequent sections.

                I.    INTRODUCTION (HEADING 1)                                                 II.    CIRCUIT DESCRIPTION
    Active filters are widely used in the signal processing and                 The balanced output current conveyor is shown in fig 1
instrumentation area. The well known advantage of current                   with its symbol, characterized by the port relations as given by
mode operation, such as better linearity, simple circuitry, low             “(1)”
power consumption and greater bandwidth becomes more
attractive as compared to voltage-mode counterpart with
introduction of Current Conveyor II(CCII). The application and
advantages in the realization of various active filters using
current conveyors has received considerable attention [1]-[5].
Some voltage mode multifunction filter using current
conveyors have also been proposed. In 1995 Soliman [1]
proposed Kerwin-Huelsman-Newcomb (KHN) biquad with
single input and three outputs, which realizes low-pass, band-
pass and high-pass filter. The circuit employs five current
conveyor (CCII), two capacitors and six resistors. In 1997
Higahimura et al. [2] proposed a universal voltage-mode filter
that can realize low-pass, high-pass, band-pass, all-pass and
notch filter using seven current conveyors, two capacitors and
eight resistors. Ozoguz et. al. [3] realized high-pass, low-pass
and band-pass filter using three positive current conveyor and
five passive components. In 1999 Chang and Lee [4] proposed                          Figure 1. Symbol of balanced output current Conveyor
voltage mode low-pass, band-pass and high-pass filter with
single input and three outputs employing only current
conveyors, two grounded capacitors and three resistors. Toker
et. al. [5] realized high output impedance transadmittance type
continuous time multifunction filter (low-pass, high-pass and



                                                                      104                                http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                            Vol. 7, No. 2, 2010

       ⎡ Vx ⎤ ⎡ 0           B 0       0⎤ ⎡ I x ⎤                                                                 R1 + R6
                                                                                                  ω0 =                                                 (4)
       ⎢I ⎥ ⎢ 0
       ⎢ y⎥=⎢               0 0       0⎥ ⎢ V y ⎥
                                       ⎥⎢ ⎥
                                                                                                               R1R4 R6C2C 5
                                                            (1)
       ⎢I z + ⎥ ⎢ K         0 0       0⎥ ⎢Vz + ⎥
       ⎢ ⎥ ⎢                           ⎥⎢ ⎥
       ⎣ I z − ⎦ ⎣− K       0 0       0⎦ ⎣Vz − ⎦                                                 ω0          1
                                                                                                        =                                              (5)
                                                                                                 Q          R2C3
                                                                                              TABLE 1        VARIOUS FILTER RESPONSES

                                                                               Filter\Input        V1               V2            V3             V4
                                                                                Low-pass           1                0             0              1
                                                                                High-pass          0                1             0              0
                                                                                Band-pass          0                0             1              0
                                                                                  Notch            1                1             0              1


                                                                                                      C2 ( R1 + R6 )
                                                                                        Q = R3                                                         (6)
                                                                                                       R1R4 R6C5

                                                                                  It can be seen from a perusal of “(4)” - “(6)” that both the
                                                                              center frequency and quality factor are independent. An
         Figure 2. Proposed Voltage Mode Multifunction Filter                 inspection of “(4) and “(5)” shows that ω0 and ω0/Q can be
                                                                              orthogonally tuned through R6 and /or C5 and R3 and /or C2 in
                                                                              that order.
   The values of B and K are frequency dependent and ideally
B=1 and K=1.                                                                                     III.       SENSITIVITY ANALYSIS
                                                                                  The sensitivity analysis of the proposed circuit is presented
    The proposed circuit shown in fig 2 employs only two                      in terms of the sensitivity of ω0 and Q with respect to the
balanced output current conveyor, four resistor and two                       variation in the passive components as follows:
capacitors. The grounded capacitors are particularly very
attractive for the integrated circuit implementation.
                                                                                                  ω                 1
                                                                                                S C20,C5 , R4 = −                                      (7)
                       ⎡ R3 R6                    ⎤                                                                 2
                 2     ⎢ s 2C C V1 + R1R3 R4 R6V2 ⎥
                s C2C5 ⎢     2 5
                                                  ⎥
       Vout   =                                                   (2)
                 D( s) ⎢ R1R4 R6        R1R3      ⎥                                              ω
                                                                                               S R10 = −
                                                                                                                 R61
                       ⎢+ sC V3 + s 2C C V4 ⎥                                                                2( R1 + R6 )
                                                                                                                                                       (8)
                       ⎣       2           2 5    ⎦
   Where
                                                                                                ω                R1
                                                                                              S R60 = −                                                (9)
D( s ) = s 2C2C5 R1R3 R4 R6 + sC 5R1R4 R6 + ( R1R3 + R3 R6 )                                                2( R1 + R6 )
                                                                  (3)

    Thus by using “(2)” we can realize low-pass, band-pass,                                   S R3 = 1
                                                                                                Q
                                                                                                                                                      (10)
high-pass and notch filter responses at the single output
terminal by applying proper inputs at different node as shown
in table1.
                                                                                                        1
     The denominators for the all filter responses are same. The                              SC 2 =
                                                                                               Q
                                                                                                                                                      (11)
filtering parameter ωo, ωo/Q and Q are given by                                                         2


                                                                                                               1
                                                                                              S R4 , C 5 = −
                                                                                                Q
                                                                                                                                                      (12)
                                                                                                               2


                                                                        105                                    http://sites.google.com/site/ijcsis/
                                                                                                               ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010
                                   R61                                                                     1
                    S R1 = −
                      Q
                                                           (13)                  S B1, B 2, K 1, K 2 = −
                                                                                   Q
                                                                                                                                                  (21)
                               2( R1 + R6 )                                                                2
                                                                            The ω0 and Q sensitivities with respect to passive
                                                                         components are same in case of ideal balanced output current
                                   R1
                S R6 = −
                  Q
                                                           (14)          conveyor.
                              2( R1 + R6 )                                 TABLE 2      TRANSISTOR ASPECT RATIOS FOR BALANCED OUTPUT CCII
                                                                                     Transistor                      W(µm)/L(µm)
   As per these expressions, both the ω0 and Q sensitivities are                      M1, M2                               20/1
                                                                                         M3                               50/2.5
less than ± ½ with a maximum value of S R3 = 1 .
                                                Q
                                                                                     M4, M6, M8                           80/2.5
                                                                                         M5                              100/2.5
                                                                                      M7,M9                               50/2.5
                        IV.     NONIDEAL ANALYSIS
   Practically B and K are frequency dependent with dominant
poles and therefore intended to nonideal. The non ideal                                        V.     SIMULATION RESULT
behavior of the output Vout may be expressed by “(15)".                      The HSPICE simulation with 0.5µm CMOS transistor
                                                                         model provided by MOSIS has been carried out for the
                                                                         realization of balanced output current conveyor as shown in fig
                 ⎡ R3 R6                             ⎤                   (3). Table 2 list the dimension on NMOS and PMOS transistor
            2    ⎢ s 2C C V1 + K1K 2 B2 R1R3 R4 R6V2 ⎥                   of this circuit. Figure 4 displays the simulation result for the
         s C2C5 ⎢      2 5
                                                     ⎥ (15)              proposed filter. The circuit is designed for ω0 = 14.14 KHz and
Vout   =
          D( s ) ⎢ K1K 2 B2 R1R4 R6        R1R3      ⎥                   Q=2 by considering R1 = R4 = R6 = 10KΩ, C2 = C5 = 10nF and
                 ⎢+                 V3 + 2
                                          s C2C5 ⎦
                                                  V4 ⎥                   R3 = 14KΩ. The theoretical results have been verified to match
                 ⎣         sC2                                           with simulation result.

   Where


D ( s ) = K1K 2 B1B2 ( s 2C2C5 R1R3 R4 R6 + sC5 R1
                                                           (16)
R4 R6 ) + ( R1R3 + R3 R6 )


                             R1 + R6
       ω0 =                                                (17)
                     K1K 2 B1B2 R1R4 R6C2C5


       ω0            1                                                          Figure 3. CMOS Circuit for Balanced Current Conveyor II
                =                                          (18)
        Q           C2 R3


                            C2 ( R1 + R6 )
       Q = R3                                              (19)
                       K1K 2 B1B2 R1R4 R6C2C5

   It can be observed that the effect of non ideality behavior
on cutoff frequency (ω0) and Q will be negligible and
bandwidth will not be affected. The sensitivity analysis of
cutoff frequency and the quality factor with respect to K1, K2,
B1 and B2 are as follows:


          ω                        1
        S B10, B2 , K1 , K 2 = −                           (20)
                                   2                                                      Figure 4. Multifunction Filter Responce




                                                                   106                                     http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                   Vol. 7, No. 2, 2010
                           VI.     CONCLUSION                                         [5]   A. Toker, O. Çiçekoglu, S. Özcan and H. Kuntman ,” High-output-
                                                                                            impedance transadmittance type continuous-time multifunction filter
    The circuit proposed by Hong et al. and Chang et. al. uses                              with minimum active elements,” International Journal of Electronics,
more active and passive components. Whereas the circuit                                     Volume 88, Number 10, pp. 1085-1091, 1 October 2001.
proposed in this paper generates low-pass, high-pass, band-pass                       [6]   A. M. Soliman, “Current mode universal filters using current conveyors:
and notch filter using two balanced output current conveyors,                               classfication and review,” Circuits Syst Signal Process, vol. 27, pp. 405-
                                                                                            427, 2008.
four resistors and two capacitors. The circuit provides more
number of filter realizations at the single output terminal using                     [7]   P. V. Anada Mohan, Current Mode VLSI Analog Filters, Birkhauser,
                                                                                            Boston, 2003.
two current conveyors. In addition of this proposed circuit does
not have any matching constraint/cancellation condition. The
circuit employs’ grounded capacitor, suitable for IC
fabrication. The circuit enjoys the othogonality between the                                                      AUTHORS PROFILE
cutoff frequency and the bandwidth. It has low sensitivities                          Authors Profile …
figure of both active and passive components.

                                                                                                               Manish Kumar was born in India in 1977. He
                              REFERENCES                                                                       received       his     B.E.       in    electronics
[1]   A. M. Soliman, “Kerwin–Huelsman–Newcomb circuit using current                                            engineering from S.R.T.M.U. Nanded in 1999
      conveyors,” Electron. Lett., vol. 30, no. 24, pp. 2019–2020, Nov. 1994.                                  and M.E. degree from Indian Institute of
[2]   M. Higasimura and Y. Fukui, “Universal filter using plus-type CCII’s,”                                   Science, Bangalore in 2003. He is perusing is
      Electron. Lett. vol. 32, no. 9, pp. 810-811, Apr. 1996.                                                  Ph.D. He is working as faculty in Electronics
                                                                                                               and Communication Engineering Department of
[3]   S. Ozoguz, A. Toker and O. Cicekoglu, “High output impedance
                                                                                                               Jaypee Institute of Information Technology,
      current-mode multifunction filter with minimum number of active and
      reduced number of passive elements,” Electronics Letters, vol. 34, no                                    Noida He is the author of 10 papers published in
      19, pp. 1807-1809, 1998                                                                                  scientific journals and conference proceedings.
                                                                                                               His current area of research interests includes
[4]   Chun-Ming Chang and Ming- Jye Lee, “Voltage mode multifunction                                           analogue circuits, active filters and fuzzy logic.
      filter with single input and three outputs using two compound current
      conveyors,” IEEE Trans. On Circuits and Systems-I: vol. 46, no. 11,
      pp.1364-1365, 1999.




                           M. C. Srivastava received his B.E. degree
                         from Roorkee University (now IIT Roorkee),
                         M.Tech. from Indian Institute of Technology,
                         Mumbai and Ph.D from Indian Institute of
                         Technology, Delhi in 1974.          He was
                         associated with I.T. BHU, Birla Institute of
                         Technology and Science Pilani, Birla Institute
                         of Technology Ranchi, and ECE Dept. JIIT
                         Sector-62 Noida. He has published about 60
                         research paper.     His area of research is
                         signal processing and communications. He
                         was awarded with Maghnad Saha Award for
                         his research paper.

                         Umesh Kumar is a senior member, IEEE. He
                         received B.Tech and Ph.D degree from IIT Delhi.
                         He has published about 100 research papers in
                         various journals and conferences. He is working
                         as faculty in Electrical Engineering Department,
                         IIT Delhi.




                                                                                107                                     http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                  Vol. VII , No. II, FEB2010 .




           A Secure Hash Function MD-192 With Modified
                      Message Expansion

                  Harshvardhan Tiwari                                                           Dr. Krishna Asawa
                  Student, CSE Department                                                      Asst. Prof., CSE/IT Department
                           JIIT                                                                         JIIT
                       Noida, India                                                                  Noida, India
             tiwari.harshvardhan@gmail.com                                                    krishna.asawa@jiit.ac.in


Abstract—Cryptographic hash functions play a central role in                 size. In the past few years, there have been significant research
cryptography. Hash functions were introduced in cryptology to                advances in the analysis of hash functions and it was shown
provide message integrity and authentication. MD5, SHA1 and                  that none of the hash algorithm is secure enough for critical
RIPEMD are among the most commonly used message digest                       purposes. The structure of proposed hash function, MD-192, is
algorithm. Recently proposed attacks on well known and widely                based on SHA-1. There are six chaining variables in suggested
used hash functions motivate a design of new stronger hash                   hash function. The extra 32 bit chaining variable makes the
function. In this paper a new approach is presented that produces            algorithm more secure against the brute force attack. The
192 bit message digest and uses a modified message expansion                 randomness of the bits in the working variables is not more
mechanism which generates more bit difference in each working
                                                                             when the original SHA-0 and SHA-1 codes were considered,
variable to make the algorithm more secure. This hash function is
collision resistant and assures a good compression and preimage
                                                                             because of this both SHA-0 and SHA-1 are totally broken
resistance.                                                                  using the differential attack by Wang[3,5,6]. Wang attacked on
                                                                             the poor message expansion of the hash function’s compression
Keywords-Cryptology,Hashfunction,MD5,SHA1,RIPEMD,                            function. In the suggested hash function a modified expansion
Message Integrity and Authentication,Message expansion.                      mechanism is used, based on the modification to the standard
                                                                             SHA-1 hash function’s message expansion proposed by Jutla
                                                                             and Patthak [11], in such a way that the minimum distance
                       I.    INTRODUCTION
                                                                             between the similar words is greater compared with SHA-0 and
    Function of hash algorithms is to convert arbitrary length               SHA-1. Because of the additional conditions in between the
data into fixed length data hash value and they are used in                  steps 16 and 79 there will be an additional security against the
cryptographic operations such as integrity checking and user                 differential attack. Some other changes like, shifting of
authentication. For the cryptographic hash function following                variables and addition of variables, have been made in order to
properties are required:                                                     make the algorithm more secure. The design goal of this
                                                                             algorithm is that, it should have performance as competitive as
    •    Preimage resistance: It is computationally infeasible
                                                                             that of SHA-2 family.
         to find any input which hashes to any prespecified
         output.
                                                                                                  II.   PREVIOUS WORKS
    •    Second preimage resistance: It is computationally
         infeasible to find any second input which has the same                  In this section we discuss about SHA hash functions and
         output as any specified input.                                      their weaknesses. The original design of the hash function SHA
                                                                             was designed by NSA (National Security Agency) and
    •    Collision resistance: It is computationally infeasible to           published by NIST in 1993. It was withdrawn in 1995 and
         find a collision, i.e. two distinct inputs that hash to the         replaced by SHA-1. Both SHA-0 and SHA-1 are based on the
         same result.                                                        principle of MD5 [4] and are mainly used in digital signature
                                                                             schemes. They hash onto 160 bits and use Merkle-Damgard
For an ideal hash function with an m-bit output, finding a                   construction [1] from 160 x 512 → 160 compression function.
preimage or a second preimage requires about 2m operations                   At CRYPTO’98 Chabaud and Joux [9] proposed a theoretical
and the fastest way to find a collision is a birthday attack which           attack on the full SHA-0 with the complexity of 261. In 2004,
needs approximately 2m/2 operations [1].                                     Biham and Chen [10] presented an algorithm to produce near
The three SHA (Secure Hash Algorithms) algorithms [2, 7]                     collisions. In 2005 Biham et al. presented optimization to the
SHA-0, SHA-1 and SHA-2 have different structures. The                        attack but the main improvement came from Wang. Both these
SHA-2 family uses an identical algorithm with a variable digest              algorithm (SHA-0 and SHA-1) generate a message digest of



                                                                        1
                                                                       108                              http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. VII , No. II, FEB2010
length 160 bits by accepting a message of maximum length                         Step 3: Divide the input into 512bit blocks Divide the input
264 – 1 bits. In each of these hash function, message M is                       message into blocks, each of length 512bits, i.e. cut M into
divided into r-blocks each of length 512bits such that, M= (m1,                  sequence of 512 bit blocks M1,M2…..MN Each of Mi parsed
m2, m3………. mr).Then each block is further divided into sixteen                   into sixteen 32bit wordsMi0,Mi1……...Mi15.
32 bit words such that mi= w1, w2……….w16, for
1≤i≤r. These 32 bit words are then linearly expanded into                        Step 4: Initialize chaining variables H0 = IV, a fixed initial
eighty 32 bit words wt:                                                          value. The hash is 192 bits used to hold the intermediate and
                                                                                 final results. Hash can be represented as six 32 bit word
    wt = wt-3     wt-8    wt-14    wt-16, for16≤t≤79                             registers, A,B,C,D,E,F. Initial values of these chaining
                                                                                 variables are:
the only difference is that the SHA-1 uses a single bitwise
rotation in the message schedule in its compression function                                      A = 01234567
where as SHA-0 does not. Both hash functions use an update
function for processing each message block. This update                                           B = 89ABCDEF
function consists of eighty steps divided into four rounds.                                       C = FEDCBA98
A,B,C,D,E are five 32 bit registers used as buffer for updating
the contents. For each of the eighty rounds the registers are                                     D = 76543210
updated with a new 32 bit value. The starting value of these                                      E = C3D2E1F0
registers is known as initial value represented as
IV0 = (A0 , B0 , C0 , D0 , E0). In general, IVt = (At, Bt , Ct , Dt ,                             F = 1F83D9AB
Et) for 0≤t≤79. For step t the value wt is used to update the                    The compression function maps 192 bit value
whole registers. Each step uses a fixed constant kt and a bitwise                H=(A,B,C,D,E,F) and 512 bit block Mi into 192 bit value. The
Boolean operation F which depends on the specific round,                         shifting of some of the chaining variables by 15 bits in each
IF B THEN C ELSE D in first round, B XOR C XOR D in                              round will increase the randomness in bit change in the next
second and fourth round, MAJ(B,C,D) in third round. The                          successive routines. If the minimum distance of the similar
process can be formally represented as:                                          words in the sequence is raised then the randomness will
 (At, Bt , Ct , Dt , Et) = ((wt-1+ At-1<<5+F(Bt -1 , Ct-1 , Dt-1)+ Et-1+         significantly raises. A different message expansion is employed
kt-1), At-1, (Bt-1<<30), Ct-1, Dt-1)                                             in this hash function in such a way that the minimum distance
                                                                                 between the similar words is greater compared with existing
 In 2002 NIST developed three new hash functions SHA-                            hash functions.
256,384 and 512 [2] whose hash value sizes are 256,384 and
512 bits respectively. These hash functions are standardized                     Step 5: Processing        After preprocessing is completed
with SHA-1 as SHS(Secure Hash Standard),and a 224-bit hash                       each message block is processed in order using following steps:
function, SHA-224, based on SHA-256,was added to SHS in                              I)       For i = 1 to N prepare the message schedule.
2004 but moving to other members of the SHA family may not
be a good solution, so efforts are underway to develop                                                         Mit , 0≤t≤15
improved alternatives.                                                                        Wt =      Wt-3       Wt-8     Wt-14    Wt-16

                  III.   DESCRIPTION OF MD-192                                                           (( Wt-1     Wt-2     Wt-15 )<<<1) ,
The new dedicated hash function is algorithmically similar to                                                                  16≤t<20
SHA-1. The word size and the number of rounds are same as                                                 Wt-3      Wt-8     Wt-14    Wt-16
that of SHA-1.In order to increase the security aspects of the
algorithm the number of chaining variables is increased by one                                           ((Wt-1     Wt-2     Wt-15    Wt-20) <<<1),
(six working variables) to give a message digest of length 192                                                                       20≤t≤63
bits. Also a different message expansion is used in such a way
that, the message expansion becomes stronger by generating                                              Wt-3       Wt-8     Wt-14    Wt-16
more bit difference in each chaining variable. The extended
                                                                                                         ((Wt-1     Wt-2     Wt-15    Wt-20) <<< 13),
sixteen 32 bit into eighty 32 bit words are given as input to the
round function and some changes have been done in shifting of                                                                        64≤t≤79
bits in chaining variables. Steps of algorithm are as follows:
Step 1: Padding The first step in MD-192 is to add padding                                           Figure1. Expansion of Message words
bits to the original message. The aim of this step is to make the
length of the original message equal to a value, which is 64 bits                    II)      Initialize the six working variables A,B,C,D,E,F
less than an exact multiple of 512. We pad message M with one                                 with (i-1)st hash value.
bit equal to 1, followed by a variable number of zero bits.
Step 2: Append length     After padding bits are added, length
of the original message is calculated and expressed as 64 bit
value and 64bits are appended to the end of the original
message + padding.



                                                                           2
                                                                           109                              http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                            Vol. VII , No. II, FEB2010
       III)    For t = 0 to 79
                                                                                Function        SHA-1           SHA-256       MD-192
               {
                                                                                 Block
               P = ROTL5 (A) + F1 (B,C,D) + E + Kt +Wt                           length           512               512          512
                              5
                                                                                  (bits)
               Q = ROTL (A) + F1 (B,C,D) + E + F + Kt +Wt
                                                                                Message
               F=P                                                              Digest
                                                                                                  160               256          192
                                                                                Length
               E = ROTL15(D)                                                     (bits)
               D=C                                                              Rounds               80              64          80
               C = ROTL30(B)                                                   Collision
               B=A                                                            complexity             280            2128         296
                                                                                (bits)
               A=Q
               }                                                           Table2. Comparison among SHA-1, SHA-256 and MD-192
Where Kt is a constant defined by a Table 1,F1 is a bitwise
Boolean function, for different rounds defined by,
                                                                            A              B          C             D        E          F
               F1(B,C,D) = IF B THEN C ELSE D
               F1(B,C,D) = B XOR C XOR D
               F1(B,C,D) = MAJORITY(B,C,D)                                                                     F1            +
               F1(B,C,D) = B XOR C XOR D
Where the “ IF….THEN……ELSE “ function is defined by
                                                                        <<5                                                  +
   IF B THEN C ELSE D = (BΛC)V((¬B) ΛD)
and “ MAJORITY “ function is defined by                                                    <<30                     <<15
   MAJ (B,C,D) = (BΛC)V(CΛD)V(DΛB)                                                                                           +                Wt
Also, ROTL is the bit wise rotation to the left by a number of
positions specified as a superscript.
       IV)     H0(i) = A + H0(i-1)                                                                                           +                Kt
               H1(i) =   B+   H1(i-1)
               H2(i) = C + H2(i-1)
                                                                                                           +
               H3(i) = D + H3(i-1)
               H4(i) = E + H4(i-1)
               H5(i) = F + H5(i-1)                                          A              B          C             D        E          F

Rounds        Steps           F1           Kt
                                                                                  Figure2. Proposed MD-192 step function
   1          0-19            IF        5a827999

   2          20-39       XOR           6ed6eba1                                               IV.        PERFORMANCE
                                                                       We have presented a new dedicated hash function based on
   3          40-59       MAJ           8fabbcdc                       Davies-Meyer scheme that satisfied Merkle-Damgard
                                                                       condition. Security of this algorithm is higher than
   4          60-79       XOR           ca62c1d6                       SHA-1.Sophesticated message modification techniques
                                                                       were applied. This scheme is 192 bits and need 296 bits for
                                                                       birthday paradox and is strong enough to preimage and
Table1. Coefficients of each round in algorithm
                                                                       second preimage attack. The performance of MD-192 is
                                                                       compared with SHA-1. The performance comparison is
                                                                       accomplished using Pentium IV, 2.8 GHz, 512MB RAM/
                                                                       Microsoft Windows XP Professional v.2002. Simulation



                                                                 3
                                                                 110                                   http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                          Vol. VII , No. II, FEB2010
results of text data indicate that suggested algorithm needs                         V. CONCLUSION AND FUTURE WORK
more time to generate a message digest when compared                       In this paper We proposed a new message digest algorithm
with SHA-1 because in proposed algorithm there is an extra                 basis on the previous algorithm that can be used in any
32 bit chaining variable and additional conditions in                      message integrity or signing application. Future work can
between the steps 16 and 79 in message expansion                           be made on this to optimize time delay.
mechanism. It produces message digest of length 192 bits
longer than the SHA-1. From the simulation results of text
data we have analyzed that strength of MD-192 is more                                                REFERENCES
than SHA-1. Even with the small change in the input                  [1]  Ilya Mironov, “Hash Functions : Theory, attacks and applications”,
algorithm produces greater change in the output.                          (Pub Nov 2005) J. Clerk Maxwell, A Treatise on Electricity and
                                                                          Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68–73.
                                                                     [2] NIST, “Secure Hash Standars“,FIPS PUB 180-2,(Pub Aug 2002)
    Message        SHA-1        MD-192                               [3] X. Wang, X. D. Feng, X. Lai and H.Yu, “Collisions for Hash Functions
      “”          da39a3ee      0fadadef                                  MD4, MD5, HAVAL-128 and RIPEMD, (Pub Aug 2004) Available:
                  5e6b4b0d     c0ef131b                                   http://eprint.iacr.org/2004/199/
                  3255bfef     93aa5854                              [4] R.L. Rivest. The MD5 Message Digest Algorithm. RFC 1321, 1992
                  95601890     a29a0b50                              [5] X. Wang, H. Yu and Y.L. Yin, “Efficient Colision Search Attacks on
                                                                          SHA-0”,(Pub 2005)
                  afd80709     6769fd32
                                                                     [6] K. Matusiewicz and J. Pieprzyk, “Finding good differential patterns
                               a6c90def                                   attacks          on        SHA-1”,           (Pub      2004),Available:
       “a”        86f7e437     4bd559a1                                   http://eprint.iacr.org/2004/364.pdf
                   faa5a7fc    31498fcf                              [7] NIST, “Secure Hash Standar“,FIPS PUB 180-1,(Pub Apr 1995)
                  e15d1ddc     07d06b2b                              [8] William Stallings, “Cryptography and Network Security: Principles and
                  b9eaeaea     f6ab8c4c                                   Practice. Third edition, Prentice Hall.2003.
                  377667b8      cff1f5b3                             [9] Florent Chabaud, Antoine Joux, “Differential collisions in SHA-0,”
                               c4dce3c8                                   Advances in Cryptology-CRYPTO’98, LNCS 1462, Springer-Verlag,
                                                                          1998.
     “abc”        a9993e36     b6a3a4d1
                                                                     [10] Eli Biham, Rafi Chen, Antoine Joux, Patrick Carribault, Christophe
                  4706816a     a96e22d7                                   Lemuet, William Jalby, “Collision in SHA-0 and Reduced SHA-1,”
                  ba3e2571     95c4f6db                                   Advances in Cryptology-EUROCRYPT 2005, LNCS 3494, Springer-
                  7850c26c     7d72607e                                   Verlag,2005.
                  9cd0d89d     ea6d72fb                              [11] C.S. Jutla and A.C.Patthak, “Provably Good Codes for Hash Function
                                                                          Dessign, (Pub Jan 2009)
                               7a440960
   “ABCDE         80256f39     69791d61
    FGHIJ         a9d30865     98d7d65d
   KLMNO          0ac90d9b     264e5f39
    PQRST         e9a72a95     a2bd426a
  UVWXYZ”         62454574     341eb5df
                               d3aec5a8
    “abcdef       32d10c7b     86c4ef2b
    ghijklm       8cf96570     05f8080b
   nopqrstuv      ca04ce37     b041635a
     wxyz”        f2a19d84     ae7e0c60
                  240d3a89     cf17bf1a
                               6254ae8d
   “a1b2c3d4      df7175ff     034c641b
    e5f6g7h8      3caef476     b987efd9
     i9j10”       c05c9bf0     1c6a7322
                  648e186e     1c9da9de
                  a119cce7     d649fddf
                               a0986905
  “A1B2C3D4       28b083ed     76c68675
   E5F6G7H8       69254a83     83b9e4ef
     I9J10”       04f287ae     aa6bdd35
                  fe8d9129     0f6d5270
                  5625beb0     31c567db
                               5a557a32
 “1020304050      2604f26a     5677b63d
 60708090100      46188584     33afb999
   100908070      8f54ce3b     63e98e6d
   60504030       411bac69     9705d49f
 20101098765      c31c140d     327b90e7
  4321123456                   ca2e1216
     78910”                                                    4
                                                               111                                   http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
Table3. Message digest for certain messages
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010

   Integration of Rule Based Expert Systems and Case
    Based Reasoning in an Acute Bacterial Meningitis
            Clinical Decision Support System

               Mariana Maceiras Cabrera                                                     Ernesto Ocampo Edye
      Departamento de Informática y Ciencias de la                               Departamento de Informática y Ciencias de la
                    Computación                                                                Computación
           Universidad Católica del Uruguay                                           Universidad Católica del Uruguay
                 Montevideo, Uruguay                                                       Montevideo, Uruguay
                .


Abstract—This article presents the results of the research carried             This research is focused on the development of an Acute
out on the development of a medical diagnostic system applied to           Bacterial Meningitis MDS integrating Case Based Reasoning
the Acute Bacterial Meningitis, using the Case Based Reasoning             (hereafter CBR) with Rule Based Expert Systems (hereafter
methodology. The research was focused on the implementation of             RBR).
the adaptation stage, from the integration of Case Based
Reasoning and Rule Based Expert Systems. In this adaptation                    This document is organized in the following way: in
stage we use a higher level RBC that stores and allows reutilizing         Section 2 is presented the case study used in the research:
change experiences, combined with a classic rule-based inference           Diagnosis of Acute Bacterial Meningitis, followed in section 3
engine. In order to take into account the most evident clinical            by the presentation of the addressed problem. Section 4
situation, a pre-diagnosis stage is implemented using a rule
engine that, given an evident situation, emits the corresponding
                                                                           presents a brief summary of state-of-the-art techniques and
diagnosis and avoids the complete process.                                 referred applications. Afterwards, section 5 describes the
                                                                           proposed computer solution in detail, while in section 6 is
    Keywords-Case-Based Reasoning; Medical Diagnosis; Expert               described the composition of the knowledge base, which
Systems; Acute Bacterial Meningitis                                        represents reality and is used in simulations, and the way it
                                                                           was built. Section 7 presents the results of the system’s
                                                                           performance assessment and section 8 outlines the conclusions
                       I.   INTRODUCTION                                   of this work.
    Clinical Decision Support Systems (hereafter CDSSs) have                    II.   CASE STUDY: DIAGNOSIS OF ACUTE BACTERIAL
become paramount in the medical environment, providing                                            MENINGITIS
support to the clinical expert in the diagnosing process, mainly
assisting the analysis and synthesis of bulk information in little             The medical diagnosing task consists in “translating” the
time. These systems enable the reduction of the intrinsic degree           relation between a set of signs and symptoms found in a
of uncertainty that any decision-making process in the medical             patient, and the possible pathologies she or he might suffer
environment entails. [1], [2]                                              from. [3], [1] This work addresses the medical diagnosis of
                                                                           the disease known as Acute Bacterial Meningitis (hereafter
    Several aspects related to a specific kind of CDSS, Medical            ABM).
Diagnostic Systems (hereafter MDSs), will be addressed
throughout this document. From a set of symptoms and signs                     ABM is an infectious disease caused by bacteria that attack
shown by the patient, the MDS are capable of suggesting a set              the meninges (a membrane system that covers the Central
of differential diagnoses, possibly with a certainty degree                Nervous System – brain and spinal cord). The meningitis is an
associated to each of them. [1], [3]                                       inflammatory process of the leptomeninges (pia mater and
                                                                           arachnoid mater), and the cerebrospinal fluid (CSF) contained
    While developing MDSs, either in their construction and                inside them [5]. The Meningitis poses a great threat to optical,
application, several problems arise: 1) Representation of the              facial and auditory nerves, and other kinds of neurologic
domain knowledge; 2) Processing of such knowledge; 3)                      sequels.
Obtaining results that are accurate enough and 4) Presentation
of the results to the user, and their explanation. Each of these                In this research we have taken as a reference a subset of the
problems is solved in a particular way, depending on the                   typical signs and symptoms of this disease – a total of 81
method applied to the development of the system. In this                   symptoms have been considered - which are: convulsions,
document is presented an alternative way to solve these                    depression, fever, hypertense fontanelle, nape stiffness, trunk
problems using Case Based Reasoning. [1], [4]                              stiffness, skin purpuric syndrome, vomits, somnolence,



                                                                     112                               http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010
irritability, facial  paralysis,   cervical  adenopathies,                     The rule based reasoning is one of the most used techniques
haemocultivation with bacteria, bacteria in CSF, muscular                   [16], [17], and in recent years case-based reasoning has gained
hypotonicity, cloudy aspect CSF, clear aspect CSF,                          much importance in this field [18], [19], [20], [4].
hydrocephaly in ecography, tumors in tomography, among
many others. [6], [7]                                                       B. Case-Based Reasoning (CBR)
                                                                                Case Based Reasoning is a methodology for problem
    The combination of the presence of several of these                     solving that focuses on the reutilization of past experience. It is
symptoms allows identifying the disease under study, but it                 based on solutions, information and knowledge available in
could also be indicative, to a greater or lesser extent, of other           similar problems previously solved. The implementation of this
diseases identified as “differential diagnoses”. The relevant               method requires the existence of a knowledge base that
differential diagnoses in the case of ABM are: Acute Viral                  contains the cases that contain previous experience. It is also
Meningitis, Tuberculous Meningitis, Encephalitis, Brain                     necessary to count with a mechanism that allows us to infer, for
Abscess, Meningism, Meningeal reaction to nearby                            a new case, the solution based on foregoing cases. CBR’s basic
inflammation, Meningeal Haemorrhage and Brain Tumor. [7].                   principle is that similar problems will have similar solutions.
The task of the doctor is to diagnose accurately the disease                [19], [20], [21], [4], [18]
within these alternatives.
                                                                                In CBR the structures handled are known as cases. A case
                      III.   PROBLEM OUTLINE                                represents a problem situation. It could be more formally
    This research focuses on the development of an MDS for                  defined as contextualized knowledge that represents past
the disease known as ABM, integrating the CBR and RBR                       experience, and implies an important teaching to accomplish
methods, making special emphasis on the implementation of                   the objectives of a rational agent. [19], [20], [18], [22]
the adaptation of the CBR cycle stage. This stage is                            In Figure 1 is presented the CBR cycle. It can be observed
fundamental in a case-based MDS, given that once recovered                  the presence of 4 sub-processes or stages (“Retrieve”, “Reuse”,
the most similar case, it is highly probable to find differences in         “Revise” and “Retain”) that explicate the operation of this
the descriptions of the problems. This could then indicate                  methodology.
differences in the solutions, which entails a possible error in the
diagnosis.
    On the other hand, the adaptation capabilities of a CBR
system applied to a CDSS allow its usage by not so
experienced physicians. This fosters its utility as a support tool
also in the medical learning and practice.
                IV.     THEORETICAL FRAMEWORK

A. Clinical Decision Support Systems
    A Clinical Decision Support System (CDSS) is an expert
system that provides support to certain reasoning tasks, in the
context of a clinical decision. [1]
    A medical diagnostic decision support system – MDS - is
defined as a computer algorithm aimed at assisting the doctor
in one or more stages that comprise the medical diagnostic
process. [1]
    One of the first CDSS that appeared in the marketplace is                                      Figure 1. CBR Cycle
MYCIN, a system developed at Stanford University. This
system was designed to diagnose and recommend treatments                       First, when a new problem is posed to the system, it
for blood infections. [8], [9]                                              proceeds to identify correctly the current case, and retrieve the
    Other systems of interest are: IMAGECREEK – image                       most similar cases from the knowledge base.
analysis - [10], CADI – medicine students’ tutorial - [11],                     Once the cases have been obtained, the information and
SCINA – diagnosis of cardiac diseases - [12], CARE-                         knowledge contained in them is reused to solve the new
PARTNER – diagnosis and treatment scheduling of stem cells                  problem, from which a solution to propose to the user is
transplant - [13], AUGUSTE – diagnosis and scheduling of                    reached. This stage might possibly entail an adaptation process
Alzheimer treatment - [14], T-IDDM – treatment scheduling of                of the solution of the retrieved case, considering the differences
diabetes - [15].                                                            between both problematic situations.
    There are many computer techniques and methods –                           Also, these systems include a stage of proposed solution
especially in the Artificial Intelligence field – that have been            assessment, and a later learning from this case. Then, after the
applied in the last 30 years or more in the development of                  reusage stage it proceeds to the proposed solution revision
systems of this nature: pattern analysis, neural networks, expert           process, which is assessed and repaired if it fails, obtaining a
systems and Bayesian networks, among others.                                confirmed or revised solution.



                                                                      113                               http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010
    After that, the learning stage takes place. In this stage the                 Deja Vu [32], is a system dedicated to the automatic
information and knowledge obtained with the solution of the                        programming of machinery in a control plant. In this
new case is retained, so as to be useful to solve future                           system, its adaptation guided retrieval approach is
problems. This stage implicates a modification of the                              fundamental.
knowledge base, or of the methods to retrieve and reuse cases
from such base.                                                            D. Rule Based Expert Systems (RBR)
                                                                               An RBR system has an inference engine that uses rules to
    These systems progressively enlarge their knowledge bases              reach conclusions based on premises and a certain context
with new cases while new problems are solved, gradually                    state. These systems are comprised of three main parts:
widening the range of situations in which the system is                    inference engine, rule base, and working memory (auxiliary
applicable and the accuracy of the proposed solutions. Once                space in the memory to be used during the reasoning). [16],
finalized the retention the cycle can start all over again. [19],          [17]
[20]
                                                                               An example of a rule based CDSS is MYCIN, one of the
   Regarding the reutilization or adaptation methods – main                first systems to appear in the marketplace. This system counts
objectives of this research -, it is necessary to consider [19]:           with a knowledge base composed by IF-THEN rules, which are
       Determine the differences between the new case and                 associated a certainty factor. Through these factors it can be
        the previous case recovered.                                       given each rule different weights so as to determine their
                                                                           influence. [8], [9]
       Determine the aspects of previous cases that can be
        reutilized without changes.                                            Another example of a rule based CDSS is CASEY, which
                                                                           is an hybrid system that combines CBR and RBR. CASEY is a
       Determine how to adapt a solution of a previous case               medical diagnostic system that offers a causal explanation of
        based on the differences observed with the new case.               the patient’s pathology. It is applied to heart failures diagnose.
    The adaptation arises from: 1) the description of the new              This system outstands by its use of rules, in both retrieving and
problem, 2) the solution provided for a similar problem, and               reusing steps. [33]
optionally 3) the description of the corresponding similar                                    V.     PROPOSED SOLUTION
problem. [18]
                                                                              A hybrid system has been developed, that combines CBR
    The adaptation process must take into account two key                  and RBR methodologies: SEDMAS-RBC-Adapt, whose
issues: 1) How to identify what has to be adapted (identifying             operation is depicted in Figure 2.
the adaptation need) and 2) how to choose an appropriate
method to carry out a required adaptation. This last issue also
implicates: identifying what must be changed, finding an
appropriate adaptation technique or strategy, and choosing
among a set of adequate strategies. [18], [4].
    The most relevant adaptation techniques can be classified in
three main groups: a) Substitution methods: null adaptation,
re-instantiation, parameter adjustment, adjustment based on a
fuzzy decision structure, local search, query memory,
specialized search, case based substitution, restriction based
substitution, user feedback based substitution; b)
Transformation methods: common-sense transformation,
model guided transformation and c) Other methods:
adaptation and repairment with specific purposes, derivational
replay, general framework for adaptations through substitution,
case based adaptation, hierarchy based adaptation,
compositional adaptation. [18], [20], [23], [22], [21], [24], [4],
[25].
    Each of these techniques or methods differ in complexity
taking into account two issues: what is to be changed in the
previous solution, and how will that change be achieved [21],
[26]
C. CBR Systems Examples
    DIAL [27], [28], [29], [30], [31], is a planning system
      for the recovery from disasters that stands out for its
      adaptation stage, that uses a combination of CBR and
      rules. It also implements the adaptation guided
      retrieval.                                                                    Figure 2. Explanatory image of the developed system




                                                                     114                                http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010
    This system receives as input the symptoms shown by the                  receives as input the differences between the present symptoms
patient. This framework is initially applied to the pre-diagnosis            in the retrieved case and the current one, as well as the solution
stage. This stage uses a set of basic diagnostic rules so as to              offered by the recovered case. From this input, this process
identify situations in which a certain set of symptoms indicate              offers an adapted solution to the new problem. This solution is
the presence of a disease without a shadow of a doubt.                       the same as the one of the retrieved case, to which some
                                                                             changes were made according to the differences between the
    The aim of this stage is to increase the system’s                        problematic situations.
performance – it by-passes the complete inference process.
Moreover, this is a key stage when the knowledge base is                         Firstly, a CBR process is carried out to obtain the desired
incipient – extremely small – and there is no representative                 solution, reusing previous change knowledge. For this purpose
evidence of any of the differential diagnoses in it.                         adaptation cases are used. These consist of two components:
                                                                             description of the case and its solution.
   The pre-diagnosis rules have the following structure,
                                                                                 As shown in Figure 3, the difference between the
        IF CSF presents Cloudy aspect      THEN ABM                          descriptions of the problematic situation, applied to an S1
    in which it is stated that, if the patient presents “cloudy              solution produces an S2 solution. This solution is the product
aspect in the cerebrospinal fluid”, then the unquestionable                  of adapting S1 according to difference ΔP.
existence of Acute Bacterial Meningitis can be affirmed.
    The pre-diagnostic rules, as well as the adaptation rules
presented later, were developed based on a knowledge
engineering work carried out with a physician experienced in
the diagnosis of these kinds of diseases.
    If the pre-diagnosis stage is successful, then there is a
solution to the problem which is presented to the user, offering
the possibility of repairing the new case.
    Once repaired, successful or not, the possibility of retaining
the solved problematic situation as a new case in the system is
offered. In this way is implemented the learning process of the
diagnostic experience.
    If the case is not obvious or simple, the pre-diagnosis is not
applicable and the system proceeds to process the case using
the CBR method.                                                                               Figure 3. Adaptation cases structure
    A new query is built from the symptoms of the new case,
and the most similar cases are retrieved from the case base –                   The adaptation case description consists of two parts:
the system retrieves the three most similar cases, and the user                  a) a set of attributes that represent the differences between
can select the one she or he believes more adequate to be                    the problem descriptions (ΔP). There is one attribute for each
reutilized-.                                                                 considered symptom, which will indicate the following
    The case representation used consists of three components:               situations: 1) equality between the occurrence of symptoms –
a description of the problematic situation, the solution to such             with respect to the presence or absence of the symptom in the
situation, and an indicator of success of the solution. The                  current and the retrieved case (present or absent in both cases) -
description is comprised of logical attributes (true or false), that         ; 2) presence of the symptom in the current case and absence in
indicate the presence or absence of each of the symptoms                     the previous; and finally, 3) absence of the symptom in the
considered for the diagnosis. The solution is represented by a               current case and presence in the retrieved one.
group of three diagnoses: a primary one and two differential                    b) the solution to the retrieved case, consisting of three
ones.                                                                        possible diagnoses (S1).
   The retrieval is implemented by the nearest neighbor                         The solution (S2) to the adaptation case consists of the three
method using the 81 considered symptoms. The local similarity                diagnoses to which the system arrived once made the pertinent
between symptoms is determined by equality.                                  changes to the original solution.
    After the retrieval, the system evaluates how similar the                   Following a CBR standard process, the first step in the
current case and the selected one are; if the similarity degree              adaptation process consists in the retrieval of the most similar
exceeds a certain threshold, then the solution to the retrieved              adaptation case. For this purpose is used the nearest neighbor
case can be reused directly. Otherwise, an adaptation process                method, with equality functions for the calculation of local
that integrates CBR with RBR has to be applied.                              similarity. This similarity function only considers those
   This process consists of a set of rules that allow carrying               symptoms that, through the process of adaptation knowledge
out transformations to the solutions. Also, using CBR it is                  survey carried out with the physicians, were considered as
possible to store and reuse change experiences. The process                  more influential or important to the adaptation process. The




                                                                       115                                http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                          Vol. 7, No. 2, 2010
symptoms that were not considered for this process are not                       The next step is the retention stage, in which the user is
relevant enough to have an impact in the diagnosis.                          asked if she or he wishes to retain the new case. Moreover, if
                                                                             an adaptation process has been performed, then the user is
    Once the most similar adaptation case has been selected,                 given the option of storing the adaptation knowledge, which
the associated similarity degree is assessed, once again, based              will be available after the new experience. A new adaptation
on a set threshold. If this threshold is exceeded, the reutilization         case can be learned either from the reutilization of a previous
of the adaptation case is made directly – a null adaptation is               adaptation case or from the successive application of rules.
done – the adapted solution coincides with the solution of the               This type of adaptation process allows, at the beginning, the
retrieved case. This is due to the fact that the application                 adaptation to be mostly based in the set of surveyed rules.
context of the retrieved experience and the current context are              However, when the system gains experience the reusability of
virtually identical. If the retrieved adaptation case is not similar         adaptation cases increases, and the system turns less dependent
enough, the system proceeds to adapt based in rules contained                on the rule set.
in the knowledge base. As well as in the case of the pre-
diagnosis stage rules, the domain problem was investigated                       If the system makes any mistakes when adapting, the user
with the collaboration of an expert doctor. Two main categories              has the possibility of indicating such situation and specifying
of situations have been determined:                                          the correct solution. In this way, the system is able to learn a
                                                                             new adaptation case from the user himself. If this user is a
       a) Situations in which the differential presence of a                physician with vast experience in this field, this feature is key
        symptom allows excluding a certain differential                      to the learning of new experiences.
        diagnosis. For instance,
                IF Koch’s Bacillus THEN Discard ABM                                 VI.   GENERATION OF THE DIAGNOSIS CASE BASE
                                                                                 One of the main points in the construction of the system
         This rule indicates that if the current case (P2) shows             consists in obtaining a set of diagnoses large enough – to test
         “Koch’s Bacillus”, but the retrieved case (P1) did not,             the performance of the system – relevant, and representative of
         the differential diagnosis of Acute Bacterial                       real world population.
         Meningitis is discarded. If such diagnosis was given
         in the solution of the previous case (S1) then it can be                In previous works of the research group (development of a
         removed, and it will not be contained in the solution               diagnostic expert system of Acute Bacterial Meningitis based
         of the current case. (S2).                                          on a Bayesian inference engine [7]), a database of occurrence
       b) Situations in which, under the intuition of a given               probabilities of the disease under study (ABM) and its
        diagnosis and given a difference in the present                      differential diagnoses, based on 10000 medical visits, was
        symptoms another diagnosis is sensed; or its certainty               available. Likewise, for each disease the corresponding
        level is modified. For example,                                      probability of presenting the symptoms under study is
                                                                             available.
            IF ABM primary AND Crystalline aspect THEN
                         ABM Differential                                        Based on these diseases and symptoms probabilities and
                                                                             using the Montecarlo method (assuming normal and uniform
        This rule indicates that if the solution to the previous             distributions in each case) several simulations were performed
        case (S1) presents ABM as a primary diagnosis, but the               to obtain a set of virtual “cases”.
        cases differ in that the current (P2) presents
        “Crystalline aspect in the cerebrospinal fluid” and the                   This initial set was subject to several steps of revision: in
        previous case (P1) does not, then in the current                     first place, the cases with clearly abnormal or extremely
        solution (S2) such disease has to be considered as a                 improbable situations were removed; and then each of the cases
        differential diagnosis, not primary.                                 was validated by medical experts. The result is an initial
                                                                             “cured” database that is representative of the real population –
   The different rules modify the facts in the working memory                it is based on probabilities extracted from the population, and
of the inference engine in such way that at the end of the                   the combinations obtained have been validated by field experts.
processing the set of resulting diagnoses is retained in it.
                                                                                Besides the validation process, the expert provided the real
    The successive application of rules has a correspondence to              diagnosis for each of the cases in the base, for which it can be
each of the transformations or adaptations carried out on the                considered as a set of real cases.
original solution, when there is a difference between
symptoms.                                                                         VII. ASSESSMENT OF THE SYSTEM’S PERFORMANCE
    Once the solution has been obtained (either by the                           The system’s performance has been assessed considering
reutilization of the diagnostic case or by its adaptation), it is            three indicators: accuracy, robustness before partial
presented to the user and the system requires her judgment or                information, and learning capacity.
assessment – success or failure – as for the correction of the               A. Accuracy
suggested diagnosis. If the case fails, the system offers the user
the possibility of repairing it, setting the appropriate diagnosis              In the context of this research, accuracy has been defined as
(primary and differentials) – the case is then assumed as                    the amount of successful hits the system reached. For this
successful-.                                                                 experiment, a 30-case sample extraction was made (size of the
                                                                             sample calculated according to the population size, based on



                                                                       116                               http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                   Vol. 7, No. 2, 2010
traditional statistic methods of experiment design). Each case                      C. Learning capacity
was then presented to the system to obtain the corresponding                            This metric indicates the system’s capacity of incorporating
diagnosis. This diagnosis was later compared to the one                             knowledge. SEDMAS-RBC-Adapt has important learning
provided by the expert to determine whether the system hit or                       capacities. As any CBR system, there is the possibility of
failed. This experiment shown an accuracy of 97%.                                   retaining new diagnosis cases in the retention stage. Besides,
B. Robustness in presence of partial information                                    this system has the additional ability to learn new adaptation
                                                                                    cases, retaining change experiences.
    This metric intends to assess the system’s flexibility when
faced to the heterogeneity of the expert users. The potential                                                VIII. CONCLUSIONS
users of systems of this kind (physicians, students, other
                                                                                       The integration of the CBR and RBR methods in the
specialists in the field of human health) use to have different
                                                                                    development of a medical diagnosis CDSS has proven to be
levels of experience, which implies different capacities in the
                                                                                    appropriate and convenient. The approach developed not only
detection of the symptoms involved. Some symptoms are more
                                                                                    presents excellent results for its precision, robustness before
difficult to identify than others, and this identification is often
                                                                                    partial information and learning capacity, but it is also an
related with the experience of the physician. That is to say, in
                                                                                    example of how to take full advantage of each of the used
some cases it may happen that the medical user, with short
                                                                                    techniques.
experience in this specific field, might not be able to detect the
presence of a certain symptom, even when it is present. The                            Through the survey of a set of basic rules of pre-diagnosis,
robustness indicator intends to assess how the system behaves                       the simplest cases to diagnose are detected. Such survey is
when faced to different levels of experience.                                       fairly simple as it is knowledge that doctors handle constantly.
                                                                                    For less simple cases in which the diagnosis is not so direct,
    The experiment consists in performing a series of cycles,
                                                                                    the system allows resorting to past experience.
measuring in each one the accuracy of the system, - in the way
described above -, but removing from the knowledge base                                   In this way, we can take the best out of CBR and RBR.
some symptoms in each cycle – symptoms that have been
identified as those whose detection is more dependent on the                           Also, the approach of the adaptation process is paramount
experience of the physician-. The removal of symptoms implies                       for the system to learn to adapt throughout the time, being able
that a certain symptom that used to be considered present is                        to gather knowledge indirectly from the medical expert. Such
now considered absent, which would coincide with the case                           approach allows reutilizing the system’s adaptation
entry done by a less experienced doctor.                                            knowledge, while maintaining the capacity to adapt in
                                                                                    exceptional cases.


                                                                                                                  REFERENCES

                                                                                    [1]  R.A. Miller and A. Geissbuhler. "Clinical diagnostic decision support
                                                                                         systems - an overview.". [1], pp. 3-34, 1996.
                                                                                    [2] P. Szolovits. "Uncertainty and decisions in medical informatics.".
                                                                                         Methods of Information in Medicine, [34], pp. 111-121, 1995.
                                                                                    [3] A. Chohra, N. Kanaoui, and K. Madani. "Hybrid intelligent diagnosis
                                                                                         systems.". 2007. IEEE.
                                                                                    [4] D.B. Leake. "CBR in context: the present and future.". [1], pp. 1-35,
                                                                                         1996.
                                                                                    [5] C.G. Prober. "Infecciones del sistema nervioso central.". vol. 15[169],
                                                                                         pp. 885-894, 1997. McGraw-Hill Interamericana.
                                                                                    [6] C. Maurente, E. Ocampo Edye, S. Herrera Delgado, and D. Rodriguez
  Figure 4. Results obtained in the experiment of robustness before partial              Garcia. "Evaluation of case based reasoning for clinical decision support
                                information                                              systems applied to acute meningitis diagnose.". 2008.
                                                                                    [7] E. Ocampo Edye, S. Herrera Delgado, F. Machado Piriz, and A. Ruibal
    In Figure 4 we can see how the accuracy degrades as we                               Laborda. "Diseño y construcción de sistema experto de diagnóstico de
                                                                                         meningitis aguda supurada, basado en máquina de inferencia
remove symptoms. However, it is important to notice that, even                           bayesiana.". 2002.
though the accuracy of the system decreases, it keeps a                             [8] B.G. Buchanan and E.H. Shortliffe. "Rule-based expert systems: The
constant accuracy of 80% after the fifth iteration, which implies                        MYCIN experiments of the Standford heuristic programming project".
an interesting and desirable result. This behavior has been                              1984.
compared to previous versions developed in the research group                       [9] E.H. Shortliffe. "Mycin: a rule-based computer program for advising
using other techniques of intelligent systems (Bayesian                                  physicians regarding antimicrobial therapy selection". 1975.
inference, CBR without adaptation and without RBR), having                          [10] M. Grimnes and A. Aamodt. "A two layer case based reasoning
obtained better results. [6], [7]                                                        architecture for medical image understanding". Proceedings of
                                                                                         EWCBR'96, 1996.
                                                                                    [11] KD. Fenstermacher. "An Application of Case-based Instruction in
                                                                                         Medical Domains". AAAI Press/MIT Press, 1996.




                                                                              117                                    http://sites.google.com/site/ijcsis/
                                                                                                                     ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                    Vol. 7, No. 2, 2010
[12] M. Haddad, KP. Adlassnig, and G. Porenta. "Feasibility analysis of a               [23] Wilke Wolfgang and Bergmann Ralph. "Techniques and knowledge
     case-based reasoning system for automated detection of coronary heart                   used for adaptation during case-Based problem solving". 1998.
     disease from myocardial scintigrams". Artificial Intelligence in                   [24] S. Manzoni, F. Sartori, and G. Vizzari. "Towards a general framework
     Medicine, vol. 9[1], pp. 61-78, 1997.                                                   for substitutional adaptation in case-based reasoning". 2005.
[13] I. Bichindaritz, E. Kansu, and Sullivan KM. "Case-Based Reasoning in               [25] R. Bergmann and W. Wilke. "On the role of abstraction in case-based
     CARE-PARTNER: Gathering Evidence for Evidence-Based Medical                             reasoning.". 1996.
     Practice". 1998.
                                                                                        [26] P. Cunningham, D. Finn, and S. Slattery. "Knowledge engineering
[14] C. Marling and P. Whitehouse. "Case-based reasoning in the Care of                      requirements in derivational analogy.". Topics in Case-Based Reasoning,
     Alzheimer's Disease Patients". 2001.                                                    pp. 234-245, 1994.
[15] S. Montani, R. Bellazzi, L. Portinale, and M. Stefanelli. "A Multi-Modal           [27] D.B. Leake, A. Kinley, and D.C. Wilson. "Acquiring case adaptation
     Reasoning Methodology for Managing IDDM Patients". International                        knowledge: a hybrid approach.". AAAI Press/MIT Press, 1996.
     Journal of Medical Informatics, 2002.
                                                                                        [28] D.B. Leake, A. Kinley, and D.C. Wilson. "Multistrategy learning to
[16] E. Friedman-Hill. "Jess in action.". 2003. Manning.                                     apply cases for case-based reasoning.". AAAI Press/MIT Press, 1996.
[17] E. Morales and L.E. Sucar. "Representación de conocimiento.". 1999.                [29] D.B. Leake, A. Kinley, and D.C. Wilson. "Linking adaptation and
[18] J. Kolodner. "Case-based reasoning.". 1993. Morgan Kaufmann                             similarity learning.". 1996.
     Publishers, Inc.                                                                   [30] D.B. Leake. "Combining rules and cases to learn case adaptation.".
[19] A. Aamodt and E. Plaza. "Case-based reasoning: foundational issues,                     1995.
     methodological      variations,    and    system     approaches.".     AI          [31] D.B. Leake. "Becoming an expert case-based reasoner: learning to adapt
     Communications, vol. 7[1], pp. 39-59, 1994.                                             prior cases.". 1995.
[20] S.K. Pal and S.C.K. Shiu. "Foundations of soft case-based reasoning.".             [32] K. Doi, Y. Kamigane, M. Ito, and Y. Uehara. "Software generation
     2004. John Wiley & Sons, Inc.                                                           system for mill operation". Hitachi Review, vol. 42[4], pp. 175-178,
[21] R. Lopez de Mantaras, D. McSherry, D. Bridge, D.B. Leake, B. Smyth,                     1993.
     S. Craw, B. Faltings, M.L. Maher, M.T. Cox, K. Forbus, M. Keane, A.                [33] P. Koton. "Using experience in learning and problem solving.". 1989.
     Aamodt, and I. Watson. "Retrieval, reuse, revision, and retention in case-
     based reasoning.". 2006.
[22] I. Watson. "Applying case-based reasoning: techniques for enterprise
     systems.". 1997. Morgan Kaufmann Publishers, *Inc.




                                                                                  118                                   http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                    Vol. 7, No. 2, 2010

       Formal Concept Analysis for Information Retrieval

          Abderrahim El Qadi*,‡                                    Driss Aboutajdine‡                                      Yassine Ennouary‡
                                                              ‡                                            ‡
    *Department of Computer Science                          GSCM-LRIT, Unité associée au                  GSCM-LRIT, Unité associée au CNRST,
    EST, University of Moulay Ismaïl,                      CNRST, URAC 29, Faculty of Science,             URAC 29, Faculty of Science, University
           Meknes, Morocco                                    University of Mohammed V,                             of Mohammed V,
         elqadi_a@yahoo.com                                      Rabat-Agdal, Morocco                            Rabat-Agdal, Morocco


Abstract—In this paper we describe a mechanism to improve                             less interesting. This redundancy of information due to is made
Information Retrieval (IR) on the web. The method is based on                         that the properties are showed as independent, and the possible
Formal Concepts Analysis (FCA) that it is makes semantical                            existence of the semantic relations between the properties is not
relations during the queries, and allows a reorganizing, in the                       taken into account. On the other hand, the semantic relations
shape of a lattice of concepts, the answers provided by a search                      between the properties can exist. So it proves to be useful to
engine. We proposed for the IR an incremental algorithm based                         use ontology or taxonomy of field. In order to make correspond
on Galois lattice. This algorithm allows a formal clustering of the                   as well as possible the relevance of the user and the relevance
data sources, and the results which it turns over are classified by                   of the system, we used a stage of query reformulation. The
order of relevance. The control of relevance is exploited in                          initial query is treated like a test to find information. The
clustering, we improved the result by using ontology in field of                      documents initially presented are examined and a formulation
image processing, and reformulating the user queries which
                                                                                      improved of the query is built from ontology, in hope to find
make it possible to give more relevant documents.
                                                                                      more relevant documents. The query reformulation is done in
   Keywords-FCA;             Galois       lattice;   IR;    Ontology;   Query         two principal stages: to find terms; extension to the initial
Reformulation)                                                                        query, and to add these terms in the new query.
                                                                                          The paper is organized as follows: Section 2 introduces the
                             I.          INTRODUCTION                                 Ontology (taxonomy), and in section 3 we presented the kinds
    The World Wide Web (WWW) has become the most                                      of query reformulation used. In section 4 we illustrate FCA.
popular information source for people today. One of the major                         Section 5, report the procedures and describe the system
problems to be solved is related to the efficient access to this                      implemented for building concepts lattice and IR, and we show
information that is retrieved by human actors or robots                               the results obtained. Section 6 offers some conclusions related
(agents). Our work falls under this context. We propose a                             to this work.
solution to seek the relevant sources within sight of a query
user. The data sources which we consider are the research tasks                                                II.        ONTOLOGY
of laboratory LRIT1 of the Faculty of Science Rabat Morocco.                              The concept of ontology became a key component in a
Facing such a problem, we seek in this work to analyze more                           whole range of application calling upon knowledge. Ontology
precisely inter-connected themes between the authors, the                             is defined like the conceptualization of the objects recognized
publications and sets of themes of LRIT laboratory.                                   like existing in a field, their properties and relations
     There was some interest in the use of lattices for                               connecting them. Their structure makes it possible to represent
information retrieval by [1, 2]. These systems build the concept                      knowledge of a field under a data-processing format in order
lattice associated with a document/term relation and then                             to make them usable for various applications.
employ various methods to access the relevant information,                               An ontology can be constructed in two ways: domain-
including the possibility for the user to search only those terms                     dependent or generic. Generic ontologies are definitions of
that has specified. Building the Galois (concept) lattice can be                      concepts in general; such as WordNet [5], which defines the
considered as a conceptual clustering method since it results in                      meaning and interrelationships of English words. A domain-
a concept hierarchy [3, 4]. This form of clustering constitutes                       dependent ontology generally provides concepts in a specific
one of the motivations of the concept’s application lattice for                       domain, which focuses on the knowledge in the limited area,
IR. This comes owing to the fact that clustering out of lattice                       while generic ontologies provide concepts more
makes it possible to combine research by query and research by                        comprehensively.
navigation.
                                                                                          The implementation of ontology is generally taxonomy of
Consequently the concept lattice generated from unit objects                          concepts and corresponding relations [6]. In ontology,
represents, in an exhaustive way, the possible clustering                             concepts are the fundamental units for specification, and
between these objects. Each cluster corresponding to a concept.                       provide a foundation for information description. In general,
Some of these concepts bring redundant information and are                            each concept has three basic components: terms, attributes and
                                                                                      relations. Terms are the names used to refer to a specific
1
    http://www.fsr.ac.ma/GSCM/id19.htm




                                                                                119                                  http://sites.google.com/site/ijcsis/
                                                                                                                     ISSN 1947-5500
                                                                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                                              Vol. 7, No. 2, 2010
concept, and can include a set of synonyms that specify the                                                   approach is that users are often required to place a bound on
same concepts. Attributes are features of a concept that                                                      the number of documents retrieved as their query may be too
describe the concept in more detail. Finally relations are used                                               general, and hence, retrieve too many irrelevant documents.
to represent relationships among different concepts and to
provide a general structure to the ontology. Figure 1 is an                                                       An alternative approach that has gained in interest recently
example of a simple ontology about the organization of                                                        is to apply the FCAs [9]. The advantage of this approach is
concepts used in image processing.                                                                            that users can refine their query by browsing through well
                                                                                                              defined clusters in the form of a graph. The principal idea of
    In this ontology example, every node is a concept defined                                                 the re-injection of relevance is to select the important terms
in image processing field. For each concept, there should be a                                                belonging to the documents considered to be relevant by user,
set of attributes used to specify the corresponding concept. For                                              and to reinforce importance of these terms in the new query
instance, for the concept “Segmentation”, the attributes of                                                   formulation. This method has double advantage a simplicity
name and type are shown, and help explain the corresponding                                                   run for user who s' doesn’t occupy of the details of
concept.                                                                                                      reformulation, and a better control of the process of research
                                                                                                              by increasing the weight of the important terms and by
    The relations between different concepts are also                                                         decreasing that of the non important terms. In the case of
simplified. In a real application, several types of concept                                                   automatic reformulation, user does’ not intervene. Extension
relations are used.                                                                                           of the query can be carried out to leave a thesaurus or an
                                                                                                              ontology, which defines the relations between the various
                                             Image processing                                                 terms and makes it possible to select new terms to be added to
                                                                                                              the initial query.

                   Rehaussement    Transmission Compression          Segmentation
                                                                                                                  In this work, to hold account the semantic relations
                                                                                    - name
                                                                                                              between the concepts; we used an ontology presented in figure
                                                                                    - type                    1. This ontology will be used for query reformulation, which
                                                Segmentation by
      Seuillage
                                    Filter      approach (area)                                               we used two types of modes respectively reflect reformulation
                   Histogram
                                                                  Segmentation by Segmentation by             by generalization and reformulation by specialization:
                                                                  approach (border) clustering or
                                               No                                     seuillage
        Equalization            Linear       linear                                                              - Reformulation by generalization: consists in locating the
         histogram               filter       filter                Detection of
                                                                      contour                                 top c of T (tree) corresponding to one of the properties
                                                                                                              appearing in the query. Then traversing the way of c until the
     Pass-bas
      filter      Pass-haut   Pass-band
                                              KNN
                                              filter
                                                       SNN
                                                       filter         Canny                                   root and adding to the query the tops met.
                    filter      filter                                 filter
                                                                                                                  - Reformulation by specialization: consists also in locating
      Figure 1. An example of ontology in field of image processing                                           the top c corresponding to one of the properties appearing in
                                                                                                              the query. But this time traversing under T which has like root
                                                                                                              c and then extracting all the tops, sheets from under tree and
                        III.              QUERY REFORMULATION                                                 adding them to the query.
    However, it is often difficult for user to formulate exact his
requirement in information. Consequently, the results which                                                                 IV.     FORMAL CONCEPT ANALYSIS
the SRI provides them are not appropriate. To find relevant
information by using the only initial query is always difficult,                                                  Among the mathematical theories recently found with
and this because of inaccuracy of the query. In order to make                                                 important applications in computer science, lattice theory has
correspond as well as possible the relevance of the user and the                                              a specific place for data organization, information engineering,
relevance of the system, a stage of query reformulation is often                                              and data mining. It may be considered as the mathematical
used.                                                                                                         tool that unifies data and knowledge or information retrieval
                                                                                                              [2, 3, 10, 11, 12].
    The query reformulation can be interactive or automatic
[7]. The interactive query reformulation is the strategy of                                                   A. Formal Context
reformulation of the most popular query. It is named
commonly re-injection of the relevance or "relevance                                                             A context is a triplet (G, M, I) which G and M are units
feedback". In a cycle of re-injection of relevance, one presents                                              and I ⊆ G×M is a relationℜ. The elements of G are called the
to user a list of documents considered to be relevant by the                                                  objects, M a finite set of elements called properties and R is a
system like answer to the initial query. After examined them,                                                 binary relation defined between G and M. The notation gIm
user indicates how he considers them relevant. This system                                                    means that "formal object g verifies property m in relation R".
allows users to expand or refine their query through the use of                                                   Example: Let G = {s1, s2, s3, s4}, be a set of source and M
relevance feedback [8]. The typical scenario begins with a user                                               = {p1, p2, p3, p4, p5} be a set of the properties (table 1). The
indicating which documents retrieved from a query are most                                                    mathematical structure which is used to describe formally this
relevant. The system then tries to extract terms which co-exist                                               table is called a formal context (or briefly a context) [4, 9, 10,
in these documents and adds them to the original query to                                                     13].
retrieve more documents. This process can be repeated as
many times as desired. However, the limitation of this




                                                                                                        120                             http://sites.google.com/site/ijcsis/
                                                                                                                                        ISSN 1947-5500
                                                                                       (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                                 Vol. 7, No. 2, 2010
B. Galois (Concept) lattice                                                                                      V.        IMPLEMENTATION AND RESULTS
    The family of the entire formal context ordinate by the
relation ≥ is called Galois (or concepts) lattice. It consists in                                  A. Building concepts lattice
associating properties with sources, and organizing the sources                                    (i) Data sources
according to these properties. Each such pair (G, M) is called a                                       The data used for test were extracted from titles of a subset
formal concept (or briefly a concept) of the given context. The                                    of documents from the LRIT (Research laboratory in computer
set G is called the extent, the set M the intent of the concept                                    science and Telecommunications). The laboratory LRIT
(G, M). Between the concepts of a given context there is a                                         consists of several research groups, their activities are based
natural hierarchical order, the "subconcept-superconcept"                                          on the interaction between the contents (audio, image, text,
relation. In general, a concept c is a subconcept of a concept d                                   video. Consequently there are several publications in several
(and d is called a superconcept of c) if the extent of c is a                                      fields (image processing, signal processing, data mining, data
subset of the extent of d (or equivalently: if the intent of c is a                                engineering, information retrieval …), it there has also other
superset of the intent of d). An efficient algorithm for                                           publications heterogeneous, which requires a system that
extracting the set of all concepts of a given context is Ganter's                                  makes it possible to determine the interconnections between
`Next Closure' algorithm [11]. The algorithm can efficiently                                       work of the various members to make emerge and understand
compute all concepts C (G, M, I) from a context (G,M,I). The                                       the orientations of principal research in the team and also in
concept lattice corresponds to the formal context of table 1 is                                    laboratory LRIT, and thus to provide explanations on the
presented in figure 2 (Hasse diagram). A line diagram consists                                     research task.
of circles, lines names of all objects and all attributes of the
given context. The circles represent the concepts.                                                     For efficient purposes, the data that was extracted from the
                                                                                                   documents were stored in XML database file; which is used
                                                                                                   for the extraction of the properties or to post the results with
                   TABLE I.            AN EXAMPLE OF FORMAL CONTEXT                                the users. Each publication (or source) is represented by two
                    G×M          p1       P2       p3       p4       p5                            tags <document...> and </document>. It has an attribute
                   s1           1       1         0        1        0                              number with value 1 and two child elements author and title,
                   s2           0       0         1        0        1                              there is also the possibility to add of extra information
                   s3           1       1         1        0        1                              concerning the publications in these XML file. Figure 3 shows
                   s4           1       1         1        1        0                              the listing of document 1, 2 and 3 from data set. Each
                                                                                                   document in the collection has a corresponding title, author’s,
                                                                                                   and but not necessarily an abstract.

                                                                                                    <?xml version=″1.0″ encoding=″ UTF-8″?>
                                                                                                    <documents>
                                                                                                       <document nom=″dcument_1″>
                                                                                                         <auteur>Amine A</auteur>
                                                                                                         <auteur>Elakadi A></auteur>
                                                                                                         <auteur>Rziza M</auteur>
                                                                                                         <auteur>Aboutajdine D</auteur>
                                                                                                         <title>ga-svm and mutual information based frequency feature selection for
                                                                                                    face recognition</titre>
                                                                                                    </document>
                                                                                                    <document nom=″dcument_2″>
                                                                                                         <auteur>El Fkihi S</auteur>
                                                                                                         <auteur>Daoudi M></auteur>
                                                                                                         <auteur>Aboutajdine D</auteur>
                                                                                                         <title>the   mixture of        k-optimal-spanning-trees based probability
                                                                                                    approximation: application to skin detection image and vision computing</titre>
                                                                                                    </document>
                                                                                                    <document nom=″dcument_3″>
      Figure 2. Galois2 lattice corresponding to formal context (table 1)                                <auteur>El Hassouni M</auteur>
                                                                                                         <auteur>Cherifi H></auteur>
                                                                                                         <auteur>Aboutajdine D</auteur>
    The lattice provides a visualization of the concept                                                  <title>hos-based image sequence noise renoval</titre>
relationships that are implicit in the data. The attributes p1, p2,                                 </document>
and p3 describe a subconcept of the concept of the propriety
p3. The extent of this subconcept consists of the properties p1,
                                                                                                                                Figure 3. XML file
and p2.
                                                                                                       Document term frequency was computed for each term
                                                                                                   extracted after applying the following techniques from the
                                                                                                   “classic blueprint for automatic indexing” [14]:



2
  It is a lattice of heritage which a node inherits the properties the nodes which subsume
them and the individuals of the nodes which are subsumed to him




                                                                                             121                                   http://sites.google.com/site/ijcsis/
                                                                                                                                   ISSN 1947-5500
                                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                       Vol. 7, No. 2, 2010
   −     Segmentation: this is the process of selecting distinct
terms from the individual documents in the collection. For our
                                                                                            Concepts                     Re-Build                   Update
implementations, we broke hyphenated terms into their                                                                   Context and               Lattice with
                                                                                            Lattice.txt
constituents, as well as ignoring punctuation and case.                                                                   Lattice                   Query
     −     Stop wording: this is the process of removing
frequently occurring terms such as ‘is’, and ‘of’ which make
little discrimination between documents.                                                                         Figure 5. Query Insertion
(ii) Lattice construction
     The problem of calculation of the concepts lattice from a                          (iv) Document Ranking
formal context made object of several research tasks. Many                                 Documents were ranked based on the number of edges
algorithms have been proposed for generating the Galois                                away from the concept in which the query had mapped in the
lattice from a binary relation [2, 4, 9, 13, 15, 16]. A                                augmented lattice. Formal concepts in the lattice were
comparison of the performances of the algorithms proposed                              considered for ranking only when its attribute set intersects
for the generation of the lattices and their corresponding Hasse                       with those of the query and that it is neither the supremum nor
diagrams are presented in algorithm Add Intent [10]. Among                             the infimum. Documents that were equally distant from the
the algorithms proposed, some have specificity to perform an                           query would achieve the same rank. The lattice traversal
incremental building of concepts lattices starting from formal                         implementation was simply done using a breadth-first search.
contexts [2, 4, 10]. This aspect is particularly interesting for
the application of concepts lattices to our problem of research                        B. Discussion of Results
in the publications of the LRIT. Indeed, the queries users can                            −     In first let us assume that we have an example of
be inserted in the lattice representing the documents (or                              context for 5 documents and 6 properties (table 2). The lattice
publications). Following this insertion, it is possible to                             corresponding is presented in the figure 6.
determine the most relevant documents guarantors with the
criteria expressed by user in his query.
                                                                                       TABLE II.          AN EXAMPLE OF FORMAL CONTEXT FROM DATABASE SOURCE
    Our procedure for implementation FCA’s, concept lattice
                                                                                                              M\G         d1    d2    d3     d4    d5
involves three stages : constructing a matrix of document-term
                                                                                                      image               1    1      1      0    0
relations using data stored from XML file ; concept extraction                                        detection           0    0      0      1    1
using Add Intent algorithm; and partial ordering of formal                                            Segmentation        1    1      0      1    0
concepts. The resulting internal data structure is ten written                                        Classification      0    0      1      0    0
out to a file where it may be later used for querying (figure 4).                                     vision              0    0      0      0    1
                                                                                                      probability         1    0      0      1    0

                                                  Term                                     The Galois lattice establishes a clustering of the data
    Docs.         Segmen-         Stop -                          Context.
                                               frequency                               sources. Each formal concept of the lattice represents in fact a
     xml           tation         word                              txt
                                                                                       class. For example, the concept ({d1, d4}, {probability,
                                                                                       segmentation}) puts in the same class the data sources d1 and
                                         Extract
                                                            Recovery
                                                                                       d4. These two sources are in this class because they are the
    Concepts         Build           Concepts and                                      only ones to share the properties probability, segmentation.
                     Lattice           relation of            of the
    Lattice.txt                                                                        The lattice establishes also a hierarchy between the classes.
                                     subsumptions
                                                             context                   One can read that there formal concept is ({d1, d4},
                                                                                       {probability, segmentation}) more particular than ({d1, d2,
              Figure 4. Process of building of concepts lattice                        d4}, {segmentation}) in the direction where it has more
                                                                                       properties it is what results in the fact that {d1, d2} included
 (iii) Query Insertion                                                                 {d1, d2, d4}. We note that this hierarchy is with double
     Our idea is to consider the user query as a new source                            directions, i.e., the lattice is a kind of “tree structure” with two
whose properties are the terms of the query. This source will                          “roots”: ({d1, d2, d3, d4, d5}, {}) and ({}, {classification,
be added to the lattice Li produced by I first objects of the                          detection, image, probability, segmentation, vision}) that we
context in ways incremental using the algorithm Add Intent                             will respectively call top and bottom. Displacement towards
[10]. This addition will transform the lattice Li; new nodes                           top corresponds to generalization and that towards bottom to
will be added and others will be modified. It is necessary all                         specialization.
the same to notice the appearance of a new concept which has
like intention exactly the terms of the query.




                                                                                 122                                   http://sites.google.com/site/ijcsis/
                                                                                                                       ISSN 1947-5500
                                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                            Vol. 7, No. 2, 2010
                                                                               1 - d5
                                                                                It is noticed that, indeed, the turned over sources are all
                                                                            relevant in the direction where they have at least a property
                                                                            desired by the user and which they were provided in
                                                                            decreasing order relevance.


                                                                               -     In second step, we built the concept lattice (figure 8)
                                                                            based on a formal context of 7 documents containing the
                                                                            properties used in ontology presented in figure 1.
                                                                                In query insertion, let us suppose that we formulate the
                                                                            following query: `detection of contour' (shortened by dc.).
                                                                            This query will be represented as follows:
                                                                                 P= ({Query}, {dc.}). It can be connected with a new Query
            Figure 6. Trellis of concepts associated to table 2             source which has the properties: `detection of contour'. The
                                                                            lattice, after addition of the query, will change like below
    Let us suppose that the user formulates the following                   figure 9.
query: detection, segmentation. This query will be represented
as follows: ({Query}, {detection, segmentation}). It can be
connected with a new query source which has the properties:
detection, segmentation. And the lattice, after the addition of
the query, will change as it is illustrated in the figure 7.




                                                                            Figure 8. Concept lattice associated to 7 documents containing the concepts
                                                                                                          used in figure 1




            Figure 7. Trellis of concepts after query insertion

    In our example (figure 7), the user query will generate the
following answers: On the first level of the node ({Query, d4},
{detection, segmentation}), the extension part comprises the
d4 source. What means that d4 is the most relevant source for
this query in the lattice and thus one will attribute him the
rank=0. On the second level, the provided answers will be the
d1 sources, d2, and d5 and attributes their consequently the
rank=1. The d1 sources and d2 in common have with the
query the property `segmentation', whereas the source d5
division the property `detection' with the query. And thus the
result will be presented like continuation:
   0 - d4
                                                                                          Figure 9. Concept lattice after query insertion
   1 - d1
   1 - d2




                                                                      123                                 http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                      Vol. 7, No. 2, 2010
    In our example (figure 9), the user query will generate the
following answers:
    On the first level of the node ({Query, d3, d4, d7}, {dc.}),
the extension part comprises the d3 sources, d4, and d7. What
means that the latter are the most relevant sources for this
query in the lattice and thus one their will attribute their
rank=0. On the second level there is the top concept
consequently it is necessary to stop. The result will be
presented like continuation:
   0-d3
   0-d4
   0-d7


     On the other hand, using the semantic relations between
the properties in ontology in field of image processing (figure
2). The query reformulation by specialization gives: {dc.                                   Figure 11. Concept lattice after query reformulation by generalization
Canny filter}. After the insertion of this new query in the
lattice (figure 10) the result turning over is as follows:                                We saw that this ontology enables us to take into account
                                                                                      the semantic relations between the properties. Moreover, the
   0-d3                                                                               possibility of making a research by specialization or
   0-d4                                                                               generalization has an advantage of having more relevant
                                                                                      sources to add to the initial result. The choice of reformulation
   0-d7                                                                               depends on the user. It is a reformulation by generalization,
                                                                                      the added source can be very general and consequently not
   1-d1
                                                                                      very precise compared to what is wished by user. And it is a
   Query reformulation by generalization gives: {dc.                                  reformulation by specialization; the added source can cover
segmentation by approach (border) (shortened by SAF),                                 with many details only one small portion of what user asks.
segmentation}. After the insertion of this one in the lattice one                     But in no case an added source cannot be completely isolated
has like result:                                                                      compared to what is wished by user.
   0-d3
                                                                                                                  VI.       CONCLUSION
   0-d4
   1-d7                                                                                   We presented in this paper an proposal in the Information
                                                                                      Retrieval (IR), using Formal Concepts Analysis (FCA). The
   The result did not change because the properties of the new                        concept lattice evolves during the process of IR; the user is not
query (after reformulation by generalization) division the same                       more restricted with a static structure calculated once for all,
sources (figure 11).                                                                  and the system is domain independent and operates without
                                                                                      resorting to thesauruses or other predefined sets of indexing
                                                                                      terms. The system implemented allows the user to navigate in
                                                                                      hierarchy of concepts to research the relevance documents to
                                                                                      his query. To perform the IR we established ontology in field
                                                                                      of image processing that enables us to take into account the
                                                                                      semantic relations between the properties. Moreover, we also
                                                                                      improved the results by using two steps for query
                                                                                      reformulation, reformulation by generalization, and by
                                                                                      specialization, which show the more relevant documents
                                                                                      returned by system to the user query.
                                                                                                                        REFERENCES
                                                                                      [1]    Carpineto, C., Romano, G., “Information retrieval through hybrid
                                                                                             navigation of lattice representations”, International Journal of Human-
                                                                                             Computer Studies, 1996,45, pp. 553-578.
                                                                                      [2]    Carpineto, C., Romano, G., “Exploiting the Potential of Concept Lattices
                                                                                             for Information Retrieval with CREDO”, Journal of Universal Computer
                                                                                             Science, vol. 10, n°8, 2004, pp. 985-1013.
                                                                                      [3]    Emmanuel Nauer et Yannick Toussaint, « Classication dynamique par
                                                                                             treillis de concepts pour la recherche d'information sur le web », LORIA
   Figure 10. Concept lattice after query reformulation by specialization




                                                                                124                                     http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                    Vol. 7, No. 2, 2010
     – UMR 7503. B.P. 239, F-54506 Vandoeuvre-les-Nancy cedex, France,                  [11] Messai, N., M.-D. Devignes, A. Napoli, et M. Smail-Tabbone,
     2008.                                                                                   « Correction et complétude d’un algorithme de recherche d’information
[4] Godin, R., Missaoui, R., Alaoui H., « Incremental Concept Formation                      par treillis de concepts », RNTI, Inria-00187116, version1, 2007.
     Algorithms Based on Galois Lattices.», Computation Intelligence 11,                [12] Cole R. and Eklund P., “Browsing semi-structured web texts using
     1995, pp. 246-267.                                                                      formal concept analysis”. In Proceedings of the 9th International
[5] B. McBride, A. Seaborne, and J. Carroll. Jena, “tutorial for release 1.4.0.              Conference on Conceptual Structures, Stanford, CA, USA, 2001, pp.
     Technical report”, Hewlett-Packard Laboratories, Bristol, UK, 2002.                     319-332,.
[6] Ontologies: Silver Bullet for Knowledge Management and Electronic                   [13] Wille, R., “Restructuring Lattice Theory: An Approach Based on
     Commerce. Springer-Verlag, 2001.                                                        Hierarchies of Concepts”, In Rival, I., ed.: Ordered Sets. Reidel,
                                                                                             Dordrecht–Boston, 1982, pp. 445–470.
[7] Lobna HLAOUA, « Reformulation de Requêtes par Réinjection de
     Pertinence dans les Documents Semi-Structurés », Thèse Doctorat de                 [14] Salton, G., “A blueprint for automatic indexing”, SIGIR Forum 31(1):
     l'Université Paul Sabatier, Toulouse, 2007.                                             23-36, 1997. URL: http//doi.acm.org/10.1145/263868.263871.
[8] Salton, G., Fox, E. and Voorhees E., “Advanced feedback methods in                  [15] Messai, N., M.-D. Devignes, A. Napoli, et M. Smail-Tabbone, “
     information retrieval”, Journal of the American Society for Information                 Querying a bioinformatic data sources registry with concept lattices”, In
     Science 36:, 1985, pp. 200-210.                                                         G. S. F. Dau, M.-L. Mugnier (Ed.), ICCS'05, LNAI 2005, pp. 323-336.
                                                                                             Springer-Verlag Berlin Heidelberg.
[9] Ganter, B., Wille, R., “Formal Concept Analysis”, Mathematical
     Foundations. Springer-Verlag, Berlin Heidelberg New York, 1999.                    [16] Norris, E. “An Algorithm for Computing the Maximal Rectangles in a
                                                                                             Binary Relation”, Revue Roumaine de Mathematiques Pures et
[10] Merwe, D. V. D., S. A. Obiedkov, et D. G. Kourie, “AddIntent: A New                     Appliquées 23, 1978, pp. 243–250.
     Incremental Algorithm for Constructing Concept Lattices”, In P. W.
     Eklund (Ed.), ICFCA Concept Lattices, Sydney, Australia, February 23-
     26, Proceedings, Volume 2961, Springer, 2004, pp. 372-385.




                                                                                  125                                  http://sites.google.com/site/ijcsis/
                                                                                                                       ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010

               Creating A Model HTTP Server Program
                                                          Using java


                                              Bala Dhandayuthapani Veerasamy
                                                    Department of Computing
                                                      Mekelle University
                                                       Mekelle, Ethiopia


Abstract— HTTP Server is a computer programs that serves                 Servers on behalf of the user. Web documents are written in a
webpage content to clients. A webpage is a document or resource          text formatting language called Hypertext Mark-up Language
of information that is suitable for the World Wide Web and can           (HTML) [3]. The HTML is used to create hypertext
be accessed through a web browser and displayed on a computer            documents that can be accessed on the web. Basically it is a
screen. This information is usually in HTML format, and may              set of ‘mark-up’ tags or codes inserted in a web file that tells
provide navigation to other webpage’s via hypertext links.               the web browser how to display a web page for the user.
WebPages may be retrieved from a local computer or from a
remote HTTP Server. WebPages are requested and served from                   The Hypertext Transfer Protocol (HTTP) [2] is a set of
HTTP Servers using Hypertext Transfer Protocol (HTTP).                   rules for exchanging hypermedia documents on the World
WebPages may consist of files of static or dynamic text stored           Wide Web. Hypermedia [3] simply combines hypertext and
within the HTTP Server's file system. Client-side scripting can          multimedia. Multimedia is any mixture of text, graphics, art,
make WebPages more responsive to user input once in the client           sound, animation and video with links and tools that let the
browser. This paper encompasses the creation of HTTP server              person navigate, interact, and communicate with the computer.
program using java language, which is basically supporting for           The web browser is an HTTP client, sending requests to server
HTML and JavaScript.                                                     machines. When a user requests for a file through web
                                                                         browser by typing a Uniform Resource Locator then browser
   Keywords- HTTP Server; Hyper Text Trasfer Protocol; Hyper             sends HTTP request that the destination server machine
Text Markup Language; WebPage;                                           receives the request and, after any necessary processing, the
                                                                         requested file is returned to the client web browser.
                      I.   INTRODUCTION
                                                                             The URL [3] is a compact string representation for a
    The Client-server [1] architecture is based on the principle         resource available on the Internet. URLs contain all of the
where the ‘client’ program installed on the user’s computer              information needed for the client to find and retrieve a HTML
communicates with the ‘server’ program installed on the host             document such as protocol, domain name or IP address and
computer to exchange information through the network. The                webpage. Every HTTP Server has an IP address and usually a
client program is loaded on the PCs of users hooked to the               domain name, e.g. www.mu.edu.et. Server software runs
Internet where as the server program is loaded on to the ‘host’          exclusively on server machines, handling the storage and
that may be located at a remote place. The concept of client-            transmission of documents. In contrast, client software such
server computing has particular importance on the Internet               as, Netscape, Internet Explorer, etc. runs on the end-user’s
because most of the programs are built using this design. The            computer accessing, translating and displaying documents.
most important concepts and underlying mechanism that make
the web works are Web Browser, Universal Resource Locators                   A server is a computer system that is accessed by other
(URLs)[2], Hypertext Transfer Protocol (HTTP)[2], Hypertext              computers and / or workstations at remote locations. A web
Mark-up Language (HTML) [3] and Web Server [3].                          server [3] is a software or program that process HTML
                                                                         documents for viewing by web browsers such as IIS, Apache
    Web browsers [3] are the applications that allow a user to           HTTP Server [5] and WebLogic Server [6]. The server enables
view WebPages from a computer connected to the Internet.                 users on other sites to access document and it sends the
Web browser can read files created with WebPages and                     document requested back to the requesting client. The client
display them to the user. There are two important graphical              interprets and presents the document. The client is responsible
browsers available for browsing WebPages [3], are Microsoft              for document presentation. The language that web clients and
Internet Explorer [3] and Netscape Navigator. Most of the                servers use to communicate with each other is called the
browser can be downloaded at without charge. The basic                   HTTP. All web clients and servers must be able to
capabilities of a browser are to retrieve documents from the             communicate HTTP in order to send and receive hypermedia
web, jump to links specified in the retrieved document, save,            documents. For this reason, web servers are often called HTTP
print the retrieved documents, find text on the document, and            servers.
send information over the Internet. A web browser is a client
program that uses the HTTP to make requests to the HTTP




                                                                   126                              http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
            II.    HYPER TEXT MARKUP LANGUAGE                                 There are several number of tags avail for developing a
    The term HTML is an acronym that stands for Hypertext                 webpage. Here few important tags are discussed. Headings are
Markup Language [3]. You can apply this markup language to                used to divide sections of text, like in any document. They are
your pages to display text, images, sound and movie files, and            used to designate the logical hierarchy of the HTML
almost any other type of electronic information. You use the              document. There are currently six levels of headings defined.
language to format documents and link them together,                      The number indicates heading levels (<H1> to <H6>). Each
regardless of the type of computer with which the file was                heading will have closing tags. When it displayed in a
originally created.                                                       browser, will display differently. We can use paragraph tag
                                                                          <P> to indicate a paragraph. A browser ignores any
    HTML is written as plain text that any Web browser can                indentations or blank lines in the source text. Without a <P>
read. The software does this by identifying specific elements             tag, the document becomes one large paragraph. The
of a document (such as heading, body, and footer), and then               paragraph tag indicates a plain text paragraph. However, many
defining the way those elements should behave. These                      browsers expect the opening paragraph tag to indicate the end
elements, called tags, are created by the World Wide Web                  of a paragraph. The horizontal rule tag, <HR>, has no closing
Consortium (W3C). Most HTML tags come in pairs. You use                   tag and no text associated with it. The <HR> tag creates a
the first tag in the pair (for example, <html>) to tell the               horizontal line on the page. It is excellent for visually
computer to start applying the format. The second tag (for                separating sections on your web page. It is often seen at the
example, </html>) requires a slash in front of the tag name               end of text on web pages and before the address information.
that tells the computer to stop applying the format. The first            For example see program 1.
tag is usually referred to by the name within the bracket (for
example, HTML). You can refer to the second tag as the end,                                   Program 1. HTML program
or the close, tag (for example, end HTML).
                                                                             <!—index.html -->
    HTML is a plain text file and needs a simple text editor to              <HTML>
create the tags. However, it is important that all HTML
documents have the extension .html or .htm which is three /                  <HEAD>
four letter extension. Windows ‘Notepad’ may be used as an                            <TITLE>HTTP Server</TITLE>
editor for writing the HTML files. Every HTML document
should contain certain standard HTML tags. These tags                        </HEAD>
describe the overall structure of a document, identify the
document to browsers and provide simple information about                    <BODY>
the document. These structure tags do not affect its appearance                       <HR>
and they are essential for tools that interpret HTML files.
These structural elements are:                                                       <H1 align=center>            Welcome         to        HTTP
                                                                                  Server</H1>
   <HTML>
                                                                                      <H3 align=center> Using Java</H3>
   <HEAD>
                                                                                      <HR>
   <TITLE>Creating model HTTP Server</TITLE>
                                                                                    <H5 align=center> Developed                     by       Bala
   </HEAD>
                                                                                  Dhandayuthapani Veerasamy</H5>
   <BODY>
                                                                             </BODY>
   . . . the document . . .
                                                                              </HTML>
   </BODY>
                                                                              The above program can be saved as index.html, it can be
   </HTML>                                                                produced the result on local computer web browser as the
       The <HTML> tag indicates that the content of the file is           following Fig.1.
in the HTML language. All the text and commands in a
document should go within the beginning and ending HTML
tags. The <HEAD> tag specifies a limited amount of
bibliographic data related to the document. It is the second
item in the document. This element does not contain any text
that displays in the browser except for the title that appears in
the title bar of the browser. Each HTML document needs a
title to describe the content of the document. The title is used
by the browser to display it in its title bar. The <BODY> tag
follows the HEAD tag. It contains all parts of the document to
be displayed in the browser.

                                                                                             Figure 1. Output of the HTML




                                                                    127                              http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
           III.   USING JAVA NETWORKING CONCEPT                               ServerSocket takes the port number to listen for
    TCP and IP [2] together manage the flow of data, both in              connections on and the amount of time to listen. The most
and out, over a network. TCP is a standard protocol with STD              important method in the ServerSocket class is accept(). This
number 7. TCP is described by RFC 793 – Transmission                      method blocks the calling thread until a connection is
Control Protocol. Its status is standard, and in practice, every          received. A Socket object is returned representing this new
TCP/IP implementation that is not used exclusively for routing            connection. The close() method tells the operating system to
will include TCP. TCP provides considerably more facilities               stop listening for requests on the socket.
for applications than UDP. Specifically, this includes error
recovery, flow control, and reliability. TCP is a connection-                        IV. A MODEL HTTP SERVER PROGRAM
oriented protocol, unlike UDP, which is connectionless. UDP                   There are several HTTP Servers are available to access the
is a standard protocol with STD number 6. UDP is described                webpage such as Personal Web Server, Internet Information
by RFC 768 – User Datagram Protocol. Its status is standard               Server, Apache HTTP Server and etc. The program 2 created
and almost every TCP/IP implementation intended for small                 listening 8080 port to access WebPages on present working
data units transfer or those which can afford to lose a little            folder. Obviously present folder will act like www folder. The
amount of data will include UDP.                                          program 1 will have to store in the present folder, where we
                                                                          saving the following HTTPServer.java program. This HTTP
    The Java networking package [7], also known as java.net,              Server program will support HTML and JavaScript, because
contains classes that allow you to perform a wide range of                both of them can be default understood by any web browser
network communications. The networking package includes                   without having additional library.
specific support for URLs, TCP sockets, IP addresses, and                                         Program 2. HTTP Server
UDP sockets. The Java networking classes make it easy and
straightforward to implement client/server Internet solutions in             //HttpServer.java
Java. The java networking package included web interface                     import java.net.*;
classes, raw network interface classes and extension classes.                import java.io.*;
This study focuses on raw networking class such as Socket,                   import java.util.*;
ServerSocket, DatagramSocket, and InetAddress. These
classes are providing access to plain, bare-bones networking                 class HttpRequest
facilities.                                                                  {
                                                                             private Socket ClientConn;
    A Socket class is the Java representation of a TCP                       public HttpRequest(Socket ClientConn) throws Exception
connection. When a Socket is created, a connection is opened                 {
to the specified destination. Stream objects can be obtained to                    this.ClientConn=ClientConn;
send and receive data to the other end. Socket class                         }
constructors take two arguments: the name (or IP address) of                 public void process() throws Exception
the host to connect to, and the port number on that host to                  {
connect to. The host name can be given as either a String or as                    DataInputStream din=new
an InetAddress object. In either case, the port number is                          DataInputStream(ClientConn.getInputStream());
specified as an integer.                                                           OutputStream ot=ClientConn.getOutputStream();
                                                                                   BufferedOutputStream out=new
   Socket( String host, int port )                                                 BufferedOutputStream(ot);
    Here, Socket constructor takes the hostname as IP address
of the destination machine and port as the destination port to                    String request=din.readLine().trim();
                                                                                  StringTokenizer st=new StringTokenizer(request);
contact. The two most important methods in the Socket class
                                                                                  String header=st.nextToken();
are getInputStream() and getOutputStream(), which return
stream objects that can be used to communicate through the                        if(header.equals("GET"))
socket. A close() method is provided to tell the underlying                       {
operating system to terminate the connection.                                              String name=st.nextToken();
    A ServerSocket class represents a listening TCP                                        int len=name.length();
connection. Once an incoming connection is requested, the                                  String fileName=name.substring(1,len);
ServerSocket object returns a Socket object representing the
connection. In normal use, another thread is spawned to                                     FileInputStream fin=null;
                                                                                            boolean fileExist=true;
handle the connection. The ServerSocket object is then free to
listen for the next connection request. The constructors for this                           if(fileName.equals(""))
class take as an argument the local port number to listen to for                            fileName="index.html";
connection requests and it also takes the maximum time to
wait for a connection as a second argument.                                                 try
   ServerSocket( int port,int count )                                                       {




                                                                    128                                 http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010
                 fin=new FileInputStream(fileName);
                 }                                                          ServerSocket soc=new ServerSocket(80);
                 catch(Exception ex) {    fileExist=false; }
                                                                            while(true)
                 String ServerLine="Simple HTTP Server";                    {
                 String StatusLine=null;                                      Socket inSoc=soc.accept();
                 String ContentTypeLine=null;                                 HttpRequest request=new HttpRequest(inSoc);
                 String ContentLengthLine=null;                               request.process();
                 String ContentBody=null;                                        }
                                                                               }
                 if(fileExist)                                              }
                 {
                 StatusLine="HTTP/1.0 200 OK";                                           V.    SETTING UP CONNECTIONS
                 ContentTypeLine="Content-type:                               When most people think of a firewall [8], they think of a
                   text/html";                                           device that resides on the network and controls the traffic that
                                                                         passes between network segments. However, firewalls can
                 ContentLengthLine="Content-Length: "+                   also be implemented on systems themselves, such as with
                  (new Integer(fin.available()).toString());             Microsoft Internet Connection Firewall (ICF), in which case
                                                                         they are known as host-based firewalls. Fundamentally, both
                                                                         types of firewalls have the same objective: to provide a
                 int temp=0;
                 byte[] buffer = new byte[1024] ;                        method of enforcing an access control policy. Indeed, at the
                 int bytes = 0 ;                                         simplest definition, firewalls are nothing more than access
                 while ((bytes = fin.read(buffer)) != -1 )               control policy enforcement points. Firewalls enable you to
                 {                                                       define an access control requirement and ensure that only
                 out.write(buffer, 0, bytes);                            traffic or data that meets that requirement can traverse the
                 for(int iCount=0;iCount<bytes;iCount++)                 firewall or access the protected system. Firewalls need to be
                 {                                                       able to manage and control network traffic, authenticate
                 temp=buffer[iCount];                                    access, act as an intermediary, protect resources, record and
                 }                                                       report on events. The first and most fundamental functionality
                  }                                                      that all firewalls must perform is to manage and control the
                 fin.close();                                            network traffic that is allowed to access the protected network
                 }                                                       or host. Firewalls typically do so by inspecting the packets and
                 else                                                    monitoring the connections that are being made, and then
                 {                                                       filtering connections based on the packet-inspection results
                 StatusLine = "HTTP/1.0 200 OK";                         and connections that are observed. While executing HTTP
                 ContentTypeLine="Content-type:                          server program first time, the firewall security alert will appear
                   text/html";                                           in that we should unblock. This is shown in the figure 2.
                  ContentBody = "<HTML>"
+ "<HEAD><TITLE>404 Not Found</TITLE> </HEAD>"
+ "<BODY><center><h1>404: The file "
+ fileName +" is not found" + "</h1></center> </BODY>
</HTML>" ;

                 out.write(ContentBody.getBytes());
                 }

         out.close();
         ClientConn.close();

                 }                                                                            Figure 2. Firewall Settings
         }
   }                                                                     To compile the HTTP server program, use javac
   class HttpServer                                                      HttpServer.java and to execute the HTTP server program at
   {                                                                     the server computer, use java HttpServer. After executing the
   public static void main(String args[]) throws Exception               program one console window will appear, this is ready to
   {                                                                     share web document. We can press Ctrl+C to close the HTTP
   System.out.println("\n\n\t\tThe HTTP Server is running..");           server. (See figure 3).
   System.out.println("\n\n\t\tStop server using Ctrl + C");




                                                                   129                               http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
                                                                                                     VII. CONCLUSION
                                                                          HTTP Server is a computer programs, written by using java
                                                                          language. It just serves HTML WebPages with static content
                                                                          only to any client over any network. It also support for client-
                                                                          side scripting that can make WebPages more receptive to user
                                                                          input on the client browser; the client side scripting can mostly
                                                                          understood by any web browsers. This paper emphasizes how
                                                                          to create a new HTTP server using java language. It brought
                                                                          basic idea, wherein researchers may enhance further more
                                                                          developments to support for the already available server side
               Figure 3. Running HTTP Server                              scripting or may think on producing library to support
                                                                          innovative server side scripting in future.
                VI.   RESULT AND DISCUSSION
                                                                                                         REFERENCES
As you know, this model HTTP Server is created using java.                [1]  Steve Steinke, Network Tutorial, Fifth Edition, CMP Books, 2003
First of all we needed to install JDK 1.4 [9] or later version            [2]  Libor Dostálek, Alena Kabelová, Understanding TCP/IP,Packt
and JCreator 3.50 [10], before compiling and executing this                    Publishing, 2006.
program. This program complied and executed by JCreator                   [3] Deidre Hayes, Sams Teach Yourself HTML in 10 Minutes, Fourth
3.50 software, which is the tool enabling us to write program,                 Edition, Sams, 2006.
compile and execute easily. HTTPServer.java has been tested               [4] Palmer W. Agnew, Anne S. Kellerman, Fundamentals of Multimedia,
                                                                               IGI Global, 2008.
only in window operating system under the Local Area
                                                                          [5] Apache HTTP Server, http://www.apache.org/
Network in Mekelle University. Here I have used a HTTP
                                                                          [6] BEA WebLogic Server, http://www.bea.com/
server with the IP of http://10.128.40.145; hence we should
                                                                          [7] Elliotte Rusty Harold, Java Network Programming, O' Reilly, 2000.
access WebPages only through this IP. The following figure 4
                                                                          [8] Wes Noonan, Ido Dubrawsky, Firewall Fundamentals, Cisco Press, 2006
is a sample result, which I got on network client. This server
brought the index.html page by default. The index.html has                [9] Herbert Schildt, Java™ 2: The Complete Reference, Fifth Edition,
                                                                               McGraw-Hill, 2002.
been stored in the present working folder of HTTP server.                 [10] JCreator, http://www.jcreator.com/
 I hope it will also support other operating system well,
because java is a platform independent language. Hyper Text                                            AUTHORS PROFILE
Transfer Protocol views any webpage only by using port                                                     Bala Dhandayuthapani Veerasamy was
number 80. So this HTTP server created listening on port                                              born in Tamil Nadu, India in the year 1979. The
number 80. Hence it can capable to access HTML and                                                    author was awarded his first masters degree M.S
JavaScript basically, which are defiantly understood by any                                           in Information Technology from Bharathidasan
                                                                                                      University in 2002 and his second masters degree
web browsers. HTML provides creating static WebPages and                                              M.Tech in Information Technology from
JavaScript allowed to have client side scripting for any user                                         Allahabad Agricultural Institute of Deemed
input validations. This HTTP Server would not support for                                             University in 2005. He has published more than
                                                                                                      fifteen peer reviewed technical papers on various
any server side scripting. In future, I do have a plan to develop                                     international journals and conferences. He has
own library to support for the server side scripting.                                                 managed as technical chairperson of an
                                                                          international conference. He has an active participation as a program
                                                                          committee member as well as an editorial review board member in
                                                                          international conferences. He is also a member of an editorial review board in
                                                                          international journals.
                                                                               He has offered courses to Computer Science and Engineering,
                                                                          Information Systems and Technology, since 8 years in the academic field. His
                                                                          academic career started in reputed engineering colleges in India. At present,
                                                                          he is working as a Lecturer in the Department of Computing, College of
                                                                          Engineering, Mekelle University, Ethiopia. His teaching interest focuses on
                                                                          Parallel and Distributed Computing, Object Oriented Programming, Web
                                                                          Technologies and Multimedia Systems. His research interest includes Parallel
                                                                          and Distributed Computing, Multimedia and Wireless Computing. He has
                                                                          prepared teaching material for various courses that he has handled. At present,
                                                                          his textbook on “An Introduction to Parallel and Distributed Computing
                                                                          through java” is under review and is expected to be published shortly. He has
                                                                          the life membership of ISTE (Indian Society of Technical Education).


                       Figure 4. Trial Testing




                                                                    130                                    http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 7, No. 2, 2010


  Evaluation of E-Learners Behaviour using Different
   Fuzzy Clustering Models: A Comparative Study
                                                         Mofreh A. Hogo*
         Dept. of Electrical Engineering Technology, Higher Institution of Technology Benha, Benha University, Egypt.
                                                 .


Abstract— This paper introduces an evaluation methodologies for            [2]; these methods allow the discovery of new knowledge
the e-learners’ behaviour that will be a feedback to the decision          based on students’ usage data. Subgroup discovery is a
makers in e-learning system. Learner's profile plays a crucial             specific method for discovering descriptive rules [4,5].
role in the evaluation process to improve the e-learning process
performance. The work focuses on the clustering of the e-learners                        II.   SURVEY ON E-LEARNING
based on their behaviour into specific categories that represent
the learner's profiles. The learners' classes named as regular,              A.      Clustering
workers, casual, bad, and absent. The work may answer the
question of how to return bad students to be regular ones. The             The first application of clustering methods in e-learning [6], a
work presented the use of different fuzzy clustering techniques as         network-based testing and diagnostic system was
fuzzy c-means and kernelized fuzzy c-means to find the learners’           implemented. It entails a multiple-criteria test-sheet-generating
categories and predict their profiles. The paper presents the main         problem and a dynamic programming approach to generate
phases as data description, preparation, features selection, and
                                                                           test sheets. The proposed approach employs fuzzy logic theory
the experiments design using different fuzzy clustering models.
Analysis of the obtained results and comparison with the real              to determine the difficulty levels of test items according to the
world behavior of those learners proved that there is a match              learning status and personal features of each student, and then
with percentage of 78%. Fuzzy clustering reflects the learners’            applies an Artificial Neural Network model: Fuzzy Adaptive
behavior more than crisp clustering. Comparison between FCM                Resonance Theory (Fuzzy ART) [7] to cluster the test items
and KFCM proved that the KFCM is much better than FCM in                   into groups, as well as dynamic programming [8] for test sheet
predicting the learners’ behaviour.
                                                                           construction. In [9], an in-depth study describing the usability
   Keywords: E-Learning, Learner Profile, Fuzzy C-Means                    of Artificial Neural Networks and, more specifically, of
Clustering, Kernelized FCM.                                                Kohonen’s Self-Organizing Maps (SOM) [10] for the
                                                                           evaluation of students in a tutorial supervisor (TS) system, as
                       I.   INTRODUCTION                                   well as the ability of a fuzzy TS to adapt question difficulty in
                                                                           the evaluation process, was carried out. An investigation on
The development of web-based education systems have grown
                                                                           how Data Mining techniques could be successfully
exponentially in the last years [1]. These systems accumulate a
                                                                           incorporated to e-learning environments, and how this could
great deal of information; which is very valuable in analyzing
                                                                           improve the learning processes was presented in [11]. Here,
students’ behavior and assisting teachers in the detection of
                                                                           data clustering is suggested as a means to promote group-
possible errors, shortcomings and improvements. However,
                                                                           based collaborative learning and to provide incremental
due to the vast quantities of data these systems can generate
                                                                           student diagnosis. In [12], user actions associated to students’
daily, it is very difficult to manage manually, and authors
                                                                           Web usage were gathered and preprocessed as part of a Data
demand tools which assist them in this task, preferably on a
                                                                           Mining process. The Expectation Maximization (EM)
continuous basis. The use of data mining is a promising area in
                                                                           algorithm was then used to group the users into clusters
the achievement of this objective [2]. In the knowledge
                                                                           according to their behaviors. These results could be used by
discovery in databases (KDD) process, the data mining step
                                                                           teachers to provide specialized advice to students belonging to
consists of the automatic extraction of implicit and interesting
                                                                           each cluster. The simplifying assumption that students
patterns from large data collections. A list of data mining
                                                                           belonging to each cluster should share Web usage behavior
techniques or tasks includes statistics, clustering,
                                                                           makes personalization strategies more scalable. The system
classification, outlier detection, association rule mining,
                                                                           administrators could also benefit from this acquired
sequential pattern mining, text mining, or subgroup discovery,
                                                                           knowledge by adjusting the e-learning environment they
among others [3]. In recent years, researchers have begun to
                                                                           manage according to it. The EM algorithm was also the
investigate various data mining methods in order to help
                                                                           method of choice in [13], where clustering was used to
teachers improve e-learning systems. A review can be seen in
                                                                           discover user behavior patterns in collaborative activities in e-

                                                                      .




                                                                     131                             http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 7, No. 2, 2010

learning applications. Some researchers [14-16], propose the             learning courses, as well as to assess the relevance of the
use of clustering techniques to group similar course materials:          attributes involved. In this approach, several Data Mining
An ontology-based tool, within a Web Semantics framework,                methods were applied, including: Naïve Bayes, KNN, MLP
was implemented in [16] with the goal of helping e-learning              Neural Network, C4.5, Logistic Regression, and Support
users to find and organize distributed courseware resources.             Vector Machines. Rule extraction was also used in [20,21]
An element of this tool was the implementation of the                    with the emphasis on the discovery of interesting prediction
Bisection K-Means algorithm, used for the grouping of similar            rules in student usage information, in order to use them to
learning materials. Kohonen’s well-known SOM algorithm                   improve adaptive Web courses. Graphical models and
was used in [14] to devise an intelligent searching tool to              Bayesian methods have also been used in this context. Some
cluster similar learning material into classes, based on its             models for the detection of atypical student behavior were also
semantic similarities. Clustering was proposed in [15] to group          referenced in the section reviewing clustering applications
similar learning documents based on their topics and                     [17,19].
similarities. A Document Index Graph (DIG) for document
                                                                         C. Fuzzy Logic-Based Methods
representation was introduced, and some classical clustering
algorithms (Hierarchical Agglomerative Clustering, Single                These methods have only recently taken their first steps in the
Pass Clustering and k-NN) were implemented. Different                    e-learning field [26-28]. For example in, [28] a Neurofuzzy
variants of the Generative Topographic Mapping (GTM)                     model for the evaluation of students in an intelligent tutoring
model, a probabilistic alternative to SOM, were used in [17-             system (ITS) was presented. Fuzzy theory was used to
19] for the clustering and visualization of multivariate data            measure and transform the interaction between the student and
concerning the behavior of the students of a virtual course.             the ITS into linguistic terms. Then, Artificial Neural Networks
More specifically, in [17, 18] a variant of GTM known to                 were trained to realize fuzzy relations operated with the max–
behave robustly in the presence of atypical data or outliers was         min composition. These fuzzy relations represent the
used to successfully identify clusters of students with atypical         estimation made by human tutors of the degree of association
learning behaviors. A different variant of GTM for feature               between an observed response and a student characteristic. A
relevance determination was used in [19] to rank the available           fuzzy group-decision approach to assist users and domain
data features according to their relevance for the definition of         experts in the evaluation of educational Web sites was realized
student clusters.                                                        in the EWSE system, presented in [27]. In further work by
                                                                         Hwang and colleagues [26,27], a fuzzy rules-based method for
  B.      Prediction Techniques                                          eliciting and integrating system management knowledge was
The forecasting of students’ behavior and performance when               proposed and served as the basis for the design of an
using e-learning systems bears the potential of facilitating the         intelligent management system for monitoring educational
improvement of virtual courses as well as e-learning                     Web servers. This system is capable of predicting and
environments in general. A methodology to improve the                    handling possible failures of educational Web servers,
performance of developed courses through adaptation was                  improving their stability and reliability. It assists students’
presented in [20,21]. Course log-files stored in databases could         self-assessment and provides them with suggestions based on
be mined by teachers using evolutionary algorithms to                    fuzzy reasoning techniques. A two-phase fuzzy mining and
discover important relationships and patterns, with the target           learning algorithm was described in [27]. It integrates an
of discovering relationships between students’ knowledge                 association rule mining algorithm, called Apriori, with fuzzy
levels, e-learning system usage times and students’ scores. A            set theory to find embedded information that could be fed back
system for the automatic analysis of user actions in Web-based           to teachers for refining or reorganizing the teaching materials
learning environments, which could be used to make                       and tests. In a second phase, it uses an inductive learning
predictions on future uses of the learning environment, was              algorithm of the AQ family: AQR, to find the concept
presented in [22]. It applies a C4.5 DT model for the analysis           descriptions indicating the missing concepts during students’
of the data; (Note that this reference could also have been              learning. The results of this phase could also be fed back to
included in the section reviewing classification methods).               teachers for refining or reorganizing the learning path.
Some studies apply regression methods for prediction [23-25].
                                                                         The rest of this paper is arranged in the following way:
In [24], a study that aimed to find the sources of error in the
                                                                         Section 3 describes the problem and goal of the presented
prediction of students’ knowledge behavior was carried out.
                                                                         work. Section 4 introduces the theoretical review of the
Stepwise regression was applied to assess what metrics help to
                                                                         applied fuzzy clustering techniques. Section 5 introduces the
explain poor prediction of state exam scores. Linear regression
                                                                         data sets and the preprocessing. Section 6 introduces the
was applied in [25] to predict whether the student’s next
                                                                         experiments design and results analysis. Comparison between
response would be correct, and how long he or she would take
                                                                         the different clustering techniques and the matching with the
to generate that response. In [25], a set of experiments was
                                                                         real world e-learners behaviour and their marks are introduced
conducted in order to predict the students’ performance in e-

                                                                    .




                                                                   132                            http://sites.google.com/site/ijcsis/
                                                                                                  ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010
                                                                                                                                                       .
in section 7. The concluded suggestions and the                             categorized into agglomerative (bottom-up) and divisive (top-
recommendations are presented in section 8. Finally, the                    down). An agglomerative clustering starts with one-point
conclusion is outlined in section 9.                                        (singleton) clusters and recursively merges two or more most
                                                                            appropriate clusters. A divisive clustering starts with one
               III.   PROBLEMS AND GOALS                                    cluster of all data points and recursively splits the most
                                                                            appropriate cluster. The process continues until a stopping
  A.       Problems                                                         criterion (frequently, the requested number k of clusters) is
Web Data Challenges: Straightforward applications of data                   achieved. Data partitioning algorithms divide data into several
mining techniques on web using data face several challenges,                subsets. Because checking all possible subset possibilities may
which make it difficult to use the statistical clustering                   be computationally very consumptive, certain heuristics are
techniques. Such challenges as following [29,30]:                           used in the form of iterative optimization. Unlike hierarchical
§ Data collected during users’ navigation are not numeric in                methods, in which clusters are not revisited after being
  nature as traditional data mining.                                        constructed, relocation algorithms gradually improve clusters.
§ Noise and data incompleteness are important issues for user               The next section describes the theoretical review for the
  access data and there are no straightforward ways to handle               different fuzzy clustering methods used.
  them.                                                                       A.      Fuzzy C-Means
§ The structure and content of hypermedia systems, as well as               Fuzzy clustering is a widely applied method for obtaining
  additional data, like client-side information, registration data,         fuzzy models from data. It has been applied successfully in
  product-oriented user events, etc., often need to be taken into           various fields. In classical cluster analysis each datum must be
  consideration. Efficiency and scalability of data mining                  assigned to exactly one cluster. Fuzzy cluster analysis relaxes
  algorithms is another issue of prime importance when                      this requirement by allowing gradual memberships, thus
  mining access data, because of the very large scale of the                offering the opportunity to deal with data that belong to more
  problems.                                                                 than one cluster at the same time. Most fuzzy clustering
§ Statistical measures, like frequency of accessed Web                      algorithms are objective function based. They determine an
  documents, are too simple for extracting patterns of                      optimal classification by minimizing an objective function. In
  browsing behavior.                                                        objective function based clustering usually each cluster is
§ The users on the Internet are very mobile on the web sites                represented by a cluster prototype. This prototype consists of a
  based on their needs and wants.                                           cluster centre and maybe some additional information about
                                                                            the size and the shape of the cluster. The size and shape
The statistical clustering methods are not suitable[29,30]: The             parameters determine the extension of the cluster in different
statistical clustering provides only the crisp clustering; which            directions of the underlying domain. The degrees of
does not match with the real world needs, (the real world                   membership to which a given data point belongs to the
applications do not consider the world as two halves black and              different clusters are computed from the distances of the data
white only).                                                                point to the cluster centers with regard to the size and the
                                                                            shape of the cluster as stated by the additional prototype
B. Goal of the Work
                                                                            information. The closer a data point lies to the centre of a
The goal is the introducing of different fuzzy clustering                   cluster, the higher is its degree of membership to this cluster.
models, especially the kernelized one as well as the selection              Hence the problem to divide a dataset into c clusters can be
of the best model that discovers the students’ behavior.                    stated as the task to minimize the distances of the data points
Another goal is to overcome the challenges of web usage data.               to the cluster centers, since, of course, we want to maximize
                                                                            the degrees of membership. Most analytical fuzzy clustering
 IV.   THEORETICAL REVIEW OF FUZZY CLUSTERING
                                                                            algorithms are based on optimization of the basic c-means
One of the main tasks in data mining is the clustering.                     objective function, or some modification of it. The Fuzzy C-
Clustering is a division of data into groups of similar objects.            means (FCM) algorithm proposed by Bezdek [31,32] aims to
Each group, called cluster, consists of objects that are similar            find fuzzy partitioning of a given training set, by minimizing
between themselves and dissimilar to objects of other groups.               of the basic c-means objective functional as n Eq. (1):
Representing data by fewer clusters necessarily loses certain                                                              c   n             2
fine details, but achieves simplification. Clustering algorithms,                                   f (u, c1,...., cc ) = ∑ ∑ uij m x j − ci     (1)
in general, are divided into two categories: Hierarchical                                                                i =1 j =1

Methods (agglomerative algorithms, divisive algorithms), and                Where uij values are between 0 and 1; ci is the cluster centre of
Partitioning Methods (probabilistic clustering, k-medoids                   fuzzy group i, and the parameter m is a weighting exponent on
methods, k-means methods). Hierarchical clustering builds a                 each fuzzy membership. In FCM, the membership matrix U is
cluster hierarchy; every cluster node contains child clusters;              allowed to have not only 0 and 1 but also the elements with
sibling clusters partition the points covered by their common               any values between 0 and 1, this matrix satisfying:
parent. Such an approach allows exploring data on different
levels of granularity. Hierarchical clustering methods are




                                                                      133                             http://sites.google.com/site/ijcsis/
                                                                                                      ISSN 1947-5500
                                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                               Vol. 7, No. 2, 2010
                                                                                                                                                                  .
                     c                                                            The cluster center ci can be obtained from:
                     ∑ uij = 1, ∀j = 1,....., n                      (2)                  n
                    i =1                                                                 ∑ uij m K ( x j , ci )x j
Fuzzy partitioning is carried out through an iterative                              ci =
                                                                                         j =1
                                                                                                                                                            (8)
optimization of the objective function shown above, with the                                n
                                                                                           ∑ uij m K ( x j , ci )
update of membership uij and the cluster centers ci by:                                   j =1
                         n                                                        The proposed KFCM algorithm is almost identical to the
                         ∑ uij m x j
                         j =1                                                     FCM, except in step 2, Eq. (8) is used instead of Eq. (4) to
                 ci =                                                (3)
                            n                                                     update the centers. In step 4, Eq. (7) is used instead of Eq. (3)
                          ∑ uij m
                          j =1                                                    to update the memberships. The proposed implemented fuzzy
                                            1                                     clustering including both FCM and KFCM including the post
                 uij =                              − 2 /(m−1)
                                                                     (4)          processing technique is shown in Figure 2.
                          c  x j − ci
                             
                                                
                                                
                          ∑                                                     The implemented algorithm consists of two main parts the first
                         k =1 x j − ck         
                                                                                is the fuzzy clustering, and the second is the post processing.
The FCM clustering algorithm steps are illustrated in the                         The output of the first part will be the U matrix and the
following algorithm:                                                              cancroids Ci, and the outputs of the second part of the
Step 1: Initialize the membership matrix U with random values                     algorithm is the fuzzy clusters that consists of the following
between 0 and 1 such that the constraints in Equation (2) are satisfied.          areas:
Step 2: Calculate fuzzy cluster centers ci ,i=1,.., c using Equation (3).         1. Area that represent the members in the clusters with high
Step 3: Compute the cost function (objective function) according to
                                                                                  membership values; which called Sure Area (i.e. those
Equation (1). Stop if either it is below a certain tolerance value or its
improvement over previous iteration is below a certain threshold.                 members are surly belong to that cluster).
Step 4: Compute a new membership matrix U using Equation (4).                     2. The overlapping areas that represent the members; which
Step 5: Go to step 2.                                                             could not be assigned to any cluster, therefore it will be belong
The iterations stops when the difference between the fuzzy partition              to two or more clusters, this overlapping area called the May
matrices in two following iterations is lower than ε .                            Be Areas. These areas may help in taking a decisions as; the
                                                                                  sure areas says that those elements are surly belong to those
  B.      Kernelized Fuzzy C-Means Method
                                                                                  clusters, as well as the May Be Areas also says that; those
The kernel methods [33, 34] are one of the most researched                        elements are not be essential in taking a decisions.
subjects within machine learning community in the recent few                      Another benefit of the overlapping areas is how to focus on
years and have widely been applied to pattern recognition and                     the overlapping areas between specific two clusters; that can
function approximation. The main motives of using the kernel                      help in the study of how to attract the students from one class
methods consist in: (1) inducing a class of robust non-                           to another.
Euclidean distance measures for the original data space to
derive new objective functions and thus clustering the non-                         V.        DATA SETS AND DESIGN OF THE EXPERIMENT
Euclidean structures in data; (2) enhancing robustness of the
original clustering algorithms to noise and outliers, and (3)                       A.      Log Files Description
still retaining computational simplicity. The algorithm is                        The data recorded in server logs reflects the access of a Web
realized by modifying the objective function in the                               site by multiple users. Web server-side data and client-side
conventional fuzzy c-means (FCM) algorithm using a kernel-                        data constitute the main sources of data for Web usage mining.
induced distance instead of Euclidean distance in the FCM,                        Web server access logs constitute the most widely used data
and thus the corresponding algorithm is derived and called as                     because it explicitly records the browsing behavior of site
the kernelized fuzzy c-means (KFCM) algorithm, which is                           visitors. For this reason, the term Web log mining is
more robust than FCM. Here, the kernel function K(x, c) is                        sometimes used. Web log mining should not be confused with
taken as the Gaussian radial basic function (GRBF) as follows:                    Web log analysis. An illustrative example for the log file is
                                2
                          − x− c 
                                                                                  shown in Table 1.
          K ( x, c) = exp        ,                                 (5)
                          σ2                                                      B.     Data Set Description
                                 
Where σ: is an adjustable parameter. The objective function                       The data sets used in this study were obtained from web
is given by                                                                       access logs for studying a two courses; the first is for teaching
           c   n
                                                                                  “data structures”; the course is offered in the second term of
   fm = 2 ∑ ∑ uij m (1 − K ( x j , ci ))                             (6)          the second year, at computing science programme at Saint
         i =1 j =1                                                                Mary's University. The second course is “Introduction to
The fuzzy membership matrix u can be obtained from:                               Computing Science and Programming”, for the first year.
           (1 − K ( x j , ci ) )−1 /(m−1)                                         Data were collected over 16 weeks (four months). The number
  uij =                                                              (7)          of students in these courses is described in details in Table 2.
          ∑ (1 − K ( x j , ci ))
          c                       −1 /( m−1)
                                                                                  From the work presented in [29-30], the student's behavior
          k =1
                                                                                  through teaching courses it proposed that, visits from




                                                                            134                                      http://sites.google.com/site/ijcsis/
                                                                                                                     ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                         Vol. 7, No. 2, 2010


            E – Course Decision Makers (Managers or Administrators)


                                                                             Data Set Preparation, Cleaning,
Collect Web Usage Data Set                     Data Set                       Normalization, and Features                      Apply fuzzy
        (Log Files)                                                                     Selection                            Clustering Model
                                              Data Set
                                                                                                                            Knowledge


         Feedback Recommendations                                                                          Post-Processing Stage


                                                                                                   Results Analysis and Evaluation Stage


                                            Figure1. The proposed applied data mining system



                                                                  Start



                                  Initial Membership Matrix U, error=1.00, m\ =2, tolerance <0.0001



            No
                                                             Error > tolerance

                                                                                                  Yes

                                                              Update Matrix U
                                                                 Uold=Unew



                                                            Calculate Center Vi

                                                            Calculate Distance Dik


                                                          Calculate Membership µik


                                                         Error=max µ ik − µ ik
                                                                     new    old




                                                  For i=1..k: Is µik>=0.75
       No                                                                                                            Yes



         Element is not surely member of this cluster:                                Element is surely member of this cluster:
             Add the element to the overlapping                                          Add the element to this cluster Ci


 Construct all overlapping areas between the different
 clusters with members having µik belonging to two or                                Construct all clusters with sure members
 more clusters


                                     Construct all areas (sure areas and overlapping areas)


                                                                Stop


             Figure2. The proposed Clustering Models (FCM and KFCM) and the Post-processing Technique
                                                                       5




                                                                    135                                 http://sites.google.com/site/ijcsis/
                                                                                                        ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
                                                                                                                                              -
students attending this course could fall into one of the                 the web site was public. The public portion consisted of
following five categories:                                                viewing course information, a lab manual, class-notes, class
                                                                          assignments, and lab assignments. If the users only accessed
1. Regular students: These learners download the current set
                                                                          the public web site, their IDs would be unknown. Therefore,
of notes. Since they download a limited/current set of notes,
                                                                          the web users were identified based on their IP address. This
they probably study class-notes on a regular basis.
                                                                          also made sure that the user privacy was protected. A visit
2. Bad students: These learners download a large set of notes.
                                                                          from an IP address started when the first request was made
This indicates that they have stayed away from the class-notes
                                                                          from the IP address. The visit continued as long as the
for a long period of time. They are planning for pretest
                                                                          consecutive requests from the IP address had sufficiently small
cramming.
                                                                          delay. The web logs were preprocessed to create an
3. Worker students: These visitors are mostly working on
                                                                          appropriate representation of each user corresponding to a
class or lab assignments or accessing the discussion board.
                                                                          visit.
4. Casual students: those students who did not interact with
the course material and if they visit the web course, they do             2.      Data Abstraction and Normalization:The abstract
not download any documents.                                               representation of a web user is a critical step; that requires a
5. Absent students: those students who are absent during the              good knowledge of the application domain. Previous personal
teaching course.                                                          experience with the students in the course suggested that some
Where after many experiments we found that the casual                     of the students print preliminary notes before a class and an
students and the absent students do not affect the study of               updated copy after the class. Some students view the notes on-
learner's profiles because the paper focuses on the learners              line on a regular basis. Some students print all the notes
profiles based on number of hits, downloaded documents, time              around important dates such as midterm and final
of accessing the web course, and day of accessing the course              examinations. In addition, there are many accesses on
materials.                                                                Tuesdays and Thursdays, when the in-laboratory assignments
                                                                          are due. On and Off-campus points of access can also provide
  C.     Data Preparation and Cleaning                                    some indication of a user's objectives for the visit. Based on
Data quality is one of the fundamental issues in data mining.             some of these observations, it was decided to use the
Poor quality of data always leads to poor quality of results.             following attributes for representing each visitor:
Sometimes poor quality data results in interesting, or                    a. On campus/Off campus access (binary values 0 or 1).
unexpected results. Therefore data preparation is a crucial step          b. Day time/Night time access: 8 a.m. to 8 p.m. were
before applying data mining algorithms. In this work data                    considered to be the Daytime (day/night).
preparation; consists of two phases, data cleaning, and data              c. Access during lab/class days or non-lab/class days: All the
abstraction and normalization.                                               labs and classes were held on Tuesdays and Thursdays. The
1. Data cleaning process:Data cleaning process consists of                   visitors on these days are more likely to be Worker Students.
  two steps Hits cleaning and Visits cleaning as following:               d. Number of hits (decimal values).
                                                                          e. Number of class-notes downloads (decimal values).
• Hits Cleaning: To remove the hits from search engines and                    The first three attributes had binary values of 0 or 1. The
other robots. In the second data set; the cleaning step reduced           last two values were normalized. The distribution of the
the log files data set by 3.5%, the number of hits was reduced            number of hits and the number of class-notes was analyzed for
from 40152 before cleaning to 36005 after cleaning.                       determining appropriate weight factors. The numbers of hits
• Visits cleaning: To clean the data from those visits, which             were set to be in the range [0, 10]. Since the class-notes were
didn't download any class-notes, were eliminated, since these             the focus of the clustering, the last variable was assigned
visits correspond to casual visitors. The total visits were 4248;         higher importance, where the values ranged from 0 to 15.
after visits cleaning the visits were reduced to 1287 as shown            Even though the weight for class-notes seems high, the study
in Table 3.                                                               of actual distributions showed that 99% of visits had values
                                                                          less than 15 for the data set.
• Remove the Casual and absent classes from the data sets:
where those two cleaning steps were not interested in studying               VI.   EXPERIMENTS DESIGN AND RESULTS ANALYSIS
the learners who did not download any Byte, as well as the
                                                                          It was possible to classify the learners using the two fuzzy
casual learners.
                                                                          clustering techniques into five clusters as regular students,
• Data privacy and learners security: It is required for the              worker students, bad students, casual students, and absent
identification of web visits; it is done using Linux commands.            students using both of fuzzy c-means, kernelized c-means, and
Certain areas of the web site were protected, and the users               KFCM Method. But the problem here is that the absent
could only access them using their IDs and passwords. The                 students were not found in the data sets as the absent student is
activities in the restricted parts of the web site consisted of           characterized by the casual interaction with the web course,
submitting a user profile, changing a password, submission of             they did not download any materials documentation related to
assignments, viewing the submissions, accessing the                       the course when they visited the web site.
discussion board, and viewing current class marks. The rest of




                                                                    136                             http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                      Vol. 7, No. 2, 2010
                                                                       Table 1: Common Log File Format                                                            .
                            EXAMPLE: 24.138.46.172--[09/AUG/2001:20:52:07-0300] GET/~CSC226/PROJECT 1.HTMHTTP/1.1 200 4662

                                      FIELD IN THE LOG FILE RECORD                                                                         VALUE
                     Client IP address or hostname (if DNS lookups are performed)                                                  24.138.46.172
                    Client’s username (if a login was required), or “--“ if anonymous                                                    --
                                               Access Date                                                                         09/AUG/2001
                                               Access Time                                                                        20:52:07-0300
                              HTTP request method (GET, POST, HEAD.)                                                                   GET
                     Path of the resource on the Web server (identifying the URL)                                             ~C SC226/PROJECT 1HTM
                     The protocol used for the transmission (HTTP/1.0, HTTP/1.1)                                                     HTTP/1.1
               Service status code returned by the server (200 for OK, and 404 not found)                                               200
                                       Number of bytes transmitted                                                                     4662



                                                              Table 2: Historical Description of the Courses


           Course                                                                                 Description
                                                The initial number of students in the course was 180. The number changed over the course of the semester to
 Introduction to Computing
                                                 130 to 140 students. Students in the course come from a wide variety of backgrounds, such as Computing
Science and Programming for
                                                  Science major hopefuls, students taking the course as a required science course, and students taking the
   First year in First term
                                                                                    course as a science or general elective.
Data structures Second year in                   The number of students in this course was around 25 students and the number changed to 23 students. This
         second term                                             course was more difficult but the students were more stable in this course.



                                                             Table 3: Data Sets Before and After Preprocessing


           Data Set                  Hits                         Hits After Cleaning                    Visits                      Visits After Cleaning
    First Course Data Set          361609                               343000                           23754                               7673
   Second Course Data Set           40152                                36005                           4248                                1287

           Table 4: FCM Results for 1st Data Set                                                 Table 5: KFCM Results for 1st Data Set

 Class                Behavior of each Class                                       Class                   Behavior of each Class
                                                                Size                                                                                     Size
 Name        Camp.    Time     Lab     Hits          Req.                          Name       Camp.       Time       Lab      Hits            Req.
Regular      0.002     0.65      0.34     0.49       0.70       1904            Regular       0.006       0.58       0.44     0.38            0.77      1870
Workers       0.98     0.92      0.66     0.98        1.2       2550            Workers          1         0.78        0.59          1         1.4      2430
  Bad         0.67    0.732      0.45     3.23         6         396            Bad             0.7        0.65        0.35          4         6.5       416
 R&W          0.22     0.68      0.42     0.53        0.8       2600            R&W             0.3        0.53        0.49          0.8       0.9      2654
 R&B           0.3     0.68      0.38       2         2.8        98             R&B            0.39        0.49        0.22          2            3          78
 W&B          0.77     0.81      0.53     1.03        1.01       125            W&B            0.82        0.72        0.28          3         0.9       225
R&W&B         0.45     0.72      0.39     0.37        0.99       98             R&W&B          0.47        0.59        0.37          0.3      1.22           78


                                                                                                 Table 7: KFCM Results for 2 nd Data Set
          Table 6: FCM Results for 2 nd Data Set


 Class                Behavior of each Class                                      Class                    Behavior of each Class
                                                                Size                                                                                     Size
 Name        Camp.    Time       Lab      Hits       Req.                         Name        Camp.      Time     Lab         Hits           Req.
Regular       0.48     0.65      0.31     2.08       3.99        161              Regular      0.42      0.55     0.39        2.3             3          168
Workers       0.54     0.70      0.42     2.40       2.75       1000             Workers       0.64      0.74     0.46        2.7            2.2         977
  Bad         0.57     0.55      0.45     2.24       4.84        25                Bad         0.68       0.6     0.33        3.1            4.3             49
 R&W          0.54     0.75      0.51     0.90        2.9        54               R&W          0.50      0.75     0.51        0.90           0.58            50
 R&B          0.58     0.74      0.51     0.94         4         47                R&B         0.54      0.74     0.51        0.94           0.74            43
 W&B            -       -         -         -          -          0               W&B           -          -       -           -              -              0
R&W&B           -       -         -         -          -          0              R&W&B          -          -       -           -              -              0




                                                                                137                               http://sites.google.com/site/ijcsis/
                                                                                                                  ISSN 1947-5500
                                                                            (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                      Vol. 7, No. 2, 2010

                                                                                         Table 8: Comparison Between Results of FCM and KFCM

                                                                  Workers                                    Ratio Between Size of Clusters and Real
                        1904           2600            2550                                                                 Results
Regular                                                                                   Data
                                                                                                    Model
                                                                                          Set                  Regular        Worker /         Bad
                                        98                                                                      /Real          Real           /Real

                                                 125                                       1st       FCM         81%            88%           90%
                                                                                           1st      KFCM         87.5           91%           93%
          Bad                   396                                                         nd
                                                                                           2         FCM         88%            90%           96%
                                                                                           2nd      KFCM        88.07          90.9%          98%


                                                                                           Table 9: Questionnaires Results for the Second Course
                          (a) FCM for the 1st data set
                                                                                         Students %                     Students’ Opinion
 Regular                                                                                   21.739%         Accept online only as interactive method
                                                                                           17.39%           Refused on-line as a method not usual

            1870                                   2430                                    30.43%      Hybrid of on-line and printed document
                             2654
                                                                                           21.739%         Refused on-line (not used to work with it)
                                                                Workers
                                                                                            6.69%          Refused on line (due to practical reasons)
                              78
                                      225
                                                                                      Therefore we have decided to re-cluster the data sets into three
                                                                                      clusters only as regular, workers, and bad students; and
                          416
                                                                                      neglect both the absent and casual students classes. The results
          Bad                                                                         were good enough to reflect the learner's behaviour on the e-
                                                                                      course. Table 6 and Table 7 show details of clusters for the
                        (b) KFCM for the 1st data set                                 2nd data set. Each cluster is characterized by the following:
                                                                                     1. The number of Bad Students was significantly less than
                                                                                      the numbers of Worker Students and Regular Students
                                                                                      visitors, and Bad Students class was identified by the high
                                                                Workers
                                            54     1000                               number of hits and document-downloads.
                         161
 Regular                                                                             2. The size of the Worker Students class was the biggest one,
                                                                                      and identified by the lowest number of hits and document-
                         47
                                                                                      downloads.
                   25
                                                                                     3. The size of the Regular Students class was moderate
                                                                                      smaller than Worker Students and larger than Bad Students,
                                                                                      identified by the moderate number of hits and document-
                                                                                      downloads, and regularity of downloading behaviour.
   Bad                                                                                The interpretation of the results obtained from this phase is as
                                                                                      same as the interpretation for the results of the first data set
                (c) FCM for the 2nd data set
                                                                                      shown in Table 4, and Table 5. The fuzzy representation of the
                                                                                      clustering results for the different clusters and their
                                                                                      overlapping are presented in Figure3.
                                                              Workers
                        168            50         977                                    VII. COMPARISON ANALYSIS BETWEEN FCM & KFCM
 Regular
                                                                                      Both FCM and KFCM were able to cluster the data sets as
                        43
                                                                                      shown in Tables 4,5,6,7 and Figure3 (a), (b), (c), (d), with
                                                                                      moderate accuracy. Moreover, the results obtained from
                49
                                                                                      KFCM were better when compared with the real marks of the
                                                                                      students and the ratios of the students with different grades,
                                                                                      the calculations were done as a ratio, for example the majority
   Bad                                                                                of the grades were grad B+ that can fit with workers students,
                (d) KFCM for the 2 nd data set                                        the next large grade was the A that match with the class
                                                                                      regular, finally the minority that has grade C and fall in the
                                                                                      course (grade D) was matched with the Bad student class.
     Figure3. Fuzzy Clusters Representation: a and b for the                          Table 8 illustrates the matching between the obtained results
          1st Data Set, and c and d for the 2 nd Data Set
                                                                                 -




                                                                               138                                      http://sites.google.com/site/ijcsis/
                                                                                                                        ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                       Vol. 7, No. 2, 2010
                                                                                                                                                           .
from FCM and KFCM for the two data sets, and the real                     server size, network traffic distribution, etc.), have measures
marks and grades of the students. The comparison concludes                about how to better organize institutional resources (human
that both of the two methods were good enough; moreover the               and material) and their educational offer, enhance educational
KFCM was better and its performance from the points of                    programs offer and determine effectiveness of the new
matching with the real marks and the speed was high.                      computer mediated distance learning approach. There are
                                                                          many general data mining tools that provide mining
                                                                          algorithms, filtering and visualization techniques. Some
        VIII. SUGGESTIONS AND RECOMMENDATIONS                             examples of commercial and academic tool are DBMiner,
                                                                          Clementine, Intelligent Miner, Weka, etc. As a total
  A.       Student feedback                                               conclusion, the suggestions and the recommendations from
Feedback from students on the second course indicates that;               this work are focused on: the educators’ behavior obtained
there are some concerns over accessing, reading internet                  from both fuzzy clustering models.
pages, and downloading different materials as shown in Table
9. From the table we conclude some points as following:                                            IX.    CONCLUSIONS
1. Due to practical reasons such as eye strain, portability,              The work presented in this paper focuses on how to find good
navigation and the process of developing understanding by                 models for the evaluation for E-learning systems. The paper
adding notes.                                                             introduces the use of two different fuzzy clustering techniques,
2. Students have opinions that the materials were difficult and           the FCM and the KFCM, where the clustering is one of the
not have more explanations, others said that the course itself is         most important models in data mining. Both of FCM and
more difficult to follow on-line; they thought that it is a               KFCM clustering were able to find the clusters for the learners
difficulty added to the course itself.                                    and the results were matched with the real marks of the
3. Students suggested that the combination of online and                  students with high percentage. Moreover the KFCM results
printed versions of materials would be better.                            have high matching percentage with the real marks than the
4. Students were satisfied using on-line more than the off-               FCM. The suggestion and the recommendations were
line; as it gives the feeling of the classroom environment.               constructed based on the clustering results and the questioners
5. Students raise the need to make it easier to obtain print              obtained from the students that represent the learners’ profiles
versions for easier handling process because of their usual (not          and reflect their behavior during the teaching of the e-course.
because it is difficult but because they did not used to).                Finally the paper proved that the ability of fuzzy clustering
  B.      The Suggestions and Recommendations:                            generally and KFCM was better in predicting the e-learners
                                                                          behaviour.
1. Formative evaluation: It is the evaluation of an educational
program while it is still in development, and with the purpose                                           REFERENCES
of continually improving the program. Examining how                       [1]   Romero, et al., Herrera Evolutionary algorithms for subgroup discovery
students use the system is one way to evaluate the instructional                in e-learning: A practical application using Moodle data Expert Systems
design in a formative manner and it may help the educator to                    with Applications, 36, pp.1632–1644, (2009).
improve the instructional materials.                                      [2]   Romero, C., & Ventura, S., Educational data mining: A survey from
                                                                                1995 to 2005. Expert Systems with Applications, 33(1), pp.135–146,
2. Oriented towards students: The objective is to recommend
                                                                                (2007).
to learners activities, resources and learning tasks that would           [3]   Klosgen, W., & Zytkow, J., Handbook of data mining and knowledge
favor and improve their learning, suggest good learning                         discovery. NY: Oxford University Press, (2002).
experiences for the students, suggest path pruning and                    [4]   Klosgen, W., Explora: A multipattern and multistrategy discovery
shortening or simply links to follow, based on the tasks                        assistant, In U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, & R.
already done by the learner and their successes, and on tasks                   Uthurusamy (Eds.), Advances in knowledge discovery and data mining,
                                                                                pp. 249–271, (1996).
made by other similar learners, etc.                                      [5]   Wrobel, S., An algorithm for multi-relational discovery of subgroups. In
3. Oriented towards educators: The objective is to get more                     Proceedings of conference principles of data mining and knowledge
objective feedback for instruction, evaluate the structure of the               discovery, pp. 78–87, (1997).
course content and its effectiveness on the learning process,             [6]   Hwang, G.J., A Test-Sheet-Generating Algorithm for Multiple
classify learners into groups based on their needs in guidance                  Assessment Requirements, IEEE Transactions on Education 46(3),
                                                                                pp.329–337, (2003).
and monitoring, find learning learner’s regular as well as
                                                                          [7]   Carpenter, G., et al., Fuzzy ART: Fast Stable Learning and
irregular patterns, find the most frequently made mistakes,                     Categorization of Analog Patterns by an Adaptive Resonance System,
find activities that are more effective, discover information to                Neural Networks 4, pp.759–771, (1991).
improve the adaptation and customization of the courses,                  [8]   Jantke, K., et al., Adaptation to the Learners’ Needs and Desires by
restructure sites to better personalize courseware, organize the                Induction and Negotiation of Hypotheses. In: Auer, M.E., Auer, U.
                                                                                (eds.): International Conference on Interactive Computer Aided
contents efficiently to the progress of the learner and                         Learning, ICL 2004, (2004).
adaptively constructing instructional plans, etc.                         [9]   Mullier, D., et al., A Neural-Network System for Automatically
4. Oriented towards academics responsible and administrators:                   Assessing Students, In: Kommers, P., Richards, G. (eds.): World
The objective is to have parameters about how to improve site                   Conference      on Educational        Multimedia,    Hypermedia     and
                                                                                Telecommunications, pp.1366–1371, (2001).
efficiency and adapt it to the behavior of their users (optimal




                                                                    139                                  http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                    Vol. 7, No. 2, 2010
                                                                                                                                                                       .
[10] Kohonen, T., Self-Organizing Maps. 3rd edition, Springer, Berlin                  [28] Stathacopoulou, G., Grigoriadou, M.: Neural Network-Based Fuzzy
     Heidelberg New York, (2000).                                                           Modeling of the Student in Intelligent Tutoring Systems, In:
[11] Tang, C., et al., Personalized Courseware Construction Based on Web                    International Joint Conference on Neural Networks. Washington,
     Data Mining. In: The First international Conference on Web information                 pp.3517–3521, (1999).
     Systems Engineering, WISE’00. IEEE Computer Society. June 19–20,                  [29] Lingras, P., Hogo, M., Snorek, M., 2004. Interval Set Clustering of Web
     Washington, USA,pp.204–211, (2000).                                                    Users using Modified Kohonen Self-Organizing Maps based on the
[12] Tang, T.Y.&McCalla, G., Smart Recommendation for an Evolving e-                        Properties of Rough Sets, Web Intelligence and Agent Systems: An
     Learning System: Architecture and Experiment. International Journal on                 International Journal, Vol. 2, No. 3, pp. 217-230
     e-Learning 4(1), pp.105–129, (2005).                                              [30] Mofreh Hogo, Miroslav Snorek. “Temporal web usage mining using the
[13] Talavera, L.&Gaudioso, E., Mining Student Data to Characterize Similar                 modified Kohonen SOM”, international journal of NNW (neural
     Behavior Groups in Unstructured Collaboration Spaces. In: Workshop in                  network world) volume 13 number 4, 2003 ISSN 1210-0552.
     Artificial Intelligence in Computer Supported Collaborative Learning in           [31] Bezdek J., Pattern Recognition with Fuzzy Objective Function, Plenum,
     conjunction with 16th European Conference on Artificial Intelligence,                  New York, (1981).
     ECAI’2003. Valencia, Spain, pp.17–22, (2004).                                     [32] Bezdek J. Some, non-standard clustering algorithms, In: Legendre, P. &
[14] Castro, F., et al., Finding Relevant Features to Characterize Student                  Legendre, L. Developments in Numerical Ecology. NATO ASI Series,
     Behavior on an e-Learning System. In: Hamid, R.A. (ed.): Proceedings                   Vol. G14. Springer-Verlag, (1987).
     of the International Conference on Frontiers in Education: Computer               [33] Muller KR., Mika S., et al., An introduction to kernel-based learning
     Science and Computer Engineering, FECS’05. Las Vegas, USA,                             algorithms, IEEE Trans Neural Networks, 12(2), pp.181—202, (2001).
     pp.210–216, (2005).
                                                                                       [34] Carl G. A., fuzzy clustering and fuzzy merging algorithm, Technical
[15] Hammouda, K. & Kamel, M., Data Mining in e-Learning. In: Pierre, S.                    Report, CS-UNR-101, (1999).
     (ed.): e-Learning Networked Environments and Architectures: A
                                                                                       [35] Hwang, G., A Knowledge-Based System as an Intelligent Learning
     Knowledge Processing Perspective, Springer, Berlin Heidelberg New
                                                                                            Advisor on Computer Networks, J. Systems, Man, and Cybernetics 2,
     York, (2005).
                                                                                            pp. 153–158, (1999).
[16] Tane, J., et al., Semantic Resource Management for the Web: An e-
     Learning Application, In: Fieldman, S., Uretsky, M. (eds.): The 13th
     World Wide Web Conference 2004, WWW2004. ACM, New York, pp.
     1–10, (2004).
[17] Castro, F., et al., Detecting Atypical Student Behaviour on an e-Learning                                     Mofreh A. Hogo is a lecturer at Benha
     System, In: VI Congreso Nacional de Informática Educativa, Simposio                                           University, Egypt. He is a lecturer of Computer
     Nacional de Tecnologías de la Información y las Comunicaciones en la                                          Science and Engineering. Dr. Hogo holds a PhD
     Educación, SINTICE’2005. September 14–16, Granada, Spain, pp.153–                                             in Informatics Technology from Czech
     160, (2005).                                                                                                  Technical University in Prague, Computer
[18] Drigas, A.&Vrettaros, J., An Intelligent Tool for Building e-Learning                                         Science and Engineering Dept. 2004. He is the
     Contend-Material Using Natural Language in Digital Libraries, WSEAS                                           author of over 40 papers that have been
     Transactions on Information Science and Applications 5(1), pp.1197–                                           published in refereed international Journals
     1205, (2004).                                                                                                 (Information Sciences, Elsiver, UBICC, IJICIS,
[19] Trella, M., et al., An Open Service-Based Learning Platform for                                               IJCSIS, IJPRAI, ESWA, IJEL, Web Intelligence
     Developing Intelligent Educational Systems for the Web, In: The 12th                                          and Agent Systems, Intelligent Systems,
     International Conference on Artificial Intelligence in Education. July            international journal of NNW, IJAIT Journal of Artificial Intelligence Tools,
     18–22, Amsterdam, pp. 27–34, (2005).                                              IJCI) and Book chapters (Neural Networks Applications in Information
[20] Romero, C.,et al., Discovering Prediction Rules in AHA! Courses. In:              Technology and Web Engineering Book, Encyclopedia of Data Warehousing
     User Modelling Conference. June 2003, Johnstown, Pennsylvania, pp.                and Mining, and Lecture Notes in Artificial Intelligence Series), and
     35–44, (2003).                                                                    international conferences (Systemics, Cybernetics and Informatics
                                                                                       Information Systems Management, IEEE/WIC, IEEE/WIC/ACM, ICEIS). His
[21] Romero, C., et al., Knowledge Discovery with Genetic Programming for
                                                                                       areas of interest include Digital Image Processing, Multimedia Networks,
     Providing Feedback to Courseware. User Modeling and User-Adapted
                                                                                       Intrusion detection, Data Mining, Data Clustering and classification, pattern
     Interaction 14(5), pp. 425–464, (2004).
                                                                                       Recognition, character recognition, fuzzy clustering, artificial Neural
[22] Muehlenbrock, M., Automatic Action Analysis in an Interactive                     Networks, Expert systems, Software Engineering.
     Learning Environment. In: The 12th International Conference on
     Artificial Intelligence in Education, AIED 2005. July 18, Amsterdam,
     The Netherlands, pp. 73–80, (2005).
[23] Beck, J., Woolf, B., High-Level Student Modeling with Machine
     Learning. In: Gauthier, G., et al. (eds.): Intelligent Tutoring Systems,
     ITS 2000. Lecture Notes in Computer Science, Vol. 1839. Springer,
     Berlin Heidelberg New York, pp. 584–593, (2000).
[24] Feng, M., et al., Looking for Sources of Error in Predicting Student’s
     Knowledge, In: The Twentieth National Conference on Artificial
     Intelligence by the American Association for Artificial Intelligence,
     AAAI’05, Workshop on Educational Data Mining, pp. 54–61, (2005).
[25] Kotsiantis, S., et al., Predicting Students’ Performance in Distance
     Learning Using Machine Learning Techniques. Applied Artificial
     Intelligence 18(5), pp. 411–426, (2004).
[26] Hwang, G., A Group-Decision Approach for Evaluating Educational
     Web Sites, Computers & Education, pp. 42 65–86, (2004).
[27] Hwang, G. et al., Development of an Intelligent Management System for
     Monitoring Educational Web Servers. In: The 10th Pacific Asia
     Conference on Information Systems, PACIS 2004, pp.2334–2340,
     (2004).




                                                                                 140                                  http://sites.google.com/site/ijcsis/
                                                                                                                      ISSN 1947-5500
                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                               Vol. 7, No. 2, February 2010




       Hierarchical Approach for Online Mining –Emphasis towards Software Metrics


     M .V.VIJAYA SARADHI                            B.R.SASTRY                                      P.SATISH
     Dept. of Comp. Sc & Eng.                           Director                                   Dept. of CSE
            ASTRA                                       ASTRA                                          VIE
      Hyderabad, India.                          Hyderabad, India                               Hyderabad, India




Abstract ----Several multi-pass algorithms have               database, based on a pre- defined frequency threshold
been proposed for Association Rule Mining from                minsupport. Phase II of the problem involves
static repositories. However, such algorithms are             generating the association rules from the frequent
incapable of online processing of transaction                 item sets found in Phase I. Typically, the reported
streams. In this paper we introduce an efficient              approaches in Phase I re- quire multiple passes over
single-pass algorithm for mining association rules,           the transaction database to determine the frequent
given a hierarchical classification amongest items.           item sets of deferent lengths [1, 2, 3]. All these
Processing efficiency is achieved by utilizing two            approaches assume that a static database is available,
optimizations, hierarchy aware counting and                   so that multiple scans can be made over it. With
transaction reduction, which become possible in               online systems, it is desirable to make decisions on
the context of hierarchical classification.                   the fly, processing data-streams in- stead of stored
                                                              databases.
   This paper considers the problem of
integrating constraints that are Boolean                         In this paper, we aim at a online algorithm,
expression over the presence or absence of items              capable of processing online streams of transactions.
into the association discovery algorithm. This                Assume that the algorithm has computed its result up
paper present three integrated algorithms for                 to and including the first n transactions. A true online
mining association rules with item constraints and            algorithm should be capable of updating the result for
discuss their tradeoffs. It is concluded that the             the (n + 1). The transaction, without requiring a re-
variation of complexity depends on the measure of             scan over the past n transactions. In this way such an
DIT (Depth of Inheritance Tree) and NOC                       algorithm can handle transaction streams. In fact it is
(Number of Children) in the context of                        true that items in an online shopping mart or a
Hierarchical Classification.                                  supermarket are categorized into sub-classes, which
                                                              in turn make up classes at a higher level, and so on.
   Keywords: Frequent item sets; Association                  Besides the usual rules that involve individual items,
Rules; Time stamps; DIT; NOC; Software Metrics;               learning association rules at a particular sub- class or
Complexity; Measurement                                       class level is also of much potential use and
                                                              significance, e.g. an item-specific rule such as
             I.    INTRODUCTION                               Customers buying Brand A sports shoes tend to buy
                                                              Brand B tee- shirts" may be of less practical use than
                                                              a more general rule such as Customers buying sports
    The aim of Association Rule Mining is to find             shoes tend to buy tee-shirts". With this aim, we can
latent associations among data entities in database           be made of commonly employed hierarchical
repositories, a typical example of which is the               classification of items to devise a simple and efficient
transaction database maintained by a supermarket.             rule mining algorithm. [2] Proposes a single-pass
An association rule is an implication of the form             algorithm for hierarchical online association rule
A=> B, which conveys that customers buying set of             mining.
items A would also with a high probability buy set of
items B. The concept of association rule mining was               In this paper, we refer to this algorithm as
first introduced in [4]. Typically the problem is             HORM. The present work carries forward the idea of
decomposed into two phases. Phase I of the problem            [1], and proposes an efficient algorithm for Phase I.
involves in finding the frequent item sets in the             The present work also looks at Phase II, i.e. the




                                                        141                               http://sites.google.com/site/ijcsis/
                                                                                          ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 7, No. 2, February 2010




generation of association rules. [9] Proposes an
algorithm to generate non-redundant rules. We
present a modified algorithm for Phase II that better
suits the need to mine hierarchical association rules.                       Clothes                 Footwear
For example, they may only want rules that contain a
specific item or rules that contain children of a
specific item in a hierarchy. While such constraints             Outer wear        Shirts          Shoes        Hiking Boots
can be applied as a post processing step, integrating
them into the mining algorithm can dramatically
reduce the execution time. In practice, users are often
interested only in a sub set of associations, for                   Jackets Ski Phants
instance, those containing at least one item from a
user-defined subset of items. When taxonomies are                Figure 1. Example for taxonomy
present, this set of items may be specified using the
taxonomy, e.g. all descendants of a given item. While            For example,(Jacket A Shoes) V (descendants
the output of current algorithms can be filtered out in          (Clothes) A7 ancestors (Hiking Boots)) expresses the
a post-processing step, it is much more efficient to             constraint that we want any rules that either (a)
incorporate such constraints into the association’s              contain both Jackets and Shoes, or (b) contain
discovery algorithm.                                             Clothes or any descendants of clothes and do not
                                                                 contain Hiking Boots or Footwear.
    Design choices on the hierarchy employed to
represent the application are essentially choices about                          II.        THEORY
restricting or expanding the scope of properties of the
classes of objects in the application. Two design                A. Basic Concepts and Problem Formulation
decisions which relate to the inheritance hierarchy
can be defined [11]. They are depth of inheritance                   Hierarchical classification of data means that the
(DIT) of a class and the number of children of the               items which make up a transaction are categorized
class (NOC).Depth of Inheritance of the class is the             into Classes, sub-classes, and so on. While doing
DIT metric for the class. The DIT (Depth of                      Hierarchical Classification of data, some measures to
Inheritance Tree) will be the maximum length from                be consider. Design of a class involves decisions on
the node to the root of the tree. The deeper a class is          the scope of the methods declared within the class.
in the hierarchy, the greater the number of methods it           We have to consider four major features in the
is likely to inherit, making it more complex to predict          Hierarchical classification of data in terms of
its behavior. The Deeper trees constitute greater                Classification        tree       1.Identification      of
design complexity. The deeper a particular class is in           classes.2.Identify the semantics of classes.3.Identify
the hierarchy, the greater the potential reuse of                relations between classes.4.Implementation of
inherited methods. The inheritance hierarchy is a                classes. Using several metrics can help designers,
directed acyclic graph, which can be described as a              who may be unable to review design complexity for
tree structure with classes as nodes, leaves and a root.         the entire application [11]. The Depth of inheritance
                                                                 Tree (DIT) and Number of children (NOC) metrics
   The NOC (Number of Children) is the number of                 check whether the application is getting too heavy
immediate subclasses subordinated to a class in the              (i.e .too many classes at the root level declaring many
class hierarchy. It is a measure of how many                     methods).Classes with high values of DIT tend to
subclasses are going to inherit the methods of the               complex classes. Evidently it is possible to mine for
parent class. The number of children gives an idea of            two types of rules: an item-specific rule such as
the potential influence a class has on the design. If a          Customers buying soap of brand A tend to buy
class has a large number of children, it may require             canned soup of brand B", or a more general Rule
more testing of the methods in that class. The Greater           such as Customers buying soaps tend buy canned
the number of children (NOC), greater the likelihood             soup". The latter is an association on classes or sub-
of improper abstraction of the parent class. If a class          classes, rather than on individual items. Let I be the
has a large number of children; it may be a case of              set of all items stored in, say, a typical supermarket.
misuse of sub classing. In this paper, we consider
constraints that are boolean expressions over the
presence or absence of items in the rules. When
taxonomies are present, we allow the elements of the
boolean expression to be of the form ancestors (item)
or descendants (item) rather than just a single item.


                                                           142                               http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                    Vol. 7, No. 2, February 2010




                                                                      Find all frequent item sets (item sets whose
                                                                   support is greater than minimum support) that satisfy
                                                                   the boolean expression B. Recall that there are two
                                                                   types of operations used for this problem: candidate
                                                                   generation and counting support. The techniques for
                                                                   counting the support of candidates remain
                                                                   unchanged. However, as mentioned above, the A
                                                                   priori candidate generation procedure will no longer
Figure 2. Example of Classification Tree                           generate all the potentially frequent itemsets as
                                                                   candidates when item constraints are present. We
   We suppose that, at each level of classification, a             consider three different approaches to this problem.
fixed number M of classes, sub-classes or items are
present. At the root level we have classes C1; C2;                      •     Generate a set of selected items S such that
C3: CM. At the next level, for a class Ck, we will                            any Item sets that satisfy B will contain at
have the M sub-classes Ck1;Ck2 : : :CkM. For jIj =                            least one selected item.
20000, and with M = 12, for example, we will need
four levels of classification; the last level will contain              •     Modify the candidate generation procedure
individual items stored in transaction, which will be                         to only count candidates that contain
coded as Cjklm, i.e. one index for each level of                              selected items.
classification. A hierarchical association rule is an
implication of the type X => Y where X; Y are                           •     Discard frequent item sets that do not satisfy
disjoint subsets of the sub-classes of some Cα, the                           B. The third approach, “Direct” directly uses
parent class of X and Y . As usual, support for                               the boolean expression B to modify the
association rule X =>Y is defined as the fraction of                          candidate generation procedure so that only
transactions in the transaction database which contain                        candidates that satisfy B are counted
X=>Y ; confidence of the rule is defined as the                               (Section 4.2).
fraction of transactions containing X which also
contain Y . We denote the support and confidence of                Phase 2:
rule X => Y as supp(X=> Y ) and conf(X => Y )
respectively.                                                         To generate rules from these frequent itemsets, we
                                                                   also need to find the support of all subsets of frequent
   We may also write XY to represent X => Y.                       itemsets that do not satisfy?. Recall that to generate a
Subsets of sub-classes of class C are elements of the              rule AI3, we need the support of AB to find the
power-set of the set of sub-classes of C. For a given              confidence of the rule. However, AB may not satisfy
class C, the counts of all subsets occurring in the                B and hence may not have been counted in Phase 1.
transaction database are stored in an integer array,               So we generate all subsets of the frequent itemsets
called count array, of size 2M. The natural bitmap                 found in Phase 1, and then make an extra pass over
representation of a subset can be used directly as the             the dataset to count the support of those subsets that
index of the corresponding cell in the count array.                are not present in the output of Phase 1.

                                                                   Phase 3:

                                                                      Generate rules from the frequent item sets found in
                                                                   Phase 1, using the frequent item sets found in Phases
                                                                   1 and 2 to compute confidences, as in the A priori
                                                                   algorithm. We discuss next the techniques for finding
                                                                   frequent item sets that satisfy Z? (Phase 1). The
                                                                   algorithms use the notation in Figure 2.




           Figure 3: Item set Lattice
                                                                   B. Approaches using Selected Items
Phase 1:



                                                             143                               http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 7, No. 2, February 2010




Generating Selected Items Recall the boolean                        This data mining approach undertakes rule
expression Z? = D1 V D2 V . . . V D,,,,, where Di =              association analysis between two input domain
ail A Q~Z A u . e A ain; and each element oij is                 classes and their subclasses in the mining ontology.
either lij or dij, for some Zij E C. We want to                  Standard rule association mining looks for frequently
generate a set of items S such that any item set that            occurring associations between input values that meet
satisfies Z? will contain at least one item from S. For          the minimal criteria of user defined interestingness,
example, let the set of items {l,2,3,4,5}.                       such as confidence (the probability of one value
                                                                 occurring given another) and Support (the probability
   Consider B=(lA2)V3.The sets (1, 3}, {2, 3) and (1,            of two values occurring together). The Chrono Miner
2, 3, 4, 5) all have the property that any (non-empty)           algorithm extends this standard approach by also
item set that satisfies B will contain an item from this         examining the occurrence of different temporal
set. If B = (1 A 2) V 73, the set (1, 2, 4, 5) has this          relationships between the time stamps of those
property. Note that the inverse does not hold: there             values.
are many itemsets that contain an item from S but do
not satisfy B. For a given expression B, there may be
many different sets S such that any itemsets that
satisfies B contains an item from S. We would like to
choose a set of items for S so that the sum of the
supports of items in S is minimized. The intuition is
that the sum of the supports of the items is correlated
with the sum of the supports of the frequent itemsets
that contain these items, which is correlated with the
execution time. We now show that we can generate S
by choosing one element oij from each disjunct 0; in
B, and adding either lij or all the elements in .C -
{Zij} to S, based on .whether oij is lij or li.j
respectively

C. Hierarchical representation:

   The traditional model of a relational database is a
set of relations, which cannot directly encode
hierarchical properties among data, such as the is-a
relationship. To address this issue, we represented
both theses relational and hierarchical properties of
data explicitly within a mining ontology. Each
domain class in the ontology, called a Node,
corresponds to a relation in the database. The
subclass hierarchy under Node encodes an “is-a”
relationship among domain classes. Each class has
properties that contain string values mapping to the
column names of the database table that stores the
instances for that class. The use of Ontology to
encode an explicit representation of data allows reuse                Temporal Association Rule algorithm
of the mining method with different database
schemas and domains, since such encoded knowledge                Using the mining ontology, the search for temporal
can be easily modified. The mining ontology serves               associations involves partial or complete traversal of
as a bridge between the database and the mining                  the hierarchical structure starting from each input
algorithm, and guides the hierarchical search of the             class, proceeding through top-down induction as
latter across multiple tables within the former.                 described in the pseudo code presented in Figure 4.




                                                                 A.HORM Algorithm
           III. Mining Algorithm



                                                           144                               http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                    Vol. 7, No. 2, February 2010




   From the classes and sub-classes which make up                  current           transaction          T           be
the classification tree, the user selects a set of classes         {A1Q6;A2P6;B2Q6;B1Q7;A2P7;B2P7}. While T is
of interest [4], to be denoted here as SIC. Association            being checked against A***, the algorithm in fact
rules to be mined are of the type X => Y where X and               traverses through the items of T and finds the sub-
Y are disjoint subsets of a class or sub-class of                  transaction T=A*** = {A1Q6;A2P6;A2P7}, which
interest. The problem of hierarchical association rule             may be called the projection of class A*** on T.
mining is now defined as: Find all association rules               Clearly T=A*** does not contain any items that
of the type X => Y, within each class of interest in               belong to B***, because the sub-classes of A*** and
SIC, which have a specified minimum support and                    B*** are disjoint. Thus we can remove T=A*** from
confidence in the transaction database or stream. To               T and pass the remaining items T1 = T ¡ T=A*** to
find associations within a class or sub-class of                   match against B***. Thus the part of a transaction
interest, we need to maintain counts for all its                   that is a projection of a class can be removed to
subsets. For the class A***, with M = 4, for example,              obtain a reduced transaction to match against disjoint
we need to count the occurrences in the transaction                classes. We call this second enhancement transaction
database        of      all     the       subsets       of         reduction.
{A1***A2*** A3***A4***}. Clearly there are 2M ¡
1 non-empty subset combinations for a sub-class with               C. Non-Redundant Rule Generation
M elements. Therefore a count array of size 2M ¡1
needs to be maintained for each class or sub-class of                 The version implemented in the present work is
interest. HORM algorithm takes as input the i.e.                   based on the basic concepts proposed in [5]. The
support values, in the transaction database of all the             hierarchical rule mining technique described here
subsets of the classes or sub-classes of interest. The             does not require a separate adjacency lattice of the
time complexity of this algorithm is O(jDjK2M) [6].                classes or subclasses of interest. The count arrays
The memory requirement of HORM is K2M, since                       described above can themselves be viewed as
each element of SIC requires an array of size 2M.                  adjacency lattices used in [5], leading to very clean
                                                                   design and implementation.
          IV. Enhancements Proposed
                                                                                     CONCLUSIONS
A. Hierarchy-Aware Counting
                                                                      This proposed algorithm, Modified Hierarchical
   In HORM, each transaction is checked against all                online rule mining, or MHORM, which optimizes the
the classes or sub-classes in SIC. But suppose we                  time requirements of the earlier reported algorithm
have two classes or sub-classes in SIC of which one                HORM [8].
is itself a sub-class of the other. In HORM, the per-
transaction code is executed once for each of these                   We considered the problem of discovering
elements of SIC, without taking into account this                  association rules in the presence of constraints that
hierarchical relationship between the two. But clearly             are Boolean expressions over the presence of absence
if the first iteration suggests that the current                   of items. Such constraints allow users to specify that
transaction does not support, say PQ**, we do not                  they are interested in we presented three such
need to iterate for any of its sub-class such as PQR*.             integrated algorithm, and discussed the tradeoffs
We apply this intuition to speed up the algorithm: If a            between them. Empirical evaluation of the Multiple
transaction does not support a class or sub-class,                 Joins algorithm on three real-life datasets showed that
it does not support any of its sub-classes either. We              integrating item constraints can speed up the
call this first enhancement hierarchy-aware counting.              algorithm by a factor of 5 to 20 for item constraints
                                                                   with selectivity between 0.1 and 0.01.For candidates
B. Transaction Reduction                                           that were not frequent in the sample but were
                                                                   frequent in the datasets, only those extensions of such
   This second enhancement reduces the computation                 candidates that satisfied those constraints would be
within the inner loop. For every class or sub-class in             counted in the additional pass.
SIC, HORM processes the current transaction in its
entirety. However, suppose we have two classes or
sub-classes in SIC which do not share an ancestor-                     It is concluded that while constructing
descendant relationship. Once we have matched the                  Classification Tree, the measure of Depth of
entire transaction against the first class or sub-class            Inheritance Tree (DIT) with respect to Number of
clearly it is not necessary to again match the entire              children (NOC) place a dominant role, which is
transaction against the second one as well. Suppose                evidence from the fact that the complexity depends
A*** and B*** are two classes of interest, and let the             on the depth of inheritance Tree (DIT) with respect to



                                                             145                               http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                  Vol. 7, No. 2, February 2010




Number of children (NOC). Both DIT and NOC                                         AUTHORS PROFILE
directly relate to the layout of the class hierarchy. In
an Classification Tree, Classes with high DIT values
are associated with a higher number of defects.

                 REFERENCES
[1] R. Agrawal, T. Imielinski and A. Swami, Mining
Association Rules between Sets of Items in Large
Databases, Proceedings of the ACM SIGMOD
Conference, 1993.
[2] G. Mao, X. Wu, X. Zhu, G. Chen, and C. Liu.
                                                                 M.V.Vijaya Saradhi is Currently Associated
Mining maximal frequent itemsets from data streams.
                                                                 Professor in the Department of Computer Science
Information Science, pages 251-262, 2007.
                                                                 and Engineering (CSE) at Aurora's Scientific,
[3] B. Mozafari, H. Thakkar, and C. Zaniolo.
                                                                 Technological and Research Academy, (ASTRA),
Verifying and mining frequent patterns from large
                                                                 Bandlaguda, Hyderabad, India, where he teaches
windows over data streams. ICDE, pages 179-188
                                                                 Several Courses in the area of Computer Science.
2008M. Ester, H.-P. Kriegel, J. Sander, M. Wimmer,
                                                                 He is Currently Pursuing the PhD degree in
and X. Xu. Incremental clustering for mining in a
                                                                 Computer Science at Osmania University, Faculty of
data warehousing environment. In VLDB, pages 323-
                                                                 Engineering, Hyderabad, India. His main research
333, 1998.
                                                                 interests are Software Metrics, Distributed Systems,
[4] F. Guillet and H. J. Hamilton, editors. Quality
                                                                 Object-Oriented Modeling (UML), Object-Oriented
Measures in Data Mining. Studies in Computational
                                                                 Software Engineering, Data Mining, Design Patterns,
Intelligence. Springer, 2007.
                                                                 Object- Oriented Design Measurements and
[5] J. Han, J. Pei, and Y. Yin. Mining frequent
                                                                 Empirical Software Engineering. He is a life member
patterns without candidate generation. In SIGMOD,
                                                                 of various professional bodies like MIETE, MCSI,
pages 1-12, 2000.
                                                                 MIE, MISTE. E-mail: meduri_vsd@yahoo.co.in
[6] N. Jiang and D. L. Gruenwald. Cfi-stream:
                                                                  
mining closed frequent itemsets in data streams. In
SIGKDD, pages 592-597, 2006.
[7] N. Jiang and L. Gruenwald. Research issues in
data stream association rule mining. SIGMOD
Record, pages 14-19, 2006.
[8] K. B. Kumar and N. Jotwani. Efficient algorithm
for hierarchical online mining of association rules.
COMAD, 2006.
[9] R. Agrawal and R. Srikanth, Fast Algorithms for                                 
                                                                 Dr. B. R. Sastry is currently working as Director,
Mining Association Rules, Proceedings of the 20th                Astra, Hyderabad, India. He earlier worked for 12
VLDB Conference, 1994.                                           years in Industry that developed indigenous computer
[10] S. Brin, R. Motwani, J. D. Ullman and S. Tsur,              systems in India. His areas of research includes
Dynamic Itemset Counting and Implication Rules for
                                                                 Computer Architecture,  Network Security, Software 
Market Basket Data, Proceedings of the ACM
                                                                 Engineering,  Data Mining and Natural Language
SIGMOD International Conference on Management
                                                                 Processing, He is currently concentrating on
of Data, 1997.
                                                                 improving academic standards and imparting quality
[11] Chidamber S.R. and Kemerer C.F. “A Metric
                                                                 engineering
Suit     for    Object     Oriented   Design”,IEEE
Trans.Software.Eng, Vol.20, pp.476-493 (1994).




                                                                                     
                                                                 P. Satish is Currently Asst Professor in Department
                                                                 of computer Science & Engineering at Vivekananda
                                                                 Institute of Engineering (VIE), Hyderabad, India. 



                                                           146                               http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010




   QoS Based Dynamic Web Services Composition &
                    Execution

Farhan Hassan Khan, M.Younus Javed, Saba Bashir                                   Aihab Khan, Malik Sikandar Hayat Khiyal
                                                                                         Fatima Jinnah Women University
        National University of Science & Technology
                                                                                              Rawalpindi, Pakistan
                   Rawalpindi, Pakistan
    ,


Abstract---The use of web services has dominated software                desired requirements and different web services are combined
industry. Existing technologies of web services are                      through composition method in order to achieve a specific
extended to give value added customized services to                      goal [2]. Service compositions reduce the development time
customers through composition. Automated web service                     and create new applications. Web services can be categorized
composition is a very challenging task. This paper                       in two ways on the basis of their functionality.1) Semantic
proposed the solution of existing problems and proposed a                annotation describes the functionality of web service and 2)
technique by combination of interface based and                          functional annotation describes how it performs its
functionality based rules. The proposed framework also                   functionality. WSDL (Web Services Description Language) is
solves the issues related to unavailability of updated                   used for specification of messages that are used for
information and inaccessibility of web services from                     communication between service providers and requesters [3].
repository/databases due to any fault/failure. It provides                  There are two methods for web services composition
updated information problem by adding aging factor in                    [4,5,6]. One is static web service composition and other is
repository/WSDB (Web Services Database) and                              automated/dynamic web service composition. In static web
inaccessibility is solved by replication of WSDB. We                     service composition, composition is performed manually, that
discussed data distribution techniques and proposed our                  is each web service is executed one by one in order to achieve
framework by using one of these strategies by considering                the desired goal/requirement. It is a time consuming task
quality of service issues. Finally, our algorithm eliminates             which requires a lot of effort. In automated web service
the dynamic service composition and execution issues,                    composition, agents are used to select a web service that may
supports web service composition considering QoS                         be composed of multiple web services but from user’s
(Quality of Service), efficient data retrieval and updation,             viewpoint, it is considered as a single service [7].
fast service distribution and fault tolerance.                              The main interest of web service compositions is to give
                                                                         value-added services to existing web services and introduce
  Keywords---composition     of    services;          dynamic            automated web services. Also they provide flexibility and
composition; UDDI registry; web services.                                agility. There are few problems in dynamic web service
                                                                         composition as discussed in [8].
                          I.   INTRODUCTION                              • First, the number of web services is increasing with time
                                                                              and it is difficult to search the whole repository for
   Web services are software applications that are available on               desired service in order to use it for the fulfillment of
the web and used for machine to machine interaction by using                  specific goal.
URI (Uniform Resource Identifier) on the distributed                     •     Second, web services are dynamically created and
environment of internet. SOAP (Simple Object Access                           updated so the decision should be taken at execution time
Protocol) messages are used for communication mechanism                       and based on recent information.
by using HTTP (Hyper Text Transfer Protocol) protocol. Each              • Third, different web service providers use different
web service has an API (Application Program Interface) that                   conceptual models and there is a need of one structure so
can be accessed over the network and executes the web service                 that web services easily access each other without any
at host location [1]. Every service provides a role, such as                  technical effort.
service provider, a requester or a broker. In other words, web           • Forth, only authorized persons can access few of these
services make possible the effective processing of machine                    web services.
readable information.                                                       The two approaches in web services composition are
   For business to business and enterprise level application             centralized dataflow and decentralized dataflow. In case of
integration, composition of web services plays an important              dynamic web services composition, both have advantages and
role. Sometimes a single web service does not fulfill the user’s         some limitations. The limitation of centralized dataflow is that



                                                                   147                              http://sites.google.com/site/ijcsis/
                                                                                                    ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 7, No. 2, February 2010



all component services must pass through a composite service.            used for composition which removes the limitations of HTN
This results the bottleneck problem which causes the increase            (Hierarchical Task Network) that are lack of interactive
in throughput and response time. The disadvantage of                     environment for web services, lack of autonomy etc. Then the
decentralized dataflow is that as each web service directly              proposed model is compared with HTN according to web
shares data with web servers resulting in increasing the load at         services invocation. It tackles the following given problems
each node and delay in response time and throughput. The                 faced by planner alone; First, it does not deal with various web
decentralized dataflow is very efficient in case of dynamic              users requests for information. Second, it is inefficient for
web services composition as it reduce the tight coupling                 automated finding of solutions in given state space. Third, its
between clients and servers by adding a middleware (UDDI                 maintenance is weak due to frequent user requests. The
(Universal Discovery, Description and Integration), WS (Web              proposed framework provides intelligent web services for