International Journal of

Computer Science
& Information Security

IJCSIS Vol. 7 No. 2, February 2010
ISSN 1947-5500
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.

Avai l abl e at ht t p: / / si t es.googl si t e/ i j csi s/
I JCSI S Vol. 7, No. 2,
February 2010 Edit ion
I SSN 1947-5500
© I JCSI S 2010, USA.
I ndexed by (among ot hers):


Dr . Gr egor i o Mar t i nez Per ez
Associat e Professor - Professor Tit ular de Universidad, Universit y of Murcia
(UMU), Spain

Dr . M. Emr e Cel ebi ,
Assist ant Professor, Depart ment of Comput er Science, Louisiana St at e Universit y
in Shreveport , USA

Dr . Yong Li
School of Elect ronic and I nformat ion Engineering, Beij ing Jiaot ong Universit y,
P. R. China

Pr of . Hami d Reza Naj i
Depart ment of Comput er Enigneering, Shahid Behesht i Universit y, Tehran, I ran

Dr . Sanj ay Jasol a
Professor and Dean, School of I nformat ion and Communicat ion Technology,
Gaut am Buddha Universit y

Dr Ri kt esh Sr i vast ava
Assist ant Professor, I nformat ion Syst ems, Skyline Universit y College, Universit y
Cit y of Sharj ah, Sharj ah, PO 1797, UAE

Dr . Si ddhi vi nayak Kul kar ni
Universit y of Ballarat , Ballarat , Vict oria, Aust ralia

Pr of essor ( Dr ) Mokht ar Bel dj ehem
Saint e-Anne Universit y, Halifax, NS, Canada

Dr . Al ex Pappachen James, ( Resear ch Fel l ow)
Queensland Micro-nanot echnology cent er, Griffit h Universit y, Aust ralia

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-
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

7. Paper 21011018: A Methodology for Empirical Quality Assessment of Object-Oriented Design (pp.
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,
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

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-
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,
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-
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,
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,

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-
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,
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,
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.
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.
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.

Securing Iris Templates using Combined User and
Soft Biometric based Password Hardened Fuzzy
V. S. Meenakshi
SNR Sons College,
Coimbatore,Tamil Nadu, India.

Dr. G. Padmavathi
Avinashilingam University for Women, Coimbatore,
Tamil Nadu, India.
Abstract—Personal identification and authentication is very
crucial in the current scenario. Biometrics plays an important
role in this area. Biometric based authentication has proved
superior compared to traditional password based authentication.
Anyhow biometrics is permanent feature of a person and cannot
be reissued when compromised as passwords. To over come this
problem, instead of storing the original biometric templates
transformed templates can be stored. Whenever the
transformation function is changed new revocable/cancelable
templates are generated. Soft biometrics is ancillary information
that can be combined with primary biometrics to identify a
person in a better way. Iris has certain advantage compared to
other biometric traits like fingerprint. Iris is an internal part that
is less prone to damage. Moreover is very difficult for an attacker
to capture an iris. The key advantage of iris biometrics is its
stability or template longevity. Biometric systems are vulnerable
to a variety of attacks. This work generates cancelable iris
templates by applying user and soft biometric based password
transformations and further secures the templates by biometric
cryptographic construct fuzzy vault.

Keywords—Cancelable Biometrics, Password, Soft Biometrics, Iris,
Eye color, Template security, Fuzzy Vault

Biometrics is automated methods of identifying a person or
verifying the identity of a person based on a physiological or
behavioral characteristic. Biometric characteristics that have
been commonly used are fingerprints, iris, face, hand, retina,
voice, signature and keystroke dynamics. Biometrics identifies
‘you as you’. Biometrics serves as an excellent alternative to
traditional token or password based authentication methods.
Biometric systems are excellent compared over traditional
authentication methods. Biometric traits cannot be lost or
forgotten and they are inherently more reliable. It is very
difficult to copy, share and distribute a biometric trait.
Biometric system requires the person being authenticated to be
present at the time and point of authentication.
Anyhow biometrics cannot be revoked when they are
spoofed. To overcome this cancelable biometric templates are
generated that can be revoked when spoofed. Further they are
secured by fuzzy vault construct.
A. Merits of Iris
Iris is the colored ring surrounding the pupil of the eye. Iris
biometric has certain merits compared to finger print. It is
highly secure and uses a stable physiological trait. Iris is very
difficult to spoof. Iris texture is different for right and left eye.
They are unique even for identical twins. Iris is less prone to
either intentional or unintentional modification when compared
to fingerprint.

B. Soft Biometrics
Soft biometrics provides ancillary information about a
person (gender, ethnicity, age, height, weight, eye color etc).
They lack distinctiveness or permanence. Hence Soft
biometrics alone is not enough to differentiate two individuals.
Anyhow when combined with primary biometrics (Fingerprint,
Iris, Retina etc) soft biometrics gives better results.

C. Cancelable Biometrics
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
storing the biometrics as such transformed templates are
stored. Whenever a transformed biometric template is spoofed
another new template can be generated by changing the
transformation function. This makes the biometric cancelable/
revocable similar to password. For different applications
different transformation function can be used. This prevents
the attacker to use the same captured template for other
applications. Like passwords these transformed templates can
be reissued on spoofing.

D. Operation of Fuzzy Vault
Fuzzy vault is a cryptographic construct proposed by Juels
and Sudan [2]. This construct is more suitable for applications
where biometric authentication and cryptography are combined
together. Fuzzy vault framework thus utilizes the advantages of
both cryptography and biometrics. Fuzzy vault eliminates the
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010

key management problem as compared to other practical
In fuzzy vault framework, the secret key S is locked by G,
where G is an unordered set from the biometric sample. A
polynomial P is constructed by encoding the secret S. This
polynomial is evaluated by all the elements of the unordered
set G.
A vault V is constructed by the union of unordered set G and
chaff point set C which is not in G.
V = G U C
The union of the chaff point set hides the genuine point set
from the attacker. Hiding the genuine point set secures the
secret data S and user biometric template T.
The vault is unlocked with the query template T’. T’ is
represented by another unordered set U’. The user has to
separate sufficient number of points from the vault V by
comparing U’ with V. By using error correction method the
polynomial P can be successfully reconstructed if U’ overlaps
with U and secret S gets decoded. If there is not substantial
overlapping between U and U’ secret key S is not decoded.
This construct is called fuzzy because the vault will get
decoded even for very near values of U and U’ and the secret
key S can be retrieved. Therefore fuzzy vault construct become
more suitable for biometric data which show inherent fuzziness
hence the name fuzzy vault as proposed by Sudan [2].
The security of the fuzzy vault depends on the infeasibility
of the polynomial reconstruction problem. The vault
performance can be improved by adding more number of chaff
points C to the vault.

E. Limitation of Fuzzy Vault Scheme
Fuzzy vault being a proven scheme has its own limitations

(i) If the vault is compromised, the same biometric data
cannot be used to construct a new vault. Fuzzy vault
cannot be revoked. Fuzzy vault is prone to cross-
matching of templates across various databases.
User Password
(40 bits)
Soft biometric
(24 bits)
User Password + Soft biometric
Password (64 bits)









Transformation equation from
combined password
Fig. 1 Steps in combined password hardened fuzzy

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(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
it is easy for an attacker to develop attacks based on
statistical analysis of the points in the vault.
(iii) The vault contains more chaff points than the genuine
points. This facilitates the attacker to substitute few
points from his own biometric feature. Therefore the
vault authenticates both the genuine user and the
imposter using the same biometric identity. As a
consequence, the false acceptance ratio of the system
(iv) Original template of the genuine user is temporarily
exposed. During this exposure the attacker can glean the

To overcome the limitations of fuzzy vault, password is used
as an additional authentication factor. The proposed Iris fuzzy
vault is hardened by combined user and biometric password.
This enhances the user-privacy and adds an additional level of

F. Steps in Combined Password Hardened Fuzzy Vault
The hardened fuzzy vault overcomes the limitations of non-
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
not affected. However, a compromised password makes the
security level same as that of a fuzzy vault. Therefore, security
of the password is crucial. It is very difficult for an attacker to
compromise the biometric template and the combined
password at the same time. The proposed method constructs a
fuzzy vault using the feature points extracted from iris. The iris
biometric fuzzy vault is then hardened using the password.
Steps in hardening scheme:

1. A combined user and soft biometric password is

2. A random transformation function is derived from the
user password.
3. The password transformed function is applied to the Iris
4. Fuzzy vault frame work is constructed to secure the
transformed templates by using the feature points from
the iris.
5. The key derived from the same password is used to
encrypt the vault.
Figure 1 depicts the steps involved in the construction of the
password hardened multi biometric fuzzy vault.

The organization of the paper is as follows: Chapter II
elaborates the background study. Section III explains the
proposed generation of cancelable Iris template and securing
them using fuzzy vault. Section IV discusses the experimental
results and the security analysis. Section V concludes of the
proposed work.

Karthick Nandakumar et al [5] used the idea of password
transformation for fingerprint and generated transformed
templates. In his work those transformed templates are
protected using fuzzy vault cryptographic construct in which
password acts an additional layer of security. Iris based hard
fuzzy vault proposed by Srinivasa Reddy [3] followed the
same idea of [5] to generate revocable iris templates and
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
Srinivasa Reddy[3].
Iris based hard fuzzy vault proposed by Srinivasa Reddy [3]
applies a sequence of morphological operations to extract
minutiae points from the iris texture. This idea is utilized in the
proposed method for extracting the minutiae feature point from
the Iris. The same idea is used but with combined user and soft
biometric password.
Soft biometrics ideas derived from [16, 17, 18, 19, 20] are used
for constructing soft biometric passwords.

Revocable iris templates generation is carried out in the
following three steps. In the first step the iris texture containing
the highlighted minutiae feature points is subjected to simple
permutation and translation. This results in the original
minutiae points being transformed into new points. In the
second step the soft biometric password is combined with the
user password to get a new 64 bit password. In the third step,
the simple transformed iris template is randomly transformed
using password. This process enhances the user privacy and
facilitates the generation of revocable templates and resists
cross matching. This transformation reduces the similarity
between the original and transformed template. The
transformed templates are further secured using the fuzzy vault

A. Extraction of Minutiae Feature point from Iris
The idea proposed by Srinivasa Reddy [3] is utilized to
extract the minutiae feature points from the iris texture.
The following operations are applied to the iris images to
extract lock/unlock data. Canny edge detection is applied on
iris image to deduct iris. Hough transformation is applied first
to iris/sclera boundary and then to iris/pupil boundary. Then
thresholding is done to isolate eyelashes. Histogram
equalization is performed on iris to enhance the contrast.
Finally the following sequence of morphological operations is
performed on the enhanced iris structure.
(i) closing-by-tophat
(ii) opening

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(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
iris image, Fig. 2(b) exhibits the iris image with the minutiae
patterns and Fig 2(c) shows the permuted and transformed

B. Minutiae Feature Point Transformation
The Iris texture containing the highlighted minutiae feature
points is subjected to simple permutation and translation. This
results in the original minutiae points being transformed into
new points.
The user password is restricted to the size of 5 characters.
The length of the user password is 40 bits. The soft biometric
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.

(a) Localized Iris Image

(b) Highlighted Iris Minutiae

(c) Red: Permuted Points and Blue: Transformed Points
Fig 2. Iris Minutiae Extraction and Password Transformation

The feature points highlighted in Iris texture are divided into
4 quadrants. One password block is assigned to each quadrant.
Permutation is applied in such a way that the relation position
of the minutiae point does not change. Each 16 bit password
block is split into two components Tu of 7 bits and Tv of 9 bits
in length. Tu and Tv represents the amount of translation in the
horizontal and vertical directions, respectively.
The new feature points are obtained by the following

where X
and X’
is the horizontal distance before and after
transformation respectively. Similarly Y


is the

distance before and after transformation respectively.

C. Fuzzy vault Encoding
The transformed features are encoded in the fuzzy vault.
Password acts as an extra layer of security to the vault. It
resists an imposter from modifying the vault. Secret message
is generated as a 128 bit random stream. This secret message is
transformed with the password. The 16 bit CRC is appended to
transformed key S to get 144 bit SC. The primitive polynomial
considered for CRC generation is

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 (C
, C
). All operations takes
place in Galois Field GF(2
The projection of ‘u’ on polynomial ‘p’ is found. Now the
Genuine points set G is (u
, P(u
)). 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
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
genuine point set for polynomial reconstruction. From this set,
all combinations are tried to decode the polynomial.
Lagrangian interpolation is used for polynomial reconstruction.
For a specific combination of feature points the polynomial
gets decoded.
In order to decode the polynomial of degree 8, a minimum of
at least 9 points are required. If the combination set contains
less then 9 points, polynomial cannot be reconstructed. Now
the coefficients and CRC are appended to arrive at SC*. Then
SC* is divided by the CRC primitive polynomial.
If the remainder is zero, query image does not match
template image and the secret data cannot be extracted. If the
remainder is not zero, query image matches with the template
image and the correct secret data can be extracted. In this case
= (X
+ T
) mod (2
^ 7
= (Y
+ T
) mod (2
^ 9

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(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.

E. Parameters used in implementation
The parameters used in this implementation are shown in
Table 1. Chaff points hide the genuine points from the
attacker. More chaff points makes the attacker to take much
time to compromise the vault but consumes additional
computation time. The chaff points added are 10 times in
number that of the genuine points.


Parameter Number
No. of. Genuine points(r) 20
No. of Chaff points(c) 200
Total no. of points
(t = r + c)

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
password as ‘155BMFUZZY’(64 bits) whose ASCII values are
(155, 66, 77 ,70, 85, 90, 90, 89,) . These 64 bits are divided
into four blocks of 16 bits each. Each 16 bit is divided into 7
bits and 9 bits for transformation in horizontal and vertical
The feature point transformation is done with other two user
passwords and soft biometric password combinations namely
‘170GFTOKEN’ and ‘146AM VAULT’ whose ASCII codes
are (170, 71, 70, 84, 79, 75, 69, 78,) and (146, 65, 77, 86, 65,
85, 76, 84,) respectively. For the same original template
different transformed templates are obtained when password is
changed. Fig 3(a), Fig 3(b) and Fig 3(c) shows the transformed
feature points for three different passwords. The feature points
of iris before and after password transformation is shown in
table 4. This property of password transformation facilitates
revocability. Different password can be utilized for generating
different Iris templates.

Soft Biometric Password
(24 bits)

In the proposed method the security of the fuzzy vault is
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

r = number of genuine points in the vault
c = number of chaff points in the vault
t = the total number of points in the vault (r + c)
n = degree of the polynomial

The security of the iris, retina vault is tabulated in Table. V.
In order to decode a polynomial of degree n , (n+1) points are
required. The security of the fuzzy vault can be increased by
increasing the degree of the vault. Polynomial with lesser
degree can be easily reconstructed by the attacker. Polynomial
with higher degree increases security and requires lot of
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
the adversary uses brute force attack, the attacker has to try
total of (t, n+ 1) combinations of n+ 1 element each. Only (r,
n+1) combinations are required to decode the vault. Hence, for
an attacker to decode the vault it takes C(t, n+1)/C(r, n+1)
evaluations. The guessing entropy for an 8 ASCII character
password falls in the range of 18 – 30 bits. Therefore, this
entropy is added with the vault entropy. The security analysis
of the combined password hardened iris fuzzy vault is shown
in Table 5.
password Gender
(40 Bits)
(0 –
(8 bit)
Iris color
(8 bit)
(8 bit)
(64 bits)

Character Code
Eye Color
Amber A
Blue E
Brown B
Gray G
Green N
Hazel H

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(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. Transformed Retinal Features for Three Different Soft Biometric Passwords

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010


Biometric templates are vulnerable to a variety of attacks.
The only disadvantage of biometrics authentication as
compared to traditional password based authentication is non
revocability. The idea of cancelable biometrics overcomes that
disadvantage. Iris has certain advantage as compared to
fingerprint. Soft biometrics is ancillary information about a
person, when combined with user password gives better
results. It is very difficult for an attacker to gain the biometric
features, soft biometric components and user password at the
same time. The security of these cancelable templates will be
the guessing entropy of the 8 character ASCII password which
comes to be 18 to 30 bits in strength. The user password can be
changed for generating revocable biometric templates. The
revocable biometric templates are further secured by applying
the ideas of fuzzy vault. Due to this the security of the iris
templates increases to 52 to 64 bits.

A public version of the CUHK Iris Database is available
[1] Umat uludag, sharath pankanti, Anil. K.Jain “Fuzzy vault for
fingerprints”, Proceedings of International conference on Audio video
based person authentication, 2005.
[2] Juels and M.Sudan, “A fuzzy vault scheme”, Proceedings of IEEE
International symposium Information Theory, 2002.
[3] E.Srinivasa Reddy, I. Ramesh Babu, “Performance of Iris Based Hard
Fuzzy Vault”, Proceedings of IEEE 8th International conference on
computers and Information technology workshops, 2008
Degree of
of the vault
(in security
Total no: of
No: of
+ guessing entropy of the
(in security bit )
Iris 8 34 2.8187 X 10
167960 1.6782 X 10
52 to 64

Feature points before
Transformation code
Feature point after
transformation Quadrant


Distance (Xu)

77 322 81 61
4 123
‘170GF TOKEN’ 85 71 89 66
‘146AM VAULT’ 73 65 77 60
‘155BM FUZZY’ 38 326 173 56
135 114
‘170GF TOKEN’ 35 84 170 70
‘146AM VAULT’ 38 342 173 72
‘155BM FUZZY’ 42 346 46 224
4 134
‘170GF TOKEN’ 39 331 43 209
‘146AM VAULT’ 32 341 36 219
‘155BM FUZZY’ 90 89 246 218
156 129
‘170GF TOKEN’ 69 78 225 207
‘146AM VAULT’ 76 84 232 213

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(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
Cryptosystems: issues and challenges, Proceedings of the IEEE ,June
[5] Karthik Nandakumar, Abhishek Nagar and Anil K.Jain, “Hardening
Fingerprint Fuzzy Vault using Password”, International conference on
Biometrics, 2007.
[6] Karthick Nandakumar, Sharath Pankanti, Anil K. Jain, “Fingerprint-
based Fuzzy Vault Implementation and Performance”, IEEE
Transacations on Information Forensics and Security, December 2007.
[7] K.NandaKumar, “Multibiometric Systems: Fusion Strategies and
Template Security”, PhD Thesis, Department of Computer Science and
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
[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.

Dr. Padmavathi Ganapathi is the Professor and Head
of the Department of Computer Science, Avinashilingam
University for Women, Coimbatore. She has 21 years of
teaching experience and one year Industrial experience.
Her areas of interest include Network security and
Cryptography and real time communication. She has
more than 80 publications at national and International
level. She is a life member of many professional
organizations like CSI, ISTE, AACE, WSEAS, ISCA,
and UWA. She is currently the Principal Investigator of 5 major projects under

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
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

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 .

Abstract—In recent years, predicting the user's next request in
web navigation has received much attention. An information
source to be used for dealing with such problem is the left
information by the previous web users stored at the web access
log on the web servers. Purposed systems for this problem work
based on this idea that if a large number of web users request
specific pages of a website on a given session, it can be concluded
that these pages are satisfying similar information needs, and
therefore they are conceptually related. In this study, a new
clustering approach is introduced that employs logical path
storing of a website pages as another parameter which is
regarded as a similarity parameter and conceptual relation
between web pages. The results of simulation have shown that the
proposed approach is more than others precise in determining
the clusters.
Keywords-Clustering; Web Usage Mining; Prediction of Users'
Request; Web Access Log.
As the e-business is booming along with web services and
information systems on the web, it goes without saying that if a
website cannot respond a user's information needs in a short
time, the user simply refers to another website. Since websites
live on their users and their number, predicting information
needs of a website's users is essential, and therefore it has
gained much attention by many organization and scholars. One
important source which is useful in analyzing and modeling the
users' behavior is the second-hand information left by the
previous web users. When a web user visits a website, for one
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
data can be used to understand the users' preferences and
behavior in a process commonly referred to as Web Usage
Mining (WUM) [1, 2].
Most WUM projects try to arrive at the best architecture
and improve clustering approach so that they can provide a
better model for web navigation behavior. With an eye to the
hypotheses of Visit-Coherence, they attempt to achieve more
precise navigation patterns through navigation of previous web
users and modeling them. As such, the prediction system on
large websites can be initiated only when firstly web access
logs are numerous. In other words, for a long time a website
should run without such system to collect such web access log,
and thereby many chances of the website are missed. Secondly,
those involved in designing the website are not consulted.
Website developers usually take pages with related content
and store them in different directories hierarchically. In this
study, such method is combined with collected information
from previous web users' navigation to introduce a new
approach for pages clustering. The simulation results indicated
that this method enjoys high accuracy on prediction. The rest of
paper is structured as follows: section II outlines general
principles. Section III described related work, and section 4
elaborates on a new clustering approach based on pages storage
path. Section 5 reports on the results and section 6 is devoted to
conclusion and future studies.
A. Web Usage Mining process
Web usage mining refers to a process where users' access
patterns on a website are studied. In general it is consists of 8
steps [3, 4]:
• Data collection. This is done mostly by the web
servers; however there exist methods, where client side
data are collected as well.
• Data cleaning. As in all knowledge discovery
processes, in web usage mining can also be happen that
such data is recorded in the log file that is not useful
for the further process, or even misleading or faulty.
These records have to be corrected or removed.
• User identification. In this step the unique users are
distinguished, and as a result, the different users are
identified. This can be done in various ways like using
IP addresses, cookies, direct authentication and so on.
• Session identification. A session is understood as a
sequence of activities performed by a user when he is
navigating through a given site. To identify the
sessions from the raw data is a complex step, because
the server logs do not always contain all the
information needed. There are Web server logs that do
not contain enough information to reconstruct the user
sessions; in this case (for example time-oriented or
structure-oriented) heuristics can be used.
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
selected, that are relevant for further processing.
• Data transformation, where the data is transformed in
such a way that the data mining task can use it. For
example strings are converted into integers, or date
fields are truncated etc.
• Executing the data mining task. This can be for
example frequent itemset mining, sequence mining,
graph mining, clustering and so on.
• Result understanding and visualization. Last step
involves representing knowledge achieved from web
usage mining in an appropriate form.
As it was shown, the main steps of a web usage mining
process are very similar to the steps of a traditional knowledge
discovery process.
B. Web Access Log
The template is used to format your paper and style the text.
All margins, column widths, line spaces, and text fonts are
prescribed; please do not alter them. You may note
peculiarities. For example, the head margin in this template
measures proportionately more than is customary. This
measurement and others are deliberate, using specifications that
anticipate your paper as one part of the entire proceedings, and
not as an independent document. Please do not revise any of
the current designations.
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
consists of fields that follow a predefined format. The fields of
the common log format are [5]:
remothost rfc931 authuser date “request” status bytes
In the following a short description is provided for each
• remotehost. Name of the computer by which a user is
connected to a web site. In case the name of computer
is not present on DNS server, instead the computer's IP
address is recorded.
• rfc931. The remote log name of the user.
• authuser. The username as witch the user has
authenticated himself, available when using password
protected WWW pages.
• date. The date and time of the request.
• request. The request line exactly as it came from the
client (the file, the name and the method used to
retrieve it).
• status. The HTTP status code returned to the client,
indicating whether or not the file was successfully
retrieved and if not, what error message was returned.
• Byte. The content-length of the documents transferred.

W3C presented an improved format for Web access log
files, called extended log format, partially motivated by the
need to support collection of data for demographic analysis and
for log summaries. This format permits customized log files to
be recorded in a format readable by generic analysis tools. The
main extension to the common log format is that a number of
fields are added to it. The most important are: referrer, which
is the URL the client was visiting before requesting that URL,
user_agent, which is the software the client claims to be using
and cookie, in the case the site visited uses cookies.
In recent years, several Web usage mining projects have
been proposed for mining user navigation behavior [6-11].
PageGather (Perkowitz, et al. 2000) is a web usage mining
system that builds index pages containing links to pages similar
among themselves. Page Gather finds clusters of pages.
Starting from the user activity sessions, the co-occurrence
matrix M is built. The element M
of M is defined as the
conditional probability that page i is visited during a session if
page j is visited in the same session. From the matrix M, The
undirected graph G whose nodes are the pages and whose
edges are the non-null elements of M is built. To limit the
number of edges in such a graph a threshold filter specified by
the parameter MinFreq is applied. Elements of M
whose value
is less than MinFreq are too little correlated and thus discarded.
The directed acyclic graph G is then partitioned finding the
graph’s cliques. Finally, cliques are merged to originate the
One important concept introduced in [6] is the hypotheses
that users behave coherently during their navigation, i.e. pages
within the same session are in general conceptually related.
This assumption is called visit coherence.
Baraglia and Palmerini proposed a WUM system called
SUGGEST, that provide useful information to make easier the
web user navigation and to optimize the web server
performance [8-9]. SUGGEST adopts a two levels architecture
composed by an offline creation of historical knowledge and an
online engine that understands user’s behavior. In this system,
PageGather clustering method is employed, but the co-
occurrence matrix elements are calculated according to (1):

) , max( Nj Ni
Mij = (1)
Where N
is the number of sessions containing both pages i
and j, N
and N
are the number of sessions containing only
page i or j, respectively. Dividing by the maximum between
single occurrences of the two pages has the effect of reducing
the relative importance of index pages.
In SUGGEST a method is presented to quantify intrinsic
coherence index of sessions based on visit coherence
hypothesis. It measures the percentage of pages inside a user
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
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
achieved clusters. Measure of γ for each session is calculated
according to 2:

{ }
i i
C p s p
∈ ∈
γ (2)
Where p is a page, Si is i-th session, Ci is the cluster
representing i, and Ni is the number of pages in i-th session.
The average value for γ over all N
sessions contained inside
the dataset partition treated is given by:


= Γ
Jalali et al. [10,11] proposed a recommender system for
navigation pattern mining through Web usage mining to predict
user future movements. The approach is based on the graph
partitioning clustering algorithm to model user navigation
patterns for the navigation patterns mining phase.
All these works attempted to find an architecture and
algorithm for enhancing clustering quality, but the quality of
achieved clusters is still far from satisfying. In this work, a
clustering approach is introduced that is based on path
similarity of web pages to enhance clustering accuracy.
The proposed system aims at presenting a useful
information extraction system from web access log files of web
servers and using them to achieve clusters from related pages in
order to help web users in their web navigation. Our system has
two modules. The pre-processing module and the module of
navigation pattern mining. Figure 2 illustrate the model of the

Figure 1. Model of the system.
A. Data Pre-processing
There are several tasks in data pre-processing module. We
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
requests, like images, icons, sound files and generally
multimedia files, and also entries corresponding to CGI scripts.
Also the dumb scans of the entire site coming from robot-like
agents are removed. We used the technique described in [12] to
model robots behavior.
Then we create user sessions by identifying users with their
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
equal to 30 minutes.
B. Navigation pattern mining
After the data pre-processing step, we perform navigation
pattern mining on the derived user access session. As an
important operation of navigation pattern mining, clustering
aims to group sessions into clusters based on their common
properties. Here, to find clusters of correlated pages, both
website developers and website users are consulted. To do so,
two matrixes M and P are created. Matrix M is a co-occurrence
matrix which represents website users' opinions, and matrix P
is the matrix of pages' path similarity.
1) Co-occurrence Matrix: The algorithm introduced at
SUGGEST system [8, 9] is employed to create co-occurrence
matrix. Using this algorithm, M co-occurrence matrix is created
which represents corresponding graph with previous users of a
website. The elements of this matrix are calculated based on (1)
appeared in section III.

2) Path similarity matrix: Website developers usually store
pages which are related both in structure and content is same
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.
Are more related than two pages which are on the following
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:

) 1 ( ( ) 1 ( (
)) 2 ( ), 1 ( ( 2
p path directory of number p path directory of number
p path p path similarity
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-
directories of storage path in Pi. When two paths of two pages
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.

Example: For two pages, i.e. p1.html and p2.html which
are stored on the following paths:
Pj: /history/mercury/ma8/pj.html
4 . 0
3 2
1 2
3) Clustering Algorithm: Combining these two
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
elements of each varies between zero and 1, Equation (5) is
used to keep the values of combined matrixes still between
zero and 1.

ij ij ij
P M C × − + × = ) 1 ( α α (5)
Where M is co-occurrence matrix and P is the path
similarity matrix. To arrive at clusters of related pages, the
graph corresponding to the achieved matrix is divided into
strong partitions. To do this, DFS algorithm is employed as
follows. When the value of Cij is higher than the MinFreq, two
corresponding nodes are considered connected, and in other
case they are taken disconnected. We start from one node and
find all nodes connected to it through execution of DFS
algorithm and put them on one cluster. Each node which is
visited is labeled with a visited label. If all nodes bear visited
labels, the algorithm ends, otherwise the node not visited is
selected and DFS algorithm id performed on it, and so on.
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.

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
and MSSqlServer 2008 have used for coding the proposed

Page Extension Count of Web Log Entries
.gif 899,883
.xbm 43,954
.pl 27,597
.bmp, .wav, …, web bots entries 165,459
Total 1,136,893

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
reconstructed. As sessions with one page length are free from
any useful information, they are removed too. In Table 3,
characteristics of web access log file is represented after
performing pre-processing phase.

Dataset Size(MB)
Number of
Number of
Number of
NASA 20 357,621 42,215 69,066

As shown in Figure 3, the percentage of sessions formed by
a predefined number of pages quickly decreases when the
minimum number of pages in a session increases.
First all the uninteresting entries from the web access log
file (entries corresponding to multimedia logs, CGI scripts and
corresponding inputs through navigations of web bots) are
For example, samples of these extra inputs are cited in
Table 2 along with the number of their repetition in NASA's
web access log.

Figure 2. Minimum number of pages in session.
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 3. Minimum number of pages in session.
Figure 5 show the number of achieved clusters for two
values α=1.0 and α=0.8 as a function of the MinFreq

Figure 4. Number of Clusters Found.

To evaluate the quality of clusters found for varying values
of α, the Visit-coherence index introduced in section 2 is
In Figure 6, the value of г, is represented as a function of
the MinFreq parameter for two values α. As shown in the
figure 6, using our proposed clustering algorithm has enhanced
clusters' quality.

Figure 5. Coherence of visit
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
[1] O. Etzioni. The World Wide Web: quagmire or gold mine?
Communications of the ACM, 39:65–68, November 1996.
[2] R. Kosala and H. Blockeel. Web mining research: a survey. In ACM
SIGKDD, pp.1–15, July 2000.
[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),
[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
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
System," Communications in Computer and Information
Science,Advances in Computer Science and Engineering, Springer
Berlin Heidelberg, vol. 6, pp. 838–841, 2008.
[11] M. Jalali, N. Mustapha, N. B. Sulaiman, and A. Mamat, "A Web Usage
Mining Approach Based on LCS Algorithm in Online Predicting
Recommendation Systems," in 12
International on Information
Visualisation,IV'08, London, UK, 2008, pp. 302-307.
[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.
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.

ISSN 1947-5500
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

Security of any software can be enhanced manifolds if multiple
factors for authorization and authentication are used .The main
aim of this work was to design and implement an Academy
Automation Software for IPS Academy which uses OpenID and
Windows CardSpace as Authentication Techniques in addition to
Role Based Authentication(RBA) System to ensure that only
authentic users can access the predefined roles as per their
Authorization level. The Automation covers different computing
hardware and software that can be used to digitally create,
manipulate, collect, store, and relay Academy information needed
for accomplishing basic Operation like admissions and registration
, student and faculty interaction, online library, medical and
business development. Raw data storage, electronic transfer, and
the management of electronic business information comprise the
basic activities of the Academy automation system. Further
Transport Layer Security (TLS) protocol has been implemented to
provide security and data integrity for communications over
networks. TLS encrypts the segments of network connections at the

Keywords: RBA, Encryption/Decryption, OpenID,
windowsCardSpace, TLS (Transport LayerSecurity)


The World Wide Web (WWW) is a critical enabling
technology for electronic commerce on the Internet. Its
underlying protocol, HTTP (Hypertext Transfer Protocol
[Fielding et al. 1999]), has been widely used to synthesize
diverse technologies and components, to great effect in Web
environments. Increased integration of Web, operating system,
and database system technologies will lead to continued
reliance on Web technology for enterprise computing.
However, current approaches to access control on Web servers
are mostly based on individual user identity; hence they do not
scale to enterprise-wide systems. If the roles of individual
users are provided securely, Web servers can trust and use the
roles for role-based access control (RBAC [Sandhu et al.
1996; Sandhu 1998]). So a successful marriage of the Web
and RBAC has the potential for making a considerable impact
on deployment of effective enterprise-wide security in large-
scale systems. In this article present a comprehensive
approach to RBAC on the Web to identify the user-pull and
server-pull architectures and analyze their utility. To support
these architectures on the Web, for relatively mature
technologies and extend them for secure RBAC on the Web.
In order to do so, to make use of standard technologies in use
on the Web: cookies [Kristol and Montulli 1999; Moore and
Freed 1999], X.509 [ITU-T Recommendation X.509 1993;
1997; Housley et al. 1998], SSL (Secure Socket Layer
[Wagner and Schneier 1996; Dierks and Allen 1999]), and
LDAP (Lightweight Directory Access Protocol [Howes et al.
The Lightweight Directory Access Protocol (LDAP)
directory service already available for the purpose of webmail
authentication of IPS Academy, Indore users has been used to
do the basic Authentication. The client can request the
application server for any web application which will ask for
the user credentials which will be verified in the LDAP server
through an ASP.Net [19] Module. On successful verification,
the authorization module will contact the user role database
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
access to the application will be on the basis of privilege of the
role of that particular user. The role database is implementing
in Microsoft SQL server [18] database.
On successful authentication, the Authentication and
authorization module which has been developed for this
purpose is called and the role for the user is retrieved.
Privileges are granted to roles which in turn roles are granted
to users. The overall database server and application server is
considered for possible attacks. The proposed scheme is given
in figure 3. The database server and the authentication server
are in a private network and separated from the user network
by a firewall. These servers can be accessed only through
application server, i.e. through the authentication and
authorization module. Application server has an interface in
the private network but can avail only the specific service
which has been explicitly allowed in the firewall. Application
server has another interface which is part of user network with
a firewall to restrict the clients only to the desired service.


(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
The whole Collage Academy automation consists of many
sections viz. Student Affairs, Academic Section, Research and
development, Training and Placement, Finance and Accounts
be given access to different aspects of the systems based on

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
Student Affairs database but not that of the Academic Section
database. However, provisions have to be made so that he/she
is able to perform some student affairs related queries to the
student affairs database. Similarly, a student must have read-
only access to his/her information in the official records and
modifying capabilities some of his/her details in the training
and placement section database. This calls for a role-based
approach to access the databases. Each person has a certain
role attached to it. This role corresponds to the areas of the
work his login account can access. If a violation occurs, the
user is immediately logged out.
In this work the design and implementation of the Role
Based Authentication Schemes for Security Automation is
described, developed at the IPS Academy, Indore as an
ASP.NET 2005 web application in C# server side code,
HTML, and JavaScript for use on the Internet. The purpose
work to deploy a cost-effective, web-based system that
significantly extends the capabilities, flexibility, benefits, and
confidentiality of paper-based rating methods while
incorporating the ease of use of existing online surveys and
polling programs.

2.1Problem Issues and Challenges

There are Following problems:-
1. The information line must be completely secured.
2. Proper Encryption must be used for storing the
Password for the User.
3. The authorization token which is stored on the client
side has to be encrypted so that the client cannot modify his
authorization clearance level.
4. Each userid-role mapping should have an expiry date
beyond which it will be invalid.
5. Role Scoping: Local and Global Roles
6. In each role, we have to have an owner. Normally the
role will map to the user id of the owner. The owner can
change the mapping and can specify the time period of this
change. The newly mapped user is not the owner and so
cannot change the ownership, but maybe allowed to map
again. For example, HODCSE is the role and the owner’s user
id is”Ram”. Normally, HODCSE maps to Ram. When Prof.
Figure 2: Basic Architecture of Academy

Ram goes on leave, he fills up some form electronically and
this triggers (among other things) a role change of
HODCSE to the user he designates, say Prof.Shayam.
Now”Ram” is going on leave till 4/7/2009, so the changed
mapping is till 4/7/2009 (to”pshayam”; specified by”Ram”
in the form he filled up). Now due to an emergency,
”pshayam” had to leave station on 4/7/2009, making Prof
manoj the Head. Since” pshayam” is not the owner, he
cannot change the validity date beyond 4/7/2009
and”Ashish” takes over the HODCSE role till 4/7/2009. On
5/7/2009 (or the next query of the role), the role remaps
to”Ram”. Other cases (like”Ram” having to overstay
beyond 4/7) can be handled by the administrator


1. We have 2 sets of Roles:
• Global Roles: These refer to the roles which are
common to all the applications viz. root,
Director: Their Role IDs are of single
Digit: 0, 1, and 2 etc.
• Local Roles: These are roles which are specific to a
module. For E.g. for Student Affairs,the roles of Assistant
Registrar, Academy in charge. Their IDs are of the Form: 10,
11, 12 ... 110 etc. where first digit identifies the application to
which all of them are common.
2. There is a Global role to role_id mapping table.
3. Also there is a local mapping table for each section.
Insertion/modification or deletion of any entry in the local
table generates a Microsoft SQL trigger for its ‘encoded’ entry
addition in the global table.
A web interface which is accessed by any member and is
used to assign his role to any other member for a specified
period. The role validity period of the other person cannot
exceed the validity period of the assigner. So, whenever a role
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
has to be transferred, an entry is made in the user role relation
table corresponding to the user ID of the assigned person and
it is made sure that the validity period of the assigned is less
than the validity period of assigner from

TABLE 1: Various roles and their IDs

Role Role ID
Administrator 0
Student 1
Faculty 2
Assistant Registrar (Student Affairs) 10
Assistant Registrar (Academic) 20
Assistant Registrar (RND) 30
Assistant Registrar (TNP) 40
Assistant Registrar (Finance) 50
Registrar 3
Director 4
Head of Departments 5

TABLE 2: User name id relation

User_name User_id
root 1
dharmendra 2
try 3

TABLE 3: User role relation

s_no user_id role_id valid_from valid_upto
1 1 12 2008-01-01 2009-01-02
2 1 13 2008-01-01 2008-05-06
3 2 12 2007-01-01 2008-01-01

the same user role relation table.

3.1 Database Table Structure

We will have a common login page for all the sections of
the Academy Automation. The looks up table of the
corresponding IDs are shown in table 1, 2 & 3.


4.1 OpenID
It is an authentication system that is based on the premise
that anyone can have a URL (or alternatively an Extensible
Resource Identifier (XRI) [7] which is allowed in version 2.0)
and an OpenID Identity Provider (OP) which is willing to
speak on behalf of this URL or XRI. During its short lifetime,
OpenID has evolved through three versions, namely Open ID
v1.0, v1.1 [5] and v2.0 [4]. Whilst the first two versions were
only concerned with authentication, v2.0 has added the
capability for the exchange of identity attributes as well [6].
The first version of OpenID (v.1.0) had several security
weaknesses some of which were quickly patched in v1.1 (e.g.
messages could be replayed), while others were fixed in v2.0.
However, as described below, v2.0 still suffers from several
security weaknesses, which may or may not pose a significant
risk, depending upon the application that one wishes to secure
with OpenID.
OpenID works as follows in Figure 3. When a user contacts
a Service Provider (SP) that supports OpenID, he presents his
URL (or XRI), and the SP contacts the URL to see who is the
OP that speaks for it. This is the process of Identity Provider
Discovery, and it bypasses the need for the Where Are You
From service of Shibboleth and the Identity Selector in
CardSpace. When XRIs are used, these similarly are resolved
by the SP to find the OP that can authenticate the user. Once
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
authentication codes (MAC). The OpenID specifications use
Diffie-Hellman to establish the shared secret between the OP
and SP; unfortunately, Diffie-Hellman is vulnerable to man in
the middle attacks. Once the OP and SP have established a
shared secret, the SP redirects the user to the OP, to be
authenticated by any mechanism deemed appropriate by the
OP. During the authentication process the OP is supposed to
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
pattern that represents part of the name space of the SP e.g.
* But this realm information can easily be spoofed
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
fact they will be redirected to an evil one after the
authentication has completed. After successful user
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 SP then grants the user access to its services, as it deems
appropriate. One might regard OpenID as a direct competitor
of Shibboleth for user authentication. On the face of it OpenID
sounds like an attractive way of assigning people globally
unique IDs based on URLs, and an authentication service that
will validate this binding. Unfortunately, when one inspects
the OpenID system closer, one finds it has a significant
number of weaknesses that Shibboleth does not have (and one
major one that is shared with Shibboleth – namely Phishing).

4.2 Advantages of OpenID

4.2.1 Simplicity
The latest OpenID specification [4] is considerably
thinner and much easier to understand than the latest SAML
specification [11]. This is due to their scope. OpenID is
concrete and specifies how data is carried over HTTP. SAML
is an abstract framework and requires profiles and bindings to
specify what content is carried over which Internet protocols.
Thus the OpenID specification is complete and self contained
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(if one excludes its optional extensions), whereas SAML is a
framework that references more than a dozen other
specifications, which need to be understood in order to fully
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
likely only implement a specific subset of profiles and
protocol bindings, which will necessarily mean that not all
implementations will interwork “out of the box”, and may
require significant configuration in order to do so.

4.2.3 No Discovery Service
Because OP discovery is built into the OpenID
specification, via the user’s URL or XRI, then there is no need
for a separate Discovery mechanism. Shibboleth on the other
hand does require a means of IdP discovery which can be
provided in a number of ways (though none of these is
satisfactory as a long-term solution). As a default, the
federation provides a Where Are You From (WAYF) service,
which presents users with a list of IdPs from which to choose;
this becomes increasingly less viable as the number of IdPs
grows. Institutions which have implemented library portals
have been able to improve on this by providing their users
with direct links to the institution’s subscribed services (so
called WAYFless URLs); in the Schools sector this method of
service presentation is seen as essential. Another solution is
provided by some large publishers and JISC data centres,
which present the user with a list of institution names drawn
from the service’s list of subscribers (though for SPs with a
large client list this provides little relief from the current
WAYF). Multiple WAYFs are not a realistic solution for
supporting inter-federation connections though no alternative
solution has been agreed. Note that the OpenID method of
discovery is not new to academia. The EduRoam service [12]
works in a similar way to OpenID by requiring the user to
enter his identity in the form username@realm, where realm is
the DNS name of the user’s university, and acts as the
discovery service for EduRoam. CardSpace on the other hand,
relies on the user’s PC to act as the discovery service. The
Identity Selector program allows the user to pick the IdP he
wants to use from the cards in his selector.

Figure 3:- The OpenID Authentication Process

4.3 OpenID Implementation:
To implement OpenID in IPS Automation System we
have used JanRain OpenSource Library .The auto -mation
application will go through authentication process as follows:
• End User enters his identity URL on the Login page.
• Create OpenID authentication request from User’s
• Initialize a storage place where the application can
store information, since it is working in smart
mode(to keep the session information).
• The request is sent to OpenID server for
authentication. The request also includes the redirect
path to the IPS Website.
• Response from the server is received and processed.
In case of authentication failure , browser is
redirected to an error page displaying a message that
authentication failed. Otherwise the user will be
logged in.

In the JanRain Library the “Services” folder contains the
Yadis protocol files and “Auth” folder contains main OpenID
library files( should be included in PHP search path). The
record for is created in DNS and the web
server(Apache) is configured to make JanRain library files
become accessible when a page request is received . This is
done as follows:
<VirtualHost *:80>
DocumentRoot /backup/ipsacademy
ErrorLog logs/
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
CustomLog logs/ common
HTML source code segment for the OpenID Login form is as
<form method="get" action="try_auth.php">
<input type="hidden" name="action" value="verify" />
<input type="text" name="openid_url" value="" />
<input type="submit" value="Verify" />
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.

The index.php File
This file is responsible asks user to enter his OpenID
URL. The source code for this form is as shown below:
<form method="get" action="try_auth.php">
<input type="hidden" name="action" value="verify"
<input type="text" name="openid_url" value="" />
<input type="submit" value="Verify" />

The try_auth.php File
This file is responsible for creating OpenID request and
sending it to the OpenID server.

require_once "common.php";
// Render a default page if we got a submission without an
// value.
if (empty($_GET['openid_url'])) {
$error = "Expected an OpenID URL.";
include 'index.php';
$scheme = 'http';
if (isset($_SERVER['HTTPS'])and $_SERVER['HTTPS']
== 'on') {
$scheme. = 's';
$openid = $_GET['openid_url'];
$trust_root = sprintf("$scheme://%s:%s%s",
// Begin the OpenID authentication process.
$auth_request = $consumer->begin($openid);
// Handle failure status return values.

Figure 4: Use of ipsacademy source files during authentication request

if (!$auth_request) {
$error = "Authentication error.";
include 'index.php';
$auth_request->addExtensionArg('sreg', 'optional',
// Redirect the user to the OpenID server for
authentication. Store
// the token for this authentication so we can verify the
$redirect_url = $auth_request->redirectURL($trust_root,
header("Location: ".$redirect_url);

The finish_auth.php File
This file confirms successful verification or unsuccessful

require_once "common.php";
// complete the authentication process using the server's
$response = $consumer->complete ($_GET);
if ($response->status == Auth_OpenID_CANCEL) {
// This means the authentication was cancelled.
$msg = 'Verification cancelled.’
} else if ($response->status == Auth_OpenID_FAILURE)
$msg = "OpenID authentication failed: " . $response-
} else if ($response->status ==
Auth_OpenID_SUCCESS) {
// this means the authentication succeeded.
$openid = $response->identity_url;
$esc_identity = htmlspecialchars($openid,
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
$success = sprintf('You have successfully verified '
'<a href="%s">%s</a> as your identity.’
$esc_identity, $esc_identity);
if ($response->endpoint->canonicalID) {
$success .= ' (XRI CanonicalID: '.$response->endpoint-
>canonicalID.') ';
$sreg = $response->extensionResponse('sreg');
if (@$sreg['email']) {
$success .= " You also returned '".$sreg['email']."' as your
include 'index.php';

After successfully authenticating with the OpenID provider
(, the OpenID provider redirects the client to
the page originally requested (http://<>:8081)
that shows the remote user, groups, and roles of which the
user is a member. The remote user is the openid identity that
was used to log in. The groups contain a single group, the
VALID_OPENID_USER group, and the role is populated
with OPENID_ROLE. If this is not the case, the user would
not be authenticated because only users in the role
OPENID_ROLE are permitted to access this resource.


• The IPS Automation System should keep track of both
OpenID and CardSpace identity management systems as
they evolve. There is clearly a great demand for a
ubiquitous secure identity management system.
• Now that a publicly available OpenID gateway has been
built, publicise its availability to the community and
monitor its applications and usage. If usage becomes
substantial, consider productising the service.


The research problem and goal of the Academy Automation
is to design a highly secure and efficient framework based on
Service Oriented Architecture. Keeping in mind the policies of
minimum data redundancy and efficient security, the work
revolved around designing a plug in for secure role based
authentication. Presently the authentication is based on the
traditional userid-password based approach, but as is
suggested in this report, work can be done to incorporate new-
age technologies such as OpenID. OpenID provides increased
flexibility for application deployment by enabling applications
to leverage and third-party authentication providers for
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
same profile-related information just to ensure that the user
credentials are valid.


[1] William Stallings, “Cryptography and Network Security Principles and
Practices” 2003,3
Edition,Prentice Hall.
[2] Eric Cole, Ronald L. Krutz, James Conley, “Network Security Bible”
2005, 2
Edition, Wiley Publication.
[3] Yih-Cheng Lee, Chi-Ming Ma and ShihChien Chou,” A Service-
Oriented Architecture for Design And
Development of Middleware,” Proceedings of the 12
Software Engineering
Conference (APSEC05) 0-7695- 2465-6/05
[4] “OpenID Authentication 2.0 – Final” 5 Dec 2007.
Available from
[5] D. Recordon B. Fitzpatrick. “Open ID Authentication 1.1”. May 2006.
Available from
[6] D. Hardt, J. Bufu, Sxip Identity, J. Hoyt, JanRain. “OpenID Attribute
Exchange 1.0 – Final” 5 Dec 2007.
Available from
[7] OASIS “Extensible Resource Identifier (XRI) Syntax V2.0”. Committee
Specification, 14 November
2005. Available from http://www.oasis-
[8] William E. Burr, Donna F. Dodson, Ray A. Perlner, W. Timothy Polk,
Sarbari Gupta, Emad A.
Nabbus. “Electronic Authentication Guideline”, NIST Special
Publication NIST Special Publication
800-63-1, Feb 2008
[9] Eugene Tsyrklevich & Vlad Tsyrklevich. “OpenID: Single Sign-On for
the Internet”. Black Hat USA
Briefings and Training, Las Vagas, July28- Aug 2, 2007. Available from
[10] OpenID. “Microsoft and Google announce OpenID support”. 30 October
2008. Available from
[11] OASIS. “Assertions and Protocol for the OASIS Security Assertion
Markup Language (SAML)
V2.0”, OASIS Standard, 15 March 2005
[12] L Florio, K Wierenga. “Eduroam, providing mobility for roaming
users”. Proceedings of the EUNIS
2005 Conference, Manchester, 2005
[13] Thomas Price, Jeromie Walters and Yingcai Xiao, “Role –Based Online
Evaluation System” ,2007.
[14] Srinath Akula, Veerabhadram Devisetty , St. Cloud, MN 56301.” Image
Based Registration and Authentication
System”, 2002.
[15] Microsoft,”Visual Studio .Net”.
[16] Microsoft Corporation. Website:
[17] OpenSSL team. Website:
[18] Microsoft, “SQL Server 2005”. Website:
[19] Microsoft,””. Website:

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Biographical notes:

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-
INDIA.and He is also currently Sr Software Engineer in
Institute of Engineering & Sciences,IPS Academy, Indore-
INDIA. A He served as Software Engineer in Choksi
Laboratories ltd,Indore. His research interest includes network
security, secure electronic commerce, 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
Indore. He served as Sn. Software Engineer in Patni Compute
System Mumbai, KPIT Pune and Tanmay Software Indore.
His research interest includes network security, secure
electronic commerce, client-server computing and Query

Rekha D Shahapurkar holds a MCA from Indira Gandhi
National Open University, New Delhi, INDIA. She is
currently Pursuing Ph.D. in Computer Science From Institute
of Computer Science, Vikram University, Ujjain-INDIA.
From 2001 she is working as Asst. Professor in Lokmanya
Tilak College Ujjain-INDIA. Her research interest includes
network security, client-server computing and IT based

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Ontology Based Query Expansion Using Word
Sense Disambiguation

M. Barathi
Department of Computer Applications
S. M. K. Fomra Institute of Technology
Chennai, India .

Department of Computer Science and Engineering
Anna University
Chennai, India .

Abstract - The existing information retrieval techniques do not
consider the context of the keywords present in the user’s
queries. Therefore, the search engines sometimes do not provide
sufficient information to the users. New methods based on the
semantics of user keywords must be developed to search in the
vast web space without incurring loss of information. The
semantic based information retrieval techniques need to
understand the meaning of the concepts in the user queries. This
will improve the precision-recall of the search results. Therefore,
this approach focuses on the concept based semantic information
retrieval. This work is based on Word sense disambiguation,
thesaurus WordNet and ontology of any domain for retrieving
information in order to capture the context of particular
concept(s) and discover semantic relationships between them.

Index terms – Word Sense Disambiguation, Semantic
Information Retrieval, Clustering, Ontology.

Search engines have become the most helpful tools
for obtaining useful information ever since the development of
the World Wide Web. But, the search engines sometimes fail
to cater to the users need. The huge volume of information
accessible over networks makes it difficult for the user to find
exact information needed. Numerous information retrieval
techniques have been developed based on keywords. These
techniques use keyword list to describe the content of the
information without addressing anything about the semantic
relationships of the keywords. As a result, understanding the
meaning of the keyword becomes difficult [1]-[4]. Synonym
and polysemy are two prominent issues. A synonym is a word
which means the same as another word. For instance the word
animal is a synonym of a living organism. A polysemy is a
word with multiple, related meanings. For example, the word
cell can be used to refer to a small room in one context and the
basic structural and functional unit of an organism in another
context [1], [3]-[4]. In WordNet, the word cell has multiple
meaning as shown in Figure 1. So, cell is a polysemy word.

Sense Noun Synonyms
Cell Any small

The cells of a honeycomb

The basic structural and
functional unit of all
Electric cell

A device that delivers an
electric current as the
result of a chemical

A small unit serving as
part of or as the nucleus of
a larger political
Cellular Phone,
Cell Phone,
Mobile phone

A hand-held mobile
radiotelephone for use in
an area divided into small
sections, each with its
own short-range

small room in which a
monk or nun lives

Figure 1. Multiple Meaning for the word “cell’

In semantic-based information retrieval techniques
searching is performed by interpreting the meanings of the
keywords (i.e., semantic). The system which retrieves
information based on the semantics of the keyword attains
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.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
The semantic-based information retrieval techniques,
search by interpreting the meanings of the keywords by
sensing the word using the thesaurus WordNet. It is often
difficult for ordinary users to use information retrieval
systems based on these commonly used keyword based
techniques. So Tin Berners-Lee introduced the idea of a
semantic web, where machine readable Semantic knowledge
is attached to all information. The Semantic knowledge
attached to the information is united by means of ontologies,
i.e., the concepts attached to the information are mapped into
these ontologies. Ontology is “a formal, explicit specification
of a shared conceptualization” [5]. Ontology is arranged in a
lattice or taxonomy of concepts in classes and subclasses
(cancer, inflammatory, clumps, metastasis) as shown in Figure
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
instances (also called individuals) of the class constitutes a
knowledge base. The semantics of keywords are identified
through the relationships between keywords by performing
semantic similarity on them[6],[1],[7]-[9],[2],[10].
Meta stasis

Figure 2. A Sample Domain Ontology

In our proposed work we use Word sense
disambiguation to disambiguate several meaning for a word.
Word Sense Disambiguation (WSD) is defined as the process
of enumerating the sense of a word. The frequency of the
keywords occurring in the web pages is calculated and they
are ranked using the traditional weighting scheme [19] tfidf
values and stored in the database. To enrich the user query for
efficient retrieval of web pages, the user query is matched
with the set of k-cores [11] which is constructed using tfidf
values. The user query is enriched with the most relevant k-
core using WSD and passed to the search engine for the
retrieval of the relevant web pages. In order to refine the web
search using ontology, both the k-cores and the ontology of a
medical domain is used to enrich the user query for more
efficient retrieval of web pages. The relevant k-cores are
matched with the ontology of a particular domain to extract
the concepts based on the similarity measure. The concepts
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
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 the search engine for efficient
retrieval of relevant web pages.

K-core is a kind of keyword cluster. K-cores are the
core words of a concept or theme. Each k-core is a
representative of the semantic context. K-core is a set of
keywords obtained per topic in a set of web pages. In this
approach set of four keywords form a k-core in order to
perform meaningful experiments. The keywords are clustered
(i.e., k-core) and ranked according to the keyword frequency
count. For example consider the topic as cancer. The best 4
cores are given in Table 1.

Table 1. A sample k-core for the topic cancer

Cancer, Oncology, Oncogene, Meta Stasis
Disease, Cancer clumps, Treatment
Cancer, Breast, Lump, Leukemia

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

In Seamless searching of Numeric and Textual
Resources project [12] the author use a customized dictionary
to disambiguate the concepts used for querying. However our
system uses a general-purpose thesaurus, WordNet, and the
context of the user keywords. CUPID [13] and onto builder
[14] identify and analyze the factors that affect the
effectiveness of algorithms for automatic semantic
reconciliation. Our system uses a set of k-core and WSD to
disambiguate the concepts and the ontology of a particular
domain to enrich the user query for more efficient retrieval of
information. GLUE[15] studies the probability of matching
two concepts by analyzing the available ontologies, using a
relaxation labeling method[16]; however, this approach is not
very flexible or / adaptable because it analyzes all of the
ontology concepts, while we use an approach based on word
sense disambiguation to disambiguate the senses and expand
the user query with the best concept. The internet searches can
be much more focused so that only relevant web pages are

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
The proposed system refines the web search for
efficient retrieval of web pages. Only web pages specific to
the context are retrieved. The set of web pages of a particular
domain are retrieved from the web by web searches. Hill-
climbing algorithm is used to “mine” a set of web pages for
finding k-cores. Stop words are removed and the core
keywords are extracted.
The keywords (i.e. k-core) are clustered based on
tfidf values. Each k-core is a representative of the semantic
context. Here, k is the size of the cluster. It may be 3 or 4 k-
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.

Result [N]
Query Analyser
Key cores
Keyword +
Domain +
Key cores
User Query
Word Sense
Query Sense

Figure 3. Block Diagram of Web page retrieval and Keycore
Generation Module

The user query along with the set of k-cores is
refined by using WSD to disambiguate the senses for efficient
retrieval of web pages. The refined user query is passed to the
search engine for retrieving the relevant web pages. For
further refinement of the user query the K-cores and the
ontology of the particular domain are used for retrieving
relevant web pages. The concepts 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 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
the search engine for efficient retrieval of relevant web pages
as shown in Figure 4. This framework consists of components
namely the Query reformulator, Concept Extractor, Matcher
and Reranker.

Query Reformulator
Concept Extractor
Concept Matcher
Domain Ontology
Keyword +
Domain +
Key cores

Figure 4. Concept Based Semantic Information Retrieval Framework

A. Query Reformulator
The query reformulator expands the query using
relationship such as synonym [6],[1],[8],[5], semantic
neighborhood [2], hyponym [6],[2],[17] (i.e. Is-A
relationship) and Meronym (i.e. Part-of) [6],[2] using
distance based approach [18],[8],[9]. Then the query is
rewritten with these expanded terms and passed to the
Concept Matcher.

B. Concept Extractor and Matcher
The concept matcher matches the relevant k-cores
with the ontology to extracts the concepts based on the
similarity measure. The concepts are extracted by the concept
extractor based on the most relevant k-cores.

C. Re-ranker
The Reranker sorts the document according to the
relevance of the user’s queries. Documents that are related to
the user’s query are retrieved and ranked according to their
importance. The relevance between the documents and
frequency count of the keywords are measured. The relevance
of the documents is computed using the traditional weighting
scheme [19] given in equation (1).The tf in equation (1) refers
term frequency, N is the total no. of documents, df is the
document frequency and tfidf is the term frequency inverted
document frequency.

tfidf=tf*log (N/df) (1)

D. Concept Similarity
The similarity is calculated by measuring semantic
similarity of concepts and their relationships. The concepts
similarity is measured by calculating the distance between
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.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Milestone (n) =

For the root of a hierarchy, l (root) is zero. For any two
concepts c1 and c2 in the hierarchy having closest common
parent (ccp), the distance d
between two concepts and their
ccp is calculated using equations (3) and (4).

(c2,ccp) (3)

(c1,cpp)=milestone(ccp)–milestone(c1) (4)

Thus, the similarity sim
between the two concepts c
and c
calculated using equation (5)

(c1,c2) (5)

If the concept c1 and concept c2 are synonym or acronym of
each other, the distance will be 0, i.e. the similarity between
these two concepts will be 1.Synonym and acronym relation
between concepts are treated at the same level.

E. Relations Similarity
The similarity Sim
between any two relations r1and r2 is
given by equation (6)

(r1,r2)=1- d
(r1, r2) (6)

The distance between two relations is also calculated by their
respective positions in the relation hierarchy.

F. Web Page Retrieval
The web crawler receives the user query of any
domain from the user interface and downloads the web pages
corresponding to that domain from the web. Then it opens the
URL connection and reads the content of the web page and
stores it in the text file. If the web page contains another URL,
it adds the URL to the end of the list of URLs to be crawled. It
repeats the process until all the URLs in the list are crawled as
shown in Figure 5. The field “IsCrawled” in Figure 5
represents that the particular URL has been crawled by setting
the value as “t”.

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 5. Sample list of URLs crawled from the web

G. Refining Web Search Using Ontology
The k-cores and the ontology of the
particular domain are used in enhancing the user query for
more efficient retrieval of web pages. The first step matches
the user query with the set of k-cores using WordNet to
disambiguate the senses. Then the relevant k-cores are
matched with the ontology of the particular domain based on
the similarity measure. The concepts 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 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 the search engine for efficient retrieval of relevant
web pages. The algorithm for refining the web search using
Ontology is given in Figure 7.

Input : User query, Domain ontology and K-cores
Output : Set of relevant web pages

1. The user query and the set of k-cores are
disambiguated using thesaurus WordNet.
2. The set of relevant k-cores is matched with the
concepts in the domain ontology to extract the
relevant concepts based on the similarity measure.
3. The set of relevant concepts along with the k-cores are
presented as options to the user to disambiguate the
4. When the user selects the specific concepts he wants,
the user query is enriched with that concept.
5. The enriched query is passed to the web searcher and
it displays the relevant results to the user.
6. End

Figure 7. Algorithm for Refining the web search using Ontology

This work is implemented using Java and the medical
ontology is used as the domain. In this study, around 1500
web pages have been crawled using Google search engine and
stored as text document. Preprocessing is done on each
document which is the text file as shown in Figure 9.

Figure 9. Text File

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Then the frequency count for each term is calculated as shown
in Figure 10 and term frequency inverted document frequency
for the terms are calculated and the ranked list is shown in
Figure 11.

Figure 10 Keyword frequency list

Figure 11. List of term frequency inverted document frequency for the

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-
cores. WordNet shows different senses for the word cancer
such as cancer zodiac, cancer horoscope, type of cancer etc.
To disambiguate these senses, user selects the best synonyms
he is looking for. This enhanced query is passed to the search
engine for retrieving relevant web pages. An example of user
query and the enhanced query is shown in Figure 12.

User Query : cancer

Enhanced Query : {cancer, oncology, oncogene,

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
enhance the user query for more efficient retrieval of web
pages. A piece of breast cancer ontology is shown in Figure
13. The relevant k-cores are matched with the ontology breast
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.

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 rdf:about="#CMFRegimeTypes">
Types" />
rdf:resource="#PolyChemoTxRegimeTypes" />
owl:disjointWith rdf:resource="#ECMFRegimeType"

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
proportion of relevant documents that have been retrieved.
They are defined as follows

Retrieved relevant documents
Precision = ------------------------------------ (7)
Retrieved documents

Retrieved relevant documents
Recall = ------------------------------------- (8)
All relevant documents

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

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Ont ology based IR
Keyword based IR

Figure 14. Precision –Recall graph for Ontology based IR and Keyword based

This paper addresses an Ontology based Query
expansion to improve the precision-recall of the search results
by concentrating on the context of concept(s). The relevant k-
cores are matched with the ontology of medical domain to
extract the concepts based on the similarity measure. The most
relevant concepts along with the ranked k-cores are presented
to the user. The user query is enriched with the selected
concept and passed to the search engine for efficient retrieval
of relevant web pages. The future work would focus on the
automatic selection of concepts i.e. Intelligent WSD suitable
for user’s information need.

[1] Wei-Dong Fang, Ling Zhang, Yan Xuan Wang, and Shou-Bin
Dong,“Towards a Semantic Search Engine Based on
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”, 3
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”, 7
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 10

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 8
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
Context-Aware Measure for Semantic Distance Using a Taxonomy
and a Text Corpus”, IEEE International Conference on
Information Reuse and Integration, 2007 (IRI-07), pp. 279-284,
[11] Eduaro H. Ramirez and Ramon F.Brena, “Semantic Contexts in
the Internet”,IEEE Proceedings of the Fourth Latin American Web
Congress(LA-WEB’06),2006. Y.Zhao and G.Karypis, “Evaluation
of hierarchical clustering algorithms for document datasets”,
Proceeding of the Eleventh International Conference on
Information and knowledge Management (CIKM-02), pp. 515-
524, New York, Nov 2002. ACM Press.
[12] C.Hui-Min, “Design and implementation of the agent-based EVMs
system”, Technical report, Berkley, 2000.
[13] J.Madhavan, P.A. Bernstein, and E.Rahm, “Generic schema
matching with cupid”, The very large databases journal, vol.10,
pp. 49-58, 2001.
[14] A. Gal. A.Anaby-Tavor, A.Trombetta, and D.Montesi. “A
framework for modeling and evaluating automatic semantic
reconciliation”, The very large databases Journal, 2005.
[15] A.Doan, J.Madhavan, P.Domingos, and A.Halevy, “Learning to
map between ontologies on the semantic web”, Proceedings of the
International WWW Conference, Hawaii, 2002.
[16] A.Rosenfeld, R.Hummel and S.Zueker, “Scene labeling by
relaxation operations”, IEEE Transactions on systems, Man and
Cybernetics, vol. 6, pp. 420-433, 1976.
[17] J.Smith and D.Smith, “Database Abstractions, Aggregation and
Generalization,” Database Systems, ACM Transaction, vol.2,
pp. 105-133, 1977.
[18] Manuel Montes-y-Gomez, Aurelio Lopez-Lopez and Alexander
Gelbukh, “Information Retrieval with conceptual graph
Matching”, DEXA-2000:11
International Conference and
Workshop on Database and Expert Systems Applications,
Greenwich, England, pp. 312-321, 2000.
[19] Richard Baeza – Yates and Berthier Ribeiro-Neto, “Modern
Information Retreival”, Addison Wesley Publishing Co. Inc.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Secured Cryptographic Key Generation From
Multimodal Biometrics: Feature Level Fusion of
Fingerprint and Iris

Research scholar/Senior Lecturer/EIE
Bannari Amman Institute of Technology
Sathyamangalam-638 401, Tamil Nadu, India

Dr. K.Duraiswamy
K.S.Rangasamy College of Technology,
Tiruchengode – 637 209, Tamil Nadu, India

Abstract— Human users have a tough time remembering long
cryptographic keys. Hence, researchers, for so long, have been
examining ways to utilize biometric features of the user instead of
a memorable password or passphrase, in an effort to generate
strong and repeatable cryptographic keys. Our objective is to
incorporate the volatility of the user's biometric features into the
generated key, so as to make the key unguessable to an attacker
lacking significant knowledge of the user's biometrics. We go one
step further trying to incorporate multiple biometric modalities
into cryptographic key generation so as to provide better
security. In this article, we propose an efficient approach based
on multimodal biometrics (Iris and fingerprint) for generation of
secure cryptographic key. The proposed approach is composed of
three modules namely, 1) Feature extraction, 2) Multimodal
biometric template generation and 3) Cryptographic key
generation. Initially, the features, minutiae points and texture
properties are extracted from the fingerprint and iris images
respectively. Subsequently, the extracted features are fused
together at the feature level to construct the multi-biometric
template. Finally, a 256-bit secure cryptographic key is generated
from the multi-biometric template. For experimentation, we have
employed the fingerprint images obtained from publicly available
sources and the iris images from CASIA Iris Database. The
experimental results demonstrate the effectiveness of the
proposed approach.
Keywords-Biometrics; Multimodal, Fingerprint, Minutiae
points; Iris; Rubber Sheet Model; Fusion; Segmentation;
Cryptographic key; Chinese Academy of Sciences Institute of
Automation (CASIA) iris database.
The necessity for reliable user authentication techniques has
risen amidst of heightened issues about security and rapid
progress in networking, communication and mobility [1]. The
generally utilized authentication systems that regulate the
entry to computer systems or secured locations are password,
but it can be cracked or stolen. For that reason, biometrics has
turned out to be a practicable option to traditional
identification methods in several application areas [23].
Biometrics, expressed as the science of identifying an
individual on the basis of her physiological or behavioral
traits, seems to achieve acceptance as a rightful method for
obtaining an individual’s identity [1]. Biometric technologies
have established their importance in a variety of security,
access control and monitoring applications. The technologies
are still novel and momentarily evolving [2]. Biometric
systems possess numerous advantages over traditional
authentication methods, that is, 1) biometric information
cannot be obtained by direct covert observation, 2) It is
difficult to share and reproduce, 3) It improves user easiness
by lessening the necessity to memorize long and random
passwords, 4) It safeguards against repudiation by the user.
Besides, biometrics imparts the same security level to all users
unlike passwords and is tolerant to brute force attacks [3]. A
number of biometric characteristics are being employed today,
which comprises fingerprint, DNA, iris pattern, retina, ear,
thermogram, face, gait, hand geometry, palm-vein pattern,
smell, keystroke dynamics, signature, and voice [16, 17].
Biometric systems that generally employ a single attribute
for recognition (that is., unimodal biometric systems) are
influenced by some practical issues like noisy sensor data,
non-universality and/or lack of distinctiveness of the biometric
trait, unacceptable error rates, and spoof attacks [4]. A
probable improvement, multimodal biometric systems prevail
over some of these issues by strengthening the proof acquired
from several sources [5] [6]. Multimodal biometric system
employs two or more individual modalities, namely, gait, face,
Iris and fingerprint, to enhance the recognition accuracy of
conventional unimodal methods. With the use of multiple
biometric modalities, it is shown that to decrease error rates,
by offering extra valuable information to the classifier.
Diverse characteristics can be employed by a single system or
separate systems that can function on its own and their
decisions may be merged together [7]. The multimodal-based
authentication can aid the system in improving the security
and effectiveness in comparison to unimodal biometric
authentication, and it might become challenging for an
adversary to spoof the system owing to two individual
biometrics traits [15].
In recent times, multimodal biometrics fusion techniques
have invited considerable attention as the supplementary
information between different modalities could enhance the
recognition performance. Majority of the works have focused
the attention in this area [8-10]. In most cases, they can be
categorized into three groups: fusion at the feature level,
fusion at the match level and fusion at the decision level [6]
[11]. Fusion at the feature level includes the incorporation of
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
feature sets relating to multiple modalities. The feature set
holds richer information about the raw biometric data than the
match score or the final decision and because of this,
integration at this level is bound to offer good recognition
results. But, fusion at this level is hard to accomplish in real
time due to the following grounds: (i) the feature sets of
multiple modalities may be unsuited (namely, minutiae set of
fingerprints and eigen-coefficients of face); (ii) the association
between the feature spaces of diverse biometric systems may
be unknown; and (iii) concatenating two feature vectors may
lead to a feature vector with very high dimensionality resulting
to the `curse of dimensionality' problem [12].
One current development, biometric cryptosystems [13]
join cryptography and biometrics to take advantage from the
strong points of both fields. In such systems, while
cryptography endows with high and modifiable security levels,
biometrics provides non-repudiation and removes the
requirement to memorize passwords or to carry tokens [14].
Lately, the improved performance of cryptographic key
generated from biometrics in accordance to security has
acquired massive reputation amongst the researchers and
experimenters [18] and recently, researchers have made an
effort towards combing biometrics with cryptography so as to
enhance the security, by removing the requirement for key
storage using passwords [19-22]. Although it is highly
impractical to break cryptographic keys generated from
biometrics, the attackers have a good possibility of stealing by
cryptographic attacks. One effectual solution with additional
security will be the integration of multimodal biometrics into
cryptographic key generation; in order to attain incredible
security against cryptographic attacks.
At this juncture, we introduce an efficient approach for the
secure cryptographic key generation on the basis of multiple
modalities like, Iris and fingerprint. At first, the fingerprint
features (minutiae points) are obtained from the fingerprint
image using segmentation, Orientation field estimation and
morphological operators. Likewise, the texture features are
acquired from the iris image by segmentation, estimation of
iris boundary and Normalization. Minutiae points and iris
texture, the two extracted features are then fused at feature
level to build the multimodal biometric template. Fusion at the
feature level is achieved by means of the processes that is,
concatenation, shuffling and merging. Lastly, multi-biometric
template acquired is employed to generate the secure 256-bit
cryptographic key that is competent of enabling better user
authentication and security.
The rest of the paper is organized as follows. A short
review of the researches connected to the proposed approach
is given in Section II. The proposed approach for generation of
multimodal-based cryptographic key is demonstrated in
Section III. The results acquired on experimentation of the
proposed approach are given in Section IV. To conclude, the
conclusions are summed up in Section V.
Literature embrace ample researches for generating
cryptographic keys from biometric modalities and multimodal
biometrics based user authentication. Amid all these
researches, approaches for cryptographic key generation from
biometric features and authenticating users by combining
multiple biometric modalities, comprise a grand consideration
in the recent development. A brief review of some recent
researches is presented here.
A realistic and safe approach to incorporate the iris
biometric into cryptographic applications has been presented
by Feng Hao et al. [31].This approach employed a recurring
binary string, called as a biometric key, that was created from
a subject's iris image with the help of auxiliary error-
correction data, which does not disclose the key and can be
stored in a tamper-resistant token, like a smart card. The
reproduction of the key revolves on two aspects: the iris
biometric and the token. The assessment was done by using
iris samples from 70 different eyes, with 10 samples from each
eye. This resulted with the genuine iris codes with a 99.5
percent achievement rate, which upshot with 140 bits of
biometric key which is sufficient for a 128-bit AES.A
technique presented by B. Chen and V. Chandran [21],
coalesced entropy based feature extraction process with Reed-
Solomon error correcting codes which generate deterministic
bit-sequences from the output of an iterative one-way
transform. The technique was assessed using 3D face data and
was proved to generate keys of suitable length for 128-bit
Advanced Encryption Standard (AES).
A biometric-key generation scheme based on a randomized
biometric helper has been presented by Beng.A et al. [42]. The
technique engrosses a randomized feature discretization
process and a code redundancy construction. The former
method controls the intra-class variations of biometric data to
the nominal level and the latter reduced the errors even more.
The randomized biometric feature was proved as a simple
technique, when the key was conciliated The projected
technique was assessed in the context of face data based on a
subset of the Facial Recognition Technology (FERET)
database. Sanaul Hoque et al. [43] have presented the direct
generation of the biometric keys from live biometrics, under
certain conditions, by partitioning feature space into subspaces
and partitioning these into cells, where each cell subspace
contributes to the overall key generated. They assessed the
presented technique on real biometric data, instead of both
genuine samples and attempted imitations. Experimental
results have proved the reliability in possible practical
scenarios for this technique.
A cryptographic key generation from biometric data, based
on lattice mapping based fuzzy commitment method was
proposed by Gang Zheng et al. [44].This was proposed with
the aim to, secure the biometric data even when the stored
information in the system was open to an attacker ,with the
generation of high entropy keys and also concealed the
original biometric data. Simulated results have proved that its
authentication accuracy was on par to the k-nearest neighbor
classification. Tianhao Zhang et al. [45] have presented a
Geometry Preserving Projections (GPP) method for subspace
selection.It is capable of discriminating different classes and
conserving the intra-modal geometry of samples within an
identical class. With GPP, they projected all raw biometric
data from different identities and modalities onto a unified
subspace, on which classification can be executed. Also, the
training stage was performed after having a unified
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
transformation matrix to project different modalities.
Experimental results have proved the effectiveness of the
presented GPP for individual recognition tasks.
Donald E. Maurer and John P. Baker et al have presented
a fusion architecture based on Bayesian belief networks [46].
The technique fully exploited the graphical structure of Bayes
nets to define and explicitly model statistical dependencies
between relevant variables: per sample measurements like,
match scores and corresponding quality estimates and global
decision variables. These statistical dependencies are in the
form of conditional distributions which are modeled as
Gaussian, gamma, log-normal or beta.. Each model is
determined by its mean and variance, thus considerably
minimizing training data needs. Furthermore, they retrieved
the information from lower quality measurements by
conditioning decision variables on quality as well as match
score instead of rejecting them out of hand. Another
characteristic of the technique was a global quality measure
intended to be used as a confidence estimate supporting
decision making. Introductory studies using the architecture to
fuse fingerprints and voice were accounted.
Muhammad Khurram Khana and Jiashu Zhanga presented
an efficient multimodal face and fingerprint biometrics
authentication system on space-limited tokens, e.g. smart
cards, driver license, and RFID cards [47]. Fingerprint
templates were encrypted and encoded/embedded within the
face images in a secure manner, so that the feature does not
get changed drastically during encoding and decoding. This
method of biometrics authentication on space-limited tokens,
was proven to be a proficient and a cheap alternative without
downgrading the overall decoding and matching performance
of the biometrics system. A class-dependence feature analysis
technique based on Correlation Filter Bank (CFB) technique
for efficient multimodal biometrics fusion at the feature level
is presented by Yan Yan and Yu-Jin Zhang [48]. In CFB, by
optimizing the overall original correlation outputs the
unconstrained correlation filter trained for a specific modality.
So, the variation between modalities has been considered and
the useful information in various modalities is completely
utilized. Previous experimental outcome on the fusion of face
and palmprint biometrics proved the advantage of the
An authentication method presented by M.Nageshkumar
et al. [24], focuses on multimodal biometric system
identification using two features i.e. face and palmprint. The
technique was produced for application where the training data
includes a face and palmprint. Mixing the palmprint and face
features has enhanced the robustness of the person
authentication. The final assessment was done by fusion at
matching score level architecture where features vectors were
formed independently for query measures and are then
evaluated to the enrolment template, which were saved during
database preparation. Multimodal biometric system was
expanded through fusion of face and palmprint recognition.
Multimodal biometric authentication has been more
reliable and capable than knowledge-based (e.g. Password)
and token-based (e.g. Key) techniques and has recently
emerged as an attractive research area [24]. Several
researchers [45-48] have successfully made use of multiple
biometric traits for achieving user authentication. Multimodal
biometrics was aimed at meeting the stringent performance
requirements set by security-conscious customers. Some good
advantages of multimodal biometrics are 1) improved
accuracy 2) secondary means of enrollment and verification or
identification in case sufficient data is not extracted from a
given biometric sample and 3) ability to detect attempts to
spoof biometric systems through non-live data sources such as
fake fingers. Two important parameters that determine the
effectiveness of the multimodal biometrics are choice of the
biometric traits to be combined and the application area. The
different biometric traits include fingerprint, face, iris, voice,
hand geometry, palmprint and more. In the proposed
approach, we integrate fingerprint and iris features for
cryptographic key generation. The use of multimodal
biometrics for key generation provides better security, as it is
made difficult for an intruder to spool multiple biometric traits
simultaneously. Moreover, the incorporation of biometrics into
cryptography shuns the need to remember or carry long
passwords or keys. The steps involved in the proposed
multimodal-based approach for cryptographic key generation
1) Feature extraction from fingerprint.
2) Feature extraction from iris.
3) Fusion of fingerprint and iris features.
4) Generation of cryptographic key from fused features.
A. Minutiae Points Extraction from Fingerprints
This sub-section describes the process of extracting the
minutiae points from the fingerprint image. We chose
fingerprint biometrics chiefly because of its two significant
characteristics: uniqueness and permanence (ability to remain
unchanged over the lifetime). A fingerprint can be described
as a pattern of ridges and valleys found on the surface of a
fingertip. The ridges of the finger form the so-called minutiae
points: ridge endings (terminals of ridge lines) and ridge
bifurcations (fork-like structures) [26]. These minutiae points
serve as an important means of fingerprint recognition. The
steps involved in the proposed approach for minutiae
extraction are as follows,
1) Preprocessing: The fingerprint image is first
preprocessed by using the following methods,
• Histogram Equalization
• Wiener Filtering
Histogram Equalization: Histogram equalization (HE) is a
very common technique for enhancing the contrast of an
image. Here, the basic idea is to map the gray levels based on
the probability distribution of the input gray levels. HE flattens
and stretches the dynamic range of the image’s histogram
resulting in overall contrast improvement of the image [32].
HE transforms the intensity values of the image as given by
the equation,
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
∑ ∑
= =
= = =
r k k
r P r T s
1 1
) ( ) (
s is the intensity value in the processed image
corresponding to intensity
r in the input image,
and K 3 , 2 , 1 ) ( =
j r
r p . L is the input fingerprint image
intensity level [33].
Wiener filtering: Wiener filtering improves the legibility
of the fingerprint without altering its ridge structures [34]. The
filter is based on local statistics estimated from a local
neighborhood η of size 3 3× of each pixel, and is given by
the following equation:
( ) µ
µ −

+ = ) , ( ) , (
2 1
2 2
2 1
n n I
n n w

v is the noise variance, µ and
σ are local mean
and variance and I represents the gray level intensity in
η ∈
2 1
, n n [35].
2) Segmentation: The fingerprint image obtained after
preprocessing is of high contrast and enhanced visibility. The
next step is to segment the preprocessed fingerprint image.
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
direction are then computed and summed. If the resultant
value is greater than the threshold value the block is filled with
ones, else the block is filled with zeros.
3) Orientation Field Estimation: A fingerprint orientation
field is defined as the local orientation of the ridge-valley
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
y x
g g ] , [ are first calculated by taking the partial derivatives
of each pixel intensity in Cartesian coordinates. Traditional
gradient-based methods divide the input fingerprint image into
equal-sized blocks of N N × pixels, and average over each
block independently [25] [26]. The direction of orientation
field in a block is given by,
) , ( ) , (
) , ( ) , ( 2
1 1
2 2
1 1
θ +


∑ ∑
∑ ∑
= =
= =
y x
y x
j i g j i g
j i g j i g
Note that function ) tan(⋅ a gives an angle value ranges in
( ) π π, − which corresponds to the squared gradients, while
θ is the desired orientation angle within [0, π ].
4) Image Enhancement: It would be desirable to enhance the
fingerprint image further prior to minutiae extraction. The
fingerprint image enhancement is achieved by using,
• Gaussian Low-Pass Filter
• Gabor Filter
Gaussian Low-Pass Filter: The Gaussian low-pass filter is
used as to blur an image. The Gaussian filter generates a
`weighted average' of each pixel's neighborhood, with, the
average weighted more towards the value of the central pixels.
Because of this, gentler smoothing and edge preserving can be
achieved. The Gaussian filter uses the following 2-D
distribution as a point-spread function, and is achieved by the
convolution [28].

2 2 2
) (
) , (
y x
y x G

Where, σ is the standard deviation of the distribution.
Gabor Filter: Mostly used contextual filter [29] for
fingerprint image enhancement is Gabor filter proposed by
Hong, Wan, and Jain [30]. Gabor filters have both frequency-
selective and orientation-selective properties and they also
have optimal joint resolution in both spatial and frequency
domains. The following equation shows the 2-Dimensional (2-
D) Gabor filter form [29],
), 2 cos(
exp ) , , , (
0 θ
θ θ
σ σ
θ x f
y x
f y x G
y x

+ − =


θ θ
θ θ
sin cos
cos sin

where θ is the orientation of the filter,
f is the ridge
frequency, ] , [
θ θ
y x are the coordinates of ] , [ y x after a
clockwise rotation of the Cartesian axes by an angle of
) 90 ( θ −
, and
σ and
σ are the standard deviations of the
Gaussian envelope along the x -and y -axes, respectively.
5) Minutiae extraction: The process of minutiae point
extraction is carried out in the enhanced fingerprint image.
The steps involved in the extraction process are,
• Binarization
• Morphological Operators
Binarization: Binarization is the process of converting a
grey level image into a binary image. It improves the contrast
between the ridges and valleys in a fingerprint image, and
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
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
one; or else, it is set to zero. The output of binarization process
is a binary image containing two levels of information, the
foreground ridges and the background valleys. The minutiae
extraction algorithms are good operating on binary images
where there are only two levels of interest: the black pixels
that denote ridges, and the white pixels that denote valleys.
Morphological Operations: Following the binarization
process, morphological operators are applied to the binarized
fingerprint image. The objective of the morphological
operations is to eliminate obstacles and noise from the image.
Furthermore, the unnecessary spurs, bridges and line breaks
are removed by these operators. The process of removal of
redundant pixels till the ridges become one pixel wide is
facilitated by ridge thinning. The Ridge thinning algorithm
utilized for Minutiae points’ extraction in the proposed
approach has been employed by the authors of [36]. The
image is first divided into two dissimilar subfields that
resemble a checkerboard pattern. In the first sub iteration, the
pixel p from the initial subfield is erased only when all three
conditions, G1, G2, and G3 are satisfied. While, in the second
sub iteration, the pixel p from the foremost subfield is erased
when all three conditions, G1, G2, and G3’ are satisfied.
Condition G1:
1 ) ( = P X


) (
i H
b P X
( )
¦ = = =
+ −
otherwise 0
1 or x 1 x and 0 if 1
1 2i 2i 1 2i
8 2 1
,..., , x x x are the values of the eight neighbors of p ,
starting with the east neighbor and numbered in counter-
clockwise order.
Condition G2:
3 )} ( ), ( min{ 2
2 1
≤ ≤ p n p n


∨ =
2 1 2 1
) (
k k
x x p n
1 2
2 2
) (
∨ =
∑ k
x x p n

Condition G3:
0 ) (
1 8 3 2
= ∧ ∨ ∨ x x x x

Condition G3’:
0 ) (
5 7 6
= ∧ ∨ ∨ x x x x
The resultant fingerprint image produced by the
morphological thinning algorithm composes of ridges each
one pixel wide. This improves the visibility of the ridges and
enables effective and effortless of minutiae points.
B. Feature Extraction from Iris
The process of extracting features from the iris image is
discussed in this sub-section. Iris recognition has been
recognized as an effective means for providing user
authentication. One important characteristic of the iris is that,
it is so unique that no two irises are alike, even among
identical twins, in the entire human population [37]. The
human iris, an annular part between the pupil (generally,
appearing black in an image) and the white sclera has an
extraordinary structure and offers a plenty of interlacing
minute characteristics such as freckles, coronas, stripes and
more. These visible characteristics, which are generally called
the texture of the iris, are unique to each subject [38]. The
steps involved in the feature extraction process of the iris
image are given below.
1) Segmentation: Iris segmentation is an essential module in
iris recognition because it defines the effective image region
used for subsequent processing such as feature extraction.
Generally, the process of iris segmentation is composed of two
steps 1) Estimation of iris boundary and 2) Noise removal.

Estimation of iris boundary: For boundary estimation, the
iris image is first fed to the canny algorithm which generates
the edge map of the iris image. The detected edge map is then
used to locate the exact boundary of pupil and iris using
Hough transform.
• Canny edge detection
The Canny edge detection operator was developed by John
F. Canny in 1986. It uses a multi-stage algorithm to detect a
wide range of edges in images. Canny edge detection starts
with linear filtering to compute the gradient of the image
intensity distribution function and ends with thinning and
thresholding to obtain a binary map of edges. One significant
feature of the Canny operator is its optimality in handling
noisy images as the method bridges the gap between strong
and weak edges of the image by connecting the weak edges in
the output only if they are connected to strong edges.
Therefore, the edges will probably be the actual ones. Hence
compared to other edge detection methods, the canny operator
is less fooled by spurious noise [39].
• Hough Transform
The classical Hough transform was concerned with the
identification of lines in the image, but later, the Hough
transform has been extended to identify positions of arbitrary
shapes, most commonly circles or ellipses. From the edge map
obtained, votes are cast in Hough space for the parameters of
circles passing through each edge point. These parameters are
the centre coordinates x

and y, and the radius r, which are able
to define any circle according to the equation,
2 2 2
r y x = +
A maximum point in the Hough space will correspond to
the radius and centre coordinates of the circle best defined by
the edge points.
Isolation of Eyelids and Eyelashes: In general, the eyelids
and eyelashes occlude the upper and lower parts of the iris
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
region. In addition, specular reflections can occur within the
iris region corrupting the iris pattern. The removal of such
noises is also essential for obtaining reliable iris information.
• Eyelids are isolated by fitting a line to the upper and
lower eyelid using the linear Hough transform. A second
horizontal line is then drawn, which intersects with the first
line at the iris edge that is closest to the pupil; the second
horizontal line allows maximum isolation of eyelid region.
• The eyelashes are quite dark compared with the
surrounding eyelid region. Therefore, thresholding is used to
isolate eyelashes.
2) Iris Normalization: Once the iris image is efficiently
localized, then the next step is to transform it into the
rectangular sized fixed image. The transformation process is
carried out using the Daugman’s Rubber Sheet Model.
Daugman’s Rubber Sheet Model: Normalization process
involves unwrapping the iris and converting it into its polar
equivalent. It is done using Daugman’s Rubber sheet model
[40] and is shown in figure.

Figure 1. Daugman’s Rubber Sheet Model
For every pixel in the iris, an equivalent position is found
out on polar axes. The process comprises of two resolutions:
Radial resolution, which is the number of data points in the
radial direction and Angular resolution, which is the number
of radial lines generated around iris region. Using the
following equation, the iris region is transformed to a 2D array
with horizontal dimensions of angular resolution and vertical
dimension of radial resolution.
) , ( )] , ( ), , ( [ θ θ θ r I r y r x I →
where, ) , ( y x I is the iris region, ) , ( y x and ) , ( θ r are the
Cartesian and normalized polar coordinates respectively. The
range of θ is ] 0 [ π 2 and r is 1] 0 [ . ) , ( θ r x and
) , ( θ r y are defined as linear combinations set of pupil
boundary points. The formulas given in the following
equations perform the transformation,
) ( ) ( ) 1 ( ) , ( θ θ θ
i p
x x r r x + − =
) ( ) ( ) 1 ( ) , ( θ θ θ
i p
y y r r y + − =
) ( ) ( ) (
θ θ θ Cos r x x
p p p
+ =
) ( ) ( ) (
θ θ θ Sin r y y
p p p
+ =
) ( ) ( ) (
θ θ θ Cos r x x
i i i
+ =
) ( ) ( ) (
θ θ θ Sin r y y
i i i
+ =
where ) , (
p p
y x and ) , (
i i
y x are the coordinates on the
pupil and iris boundaries along the θ direction.
) , (
0 0 p p
y x , ) , (
0 0 i i
y x are the coordinates of pupil and iris
centers [39].
3) Extraction of iris texture: The normalized 2D form image
is broken up into 1D signal, and these signals are used to
convolve with 1D Gabor wavelets. The frequency response of
a Log-Gabor filter is given as,


)) / (log( 2
)) / (log(
exp ) (
f f
f G

f 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
multimodal biometric template that can perform biometric
Feature Representation: Fingerprint - Each minutiae point
extracted from a fingerprint image is represented as ( x , y )
coordinates. Here, we store those extracted minutiae points in
two different vectors: Vector
F contains all the x co-ordinate
values and Vector
F contains all the y co-ordinate values.
F =[ ]
x x x x
3 2 1
K ;
F = n
F =[ ]
y y y y
3 2 1
K ;
F = n
Iris - The texture properties obtained from the log-gabor
filter are complex numbers ) ( ib a + . Similar to fingerprint
representation, we also store the iris texture features in two
different vectors: Vector
I contains the real part of the
complex numbers and Vector
I contains the imaginary part of
the complex numbers.
I =[ ]
a a a a
3 2 1
K ; m I =

I =[ ]
b b b b
3 2 1
K ; m I =

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Thereby, the input to the fusion process (multimodal
biometric generation) will be four vectors
F ,
F ,
I and
I .
The fusion process results with the multimodal biometric
template. The steps involved in fusion of biometric feature
vectors are as follows.
1) Shuffling of individual feature vectors: The first step in
the fusion process is the shuffling of each of the individual
feature vectors
F ,
F ,
I and
I . The steps involved in the
shuffling of vector
F are,
i. A random vector R of size
F is generated. The
random vector R is controlled by the seed value.
ii. For shuffling the
i component of fingerprint
feature vector
F ,
a) The
i component of the random vector R is
multiplied with a large integer value.
b) The product value obtained is modulo operated with
the size of the fingerprint feature vector
F .
c) The resultant value is the index say ‘ j ’ to be
interchanged with. The components in the
i and
j indexes are interchanged.
iii. Step (ii) is repeated for every component of
F . The
shuffled vector
F is represented as
S .
The above process is repeated for every other
F ,
I and
I with
S and
S as random vectors
respectively, where
S is shuffled
F and
S is shuffled
I .
The shuffling process results with four
S ,
S ,
S and
S .
2) Concatenation of shuffled feature vectors: The next step
is to concatenate the shuffled vectors
S ,
S ,
S and
S . Here, we concatenate the shuffled
S and
S with the shuffled iris features
S and
respectively. The concatenation of the vectors
S and
S is
carried out as follows:
i. A vector
M of size
3 1
S S + is created and its first
S values are filled with
S .
ii. For every component
S ,
a) The corresponding indexed component of
M say ‘ t ’
is chosen.
b) Logical right shift operation is carried in
M from

c) The component of
S is inserted into the emptied
index of
M .
The aforesaid process is carried out between shuffled
S and
S to form vector
M . Thereby, the
concatenation process results with two vectors
M and
M .
3) Merging of the concatenated feature vectors: The last
step in generating the multimodal biometric template
B is
the merging of two vectors
M and
M . The steps involved
in the merging process are as follows.
i. For every component of
M and
M ,
a. The components
M and
M are converted into
their binary form.
b. Binary NOR operation is performed between the
M and
M .
c. The resultant binary value is then converted back into
decimal form.
ii. These decimal values are stored in the vector
B ,
which serves multimodal biometric template.
D. Generation of Cryptographic Key from Fused Features
The final step of the proposed approach is the generation
of the k-bit cryptographic key from multimodal biometric
B . The template vector
B can be represented as,
] [
3 2 1 h
b b b b B K =
The set of distinct components in the template vector
are identified and are stored in another vector
U .
] u u u [
d 3 2 1
L u U
= ;
B U ≤
The vector
U is then resized to k components suitable
for generating the k-bit key. The resize procedure employed in
the proposed approach,
< ≥ ≥ + <<
| | ; k i 1 d ; u ] [
| | ; ] [
i 2 1
2 1
k U if u u u
k U if u u u
BT d
BT k


Finally, the key
K is generated from the vector B,
k i B K
i B
... 3 , 2 , 1 , 2 mod = <<
The experimental results of the proposed approach have
been presented in this section. The proposed approach is
implemented in Matlab (Matlab7.4). We have tested the
proposed approach with different sets of fingerprint and iris
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
images corresponding to individuals. The fingerprint images
employed in the proposed approach have been collected from
publicly available databases. The input fingerprint image, the
extracted minutiae points and the intermediate results of the
proposed approach are shown in figure 2. For iris feature
extraction, we use iris images obtained from CASIA Iris
Image Database collected by Institute of Automation, Chinese
Academy of Science. The input iris image, the normalized iris
image and the intermediate results of the proposed approach
are portrayed in figure 3. Finally, the generated 256-bit
cryptographic key obtained from the proposed approach is
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
In this paper, we have attempted to generate a secure
cryptographic key by incorporating multiple biometrics
modalities of human being, so as to provide better security. An
efficient approach for generation of secure cryptographic key
based on multimodal biometrics (Iris and fingerprint) has been
presented in this paper. The proposed approach has composed
of three modules namely, 1) Feature extraction, 2) Multimodal
biometric template generation and 3) Cryptographic key
generation. Firstly, the features, minutiae points and texture
properties have been extracted from the fingerprint and iris
images respectively. Then, the extracted features have been
combined together at the feature level to obtain the multi-
biometric template. Lastly, a 256-bit secure cryptographic key
has been generated from the multi-biometric template. For
experimentation, we have employed the fingerprint images
obtained from publicly available sources and the iris images
from CASIA Iris Database. The experimental results have
demonstrated the efficiency of the proposed approach to
produce user-specific strong cryptographic keys.

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

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
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.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

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

Reza Gharoie Ahangar,
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

Abstract- In this paper, researchers estimated the stock price of
activated companies in Tehran (Iran) stock exchange. It is used
Linear Regression and Artificial Neural Network methods and
compared these two methods.
In Artificial Neural Network, of General Regression
Neural Network method (GRNN) for architecture is used. In this
paper, first, researchers considered 10 macro economic variables
and 30 financial variables and then they obtained seven final
variables including 3 macro economic variables and 4 financial
variables to estimate the stock price using Independent
components Analysis (ICA). So, we presented an equation for two
methods and compared their results which shown that artificial
neural network method is more efficient than linear regression

Key words: neural network, linear regression, Tehran stock
exchange, GRNN

The recent upsurge in research activities into artificial
neural networks (ANNs) has proven that neural networks have
powerful pattern classification and prediction capabilities.
ANNs have been successfully used for a variety of tasks in
many fields of business, industry, and science [24]
Interest in neural networks is evident from the growth
in the number of papers published in journals of diverse
scientific disciplines. A search of several major databases can
easily result in hundreds or even thousands of “neural
networks” articles published in one year.
A neural network is able to work parallel with input variables
and consequently handle large sets of data quickly. The
principal strength with the network is its ability to find
patterns [3] ANNs provide a promising alternative tool for
fore asters. The inherently nonlinear structure of neural
networks is particularly useful for capturing the complex
underlying relationship in many real world problems. Neural
networks are perhaps more versatile methods for forecasting
applications in that not only can they find nonlinear structures
in a problem, they can also model linear processes. For
example, the capability of neural networks in modeling linear
time series has been studied and confirmed by a number of
researchers [8],[11],[26].
One of the major application areas of ANNs is
forecasting. There is an increasing interest in forecasting using
ANNs in recent years. Forecasting has a long history and the
importance of this old subject is reflected by the diversity of
its applications in different disciplines ranging from business
to engineering.
The ability to accurately predict the future is fundamental to
many decision processes in planning, scheduling, purchasing,
strategy formulation, policy making, and supply chain
operations and stock price. As such, forecasting is an area
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
research needs for forecasting has been provided by
Armstrong [1].
Forecasting has been dominated by linear methods
for many decades. Linear methods are easy to develop and
implement and they are also relatively simple to understand
and interpret. However, linear models have serious limitation
in that they are not able to capture any nonlinear relationships
in the data. The approximation of linear models to complicated
nonlinear relationships is not always satisfactory. In the early
1980s, Makridakis (1982)organized a large-scale forecasting
competition (often called
M-competition) where a majority of commonly used linear
methods were tested with more than 1,000 real time series.
The mixed results show that no single linear model is globally
the best, which may be interpreted as the failure of linear
modeling in accounting for a varying degree of nonlinearity
that is common in real world problems [10].
The financial forecasting or stock market prediction is one of
the hottest fields of research lately due to its commercial
applications owing to the high stakes and the kinds of
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

attractive benefits that it has to offer [18]. Unfortunately, stock
market is essentially dynamic, non-linear, complicated,
nonparametric, and chaotic in nature [21]. The time series are
multi-stationary, noisy, random, and has frequent structural
breaks [13],[22]. In addition, stock market’s movements are
affected by many macro-economical factors ([Miao et al.,
2007] and [Wang, 2003]) such as political events, firms’
policies, general economic conditions, commodity price index,
bank rate, bank exchange rate, investors’ expectations,
institutional investors’ choices, movements of other stock
market, psychology of investors, etc.[12],[22]
Artificial neural networks are one of the technologies
that have made great progress in the study of the stock
markets. Usually stock prices can be seen as a random time
sequence with noise, artificial neural networks, as large-scale
parallel processing nonlinear systems that depend on their own
intrinsic link data, provide methods and techniques that can
approximate any nonlinear continuous function, without a
priori assumptions about the nature of the generating process,
see (Pino et al., 2008).It is obvious that several factors are
effective on future stock price and the main weak point in this
surrey is that all of them considered a few limit factors in
future stock price and using linear methods, Regarding that
fact, although previous studies highlighted the problem to
some extent, none of them didn’t provide a comprehensive
model to estimate the stock prince. If one estimates the prince
and provides a model for it to eliminate uncertainties to a large
extent it can help to increase the investments in stock
exchange. Conducting the scientific surveys to obtain a
suitable and desirable model to estimate the stock price is the
best task. [16]
The purpose of this study is to insure the investors
and provides them with suitable information for better
investment. Regarding that future stock price and its
estimation are important factors in accurate decision making
for better investment for investors; therefore, this survey is
aiming to estimate the future stock price of companies acting
in Tehran (Iran) stock exchange using the most effective
variables related to the stock price


Eldon Y. Li(1994)
The purpose of his paper is to answer two of the most
frequently asked questions: “What are neural networks?”
“Why are they so popular in today's business fields?” The
paper reviews the common characteristics of neural networks
and discusses the feasibility of neural-net applications in
business fields. It then presents four actual application cases
and identifies the limitations of the current neural-net
technology. [7]

Kyoung-jae Kimand & Ingoo Han(2000)
Their paper proposes genetic algorithms (GAs)
approach to feature discrimination and the determination of
connection weights for artificial neural networks (ANNs) to
predict the stock price index. In this study, GA is employed
not only to improve the learning algorithm, but also to reduce
the complexity in feature space. GA optimizes simultaneously
the connection weights between layers and the thresholds for
feature discrimination. The genetically evolved weights
mitigate the well-known limitations of the gradient descent
algorithm. In addition, globally searched feature discretization
reduces the dimensionality of the feature space and eliminates
irrelevant factors. Experimental results show that GA
approach to the feature discrimination model outperforms the
other two conventional models. [9]

Shaikh A. Hamid and Zahid Iqbal(2003)
They present a primer for using neural networks for
financial forecasting. They compare volatility forecasts from
neural networks with implied volatility from S&P 500 Index
futures options using the Barone-Adesi and Whaley (BAW)
American futures options pricing model. Forecasts from neural
networks outperform implied volatility forecasts and are not
found to be significantly different from realized volatility.
Implied volatility forecasts are found to be significantly
different from realized volatility in two of three forecast
horizons. [19]

D. E. Allen, W. Yang,(2004)
Examines the deviation of the UK total market index
from market fundamentals implied by the simple dividend
discount model and identifies other components that also
affect price movements. The components are classified as
permanent, temporary, excess stock return and non-
fundamental innovations to stock prices by employing a
multivariate moving-average model as applied in [J. Financial
Quant. Anal. 33 (1998) 1] and imposing relevant restrictions
on the model in light of Sims–Bernanke forecast error
variance decomposition. They find that time-varying
discounted rates play an active role in explaining price
deviations. [5]

David Enke and Suraphan Thawornwong (2005)
Introduces an information gain technique used in
machine learning for data mining to evaluate the predictive
relationships of numerous financial and economic variables.
Neural network models for level estimation and classification
are then examined for their ability to provide an effective
forecast of future values. A cross-validation technique is also
employed to improve the generalization ability of several
models. The results show that the trading strategies guided by
the classification models generate higher risk-adjusted profits
than the buy-and-hold strategy, as well as those guided by the
level-estimation based forecasts of the neural network and
linear regression models. [4]

Qing Cao, Karyl B. Leggio, Marc J. Schniederjans (2005)
Their study uses artificial neural networks to predict
stock price movement (i.e., price returns) for firms traded on
the Shanghai stock exchange. We compare the predictive
power using linear models from financial forecasting literature
to the predictive power of the univariate and multivariate
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

neural network models. Our results show that neural networks
outperform the linear models compared. These results are
statistically significant across our sample firms, and indicate
neural networks are a useful tool for stock price prediction in
emerging markets, like China. [17]

Yi-Hsien Wang(2007)
This study integrated new hybrid asymmetric
volatility approach into artificial neural networks option-
pricing model to improve forecasting ability of derivative
securities price. Owing to combines the new hybrid
asymmetric volatility method can be reduced the stochastic
and nonlinearity of the error term sequence and captured the
asymmetric volatility simultaneously. Hence, in the ANNS
option-pricing model, the results demonstrate that Grey-GJR–
GARCH volatility provides higher predictability than other
volatility approaches. [25]

Pei-Chann Chang andChen-Hao Liu(2008)
In their study, an integrated system, CBDWNN by
combining dynamic time windows, case based reasoning
(CBR), and neural network for stock trading prediction is
developed and it includes three different stages: (1) screening
out potential stocks and the important influential factors; (2)
using back propagation network (BPN) to predict the buy/sell
points (wave peak and wave trough) of stock price and (3)
adopting case based dynamic window (CBDW) to further
improve the forecasting results from BPN.
The empirical results show that the CBDW can assist the
BPN to reduce the false alarm of buying or selling decisions.

Sheng-Hsun Hsu and JJ Po-An Hsieh (2008)
Their study employs a two-stage architecture for
better stock price prediction. Specifically, the self-organizing
map (SOM) is first used to decompose the whole input space
into regions where data points with similar statistical
distributions are grouped together, so as to contain and capture
the non-stationary property of financial series. After
decomposing heterogeneous data points into several
homogenous regions, support vector regression (SVR) is
applied to forecast financial indices. The proposed technique
is empirically tested using stock price series from seven major
financial markets. The results show that the performance of
stock price prediction can be significantly enhanced by using
the two-stage architecture in comparison with a single SVR
model. [20]

Wei-Sen Chen and Yin-Kuan Dua(2008)
Their paper adopted the operating rules of the Taiwan
stock exchange corporation (TSEC) which were violated by
those companies that were subsequently stopped and
suspended, as the range of the analysis of this research. In
addition, this paper also used financial ratios, other non-
financial ratios, and factor analysis to extract adaptable
variables. Moreover, the artificial neural network (ANN) and
data mining (DM) techniques were used to construct the
financial distress prediction model. The empirical experiment
with a total of 37 ratios and 68 listed companies as the initial
samples obtained a satisfactory result, which testifies for the
feasibility and validity of their proposed methods for the
financial distress prediction. [23]

Zhang Yudong and Wu Lenan(2008)
Their paper proposed an improved bacterial chemo
taxis optimization (IBCO), which is then integrated into the
back propagation (BP) artificial neural network to develop an
efficient forecasting model for prediction of various stock
indices. Experiments show its better performance than other
methods in learning ability and generalization. [27]

E.L. de Faria and J.L. Gonzalez (2009)
Their work performs a predictive study of the
principal index of the Brazilian stock market through artificial
neural networks and the adaptive exponential smoothing
method, respectively. The objective is to compare the
forecasting performance of both methods on this market index,
and in particular, to evaluate the accuracy of both methods to
predict the sign of the market returns. Also the influence on
the results of some parameters associated to both methods is
studied. Their results show that both methods produce similar
results regarding the prediction of the index returns. On the
contrary, the neural networks outperform the adaptive
exponential smoothing method in the forecasting of the market
movement, with relative hit rates similar to the ones found in
other developed markets. [6]

The present study attempts to undertake the following
1- Considering the main variables to estimate future stock
price of companies acting in stock exchange.
2- Price estimation using two methods of artificial neural
network and linear regression neural networks and comparison
of these two methods’ results.


A. Sample Unit
The population of present study including all
companies who were acting in Tehran stock exchange in
1380– 1386. There fore, those companies whose symbol was
not active during this period were omitted and finally, 100
companies were chosen. The scope of subject in this study
includes the consideration of the relationship between macro
economic and financial variables with stock future price.
Scope of locative of this study includes all accepted
companies who were active in Tehran stock exchange from
early 1379 to the end of 1386.

B. Data Collection Method
In this study, we used 10 macro economic variables
and 30 financial variables to study their effects on stock future
price. Data related to macro economic variables were collected
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

through Central Bank yearbook, economic reports and balance
sheet of Central Bank and Monetary and financial Research
center of Iran Central Bank and data related to companies
financial variables were calculated collected through
companies financial statements sand informational Agency of
Tehran(Iran) stock exchange.

C. Methodology Steps
1. Identifying related factors and omitting additional variables
(among macro economic and financial variables) through the
analysis of independent components.
2. Modeling and estimating stock future price through the
linear regression equation.
3. Modeling and estimating stock future efficiency using
General regression neural network.
4. Comparison of result related to these methods.

a) Independent Components Analysis (ICA)
To estimate financial time series, it is necessary to
use a set of continuous descriptive input variables among a
very huge set of primary inputs.
It is difficult to choose a significant and suitable subset of
input variables. In several scientific fields, it is difficult to find
a reasonable transfer for a huge set of multi-data.
Our purpose is to use a technique to summarize independent
components of time series in a set of variables which is named
independent components Analysis (ICA). This method will
decrease the number of descriptive variables by decreasing a
set of financial and economic information into smaller subsets
of independent components and maintaining the suitable
information. Removing the random elements from each data
set will facilitate the identification of relationship between
independent components and stock indexes.
Independent components Analysis are process to summarize a
new set of statistical independent components in a guide
vector. These components will show some estimations of data
main resource.
This process supposes a matrix of time series which includes a
compound process; so, this process will analyze the
independent components by creating a matrix when we enter
them, and identify the related and unrelated components and
provide us with the best matrix of estimative variables.

This technique will summarize as follows:
• This technique will summarize independent components of
time series in a set of variables.
• This technique will find a way to change data with the
minimum statistical dependency among the summarized
components into a linear data.
• If two random variables are unrelated, they will not be
• This technique is so special for analysis and estimation
which uses two matrixes of data covariance and data changes
by increasing the arrangement of linear and non-linear

b) Linear Regression
If researcher wants to estimate the dependent variable
by one or more independent variables, he will use a linear
regression model. This model will be shown as follows.
Amount of P for each set of data will result in
.When ever we use standard scores instead of
raw variables in the analysis, p regression coefficients will be
shown as B. This relation will be shown as.
Linear regression can be a method to estimate a set of
time series.
Average of financial and macro economic variables of
identified resources in the beginning of each year are
independent variables in these estimations. Dependent
variables Q are the real output of the company in estimation
model, which dependent on price data of all stocks in our
sample. Dependent variable will be estimated using regression
step method (OLS). All independent variables will enter to the
regression equation. These in dependent variables with P
values more than 5% will be omitted in estimation period and
at last, we will choose a subset of independent variables.
Olson & Mossman state that variables of 3 to 7 independent
variable will show the best estimations for this period.
According this study if step solution method chooses more
than eight independent variables, P – value will be decreased
to 3% or 4% , and if step solution method chooses one or two
variables, P- value will be increased to 10% to include more


K = the number of independent variables
P = regression coefficient of independent variable I in month t
j, i, t-1
= independent variable I for stock j at the end of previous
period (month t-1).
= error terms for each regression
Qj, t = price of (dependent variable) stock j in month t

c) General Regression Neural Network
GRNN can approximate any arbitrary function from
historical data. The major strength of GRNN compared to
other Ann’s is that its internal structure is not problem

Topology of GRNN
• GRNN consists of four layers:
• The first layer is responsible for reception of information.
• The input neurons present the data to the second layer
(pattern neurons).
• The output of the pattern neurons are forwarded to the
third layer (summation neurons).
• summation neurons are sent to the fourth layer (output

And we can summarize this model as:
• This model will consider a few non- linear aspects of the
estimation problem.
• This network model will be taught immediately, and will
be suitable for scattered data.

t j t i j
t i t j
u F P Q
, 1 , ,
, ,
* +

= ∑

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

• First, data will be clustered to decrease the needed layers
in hidden layer.
• This model enables to solve any problems in monotonous
• This model can not ignore non-related inputs with out the
main revisions in the main algorithm.

In time series, it is very important to conform an
estimation model to data pattern and we can obtain the
conformity of estimation method with data pattern by
calculating estimation error during the time period.
For example, when a technique of estimation estimates the
periodical and seasonal alternations in time series, then
estimation error will show the disordered or random
component in time series.
Error square mean index is obtained through dividing total
error differences square by time series. Error percent absolute
value mean is an index which will be used whenever
estimation of error based on percent is more suitable.
Determination coefficient is the most important factor one can
explain the relationship between two variants by which.

1- MSE
3- R

40 financial and macroeconomic variables will enter
independent components analysis method:

A. Macroeconomic Variables
Growth rates of industrial production
Inflation rate
Interest rate
Exchange rate
Rate of return on stock public
Unemployment rate
Oil price
Gross Domestic product (GDP)
Money supply 1 (M1)
Money supply 2 (M2)

B. Financial Variables
Book value per share
Sales per share
Earning per share
Cash flow per share
Inventory turnover rate
Annual average volume of daily trading relative to annual
average total market capitalization
Dividend yield
Dividend payout ratio
Dividend per share
Total of sales to total assets
Bid – ask spread
Market impact of a trade
Price per share
Trading volume
Turnover rate
Commission rate
Indicator variables for the day of the week effect
Holiday effect
January month
Amortized effective spread
Price history
Past return
Size of firm
Ratio of total debt to stockholder’s equity
Pastor measure
Ratio of absolute stock return to dollar volume
Market depth
Ratio of net income to book equity
Operating income to total assets
Operating income to total sales

Independent components analysis (ICA) most method
chooses variables with minimum statistical dependency and
explanation strength, and then we chose 40 variables

C. Financial Variables
Earning per share
Size of firm
Ratio of total debt to stockholder’s equity
Operating income to total sales

D. Macroeconomic Variables
Inflation rate
Money supply 1 (M1)
Growth rates of industrial production

Here, we show the results of two methods and the
model created by linear regression and neural network
methods and comparison of the models’ results using the
above-mentioned factors.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

A. Estimation of Linear Regression Model

Table I: Model Summary
Durbin-Watson Std. Error of
The Estimate
R Square
R Square R Model
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
sig F Mean Square df Sum Squares Model
0,000a 5,009
1 Regression
a. Predictors: (Constant), EPS, SOF, income, inflation, M1, Dept, ratio

Table III: table of Coefficients a
Unstanddardized Coefficients
sig t
Beta Std. Error B

1 (Constant)

a. Dependent Variable: stock price

(2) Y=-14.61+2.009X

Y: stock price
: Growth rate of industrial products
: Inflation rate
: Ratio of total liabilities to stockholders pay
: Company’s degree
: Earning per share

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

which remained in regression equation are 0.368 and have a
significant relation ship with stock price.
Coefficient of determination (R
) or (Pearson’s correlation
coefficient) show a ratio of total dependent variable changes
which are calculated by dependent variables of the equation.
So, in dependent variables could estimate 0.279 variance of
dependent variable (price). Moreover, according the B
standard coefficient one can say growth rate variable of
industrial products (Beta = 2.138) in a significant level 0.001
is the most descriptive for dependent variable value or stock

B. Estimation of General Regression Neural Network
To estimate General Regression Neural Network
Model, we consider 7 variables obtained from dependent
components analysis as input (P) and stock price as output (T).
Also, we calculated spread = 0.8326.becaues spread of more
than 1 will cause in hyper fitting of network and a larger
region of input to output vector. And its very small value will
cause in increase of estimation error. In a way that function
will have a high slope and neuron which weights are more
similar to its input will have more outputs than other neurons.
In this network member of input vector P will be calculated
for all neurons and will be calculated for transfer function
(sigmoid function) and the output will be gained after
multiplying in weights vector and adding to bias. And this
output will be a vector. We used a 3- layer general regression
neural network which had seven neurons in internal layer and
fourteen neurons in middle layer and one neuron in external to
After using learning algorithm and network education of 37
educational periods, network error graph is as follows.

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

(3) Y=-8.11+ 1.83X

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

Fig1: Mean Squared Error of GRNN Network

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

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

Table IV: the compare of two methods

GRNN 76,2 1,42 0,71
regression linear 97,6 3,73 0,368

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
GRNN 31,6 0,78 0,98

Neural networks are quicker than other methods
including regression because they are executing parallel and
tolerate more errors and also these networks can make rules
without any implicit formula which are understandable in an
environment of chaos and implicitly, such as stock exchange
which is a very important factor.
As said before, in this survey, we chose 100
companies of high quality in Tehran stock exchange. And we
understand that artificial neural network method is better than
linear regression method in estimation. And neural network
method is more descriptive than linear regression method, and
at last, the research theory, neural network method is better
than linear regression method, is approved in this study.

[1] Armstrong, J. S. (1988). Research needs in forecasting.
International Journal of Forecasting, 4, 449-465.

[2] Armstrong, J. S. (2001). Principles of Forecasting: A
Handbook for Researchers and Practitioners. Boston, MA:
Kluwer Academic Publishers. Business Forecasting with
Artificial Neural Networks: An Overview 15

[3] Chung et al., 2007 P.C. Chang, Y.W. Wang and C.H. Liu,
The development of a weighted evolving fuzzy neural network
for PCB sales forecasting, Expert Systems with Applications
32, pp. 86–96.

[4] David Enke and Suraphan Thawornwong,2005; The use of
data mining and neural networks for forecasting stock market
returns, Journal of Finance, USA

[5] D. E. Allen, W. Yang, 2004; Do UK stock prices deviate
from fundamentals? Volume 64, Pages 373-383

[6] E.L. de Faria and J.L. Gonzalez(2009); Predicting the
Brazilian stock market through neural networks and adaptive
exponential smoothing methods, Expert Systems with
Applications Article in Press.

[7] Eldon Y. Li, 1994; artificial neural networks and their
business applications, Information & Management, Volume
27, Issue 5, Pages

[8] Hwang, H. B. (2001). Insights into neural-network
forecasting of time series corresponding to ARMA (p, q)
structures. Omega, 29, 273-289.

[9] Kyoung-jae Kimand & Ingoo Han,2000; Genetic
algorithms approach to feature discretization in artificial
neural networks for the prediction of stock price index,
Institute of Science and Technology,
South Korea

[10] Makridakis, S., Anderson, A., Carbone, R., Fildes, R.,
Hibdon, M. , Lewandowski, R., Newton, J., Parzen, E., &
Winkler, R. (1982). The accuracy of extrapolation (time
series) methods: Results of a forecasting competition. Journal
of Forecasting, 1(2), 111-153.

[11] Medeiros, M. C. & Pedreira, C. E. (2001). What are the
effects of forecasting linear time series with neural networks?
Engineering Intelligent Systems, 237-424.

[12] Miao et al., 2007 K. Miao, F. Chen and Z.G. Zhao, Stock
price forecast based on bacterial colony RBF neural network,
Journal of QingDao University 20 (2) (2007), pp. 50–54 (in

[13] Oh and Kim, 2002 K.J. Oh and K.-J. Kim, Analyzing
stock market tick data using piecewise non linear model,
Expert System with Applications 22 (3) (2002), pp. 249–255

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

[14] Olson, Dennis and Mossman, Charls (2003), neural
network forecasts of Canadian stock returns using accounting
ratios, international journal of foresting 19, pp 453-465.

[15] Pei-Chann Chang and Chen-Hao Liu,(2008); A neural
network with a case based dynamic window for stock trading
prediction; Expert Systems with Applications
Volume 36, Issue 3, Part 2, Pages 6889-6898.

[16] Pino et al., 2008 R. Pino, J. Parreno, A. Gomez and P.
Priore, Forecasting next-day price of electricity in the Spanish
energy market using artificial neural networks, Engineering
Applications of Artificial Intelligence 21 (2008), pp. 53–62.

[17] Qing Cao, Karyl B. Leggio, Marc J. Schniederjans,2005;
A comparison between Fama and French's model and artificial
neural networks in predicting the Chinese stock market,
Computers & Operations Research, Volume32,pages2499-

[18] Ritanjali Majhi and Panda, 2007 Ritanjali Majhi, &
Panda, G., (2007). Stock market prediction of S&P 500 and
DJIA using bacterial foraging optimization technique. In 2007
IEEE congress on evolutionary computation (CEC 2007) (pp.

[19] Shaikh A. Hamid and Zahid Iqbal,2003; Using neural
networks for forecasting volatility of S&P 500 Index futures
prices, School of Business, USA

[20] Sheng-Hsun Hsu and JJ Po-An Hsieh(2008); A two-stage
architecture for stock price forecasting by integrating self-
organizing map and support vector regression, Expert Systems
with Applications, Volume 36, Issue 4, Pages 7947-7951.

[21] Tan et al., 2005 Tan, T. Z., Quek, C., & Ng, G. S. (2005).
Brain inspired genetic complimentary learning for stock
market prediction. In IEEE congress on evolutionary
computation, 2–5th September (Vol. 3, pp. 2653–2660).

[22] Wang, 2003 Y. Wang, Mining stock prices using fuzzy
rough set system, Expert System with Applications 24 (1)
(2003), pp. 13–23.

[23] Wei-Sen Chen and Yin-Kuan Dua, 2008; Using neural
networks and data mining techniques for the financial distress
prediction model, The Journal of Finance

[24] Widrow, B., Rumelhart, D., & Lehr, M. A. (1994). Neural
networks: Applications in industry, business and science.
Communications of the ACM,

[25] Yi-Hsien Wang(2007); Nonlinear neural network
forecasting model for stock index option price: Hybrid GJR–
GARCH approach, Expert Systems with ApplicationsVolume
36, Issue 1, Pages 564-570.
[26] Zhang, G. P. (2001). An investigation of neural networks
for linear time-series forecasting. Computers & Operations
Research, 28, 1183-1202.

[27] Zhang Yudong and Wu Lenan,2008; Stock market
prediction of S&P 500 via combination of improved BCO
approach and BP neural network, Expert Systems with
ApplicationsVolume 36, Issue 5, Pages 8849-8854.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
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 Soni
Department of Computer Applications

Dr. Namita Shrivastava

Asst. Prof. Deptt. of Mathematics

Dr. M. Kumar
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
because there is no way we can measure quality factors. For
measuring these factors, we have to express them in terms of
metrics or models. Researchers have developed quality models
that attempt to measure quality in terms of attributes,
characteristics and metrics. In this work we have proposed the
methodology of controlled experimentation coupled with power
of Logical Scoring of Preferences to evaluate global quality of
four object-oriented designs.

Keywords: Software Quality, Quantitative Measurement, LSP.
Software quality must be addressed during the whole
process of software development. However, design is of
particular importance in developing quality software for two
reasons: (i) design is the first stage in software system creation
in which quality requirement can begin to be addressed. Error
made at this stage can be costly, even impossible to be
rectified. (ii) design decision has significant effect on quality
on the final product.
Measuring quality in the early stage of software
development is the key to develop high-quality software.
Analyzing object-oriented software in order to evaluate its
quality is becoming increasingly important as the paradigm
continues to increase in popularity. A large number of software
product metrics have been proposed in software engineering.
While many of these metrics are based on good ideas about
what is important to measure in software to capture its
complexity, it is still necessary to systematically validate them.
Recent software engineering literature has shown a concern for
the quality of methods to validate software product metrics
(e.g., see [1][2][3]). This concern is due to fact that: (i)
common practices for the validation of software engineering
metrics are not acceptable on scientific grounds, and (ii) valid
measures are essential for effective software project
management and sound empirical research. For example,
Kitchenham [2] write: "Unless the software measurement
community can agree on a valid, consistent, and
comprehensive theory of measurement validation, we have no
scientific basis for the discipline of software measurement, a
situation potentially disastrous for both practice and research."
According to Fenton [4], there are two types of validation
that are recognized: internal and external. Internal and external
validations are also commonly referred to as theoretical and
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
properties for common software maintainability metrics for
object-oriented design. Software organizations can use
validated product metrics in at least three ways: to identify high
risk software components early, to construct design and
programming guidelines, and to make system level predictions.
Empirical validation can be performed through surveys,
experiments and case-study.
Recently, Kumar and Soni [5] have proposed a hierarchical
model to evaluate quality of object-oriented software. The
proposed model of [5] has been validated both theoretically as
well as empirically in a recent paper by Soni, Shrivastava and
Kumar [6]. Further the model has been used for evaluation of
maintainability assessment of object-oriented design quality,
especially in design phase, by Soni and Kumar [7]. In this
research, the authors have attempted to empirically validate the
object-oriented design model of [5] using the methodology of
controlled experiment. A global quality assessment of several
designs have been made using the method of Logical scoring of
Preferences (LSP). The Section II deals with experimental
environment and data collection and the Section III deals with
the method of Logical Scoring of Preferences (LSP) used to
evaluate the overall quality of software design. Section IV
gives the steps for design quality evaluation and Section V
analyzes and compare the quality of selected designs.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No.2, 2010
For the purpose of empirically evaluating object-oriented
design for its quality using the hierarchical quality model
proposed by Kumar and Soni [5], we needed a few designs
created independently for the same problem/project. We used
12 students of fifth semester, Master of Computer Applications
of Maulana Azad National Institute of Technology, Bhopal.
They had studied courses on Data Base Management System,
Object-Oriented Analysis and Design and C++ programming
language course including laboratory on these topics. We
formed three groups of 4 students each. These groups were
provided a written problem statement (user requirements) for
designing a small sized library management system for
MANIT library. For any difficulty they were free to consult
library staff. The three groups independently created one
design each for the library management system. They were
asked to follow Object-Oriented Analysis and Design
methodology [8] for designing and were given two months to
complete the work and produce design using methodology of
discussion and walk-through within its group. The three
designs produced are given in Fig 13, 14 and 15 (see Appendix
A). To make this work more reliable and trustworthy, we also
evaluated an object-oriented design of Human Resource
Department [13]. This design was used to raise HR database,
which is being successfully used by Bharat Heavy Electrical
Limited (BHEL), Bhopal. This design is produced in Fig 16
(see Appendix A).
The Logical Scoring of Preferences (LSP) method was
proposed in 1996 by Dujmovic [9][11][12] who used it to
evaluate and select complex hardware and software systems. It
is grounded on Continuous Preference Logic. In LSP, the
features are decomposed into aggregation blocks. This
decomposition continues within each block until all the lowest
level features are directly measurable. A tree of decomposed
features and sub-factors at one level will have a number of
aggregation blocks, each resulting in a higher-level factors
going up the tree right through to the highest-level features. For
each feature, an elementary criterion is defined. For this, the
elementary preference E
needs to be determined by calculating
a percentage from the feature score X
. This relationship is
represented in the following equation:
) (1)
where E is the elementary preference, G is the function for
calculating E, X is the score of a feature and i is the number of
a particular feature. The elementary preferences for each
measurable feature in one aggregation block are used to
calculate the preference score of the higher feature. This in turn
is used with the preferences scores of an even higher feature,
continuing right up until a global preference is reached. The
global preference is defined as:
E = L(E
) (2)
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
yields an output preference e
, for the global preference E, or
any subfeature E
. It is calculated as:
+ ... + W
, W
+ … + W
= 1 (3)
where e
is the output preference, W is the weight of the
particular feature, E is the elementary preference of a feature, k
is the number of features in the aggregation block and r is a
conjunctive/disjunctive coefficient of the aggregation block.
For each E
a weight W
is defined for the corresponding
feature. The weight is a fraction of 1 and signifies the
importance of a particular feature within the aggregation block.
The r coefficient represents the degree of simultaneity for a
group of features within an aggregation block. This is described
in terms of conjunction and disjunction. The modification of
above model, called Logic Scoring of Preferences, is a
generalization of the additive-scoring model and can be
expressed as follows
P/GP(r) = (W
+ ... + W

where W
weights and EP
are elementary preferences. The
power r is a parameter selected to achieve the desired logical
relationship and polarization intensity of the aggregation
function. Value of 'r' used in Logic Scoring of Preferences
method is given in Table I.

The strength of LSP resides in the power to model different
logical relationships:
 Simultaneity, when is perceived that two or more input
preferences must be present simultaneously
 Replaceability, when is perceived that two or more
attributes can be replaced (there exist alternatives, i.e., a
low quality of an input preference can always be
compensated by a high quality of some other input).
 Neutrality, when is perceived that two or more input
preferences can be grouped independently (neither
conjunctive nor disjunctive relationship)
 Symmetric relationships, when is perceived that two or
more input preferences affect evaluation in the same
logical way (tough may be with different weights).
 Asymmetric relationships, when mandatory attributes are
combined with desirable or optional ones; and when
sufficient attributes are combined with desirable or
optional ones.

Steps required for the evaluation of design quality are:

d r2 r3 r4 r5
A 0.5000 1.000 1.000 1.000 1.000
WEAK QC (-) C-- 0.4375 0.619 0.573 0.546 0.526
WEAK QC (+) C-+ 0.3125 -0.148 -0.208 -0.235 -0.251
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
and attributes (i.e. A
…. A
): here, we define and specify the
quality characteristics and attributes, grouping them into a
model. For each quantifiable attribute Ai, we can associate a
variable X
, which can take a real value: the measured value.

2. Defining criterion function for each attribute, and
applying attribute measurement: In this process, we define
the basis for elementary evaluation criteria and perform the
measurement sub-process. Elementary evaluation criteria
specifies how to measure quantifiable attributes. The result is
an elementary preference, which can be interpreted as the
degree or percentage of satisfied requirement. For each variable
, i = 1, ...,n it is necessary to establish an acceptable range of
values and define a function, called the elementary criterion.
This function is a mapping of the measured value in the
empirical domain [10] into the new numerical domain. Then
the final outcome is mapped in a preference called the
elementary quality preference, EQ
. We can assume the
elementary quality preference EQ
as the percentage of

requirement satisfied by the value of X
. In this sense, EQ
0% denotes a totally unsatisfactory situation, while EQ
100% represents a fully satisfactory situation, Dujmovic
(1996). Ultimately, for each quantifiable attribute, the
measurement activity should be carried out.
3. Evaluating elementary preferences: In this task, we
prepare and enact the evaluation process to obtain an indicator
of partial preference for design. For n attributes, the mapping
produces n elementary quality preferences.
1 Functionality
1.1 Design Size
1.1.1 Number of Classes (NOC)
1.2 Hierarchies
1.2.1 Number of Hierarchies (NOH)
1.3 Cohesion
1.3.1 Cohesion Among Methods of Class (CAM)
1.4 Polymorphism
1.4.1 Number of Polymorphic Methods (NOP)
1.5 Messaging
1.5.1 Class Interface Size (CIS)

2 Effectiveness
2.1 Abstraction
2.1.1 Number of Ancestors (NOA)
2.1.2 Number of Hierarchies (NOH)
2.1.3 Maximum number of Depth of Inheritance
2.2 Encapsulation
2.2.1 Data Access Ratio (DAR)
2.3 Composition
2.3.1 Number of aggregation relationships
2.3.2 Number of aggregation hierarchies (NAH)
2.4 Inheritance
2.4.1 Functional Abstraction (FA)
2.5 Polymorphism
2.5.1 Number of Polymorphic Methods (NOP)

3 Understandability
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)

4 Reusability
4.1 Design Size
4.1.1 Number of Classes (NOC)
4.2 Coupling
4.2.1 Direct Class Coupling (DCC)
4.3 Cohesion
4.3.1 Cohesion Among Methods of Class (CAM)
4.4 Messaging
4.4.1 Class Interface Size (CIS)

5 Maintainability
5.1 Design Size
5.1.1 Number of Classes (NOC)
5.2 Hierarchies
5.2.1 Number of Hierarchies (NOH)
5.3 Abstraction
5.3.1 Number of Ancestors (NOA)
5.4 Encapsulation
5.4.1 Data Access Ratio (DAR)
5.5 Coupling
5.5.1 Direct Class Coupling (DCC)
5.5.2 Number of Methods (NOM)
5.6 Composition
5.6.1 Number of aggregation relationships
5.6.2 Number of aggregation hierarchies (NAH)
5.7 Polymorphism
5.7.1 Number of Polymorphic Methods (NOP)
5.8 Documentation
5.8.1 Extent of Documentation (EOD)

Figure 1 Proposed hierarchical design quality model
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No.2, 2010
0.3 2
4. Analyzing and assessing partial and global quality
preferences: In this final step, we analyze and assess the
elementary, partial and total quantitative results regarding the
established goals.

A. Establishing Elementary Criteria
For each attribute A
we associate a variable X
which can
take a real value by means of the elementary criterion function.
The final result represents a mapping of the function value into
the elementary quality preference, EQ
. The value of EQ
is a
real value that ‘fortunately’ belongs to the unit interval.
Further, the preference can be categorized in three rating levels
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
action to improve the attribute quality should be taken into
account by the manager or developer. Figure 2, shows sample
elementary criteria for attributes.
Number of Cl asses
( NOC)

0= no classes

1= 8 or more
classes present

100 8


0% 0

Number of
Hi er ar chi e
s ( NOH)

0= no

level is 5
or more

100 5


0% 0

Max i mum Dept h of
I nher i t ance ( MDI T)

0= Dept h is 1

1= Dept h is 6 or

100 6


0% 1

Dat a
Rat i o
( DAR)

0= rat io is
less t han

1= if rat io
is 80% or

100 80%


0% 5%

Ex t ent of Document at i on ( EOD)

0= Document at ion is upt o 5%

1= document at ion is upt o 100%

100 100%


0% 5%

Figure 2 Sample elementary criteria defined as preference scales for the
hierarchical model.
The preference scale for the Number of Classes (NOC)
metric is a multi-level discrete absolute criterion defined as a
subset, where 0 implies no classes available; 8 or more implies
satisfactory (100%) number of classes present. The preference
scale for the Number of Hierarchies (NOH) metric is a multi-
level discrete absolute criterion defined as a subset, where 0
implies no hierarchy available; 5 or more implies satisfactory
(100%) number of hierarchies present. The preference scale for
the Maximum Depth of Inheritance (MDIT) metric is a multi-
level discrete absolute criterion defined as a subset, where 0
implies depth is 1 level; 6 or more implies depth is satisfactory
The preference scale for the Data Access Ratio (DAR)
metric is a multi-level discrete absolute criterion defined as a
subset, where 0 implies ratio is less then 5%; 80% or more
implies satisfactory (100%) ratio. The preference scale for the
Extent of Documentation (EOD) metric is a multi-level discrete
absolute criterion defined as a subset, where 0 implies that
documentation present is 5% or less; 100% implies satisfactory
(100%) documentation available. Similar criteria were
followed for other metrics as well.
B. Logic Aggregation of Elementary Preferences

Evaluation process is to obtain a quality indicator for each
competitive system then applying a stepwise aggregation
mechanism, the elementary quality preferences can be
accordingly structured to allow the computing of partial
preferences. Figure 3 to 7 depicts the aggregation structure for
functionality, effectiveness, understandability, reusability and

Figure 3 Structure of Partial Logic Aggregation for Functionality Factor

Figure 4 Structure of Partial Logic Aggregation for Effectiveness Factor
0.3 0.35
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No.2, 2010
0.55 0.1
0.1 Global

Figure 5 Structure of Partial Logic Aggregation for Understandability Factor

Figure 6 Structure of Partial Logic Aggregation for Reusability Factor

Figure 7 Structure of Partial Logic Aggregation for Maintainability Factor
The global preferences can be obtained through repeating
the aggregation process at the end. The global quality
preference represents the global degree of satisfaction of all
involved requirements. To evaluate the global quality it is
necessary to assign elementary preference to each metric of the
hierarchical model in Figure 1. Figure 8 shows the high-level
characteristics aggregation to yield the global preference. The
stepwise aggregation process follows the hierarchical structure
of the hierarchical model from bottom to top. The major CLP
operators are the arithmetic means (A) that models the
neutrality relationship; the pure conjunction (C), and quasi-
conjunction operators that model the simultaneity one; and the
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
positioned between A and C- operators; and C-+ is between
CA and C operators, and so on. The above operators (except A)
mean that, given a low quality of an input preference can never
be well compensated by a high quality of some other input to
output a high quality preference. For example in the Figure 3 at
the end of the aggregation process we have the sub-
characteristic coded 1.1 (called Design Size in the hierarchical
Model, with a relative importance or weight of 0.3), and 1.2
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-
characteristic (Messaging, 0.3 weighted).
All these sub-characteristic preferences are input to the C--
logical function, which produce the partial global preference
coded as 1, (called Functionality).

Figure 8 Global Aggregation of Preferences of Quality
A C-+
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No.2, 2010

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.
The results of partial quality preferences for functionality,
understandability, reusability, effectiveness and maintainability
of designs are shown in Table II to VI. A comparison of partial
and global preferences of factors is given in Table VII for all
the four designs. A bar chart representing the global quality of
four designs is given in Fig 12.




Characteristics and
1. Functionality
1.1 Design Size
1.1.1 Number of
Classes (NOC)
1 1 1
1.2 Hierarchies
1.2.1Number of
Hierarchies (NOH)
.4 .4 .4 .7
1.3 Cohesion
1.3.1 Cohesion Among
Methods of Class
.8 .7 .6 .8
1.4 Polymorphism
1.4.1 Number of
Polymorphic Methods
1 1 1 .8
1.5 Messaging
1.5.1 Class Interface
Size (CIS)
.7 .6 .5 .8
Partial Quality
77.19 73.54 69.69 86.58
Characteristics and
4. Reusabi l i t y
4. 1 Design Size
4. 1. 1 Number of
Classes ( NOC)
1 1 1 1
4. 2 Coupling
4. 2. 1 Direct Class
Coupling ( DCC)
1 1 1 1
4. 3 Cohesion
4. 3. 1 Cohesion
Among Met hods of
Class ( CAM)
. 8 . 7 . 6 . 8
4. 4 Messaging
4. 4. 1 Class
I nt erface Size ( CI S)
. 7 . 6 . 5 . 8
Par t i al Qual i t y
Pr ef er ence
86.06 80.12 73.97 88.75
Characteristics and Sub-
3. Under st andabi l i t y
3. 1 Encapsulat ion
3. 1. 1 Dat a Access Rat io
( DAR)
1 . 8 . 6 . 8
3. 2 Cohesion
3. 2. 1 Cohesion Among
Met hods of Class ( CAM)
. 8 . 7 . 6 . 8
3. 4 Polymorphism
3. 4. 1 Number of
Polymorphic Met hods
( NOP)
1 1 1 1
Par t i al Qual i t y
Pr ef er ence
91.77 81.60 71.08 85.79
Char act er i st i cs and
Sub- char act er i st i cs
LMS - 1 LMS - 2 LMS - 3 HRI S
2. Effect iveness
2. 1 Abst ract ion
2. 1. 1 Number of
Ancest ors ( NOA)
. 5 . 4 . 3 . 8
2. 1. 2 Number of
Hierarchies ( NOH)
. 4 . 4 . 4 . 7
2. 1. 3 Maximum
number of Dept h of
I nherit ance ( MDI T)
. 5 . 4 . 2 . 6
2. 2 Encapsulat ion
2. 2. 1 Dat a Access
Rat io ( DAR)
1 . 8 . 6 . 8
2. 3 Composit ion
2. 3. 1 Number of
aggregat ion
relat ionships ( NAR)
. 4 . 3 . 4 . 5
2. 3. 1 Number of
aggregat ion
hierarchies ( NAH)
. 8 . 7 . 6 . 7
2. 5 Polymorphism
2. 5. 1 Number of
Polymorphic Met hods
( NOP)
1 1 1 1
Par t i al Qual i t y
Pr ef er ence
72.00 61.62 51.15 76.71
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No.2, 2010

Global Quality Preference
LMS - 1
LMS – 2
LMS - 3
Global Quality Preference

Figure 12 Global Quality of Designs

We have used the Logical Scoring of Preferences method to
evaluate global quality of four designs, three created by fifth
semester Master of Computer Applications students and the
fourth one created by professionals. As expected the global
quality index of design created by professionals has the
highest quality index of 84.07 followed by design LMS-1,
which has the value 78.61. We believe that the methodology
used is quite simple and will provide reasonable estimates for
factors like functionality, effectiveness, reusability,
understandability, and maintainability and also the overall
quality of software design. It is worth mentioning that a
reasonable estimate of maintainability of software design is
going to be very useful for software professionals.

[1] N. Fenton and B. Kitchenham, "Validating Software Measures," Journal
of Software Testing, Verification and Reliability, vol. 1, no. 2, pp. 27-
42, 1990.
[2] B. Kitchenham, S-L Pfleeger, and N. Fenton, "Towards a Framework for
Software Measurement Validation," IEEE Transactions on Software
Engineering, vol. 21, no. 12, pp. 929-944, 1995.
[3] N. Schneidewind, "Methodology for Validating Software Metrics,"
IEEE Transactions on Software Engineering, vol. 18, no. 5, pp. 410-
422, 1992.
[4] N. Fenton, "Software Metrics: Theory, Tools and Validation," Software
Engineering Journal, pp. 65-78, January, 1990.
[5] M.Kumar and D. Soni, “Observations on Object-Oriented Design
Assessment and Evolving New Model”, Proc of The National
Conference on Software Engineering, pp. 161-164, 2007.
[6] D. Soni, R Shrivastava and M.Kumar “A Framework for Validation of
Object-Oriented Design Metrics”, (IJCSIS) International Journal of
Computer Science and Information Security, Vol 6, no 3, pp. 46-52, Dec
[7] D. Soni and M.Kumar “Maintainability assessment of object-oriented
design quality”, International Journal on Computer Engineering and
Information Technology, Vol 2, no 2, pp. 35-41, 2009.
[8] J. Rumbaugh et al., “Object-Oriented Modeling and Design,” Prentice
Hall, 1991.
[9] J.J. Dujmovic, "A Method for Evaluation and Selection of Complex
Hardware and Software Systems", The 22nd International Conference
for the Resource Management and Performance Evaluation of Enterprise
CS. CMG 96 Proceedings, Vol. 1, pp.368-378, 1996.
[10] N.E. Fenton, S.L. Pfleeger, “Software Metrics: a Rigorous and
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,
Comparison, and Selection ", National Bureau of Standards, Washington
D.C. Nº GCR 82-374. NTIS Nº PB 82-170150, pp. 150, 1982.
[12] Luis Olsina Santos, “Web-site Quality Evaluation
Method: a case Study on Museums” ICSE 99 – 2

Workshop on Software Engineering over the Internet,
[13] M.Kumar and S.K. Gandhi, “Object-Oriented Modeling Design
Approach to General Human Resource System”, Journal of MACT, Vol.
34,35, 2003-04.

Characteristics and
5. Mai nt ai nabi l i t y
5. 1 Design Size
5. 1. 1 Number of
Classes ( NOC)
1 1 1 1
5. 2 Hierarchies
5. 2. 1 Number of
Hierarchies ( NOH)
. 4 . 4 . 4 . 7
5. 3 Abst ract ion
5. 3. 1 Number of
Ancest ors ( NOA)
. 5 . 4 . 3 . 8
5. 4 Encapsulat ion
5. 4. 1 Dat a Access
Rat io ( DAR)
1 . 8 . 6 . 8
5. 5 Coupling
5. 5. 1 Direct Class
Coupling ( DCC)
1 1 1 1
5. 5. 2 Number of
Met hods ( NOM)
1 1 1 1
5. 6 Composit ion
5. 6. 1 Number of
aggregat ion
relat ionships ( NAR)
. 4 . 3 . 4 . 5
5. 6. 2 Number of
aggregat ion
hierarchies ( NAH)
. 8 . 7 . 6 . 7
5. 7 Polymorphism
5. 7. 1 Number of
Met hods ( NOP)
1 1 1 1
5. 8 Document at ion
5. 8. 1 Ext ent of
Document at ion
( EOD)
. 7 . 8 . 7 . 7
Par t i al Qual i t y
Pr ef er ence
68.54 65.82 59.98 79.98

LMS -1 77.19 72 91.77 86.06 68.54 78.61
LMS -2 73.54 61.62 81.6 80.12 65.82 72.9
LMS -3 69.69 51.15 71.08 73.97 59.98 66.01
HRIS 86.58 76.71 85.79 88.75 79.98 84.07
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)

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

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

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.
Department of Computer Science
Presidency College
Chennai, India

Meenakshi Lakshmanan
Department of Computer Science
Meenakshi College for Women
Chennai, India
Research Scholar, Mother Teresa Women’s University
Kodaikanal, India

Abstract — Poetry-writing in Sanskrit is riddled with problems
for even those who know the language well. This is so because the
rules that govern Sanskrit prosody are numerous and stringent.
We propose a computational algorithm that converts prose given
as E-text into poetry in accordance with the metrical rules of
Sanskrit prosody, simultaneously taking care to ensure that
sandhi or euphonic conjunction, which is compulsory in verse, is
handled. The algorithm is considerably speeded up by a novel
method of reducing the target search database. The algorithm
further gives suggestions to the poet in case what he/she has given
as the input prose is impossible to fit into any allowed metrical
format. There is also an interactive component of the algorithm
by which the algorithm interacts with the poet to resolve
ambiguities. In addition, this unique work, which provides a
solution to a problem that has never been addressed before,
provides a simple yet effective speech recognition interface that
would help the visually impaired dictate words in E-text, which is
in turn versified by our Poetry Composer Engine.
Keywords - Sanskrit, poetry composer, sandhi, metre, metrical
analysis, long-short analysis, speech recognition
Poetry-writing in any language has always posed a
challenge, causing poets to be acclaimed as a lofty tribe. The
case is particularly strengthened when it comes to writing
Sanskrit poetry, which is subject to numerous stringent rules at
the grammatical, semantic and metrical levels, with compound
word formations and euphonic conjunctions (sandhi-s)
exacerbating the complexity.
In Sanskrit poetry, words may be positioned anywhere and
in any order in the verse, and need not read in prose-order. The
prose-order is later gleaned by bunching together words of the
same genre, i.e. those belonging to the same case-inflectional
form, gender, number or tense. For example, an adjective can
easily be matched with the noun it describes, by looking for the
closest noun that is in the same case-inflectional form, gender
and number as itself. This re-organizing into the prose-order is
the procedure followed in practice in order to decipher the
meaning of a verse.
The computational algorithm we propose, converts prose
given as E-text into poetry in strict accordance with the
metrical rules of Sanskrit prosody. What would otherwise be an
algorithm with very high time complexity, is considerably
improved by a novel scheme by which the target search space
is narrowed down significantly. The algorithm also handles
sandhi-s, since they are compulsorily to be implemented while
versifying. Another path-breaking feature of the algorithm is
that it gives suggestions to the poet in case his/her input cannot
be versified according to the metrical rules. Moreover, in cases
where the sandhi rule is ambiguous, the algorithm interacts
with the poet to confirm his decision on resolving the same. In
addition, a speech recognition interface is also provided, that
would help the visually impaired dictate words in E-text, which
are then versified by the Poetry Composer Engine.
A. Unicode Representation of Sanskrit Text
The Unicode (UTF-8) standard is what has been adopted
universally for the purpose of encoding Indian language texts
into digital format. The Unicode Consortium has assigned the
Unicode hexadecimal range 0900 - 097F for Sanskrit
All characters including the diacritical characters used to
represent Sanskrit letters in E-texts are found dispersed across
the Basic Latin (0000-007F), Latin-1 Supplement (0080-00FF),
Latin Extended-A (0100-017F) and Latin Extended Additional
(1E00 – 1EFF) Unicode ranges.
The Latin character set has been employed in this paper to
represent Sanskrit letters as E-text.
The text given in the form of E-text using the Unicode
Latin character set, is taken as input for processing. Unicode
Sanskrit font may also be accepted as input, but is converted to
the Latin character form before processing begins, as already
presented by the authors in [3].
A. Metrical Rules
Verses in Sanskrit are classified according to metres, i.e.
according to the number and type of syllables in the four
quarters of the verse (and in a few cases, in the two halves of
the verse). Algorithms to efficiently parse and classify verses
into more than 700 metres, have already been developed by the
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
classification scheme and methodology.
Sanskrit verse is normally taken to consist of a sequence of
four pāda-s or quarters. Each quarter is regulated either by the
number of syllables (akṣara-s) or the number of syllabic
instants (mātrā-s) and the determination of metres is based on
either of these factors [3]. Metres based on the first yardstick
are called varṇa metres, while those based on the second are
termed jāti metres.
Varṇa Metres
A syllable is as much of a word as can be pronounced at
once. There are two types of syllables to contend with – the
long (guru) and the short (laghu). The following is how
syllables are categorized as long and short:
Short syllables:
• Normally, all short vowels – a, i, u, ṛ, ḷ.
Long syllables:
• All long vowels – ā, ī, ū, ṝ.
• Any short vowel followed by the anusvāra (ṁ).
• Any short vowel followed by the visarga (ḥ).
• Any short vowel followed by a double consonant. (The
exceptions to this rule are the double consonants pr, br,
kr and those starting with h. In these four cases, the
preceding short vowel can optionally remain short.)
• Optionally, any short vowel at the end of a pāda.
The optional nature of the exceptions mentioned in the last
two rules above, indicates a sort of poetic license.
From the above discussion it is clear that the four quarters
of a verse can each be represented as a sequence of long and
short syllables. Traditionally, identification of varṇa metres is
done on the basis of metrical feet, termed ‘gaṇa-s’ in Sanskrit.
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
as in Table I, in which ‘l’ stands for a laghu (short) letter, and
‘g’ for a guru (long) one.
The number of syllables in a quarter can vary from 1 to
999. When the number of syllables is between 1 and 26 per
quarter, the meters are categorized into three:
a. Sama (meaning ‘equal’) – In this, all the four quarters of
the verse are identical not just in terms of the number of
syllables, but also in the sequence of long and short
b. Ardhasama (meaning ‘half-equal’) – In this, the first and
third quarters are identical, as are the second and fourth.
c. Viṣama (meaning ‘unequal’) – In this, the quarters are
uneven or mixed up.
English Category
1 lgg y Bacchius
2 glg r Amphimacer
3 ggl t Anti-bacchius
4 gll bh
(denoted as b)
5 lgl j Amphibrachys
6 llg s Anapaestus
7 ggg m Molussus
8 lll n Tribrachys
The meters in which there are greater than 26 syllables per
quarter are of the ‘danḍaka’ type and are beyond the scope of
this work. [3]
Given that each syllable can be either ‘l’ or ‘g’, there is
clearly a combinatorial explosion in the number of possible 1-
syllabled to 26-syllabled Sama metres. For Ardhasama metres
the possible number is obviously even higher, and with
Viṣama, the possibilities are infinite. However, the number of
metres in actual use across the literature is limited to a smaller
number than the number theoretically possible. Hence, it is
sufficient to handle the metres in vogue [4]. An example is
given in Table II.
Verse l-g syllables Gaṇa
vande gurūṇāṁ caraṇāravinde
sandarśitasvātmasukhāvabodhe |
janasya ye jāṅgalikāyamāne
saṁsārahālāhalamohaśāntyai ||
ggl ggl lgl gg
ggl ggl lgl gg
lgl ggl lgl gg
ggl ggl lgl gg
The metre of a verse having the gaṇa sequence “ttjgg” in all
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
“Upendravajrā”. A verse such as the example given in Table
II, whose gaṇa sequences are a combination of the Indravajrā
and Upendravajrā sequences, is said to have the metre called
Jāti Metres
In this type of metre, each short syllable is counted as
constituting one syllabic foot or mātrā, while a long syllable is
counted as constituting two. Such metres are categorized into
two, depending on whether the verse is considered as
constituted by two halves, or by four quarters. The various
types of the oft-encountered Āryā metres are examples of the
first variety.
The identification of metres is done based mainly on the
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
mātrā-s. [3]
While composing verse, a poet must make sure that the
length of a pāda or half-verse (as the case may be), falls into
one of the accepted metre types, either varṇa or jāti. This
implies that the laghu-guru (L-G) combinations of syllables in
the verse comply with some accepted metre-format. This forms
the main challenge in composing poetry in Sanskrit, and thus
has to be most importantly ensured while creating poetry out of
a given Sanskrit sentence or group of sentences.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
B. Rules of Euphonic Conjunctions
Euphonic conjunctions or sandhi-s in Sanskrit are points
between adjacent words or sub-words at which letters coalesce
and transform. The application of sandhi is compulsory in
Sanskrit verse, though the rules are not as stringent in the
prose. A novel computational approach to sandhi processing
based on building sandhi-s rather than splitting them, was
developed by the authors [2]. This was done in accordance with
the grammatical rules laid down by the ancient Sanskrit
grammarian-genius Pāṇini in his magnum opus, the Aṣṭādhyāyī
and forms a comprehensive sandhi-building engine.
An example of sandhi is: tat + ṭīkā = taṭṭīkā. This is an
example of the ṣṭutva sandhi type of euphonic conjunctions [2].
In this case, the word tat is an ‘l’ syllable, while the word ṭīkā
maps to ‘gg’. Hence, with these two words given in the above
sequence, we get the l-g sequence, “lgg”. Now application of
the sandhi rule as shown above causes a transformation of the
word. As per the rules outlined in section 3.1 above, the word
taṭṭīkā has the l-g sequence “ggg”. Thus, the first syllable
provided by the word tat gets transformed from short type to
long type.
While composing poetry by changing the order of the given
words, care must be taken to handle all such sandhi rules that
affect the long and short syllables.
There is, however, an exception to sandhi rules that must be
handled as well. Normally, sandhi rules operational on phale +
atra would transform into phale’tra, i.e. the starting vowel ‘a’
of the second word would be dropped. Now the word phale can
have two meanings: ‘in the fruit’ and ‘two fruits’. In the latter
case, i.e. when the word is in the dual number, the above
sandhi rule will not be operational.
A. The Input
The input is given as E-text with diacritical marks, using
the Latin Unicode character set mentioned in Section 1.1. It is
assumed that compound words are properly formed before the
input is given. For example, the compound word gaṅgājalam is
actually composed of two words gaṅgāyāḥ jalam meaning
“(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
‘jalam’ as two separate words, or he would have to provide the
compound word ‘gaṅgājalam’. Giving the input as the two
words ‘gaṅgā’ and ‘jalam’ would be incorrect and
unacceptable, unless the poet wants to refer to River Gaṅgā
independently and water independently, without intending to
convey the relationship “Gaṇgā’s water”.
To facilitate ease of access for the visually impaired, a
simple alternative user interface is introduced. Since English
style E-text is what is employed for input, the application is
made voice-enabled, so that the input can be called out letter by
letter, providing a pause between words. For example, to input
the word “bhagavān”, the user calls out, ‘b’, ‘h’, ‘a’, ‘g’, ‘a’,
‘v’, ‘A’, ‘n’ [6]. The special diacritical characters like ‘ā’ are
processed specially by the input module, as shown in Table III.
Converting the output verse form to speech for the benefit of
such users, has already been solved by the authors in earlier
work [4].
# Diacritical
English speech equivalent
(all in capital)
1 ā A
2 ī I
3 ū U
4 ṛ R
5 ṝ F
6 ḷ L
7 ṅ G
8 ñ Y
9 ṭ T
10 ḍ D
11 ṇ N
12 ś S
13 ṣ Z
14 ḥ H
15 ṁ M
B. The Overall Algorithmic Approach
The following is the overall algorithm for converting the
given input into poetry.
Algorithm ComposePoetry
Step 1: Scan the given text and establish the maximum and
minimum possible number of syllables in a verse that can result
from the given input. This is done as follows:
Step 1.1: Determination of Maximum (Max): Max = the
total number of vowels in the input.
Note: The number n denotes the maximum number of
syllables possible in the verse, no matter in what order the
words are jumbled up, and no matter what sandhi rules
have to consequently be applied. This is because the
application of sandhi rules can only reduce the number of
syllables and can never increase them.
Step 1.2: Determination of Minimum (Min): Calculate
Min, the minimum number of syllables in the verse, by
examining possible sandhi-s that are applicable with the
words in the given input, and the maximum number of
reductions possible through them.
Step 2: Use the Max-Min band to reduce the set of possible
metres that are likely for the given input.
Step 3: Convert each word in the input into its l-g equivalent.
Step 4: Starting from the original permutation of words,
for all possible permutations of the words, do
apply sandhi rules and reduce;
if number of syllables after reduction is divisible by 4, then
split the verse into equal-sized quarters;
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
search for a match for the pattern in the reduced
table of Sama metres;
else if the alternate quarters have same l-g pattern then
search for a match for the pattern in the reduced
table of Ardhasama metres;
search for a match for the pattern in the reduced
tables of Viṣama and Jāti metres;
end if
if match found then
indicate the closest match;
suggest possible changes;
end if
split the verse according to possible Ardhasama metres;
search for a match for the pattern in the reduced table of
Ardhasama metres;
if match found then
split the verse according to possible Viṣama metres
and Jāti metres;
search for a match for the pattern in the reduced
tables of Viṣama and Jāti metres;
if match found then
indicate the closest match;
suggest possible changes;
end if
end if
end if
end for
end Algorithm
The following points are worthy of note with regard to the
above algorithm:
a. Giving big words as input is advantageous and would yield
better performance, because the number of possible
permutations would reduce.
b. The given order of words in the prose text is first tried as
such, because the order of words given would be
meaningful, and it would be ideal if a verse form is
possible in the given order itself. Other permutations of
words are tried only if a verse form is not possible with the
given word-order.
c. The algorithm suggests possible changes by using other
words available in the input with the required pattern.
d. In case the number of syllables is greater that 26 per
quarter, then the given words are split into more than one
set and then Anuṣṭhup (common metres with 8 syllables
per quarter) or Jāti metres are tried out for a match.
The algorithm presented in Section 4.1 involves
permutation-generation and string-matching for each
permutation [1]. This fact coupled with the big size of the
metres database, places rather large demands on time. It is to
significantly enhance the performance of the algorithm, that the
novel idea of establishing the maximum-minimum band has
been devised.
Once this Max-Min band is established, metres with the
number of syllables lying within this band alone need to be
considered for pattern matching. This approach clearly ensures
a substantial savings in terms of time taken by the algorithm.
# Category Letters
1 Vowels a, ā, i, ī, u, ū, ṛ, ṝ, ḷ, e, ai, o, au
2 Short vowels a, i, u, ṛ, ḷ
3 Long vowels ā, ī, ū, ṝ, e, ai, o, au
4 Consonants
k, kh, g, gh, ṅ
c, ch, j, jh, ñ
ṭ, ṭh, ḍ, ḍh, ṇ
t, th, d, dh, n
p, ph, b, bh, m
y, r, l, v
5 Sibilants ś, ṣ, s
6 Aspirate h
7 Anusvāra ṁ
8 Visarga ḥ

The algorithm presented in Section 4.1 defines how to find
the maximum number of syllables possible in a verse formed
from the given input. The following discussion focuses on the
development and establishment of equations through
comprehensive empirical analysis, to determine the minimum
possible number of syllables in a verse constructed from the
given input text. Table IV presents the letters of the Sanskrit
alphabet divided into categories referenced in the discussion
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
observation we first make is that we have to contend with only
those sandhi-s which can reduce vowels from long to short, for
this is what will affect metres. Now we introduce the following
possibilities and categorizations:
1. Set S
: Words that begin with a vowel and end with a
consonant, sibilant, aspirate, anusvāra or visarga (Eg:
The maximum change that such a word can bring about is
1, because it has only one vowel at its beginning which
may merge with another word and get reduced.
Let the cardinality of S
be n
2. Set S
: Words that begin with a consonant, sibilant or
aspirate and end with a vowel other than au, ai (Eg:
The maximum change that such a word can bring about is
1, because it has only one vowel at its end which may
merge with another word and get reduced.
Let the cardinality of S
be n
The reason for not considering words ending with the long
vowels ai and au, is that these can never, under the effect
of any sandhi rule whatsoever, lead to a reduction from
long to short. For example, in kau + ūrudvayaṁ =
kāvūrudvayaṁ. the long vowel au does undergo a
replacement, but only by another long vowel, viz. ā. As
such, there is really no change in the l-g scheme that can
be brought about by words in this category ending with ai
and au. Hence we leave them out, thereby reducing the
processing time further.
3. Set S
: Words that begin and end with a vowel (Eg: atra).
The maximum change that such a word can bring about is
2, because the vowels at both it ends may merge with
adjacent words and get reduced.
Let the cardinality of S
be n
4. Set S
: Words that begin with a consonant, sibilant or
aspirate and end with a consonant, sibilant, aspirate,
anusvāra or visarga (Eg: marut)
Such words can effect no change at all, because no vowel
in them gets reduced. Neither can they reduce any vowel
in adjacent words. Hence we do not introduce any notation
for the size of this set.
5. Set S
: Words that begin with a vowel and end with “aḥ”
(Eg: ambaraḥ).
Clearly, this is a subset of S
, and can cause a maximum
change of 1.
Let the cardinality of S
be n
6. Set S
: The word ahaḥ is special when it combines with
another instance of itself, because ahaḥ + ahaḥ =
aharahaḥ, which causes a change of 1.
Clearly, this is a subset of S
, and its cardinality is included
in n
7. Set S
: Words that begin with a consonant, sibilant or
aspirate and end with “aḥ” (Eg: kṛṣṇaḥ)
Let the cardinality of S
be n
We now derive partial equations for the maximum number
of reductions possible in various scenarios, based on the above
notations for number of word-occurrences. This maximum
number is denoted by r
where m = 1, 2, 3.
A. Formula for r
(incorporation of S
, S
and S
if n
= 0 and n
= 0 and n
> 0 then
= n
– 1;
= min(n
, n
) + n
end if
In case both S
and S
are null sets, S
words can combine
with only S
words, provided S
is not null. Hence, clearly, the
maximum number of reductions possible is only n
– 1.
Consider the case when both S
and S
are not null sets. For
words of the S
and S
categories, the maximum change can be
brought about by aligning a S
word just after a S
whereby the vowels will combine and may reduce. That is, we
pair them up. Hence, if n
and n
are unequal, then abs(n
words will remain unpaired and will therefore cause no change.
Hence, if n
and n
are non-zero, the maximum number of
reductions possible is min (n
, n
As for words of the S
category, both ends may cause a
change. Hence, irrespective of n
and n
, n
number of changes
will take place, provided n
is non-zero. Hence we add n
to the
formula. For example, consider the following sentence
provided as input:
idānīṁ atra ālasyaṁ tyaktvā ahaṁ paṭhāmi ca likhāmi ca
words: idānīṁ, ālasyaṁ, ahaṁ
words: tyaktvā, paṭhāmi, ca, likhāmi, ca
words: atra
Thus, n
= 3, n
= 5, n
= 1. Clearly there are only a
maximum of 3 ways, i.e. min (n
, n
) ways, of pairing the S

and S
words to cause a change. Further, though both ends of
the S
words can cause change, they can cause only one change
each by combining with any other S
word or with any of the
remaining words of S
or S
. Hence we add n
In the case where exactly one of S
and S
is a null set, then
too, this formula will clearly hold, since min(n
, n
) = 0 and the
maximum possible number of reductions will hence simply be
, irrespective of the value of abs(n
B. Formula for r
(incorporation of S
if n
= n
and n
> 0 then
= n
– 1;
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
= n
end if
We consider the two cases when n
and n
are equal, and
when they are unequal. When they are equal, they pair up
completely for r
, and hence if S
is not null, the S
words have
only themselves to combine with. For example, we may have
the S
words, itaḥ and aṁbaraḥ. Here, itaḥ + aṁbaraḥ =
ito’mbaraḥ, and aṁbaraḥ + itaḥ = aṁbara itaḥ, both of which
are changes. However, the first does not cause any change in
the long-short scheme, while the second does. Since we are
only calculating the maximum, we take it that there is a
maximum reduction of 1 in this case. Clearly, therefore, the
maximum number of reductions here is n
– 1.
In the case where n
and n
are unequal, they pair up to
reduce as per r
, leaving behind abs(n
) words. Consider the
aṁbaraḥ na atra asti parantu aṁbaraḥ anyatra asti ataḥ ahaṁ
itaḥ tatra gacchāmi
words: ahaṁ
words: na, parantu, tatra, gacchāmi
words: atra, asti, anyatra, asti
words: aṁbaraḥ, aṁbaraḥ, ataḥ, itaḥ
Thus, n
= 1, n
= 4, n
= 4, n
= 4. Assuming that the first
words of S
and S
combine, we have the last three words of S

left behind. These can produce three pairs in combination with
three words of S
and cause a change. For example, we can
have tatra + aṁbaraḥ = tatrāṁbaraḥ. We would thus have one
word of S
left behind, since n
> abs(n
), which would
combine with one of the available compounds of S
with S
. Continuing with the above example, tatrāmbaraḥ + itaḥ =
tatrāmbara itaḥ, a change. All this means that all the S
contribute to a change, and hence r
= n
in this case.
In case n
and n
are unequal and n
<= abs(n
), then
after pairing S
words with the remaining from S
or S
, we are
left with no more S
words. Hence, anyway the number of
reductions is n
, i.e. the number of pairs. The only other case is
= 0, in which r
should work out to zero. This possibility is
subsumed in the second case presented in the formula.
C. Formula for r
(incorporation of S
if n
> n
and n
> 0 then
= min(n
, n
– n
= 0;
end if
Clearly, we have to handle only the case when n
> 0. Also,
after calculation of r
, the remaining abs(n
– n
) words alone
have to be contended with in the calculation of r
Now S
words are of no use for reduction in combination
with S
words. Consider the following sample input:
kṛṣṇaḥ idānīṁ atra ālasyaṁ tyaktvā paṭhati ca likhati ca
words: idānīṁ, ālasyaṁ
words: tyaktvā, paṭhati, ca, likhati, ca
words: atra
words: kṛṣṇaḥ
Thus, n
= 2, n
= 5, n
= 1, n
= 1. Clearly, after the S
words combine, three S
words would remain, say ca, likhati
and ca. Now only the ending “aḥ” of S
words are combinable.
Hence, clearly, S
and S
words cannot combine. Hence, if n

<= n
, then no reduction with S
words can take place. Hence
for such a scenario is zero.
When n
> n
, then n
– n
words of the S
type remain
after the r
calculation. For example, we may have the word
ahaṁ of S
remaining. Thus, kṛṣṇaḥ + ahaṁ = kṛṣṇo’haṁ,
which is a reduction. Similarly, kṛṣṇaḥ + idānīṁ = kṛṣṇa
idānīṁ which is again a reduction. The number of such
reductions is min(n
, n
) because there will be a maximum
of as many reductions as there are pairs of the remaining n

words and n
D. Combined Formula for Reductions and Min
Combining the formulae for r
, r
and r
, we arrive at the
following formula for r, the maximum number of possible
reductions for the given set of words:
if (n
= n
) or (n
> n
and n
= n
– n
and n
> 0) then
r = n
+ n
+ n
– 1;
else if (n
< n
) or (n
> n
and [(n
> n
– n
) or (n
= n

and n
= 0)]) then
r = n
+ n
+ n
r = n
+ n
+ n
+ n
end if
Using r, we calculate Min, the minimum possible number
of syllables as Min = Max – r.
Now consider an example where Max = 48. This means
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
above formulations, we arrive at r = 4 for this particular case.
Then Min = 44, and hence the minimum number of syllables
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
of metres to match with, by more than 85%.
The problem of automatic conversion of prose to poetry has
never been tackled before in the literature. This solution is
therefore the first of its kind. Further, the algorithm presented is
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.
[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:
[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
products/windowsvista/speech.aspx, (last accessed on 21.01.2010).
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.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
Khan Farhan Rafat
Department of Computer Science
International Islamic University
Islamabad, Pakistan
Muhammad Sher
Department of Computer Science
International Islamic University
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
existence of secret information inside some cover (Text) object.
The introduction of the subject is followed by the discussion
which is narrowed down to the area where digital ASCII Text
documents are being used as cover. Finally, the conclusion sums
up the proceedings.
Keywords- Steganography, Cryptography, Conceal, Steganology,
Covert Channel
Cryptography derived from Greek, (where historian
Plutarch elaborated on the use of scytale – an encryption
technique via transposition, a thin wooden cylinder, by a
general for writing message after wrapping it with paper, to
decrypt the message, one needs to wrap that piece of paper
again on the scytale to decrypt the message [41].), focuses on
making the secret information unintelligible.

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
transmitting information from one individual to another in
such a manner as to elude general comprehension”.

While discussing information hiding, we mainly
come across people from two schools of thought. One votes
for making the secret information unintelligible (encryption)
[5] whereas the other like Eneas the Tactician, and John
Wilkins [4][5] are in favor of hiding the existence of the
information being exchanged (steganography) because of the
fact that the exchange of encrypted data between Government
agencies, parties etc. has its obvious security implications.

• Covert/Subliminal Channel A communication
channel which is not explicitly designed for the
purpose for which it is being used [6][7] e.g. using
TCP & IP header for hiding and sending secret bits
• Steganography is derived from the Greek words
, ‘steganos’ and ‘graphie’, [8]
which means Covered Writing/Drawing.

The classic model for invisible communication was
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

Figure 1 – Scytale [44]

Figure 2 – Classification of Information Hiding based on [1]

Figure 3 – Prisoner’s Problem
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
other via a warden named Wendy with the restriction that they
will not encrypt their messages and that the warden can put
them in isolated confinement on account of any suspicious act
while in communication. In order to plan an escape, they now
need a subliminal channel so as to avoid Wendy’s

Following is an example from [34] where in World
War I, German Embassy in Washington (DC) sent the
following telegram messages to its Berlin headquarters (David
Kahn 1996):



By concatenating the first character of every word in
the first message and the second character of every word in the
second message the following concealed message is retrieved:


At present Internet spam is (and can be) a potential
candidate to be used as cover for hiding information.

A. Terminology: By convention, the object being used
to hide information within it is called cover-text. A variety of
media such as text, image, audio etc. depicted in
[9][10][11][42] are used to hide secret information within its
body. After embedding of secret information, the resultant
object is referred to as stegotext/stego-object. According to
[12] the algorithms by virtue of which secret information is
embedded in the cover-text at the sending end, and gets
extracted out of stego-text at the receiving end constitutes a
stego-system. The secret key involved in information
exchange [13] via private and public key Steganography is
referred to as stego-key.

B. Model: Though different in their approach,
Steganography and Cryptography go well together when it
comes to information security. The evolution of digital
technology (which is a continuous process) has brought
significant change in the methodologies being used / preferred
earlier for hiding information. As now we opt for a blend of
these two techniques added with compression, to attain a near
to perfect security solution having ‘no-compromise on
security’ as our slogan. Mathematical modeling of Figure-4

• Encoding Process:
Ό = η (ο, ģ, Ҝ)
Advantages Disadvantages
Does not
require a device
Does not follow Kerchoff’s principle.
Requires voluminous data for
trespassing and Needs careful
generation and crafting of cover text
for hiding bits.

Figure 4 – Preferred Stegosystem
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
η is the function which operates on the Cover ‘ο’ to
embed compressed and encrypted data ‘ģ’ using
the Stego-Key to produce the Stego-Object Ό’.
ģ = ē (ć, ǩ) ‘Encrypting the compressed message
(ć) with secret key.

ē is the encryption function that takes the
compressed data ć for encryption using symmetric
key ǩ.

ć = c(M) ‘Compressing the secret message (M)
using appropriate algorithm.

• Decoding Process:
ο = Ȩ (‘ Ό ’, ģ, Ҝ)
Ȩ is the function which operates on the stegocover
object ‘Ό’ to decompress and decrypt the data
indicated by function ‘ģ’ using the Stego-Key
and extract the secret information.

ģ = đ (ć, ǩ) ‘Decrypting the decompressed data (ć)
with secret key ǩ.

đ is the decryption function that takes the
compressed data ć for decryption using symmetric
key ǩ.

ć = c (M’) ‘Decompressing the hidden message
(M’) using appropriate algorithm.

C. Categorization: Steganography is broadly
categorized in [2][7] as:

• Linguistic Variety of techniques (such as
discussed in [15][16][17][18][19]), takes
advantage of the syntax and semantics of Natural
Language (NL) for hiding information. However,
the earliest form probably of which is acrostic.
Giovanni Boccaccio's Amorosa visione is
considered as the world's hugest acrostic [20, pp.
105–106] (1313–1375).
• Technical This technique is broader in scope
which is not confined to written words, sentences
or paragraphs alone but involves some kind of
tool, device or methodology [16] for embedding
hidden information inside a cover, particularly in
its regions / areas which remain unaffected by
any form of compression.
D. Categorization of Steganographic Systems based
on techniques as explained in [8] is as under:
• Substitution systems Redundant parts of cover
get replaced with secret information.
• Transform domain techniques Transform
space of the signal is used for embedding
information such as frequency domain.
• Spread Spectrum technique uses the conventional
approach as is done Telecommunication sector
where a signal is spread over a range of frequencies.

• Statistical methods encode information by changing
several statistical properties of a cover and use
hypothesis testing in the extraction process.
• Distortion techniques store information by signal
distortion and measure the deviation from the
original cover in the decoding step.
• Cover generation methods encode information in
the way a cover for secret communication is created.
E. Types of Embedding Applications
Another important pre-requisite for covert channel
communication is the availability of some type of application
embodying some algorithm/technique for embedding secret
information inside the cover. The birth of Inter and Intranet
has given way to a multitude of such applications where
information hiding finds its vitality as was never before.

Following is a brief review as of [36] of such applications
which are differentiated according to their objectives:

• Non-Repudiation, Integrity and Signature
Verification: Cryptography concerns itself with
making the secret information un-intelligible by using
the techniques of confusion and diffusion as
suggested by Shannon, to ensure integrity of the
message contents. Public key cryptography is a
preferred way of authenticating the sender of the
message (i.e. the sender/signature is genuine / non-
repudiation). This, however, becomes challenging
when the information is put on line as a slight error in
transmission can render the conventional
authentication process as a failure; hence now there
are applications for automatic video surveillance and
authentication of drivers’ licenses etc.
• Content Identification: By adding content specific
attributes such as how many times a video is being
watched or a song is played on air; one can judge the
public opinion about it.
• Copyright Protection: The most debated, popular
and yet controversial application of information
hiding is copyright protection as it is very easy to
have an exact replica of a digital document / item and
the owner / holder of the document can own or
disown its rights. One such popular incident occurred
in 1980’s when British Prime Minister being fade up
about the leakages of important cabinet documents
got the word processor modified to automatically
encode and hide the user’s information within word
spacing of the document to pin-point the culprits. In
the early 1990’s, people begin to think about digital
watermarking for copyright compliance.
• Annotating Database: It is not un-common for large
audio / video databases to have text or speech etc.
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
relevant database to resist against various signal
processing anomalies.
• Device control: Human audio / video perceptions are
frequently being exploited by the vendors in
designing their information hiding techniques. In one
such reported technique a typical control signal,
embedded in a radio signal broadcasted by a FM
radio station was used to trigger the receiver’s
• In-Band captioning: Just as it is not un-common to
embed data in audio-visual streams; so can be the
case where data for various services launched by
Telecom Operators can be embedded in television
and radio signals.
• Traitor Tracing: Here distinct digital signatures are
embedded and the number of copies to be distributed
is limited. The unauthorized usage of the document
can then be traced back by the intended recipient.
• Media Forensics: The tempered media gets analyzed
by experts to identify the tempering and the portions
which have been affected by it but not throw light as
to how the tempering is done.
F. Types of Steganographic Systems: According to [8]
Steganographic Systems can be segregated as:
• Pure Steganography (PS): Weakest, as is based on
the assumption that parties other than the intended
ones are not aware of such type of exchange of
secret information.
• Secret Key Steganography (SKS): In this
technique, both the sender and receiver share or
have agreed on a common set of stego-keys prior to
commencement of secret communication. The secret
information is embedded inside the cover using the
pre-agreed stego-key and gets extracted out at the
receiving end by reversing the embedding process.
The advantage lies in the fact that an adversary
needs to apply brute force etc. attack to get the
secret information out of the cover which require
resources such as computational power, time, and
• Public Key Steganography (PKS) As the name
indicates, public key steganography use a pair of
Public and Private Keys to hide secret information.
The advantage of this technique is that an attacker
first needs to come up with a public and private key-
pair and then the decoding scheme to extract the
hidden information out of the cover. The key benefit
of this technique is its robustness in execution and
easy of key management.
G. Models for Steg-Analysis

• Blind Detection Model
This model is the counterpart of cryptanalysis and
analyzes the stego-object without any prior
knowledge about the technology and the type of the
media (cover) being used in the concealing process.

• Analytical Model
The stego-object is analyzed in terms of its
associated attributes such as stego-object type,
format etc. [21] and thereafter on the basis of the
data gathered relevant known steg-analysis tools are
used to extract hidden bits and derive the meaning
out of it.

II. Related Work
This section covers a literature review of the recently
published text-based steganographic techniques such as use of
acronyms, synonyms; semantics to hide secret bits in English
Text in paras A – E, format specific techniques are discussed
in paras F – K while ways of hiding secret bits in TCP and IP
header are elaborated in para L respectively:
A. Acronym
According to the definition at [43] “an acronym
(pronounced AK-ruh-nihm, from Greek acro- in the sense of
extreme or tip and onyma or name) is an abbreviation of
several words in such a way that the abbreviation itself forms
a pronounceable word. The word may already exist or it can
be a new word. Webster's cites SNAFU and radar, two terms
of World War Two vintage, as examples of acronyms that were
Mohammad Sirali-Shahreza and M. Hassan Shirali-
Shahreza have suggested the substitution of words with their
abbreviations or viza viz in [40] to hide bits of secret message.
The proposed method works as under:
Table 1

If a matched word/abbreviation is found then the bit
to be hidden is checked to see if it is under column ‘1’ or ‘0’
and based on its value (i.e., 0 or 1), word/abbreviation from
the corresponding column label is substituted in the cover
message, in case of otherwise the word/abbreviation is left
unchanged. The process is repeated till end of message.

Acronym Translation
2l8 Too late
ASAP As Soon As Possible
C See
CM Call Me
F2F Face to face

Flexibility: More words / abbreviation pairs can be added.
Technique can be applied in variety of fields such as
science, medicine etc.

The main drawback lies in the static word/abbreviation
substitution where anyone who knows the algorithm can
easily extract the hidden bits of information and decode the
message which is against Kerckhoff’s Principle which states
that the security of the System should lie in its key, where
the algorithm is known to public.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
B. Change of Spelling
Mohammad Shirali-Shahreza in his paper [23]
proposed a method of exploiting the way; words are spelled
differently in British and American English, to hide bits of
secret information. The procedure for concealment explained
below, is the same as that of para A, where the words spelled
in British and American English, are arranged in separate
columns as shown in Table 2.
Table 2

The column containing British Spelling is assigned
label ‘1’ while that containing American Spelling is
assigned label ‘0’. The information to be hidden is
converted into bits. The message is iterated to find
differently spelled words matching to those available in
pre-defined list (Table 2 refers).

If a matched word is found then the bit to be hidden
is checked to see if it is under column ‘1’ or ‘0’ and based
on its value (i.e., 0 or 1), word spelled in American or
British English from the corresponding column label is
substituted in the cover message. Words not found in the
lists are left unchanged. The process is repeated till end of
the message.

C. Semantic Method
Mohammad Sirali-Shahreza and M. Hassan Shirali-
Shahreza in [24] have used those English Language words
whose synonym exists.

The authors had arranged words (having synonym) in
one column while corresponding synonyms were placed in
another column (Table 3 refers) and followed the procedure
explained below:

The column containing words/Translation is assigned label
‘1’ while that containing acronyms is assigned label ‘0’
and the information to be hidden is converted into bits. The
message is iterated to find words/abbreviations matching
to those available in pre-defined list (Table 1 refers).
Table 3

If a matched word / synonym is found then the bit to be
hidden is checked to see if it is under column ‘1’ or ‘0’
and based on its value (i.e., 0 or 1), word or synonym
from the corresponding column label is substituted in the
cover message. Words not found in the lists are left
unchanged. The process is repeated till end of the

D. Miscellaneous techniques
The authors in [31] have given a number of
idiosyncrasies ways that are / can be used for hiding secret
message bits, such as by introducing modification or injecting
intentional grammatical word/sentence errors to the text. Some
of the suggested techniques / procedures which can be
employed in this context include:

• Typographical errors - “tehre” rather than “there”.
• Using abbreviations / acronyms - “yr” for “your” /
“TC” in place of “Take Care”.
• Transliterations – “gr8” rather than “great”.
• Free form formatting - redundant carriage returns or
irregular separation of text into paragraphs, or by
adjusting line sizes.
• Use of emoticons for annotating text with feelings -
“:)” to annotate a pun.
• Colloquial words or phrases - “how are you and
family” as “how r u n family”.
• Use of Mixed language - “We always commit the
same mistakes again, and ’je ne regrette rien’!”.

E. Enhanced Steganography in SMS
In his paper at [35] the author has suggested an
enhancement in an existing steganographic system [22] by
taking care of the limitations of the existing techniques
discussed in paras A – D which work as under:

In this enhanced technique, words and their
corresponding abbreviations are grouped under two
columns. The column containing words is labeled as ‘1’
and that containing abbreviations is labeled as ‘0 (Table
4 refers)’. Depending on the input 128-bit stego-key bits
and the value of the first stego-key byte, words and their
corresponding abbreviations are swapped so that the two
columns now contain a mix of words and abbreviations.

American Spelling British Spelling
Favorite Favourite
Criticize Criticise
Fulfill Fulfil
Center Centre

Advantage Disadvantages

Language Specific
Non-adherence to Kerckhoff’s

Word Synonym
Big Large
Small Little
Chilly Cool
Smart Clever
Spaced Stretched

Advantage Disadvantages

Language Specific
Non-adherence to Kerckhoff’s
Only one synonym is taken in the
substitution table.

Advantages Disadvantages
More variations for
hiding information.
Eye catching.
More computations
Can draw suspicion.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
Table 4

• Bits Embedding Process_A 128-bit Linear
Feedback Shift register (LFSR), initialized using
the same stego-key, serves as a pseudo random bit
generator, the first 128 bits of which are discarded
before use. The output bits from the LFSR get XoR-
ed with the bits of the message. Based on the
resultant bits of the XoR operation, words or
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:

• Bits Extraction Process_It is just the reverse of the
Bits embedding process, where after Initialization;
the hidden bits are first extracted and then get XOR-
ed with the output of 128-bit LFSR. The resultant bits
are concatenated and passed through a
transformation which translates the string of bits into
their equivalent ASCII character i.e. secret message

F. MS Word Document

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.

G. HTML Tags
The author of publication at [38] elaborates that
software programs like ‘Steganos for Windows’ uses gaps i.e.
space and horizontal tab at the end of each line, to represent
binary bits (‘1’ and ‘0’) of a secret message. This, however,
adds visibility when the cover document is viewed in MS Word
with visible formatting or any other Hex-Editor e.g.:

<html>( )->->( )->
<head>( )->( )( )->

Where ( ) represents Space and ‘->’ denotes Horizontal Tab.

1 0
0 Too late 2l8
1 ASAP As Soon As Possible
0 See C
1 CM Call Me
1 F2F Face to face

Figure 5.Embedding Process Figure 6.Extraction process

Adherence to Kerchoff’s Principle
Shanon’s principles of confusion & diffusion
Secret bits are encrypted before being embedded in the
cover makes the system secure, as the enemy will have
to perform additional efforts of decrypting the bits
without the knowledge of key.

The 128-bit LFSR used for encryption with a non
repeated key has rendered the system as OTP.
The algorithm can be extended to the desktop, PDA
The algorithm is language independent.
Adding compression before encryption can hide more
secret bits in the cover.

Slightly slower (in fractions) than its predecessor

Advantage Disadvantage
Easy to use as most
users are familiar with
MS word.
Easily detectable as MS
Word has built in spell
check and Artificial
Intelligence (AI) features.

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.

Spaces are also inserted in between TAGS to
represent a hidden bit ‘0’ or ‘1’. The above example indicates
hiding of secret bits ‘1001001010’ as per analogy explained.

Later in the discussion, the author proposed the use
of line shift; interpreted (in hex) as 0xA0, 0xD0 in Windows
and as 0xA0 in Unix Operating System to translate these as
‘1’ and ‘0’. A majority of text editors can interpret the two
codes for line shift without ambiguity; hence it is a
comparatively secure way to hide secret information.

The author of [39] has shown ways where HTML
TAGS can also be manipulated to represent hidden bit ‘0’ or

H. XML Document

Figure 8: Data Hiding in XML document

XML is a preferred way of data manipulation
between web-based applications hence techniques have been
evolved as published in [26] for hiding secret information
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.

I. White Spaces
W. Bender, D. Gruhl, N. Morimoto, and A. Lu in
[25] have discussed a number of steganographic techniques for
hiding data in a cover, where one of the methods places one or
two spaces after every terminated sentence of the cover
file/text to represent a secret bit ‘0’ or ‘1’ as the case may be.

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

J. Line Shifting
Printed text documents can also be manipulated as an
image and subjected to steganographic techniques such as
discussed in [28][29] by slight up/down lifting of letters from
baseline or right/left shifting of words within a specified
image/page width, etc.

Figure 12 [28]

Advantage Disadvantages
Works well for
documents as
regards on screen
Visibility/Eye catching in case
of TEXT documents.
Increase in Stego-cover File size.
Non-adherence to Kerchoff’s

Advantage Disadvantages
XML is widely
acceptable tool for
information exchange
which makes the task of
its Steg-analysis difficult.
Eye catching.
Increased Stego-cover
File size.
Non adherence to
Kerchoff’s principle.

Figure 9: Original Text [25]
Figure 10: Stego-Text [25]
Figure 11 -Text from ‘A Connecticut Yankee’ in King Arthur’s Court by
Mark Twain [25]
Advantage Disadvantages
Normally passes by
Violates Kerckhoff’s
Increases cover text size.

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
in space between words by left / right shifting can be
interpreted as binary bits ‘0’ or ‘1’ accordingly to hide secret

Figure 13 [28]

K. Feature Coding
The steganographic method in [30] hides the secret
information bits by associating certain attributes to the text
characters like changing font’s type, its size, color, by
underlining it or using strike-through etc.

e.g. Steganography is the art of hi
ing se
ret information.

L. IPv4 and Transport Layer
Richard Popa [33] has analyzed a variety of
steganographic techniques and among the techniques
discussed, those related to Internet protocol (IP) and
Transmission control protocol (TCP) are discussed here.
Figure 14 shows how the IP (version 4) header is organized.
Three unused bits have been marked (shaded) as places to
hide secret information. One is before the DF and MF bits and
another unused portion of this header is inside the Type of
service field which contains two unused bits (the least
significant bits).

Figure 14 [33]
Every TCP segment begins with a fixed-format 20-byte
header. The 13th and 14
bytes of which are shown in Figure
15. The 6-bit field not used, indicated in shade, can be used to
hide secret information.

Figure 15 [33]

III. Conclusion
This paper presents a survey on a data hiding
technique called ‘Steganography’, the terminology, the model,
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
recently proposed/developed Steganographic techniques.
Secure e-Governance_An essential feature of e-
government includes secure transmission of confidential
information via computer networks where the sensitivity of
some information may fall equivalent to a level as that of
national security. Every e-government has its own network but
cannot ignore the Internet which by far, is the cheapest means
of communication for common people to interact with the
Government. The data on Internet, however, is subjected to
hostile attacks from Hackers etc. and is therefore a serious e-
government concern. In his paper at [37] the author has
emphasized on the importance of steganography for use in e-
Government and discussed that Governments, seek and had
sought consultation and help from cryptographers and have
invested huge amounts of time and funds in getting developed
specially designed information security systems to strengthen
data security. In today’s' world, cryptography alone is just not
an adequate security solution. With the increase in
computation speed, the old techniques of cryptanalysis are
falling short of expectations and will soon be out-dated.
Steganology – that encompasses digital data hiding and a
detection technique has gained considerable attention now
days. It appears to be a powerful opponent to cryptology and
offers promising technique for ensuring seamless e-security.

From the discussion, it is apparent that ensuring
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

[1] Fabien A. P. Petitcolas, Ross J. Anderson and Markus G.
Kuhn, Information Hiding- A Survey, Proceedings of the IEEE, special issue
on protection of multimedia content, 87(7):1062-1078, July 1999

[2] Code Wars: Steganography, Signals Intelligence, and
Terrorism. Knowledge, Technology and Policy (Special issue entitled
‘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
Neighbouring Rights Questions, 1996.
[4] WIPO Copyright Treaty, 1996.

[5] Document prepared by the International Bureau,
WIPO/INT/SIN/98/9, 1998. Presented at the WIPO Seminar for Asia and the
Pacific Region on Internet and the Protection of Intellectual Property Rights,

[6] Mark Owens, A Discussion of Covert Channels and
Steganography, © SANS Institute, March 19, 2002

Advantage Disadvantages
Difficult to detect in the
absence of original text.
Looses format if the
document is saved as text.

Advantages Disadvantages
More variations for hiding
Eye catching.
More computations required. Can draw suspicion.

Advantage Disadvantage
Due to enormous packet
flow almost unlimited
amount of secret bits can be
exchanged via these
Loss of packets may
render undesirable

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

[8] Dave Kleiman (Technical Editor), Kevin Cardwell, Timothy
Clinton, Michael Cross, Michael Gregg, Jesse Varsalone, The Official
CHFI Study Guide (Exam 312-49) for Computer Hacking Forensic
Investigators, Published by: Syngress Publishing, Inc., Elsevier, Inc., 30
Corporate Drive, Burlington, MA 01803, Craig Wright

[9] Stefan Katzenbeisser, Fabien A. P. Petitcolas, Information
Hiding Techniques for Steganography and Digital Watermarking, Artech
House, Boston – London

[10] Nedeljko Cvejic, Algorithms For Audio Watermarking And
Steganography, Department of Electrical and Information engineering,
Information Processing Laboratory, University of Oulu, 2004.

[11] Jessica Fridrich, Tomáš Pevný, Jan Kodovský, Statistically
Undetectable JPEG Steganography: Dead Ends, Challenges, and
Opportunities, Copyright 2007 ACM 978-1-59593-857-2/07/0009 ...$5.00.

[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
additional proposals.

[13] Bret Dunbar, Steganographic Techniques and their use in an
Open-Systems Environment, As part of the Information Security Reading
Room., © SANS Institute 2002

[14] Ingemar J. Cox, Matthew L. Miller, Jeffrey A. Bloom, Jessica
Fridrich, Ton Kalker, Digital Watermarking and Steganography, Second
Edition, Copyright © 2008 by Elsevier Inc. All rights reserved.

[15] Glancy, D., Privacy and Intelligent Transportation Technology,
Santa Clara Computer & High Technologies Law Journal, 1995, pp. 151.

[16] Victor Raskin, Brian Buck, Arthur Keen, Christian F.
Hempelmann, Katrina E. Triezenberg, Accessing and Manipulating
Meaning of Textual and Data Information for Information Assurance and
Security and Intelligence Information, Copyright © 2008 ACM 978-1-60558-
098-2/08/05 ... $5.00

[17] Chen Zhi-li, Huang Liu-sheng, Yu Zhen-shan, Zhao Xin-xin,
Zheng Xue-ling, Effective Linguistic Steganography Detection, IEEE 8th
International Conference on Computer and Information Technology
Workshops, 978-0-7695-3242-4/08 $25.00 © 2008 IEEE

[18] Hasan Mesut Meral, Bulent Sankur, A. Sumru Ozsoy, Tunga
Gungor, Emre Seving, Natural language watermarking via morphosyntactic
alterations, 0885-2308/$ - see front matter 2008 Elsevier Ltd. All rights

[19] Mercan Topkara Cuneyt M. Taskiran Edward J. Delp, Natural
Language Watermarking, Security, Steganography, and Watermarking of
Multimedia Contents VII, edited by Edward J. Delp III, Ping Wah Wong, Proc.
of SPIE-IS&T Electronic Imaging, SPIE Vol. 5681 © 2005 SPIE and IS&T ·

[20] Maes, M., Twin Peaks: The Histogram Attack on Fixed Depth
Image Watermarks, in Proceedings of the Second International Workshop on
Information Hiding, vol. 1525 of Lecture Notes in Computer Science,
Springer, 1998, pp. 290–305.
[21] GLENN WATT, CTA Conference, Santa Fe, NM, 2006

[22] Mohammad Sirali-Shahreza, M. Hassan Shirali-Shahreza, Text
Steganography in SMS, 0-7695-3038-9/07 © 2007 IEEE, DOI

[23] Mohammad Shirali-Shahreza, Text Steganography by Changing
Words Spelling, ISBN 978-89-5519-136-3, Feb. 17-20, 2008 ICACT 2008

[24] M. Hassan Shirali-Shahreza, Mohammad Shirali-Shahreza, A
New Synonym Text Steganography ,International Conference on Intelligent
Information Hiding and Multimedia Signal Processing 978-0-7695-3278-3/08
© 2008 IEEE

[25] W. Bender, D. Gruhl, N. Morimoto, and A. Lu, Techniques for
data hiding IBM Systems Journal, Vol. 35, Issues 3&4, pp. 313-336, 1996.

[26] Aasma Ghani Memon, Sumbul Khawaja and Asadullah Shah,
Steganography: a New Horizon for Safe Communication through XML,, JATIT ©2005 – 2008

[27] Xuan Zhou, HweeHwa Pang, KianLee Tan, Querybased
Watermarking for XML Data, ASIACCS’07, March 2022,2007,
Singapore.Copyright 2007 ACM 1595935746/07/0003 ...$5.00.
[28] Patrick Diskin, Samuel. Lau and Robert Parlett, Steganography
and Digital Watermarking, Jonathan Cummins, School of Computer Science,
The University of Birmingham, 2004

[29] S. H. Low N. F. Maxemchuk J. T. Brassil L. O'Gorman,
Document Marking and Identification using Both Line and Word Shifting,
AT&T Bell Laboratories, Murray Hill NJ 07974, 0743-166W95-1995 IEEE

[30] Lingyun Xiang, Xingming Sun, Gang Luo, Can Gan, Research
on Steganalysis for Text Steganography Based on Font Format, School of
Computer & Communication, Hunan University, Changsha, Hunan
P.R.China, 410082

[31] Mercan Topkara, Umut Topkara, Mikhail J. Atallah,
Information Hiding Through Errors: A Confusing Approach, Purdue

[32] Tsung-Yuan Liu, Wen-Hsiang Tsai,and Senior Member, A New
Steganographic Method for Data Hiding in Microsoft Word Documents by a
Change Tracking Technique, 1556-6013 © 2007 IEEE

[33] Richard Popa, An Analysis of Steganographic Techniques, The
'Politehnica' University of Timisoara, Faculty of Automatics and Computers,
Department of Computer Science and Software Engineering.

[34] Mark Stamp, Information Security-Principles and Practice,
Wiley Student Edition, 2006

[35] Rafat, K.F, Enhanced text steganography in SMS, Computer,
Control and Communication, 2009. IC4 2009 2nd International Conference
on 17-18 Feb. 2009, Digital Object Identifier 10.1109/IC4.2009.4909228

[36] Pierre Moulin and Ralf Koetter, Data-Hiding Codes, 0018-
9219/$20.00 © 2005 IEEE

[37] Huayin Si and Chang-Tsun Li, Maintaining Information
Security in E-Government through Steganology, Department of Computer
Science, University of Warwick, Coventry CV4 7AL, UK

[38] Stanislav S. Barilnik, Igor V. Minin, Oleg V. Minin ,Adaptation
of Text Steganographic Algorithm for HTML,ISSN 1815-3712 ISBN 978-5-
7782-0752-3 (C) Novosibirsk State Technical University.

[39] Sudeep Ghosh , StegHTML: A message hiding mechanism in
HTML tags, December 10,2007

[40] Mohammad Sirali-Shahreza, M. Hassan Shirali- Shahreza,
Text Steganography in Chat, 1-4244-1007/07 © 2007 IEEE


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: thesis.pdf.1997


[44] scytale.gif


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.

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
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

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

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
cluster head step, randomly allocate number between zero and
one for each node and then compared with cluster head
threshold. A node is chosen for cluster head if its number is
less than threshold. Threshold of cluster head shows in relation

( )

= Τ
r P
1 mod 1
G n
G n

Relation 1: The way of cluster head selection relation.[1]

T (n): Threshold
P: node selection probability in every period
G: the set of unselected nodes
r: number of current period (started from one)

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
nodes. With this signal other nodes based on straight of
received signal decide to be membership of which cluster. In
every cluster, created time slot by cluster head based on
TDMA, distributed between cluster that contain visual time slot
for each member of cluster. Cluster head use Code-Division
Multiple Access (CDMA) technique too. With completion of
initialization phase, steady-state phase start. In this phase,
nodes in determining time slot gathering data and sending to
the cluster head node. Meanwhile gathering of data is
B. SEP Protocol
SEP protocol was improved of LEACH protocol. Main aim
of it was used heterogeneous sensor in wireless sensor
networks. This protocol have operation like LEACH but with
this difference that, in SEP protocol sensors have two different
level of energy. Therefore sensors are not homogeneous. In this
protocol with suppose of some sensors have high energy
therefore probability of these sensors as cluster head will
increased. But in SEP and LEACH, cluster heads aren’t choose
base of energy level and their position. This is main problem of
these methods, so their operations are static.
These methods because of their route detecting and finding
optimum steps in relation with central station have head load.
In addition, they will have extra load on nodes that are located
around central station, so most of the traffic will be from them.

Figure 4: Multi-gateway clustered sensor network
To avoid this extra load and unstable consumption of
energy some of the nodes have been expanded with a high-
energy called Gateway [2] sensors are used as head clusters due
to decrease the failure probability of head clusters. And this
increases the lifetime of the network but since this method
takes a lot of expenditure so in this article we just use these
sensors as manager for a number of head clusters.
To do so, we expand some of nodes according to lifetime,
space and number of exist sensors in network. While clustering
we don’t need this work node. We can cluster the network with
the algorithms like SEP, LEACH and TEEN (Threshold-
sensitive Energy-Efficient sensor Network Protocol).afterward
the clustering is done, each head cluster sends a signal to these
sensors. And with these signals the sensors specify which
cluster is appropriate to manage. And with the hypothesis of
network they choose some of the cluster to in order to manage
them. And each closer is being managed just by one of these
sensors. After establishing the network the role of these sensors
as gateways between head clusters and central stations, by the
hypothesis network chooses some of clusters to manage. And
each cluster is being controlled by just one of the sensors. After
establishing the network, the sensors have the role of a gateway
between central stations and head clusters. To be attentive that
head clusters to transmit to central stations and data assembling
and calculating in protocol consume a great deal of energy. All
the responsibility of head cluster is given over to joint cluster
sensors or Gateway. Then after receiving data from its joint
nodes without any calculating delivers them to gateway. And
its gateway that transmits them to base station after doing
necessary works and calculations. This method can be used in
two ways. One that we spread high-energy sensors beside other
sensors. And another practical way is to put them between root
station and head clusters. In both aspects both network lifetime
increases and extra load eliminates from head clusters and also
failure probability decreases.
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.
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.

Energy Dissipated Operation
Eelec=50nJ/bit Transmitter/Receiver Electronics
EDA=5nJ/bit/signal Data Aggregation
Єƒs=10pJ/bit/m2 Transmit Amplifier
if dmaxtoBS ≤ d0
єmp=0.0013pJ/bit/m4 Transmit Amplifier
if dmaxtoBS ≥ d0
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,  
Vol. 7, No. 1, 2010 

The results of simulation show that new method in
comparison with LEACH and SEP acts better and also
increases the networks lifetime significantly.
We test this protocol and LEACH and SEP with different
sensors (50,100,200,300,400,500) and as seen in figure 5 the
results show that the new method is better than exist methods.
And the lifetime of the network is more than the same lifetime
in LEACH and SEP. both LEACH and SEP die with 100
sensors when they see the first sensor and live for another 200
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.

Figure 5: Comparing proposed algorithm with others
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.
[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.
[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
[4] Ameer Ahmed Abbasi, Mohamed Younis, Saudi Arabia "A survey on
clustering algorithms for wireless sensor networks" Computer
Communications 30(2007)2826-2841
[5] S. Singh, M. Woo and C. S. Raghavendra, "Power-Aware Routing in
Mobile Ad Hoc Networks", Proc. of ACM MOBICOM'98, Dallas,
Texas, October 1998
[6] D. Estrin, R. Govindan, J. Heidemann, and S. Kumar. "Scalable
coordination in sensor networks" Proc. of ACM/IEEE MobiCom 1999,
Seattle, Washington, August 1999.
[7] Georgios Smaragdakis Ibrahim Matta Azer Bestavros” SEP: A Stable
Election Protocol for clustered heterogeneous wireless sensor networks”
Technical Report BUCS-TR-2004
[8] Piraeus Tillapart, Sanguan Thammarojsakul, Thanachai
Thumthawatworn, Pratit Santiprabhob”An Approach to Hybrid
Clustering and Routing in Wireless Sensor Networks” 2005 IEEE.
10 100 200 300 400 500


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
Sri Jayachamarajendra college of Engineering

Sri Jayachamarajendra college of Engineering

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.
Keywords- Routh stability criterion, Routh array, Hurwitz criterion,
The Routh stability criterion [1] is an analytical procedure
for determining if all the roots of a polynomial have negative
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
special cases discussed in various literature based on Routh
criterion [2, 5]. In this small note, one special case based on
Routh criterion is considered which is not dealt by the previous
authors, to the best of our knowledge.

In order to ascertain the stability of a linear time-invariant
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.
Hurwitz and E. J. Routh independently published the method
of investigating the sufficient conditions of stability of a
system [1]. The Hurwitz criterion is in terms of determinants
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
number of sign changes in the elements of the first column of
the Routh array corresponds to the number of roots of the
characteristics equation in the right half of the s-plane.
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
[2] First element of a row, appearing in first column of the
array is zero, but the entire row is not all zeros.

Consider the following polynomial

1 0 λ + = (1)

Applying Routh criterion to above polynomial, we get

λ 1 0 1

λ ∈ ∈ ∈

λ -1 0 0 (2)

λ ∈ ∈ 0

λ 1 0 0

In above problem, first row of the Routh’s array does not
posses all non-zero elements, and the immediate second row
has all the elements zeros and hence the problem considered in
this note is different from the other existing cases. Now
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
hence, this polynomial has complex conjugate eigenvalues
with positive real parts.

The actual roots of a polynomial are

0.7171 0.7071 ,
0.7171 0.7071
= − ±
= ±

We are thankful to Dr. Yogesh V. Hote for suggestion in
writing this paper.

[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
Routh Hurwitz Criterion,” IEEE Transactions On automatic Control, pp.
714-716, 1975.
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
Criterion,” IEEE Proceedings, 1972.
[5] R. N. Clark, “The Routh-Hurwitz stability criterion, revisited,” IEEE
Control system magazine, pp. 119-120, Jun. 1992.
[6] M. Gopal, Control Systems Principles and Design, Tata McGraw Hill,
Second edition, 2000.
[7] K. Dekker, “ Formula Manipulation in ALGOL 68 and application to
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.
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
hardware and memory architectures. There are several parallel
programming models in commonly use; they are shared memory
model, thread model, message passing model, data parallel
model, hybrid model, Flynn’s models, embarrassingly parallel
computations model, pipelined computations model. These
models are not specific to a particular type of machine or
memory architecture. This paper focuses the concurrent
approach to Flynn’s SPMD classification in single processing
environment through java program.
Keywords-Concurren; Flynn’s Taxonomy; Single processor
Environment; Java Development Ki; Parallel;

Parallel programming and distributed programming [1] are
two basic approaches for achieving concurrency with a piece
of software. They are two different programming paradigms
that sometimes intersect. In the past programming life, we
were mostly using sequential programming. But, today’s life
style is going with more faster than the past decades. Also,
solving problems on the computers are enormous. Parallel
computer [1] can executes two or more job within a same
period of time.
Two events are said to be concurrent if they occur within
the same time interval. Two or more tasks executing over the
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
multiprocessing environment [2]. In a single processing
environment, concurrent tasks exist at the same time and
execute within the same time period by context switching. In a
multiprocessor environment, if enough processors are free,
concurrent tasks may execute at the same instant over the
same time period. The determining factor for what makes an
acceptable time period for concurrency is relative to the
Concurrency techniques [3] [6] are used to allow a
computer program to do more work over the same time period
or time interval. Rather than designing the program to do one
task at a time, the program is broken down in such a way that
some of the tasks can be executed concurrently. In some
situations, doing more work over the same time period is not
the goal. Rather, simplifying the programming solution is the
goal. Sometimes it makes more sense to think of the solution
to the problem as a set of concurrently executed tasks. This
technique is used in the parallel computer architectures.
Java is just a computer language [5] that has secure,
portable, object-oriented, multithreaded [3] [4] [6], interpreted,
byte-coded, garbage-collected, language with a strongly typed
exception-handling mechanism for writing distributed
programs [4]. Java is an object-oriented programming
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
programs by compiling into an intermediate representation
called java byte code. JVM (Java Virtual Machine) is an
interpreter for java. Java is designed for the distributed
environment on the Internet. Java has technology called RMI
(Remote Method Invocation) that brings unparalleled level of
abstraction to client / server programming. Byte code is a
highly optimized set of instructions designed to be executed
by the java run-time system, which is called Java Virtual
Machine (JVM). Java handles de-allocation for you
automatically, this technique called garbage collection. The
Java Developers Kit (JDK) is a set of command-line tools that
can be used to create Java programs. The current release of the
JDK is version 1.6.
Parallel computers can be divided into two main categories
of control flow and data flow. Control-flow parallel computers
are essentially based on the same principles as the sequential
or von Neumann computer, except that multiple instructions
can be executed at any given time. Data-flow parallel
computers sometimes referred to as “non-von Neumann,” is
completely different in that they have no pointer to active
instruction(s) or a locus of control. The control is totally
distributed, with the availability of operands triggering the
activation of instructions. In what follows, we will focus
exclusively on control-flow parallel computers.
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.
One of the more widely used classifications, in use since 1966,
is called Flynn's Taxonomy [2]. The Flynn’s taxonomy
distinguishes multi-processor computer architectures
according to how they can be classified along the two
independent dimensions of Instruction and Data. Each of these
dimensions can have only one of two possible states called
Single or Multiple. There are four possible classifications
according to Flynn’s that is shown in Figure 1.

Figure 1. Flynn’s Taxonomy
SPSD is simplest type of computer performs one
instruction per cycle, with only one set of data or operand.
SPSD is serial computer architecture. Such a system is called a
scalar computer. SPSD will have one program and one set of
data. Single instruction: only one instruction stream is being
acted on by the CPU during any one clock cycle. Single data:
only one data stream is being used as input during any one
clock cycle. It will execute by only one processor as a
sequential manner. Hence it is not a parallel programming
model rather it is a sequential programming model. It can be
executed by a single processor based system by sequential
MPSD [7] is a single data stream is fed into multiple
processing units. Each processing unit operates on the data
independently via independent instruction streams. Few actual
examples of this class of parallel computer have ever existed.
MPSD will have more than one program with same values will
be used by all the programs. All the programs will execute in
different processors with the same values. If all task or threads
are executed in different processor means, it will take the same
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
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.
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,
each task can be executing the same or different program as
other tasks. All tasks may use different data.
SPMD is actually a "high level" programming model that
can be built upon any combination of the parallel
programming models. A single program can have multiple
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
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
class SPMD implements Runnable{

Thread t;
String name;
int a,b,sum;

SPMD(String str, int val1,int val2){
t=new Thread(this,str);
t.start(); }

public void run(){

sum=a+b; // single operation
System.out.println("the sum is "+ sum + " produced
by " + name +" thread");

}catch(Exception e){}

public static void main(String BDP[]){

SPMD b1=new SPMD("task1",1,1); // value 1
SPMD b2=new SPMD("task2",5,5); // value 2
SPMD b3=new SPMD("task3",10,10); // value 3
SPMD b4=new SPMD("task4",1,5); // value 4

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
Sequential programming also called serial programming. It
is normally a computer programs, which involves consecutive
process or sequential process. It can uses only single
processing environment. There are drawbacks in sequential
programming. It can be executed in a sequential manner. It
will take more time for execution because instruction will
execute by the processor one after another. It will have less
clock speed. Biggest problems cannot be solved. The
concurrent programming is also a computer program, which
involves more than one process within the same time interval.
Two or more tasks executing over the same time interval are
said to execute concurrently. Parallel and distributed
programmings are two approaches for achieving concurrency.
Java provides Thread class to create concurrent execution
of tasks. Thread class has constructors and methods, which are
helping to create concurrent execution of tasks. The Program 1
developed to execute in a single processing environment using
Flynn’s classification with SPMD. In this program, SPMD
(String str, int val1, int val2) constructor has an argument with
“String str” will receive name of the task, “int val1, val2” will
receive values for addition, subtraction, multiplication and
division. In the main function b1, b2, b3, b4 are objects; once
it has created constructor will be automatically called. The
t=new Thread(this, str) creates tasks such as “Task1”,
“Task2”, “Task3” and “Task4”. The t.start() method has been
starting all the tasks. After starting the tasks, it will be
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
any task for 200 milliseconds during execution and it will
allow to execute waiting of any other task. Until completing
all the tasks, run() method permitted to execute tasks
concurrently using sleep() method and it enabled to exploit the
processor idle time. Here all the tasks will use same operation
with sum=a+b as the same program but it will use different
data as "task1" uses 1,1; "task2" uses 5,5; "task3" uses 10,10;
"task4" uses 1,5; Finally, this program will produce the
following result.
the sum is 2 produced by task1 thread
the sum is 10 produced by task2 thread
the sum is 20 produced by task3 thread
the sum is 6 produced by task4 thread
Hence, this research finding introduced to use for Flynn’s
SPMD classification to execute on the single processing
environment using concurrent approach.
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.
Concurrent approaches can execute multiple tasks using
context switching in single processor environments. It enabled
to execute Flynn’s SPMD classification in single processing
environment. This finding also initiated to have high
performance and throughput on single processing
environment. Hence, this paper recommending you to have
concurrent execution of single program with multiple values
on single processing environment.
[1] Tobias Wittwer, An Introduction to Parallel Programming, VSSD, 2006.
[2] Hesham El-Rewini, Mostafa Abd-El-Barr, Advanced Computer
Architecture and Parallel, A John Wiley & Sons, Inc Publication, 2005.
[3] Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes,
Doug Lea, Java Concurrency in Practice, Addison Wesley Professional,
[4] Charles W. Kann, Creating Components: Object Oriented, Concurrent,
and Distributed Computing in Java, Auerbach Publications, 2004.
[5] Peter Norton & Wiliam Stanek, Java Programming, Sams Publishing,
[6] Stephen J. Hartley, Concurrent Programming Using Java, Oxford
University Press, 1998.
[7] Bala Dhandayuthapani Veerasamy, Concurrent Approach to Flynn’s
MPSD Classification through Java, International Journal of Computer
Science and Network Security, Vol. 10 No. 1 pp. 126-129, January
[8] Bala Dhandayuthapani Veerasamy, Concurrent Approach to Flynn’s
MPMD Classification through Java, International Journal of Computer
Science and Network Security, Vol. 7 No. 2, February 2010.

Bala Dhandayuthapani Veerasamy was
born in Tamil Nadu, India in the year 1979. The
author was awarded his first masters degree M.S
in Information Technology from Bharathidasan
University in 2002 and his second masters degree
M.Tech in Information Technology from
Allahabad Agricultural Institute of Deemed
University in 2005. He has published more than
fifteen peer reviewed technical papers on various
international journals and conferences. He has
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).

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
School of Basic Sciences
IIT Bhubaneswar
Orissa, Pin-751013, India
K. K. Biswal
Department of Mathematics
C.T.T.C, Bhubaneswar
Orissa, India-751024

Abstract-Geometric programming is an important class of
optimization problems that enable practitioners to model a
large variety of real-world applications, mostly in the field of
engineering design. In many real life optimization problem
multi-objective programming plays a vital role in socio
economical and industrial optimizing problems. In this paper
we have discussed the basic concepts and principle of multiple
objective optimization problems and developed geometric
programming (GP) technique to solve this optimization
problem using weighted method to obtain the non-inferior

Keywords- Geometric programming, optimization, weighted
method, duality theory, non-inferior solutions.


Geometric Programming(GP) problems have wide range of
application in production planning, location, distribution,
risk managements, chemical process designs and other
engineer design situations. GP problem is an excellent
method when decision variable interact in a non-linear,
especially, in an exponential fashion. Most of these GP
applications are posynomial type with zero or few degrees
of difficulty. GP problem whose parameters, except for
exponents, are all positive are called posynomial problems,
where as GP problems with some negative parameters are
refereed to as signomial problems. The degree of difficulty
is defined as the number of terms minus the number of
variables minus one, and is equal to the dimension of the
dual problem. When the degree of difficulty is zero, the
problem can be solved analytically. For such posynomial
problems, GP techniques find global optimal solutions.
If the degree of difficulty is positive, then the dual feasible
region must be searched to maximize the dual objective,
while if the degree of difficulty is negative, the dual
constraints may be inconsistent. For detail discussions of
various algorithms and computational aspects for both
posynomial and signomial GP refers to Beightler et al.[2],
Duffin et al.[6], Ecker[7] and Phillips et al.[13]. From early
1960 a lot of research work have been done on these GP
problems [3, 5, 9, 11, 14, 16, 17, 18]. Mainly, we use GP
technique to solve some optimal engineering design
problems[1] where we minimize cost and/or weight,
maximize volume and/or efficiency etc. Generally, an
engineering design problem has multiple objective
functions. In this case, it is not suitable to use any single-
objective programming to find an optimal compromise
solution. Biswal[4] has studied the optimal compromise
solution of multi-objective programming problem by using
fuzzy programming technique [20, 21]. In a recent paper
Islam and Ray[8] find the Pareto optimal solution by
considering a multi-objective entropy transportation
problem with an additional restriction with generalized
fuzzy number cost.
In this paper we have developed the method to find the
compromise optimal solution of certain multi-objective
geometric programming problem by using weighting
method. First of all the multiple objective functions
transformed to a single objective by considering it as the
linear combination of the multiple objectives along with
suitable constants called weights. By changing the weights
the most compromise optimal solution has been arrived by
using GP techniques.
The organization of the paper is as follows: Following the
introduction, Formulation of multi-objective GP and
corresponding weighting method have been discussed in
Section 2 and 3. The duality theory has been discussed at
Section 4 to find the optimal value of the objective function
and the illustrative examples have been incorporated at
Section 5 to understand the problem. Finally, at Section 6
some conclusions are drawn from the discussion.


A multi-objective geometric programming problem can be defined
x x x x ) ,...., , (
2 1
so as to
p k x C x g
t k k
tj k
,..., 2 , 1 , ) ( : min
1 1
0 0
= =
∏ ∑
= =
subject to
m i x C x g
it i
,..., 2 , 1 , 1 ) (
1 1
= ≤ =
∏ ∑
= =
n j x
,..., 2 , 1 , 0 = > (2.3)
where C
for all k and t are positive real numbers and d
and a
are real numbers for all i,k, t, j.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
= number of terms present in the k
objective function.
= number of terms present in the i
In the above multi-objective geometric program there are p
number of minimization type objective function, m number
of inequality type constraints and n number of strictly
positive decision variables.


The weighting method is the simplest multi-objective
optimization which has been widely applied to find the non-
inferior optimal solution of multi-objective function within
the convex objective space.
If f
(x), f
(x),… ,f
(x) are n objective functions for any
x x x x ) ,...., , (
2 1
= then we can define weighting
method for their optimal solution as defined below:

= > ∈ =

j i
w w R w w W
1 , 0 , : to be the set of
non-negative weights. The weighted objective function for
the multiple objective function defined above can be defined
as P(w) where


j j
X x
x f w w P
) ( min ) ( (3.1)
It must be made clear, however, that if the objective space
of the original problem is non-convex, then the weighting
method may not be capable of generating the efficient
solutions on the non-convex part of the efficient frontier. It
must also be noted that the optimal solution of a weighting
problem should not be used as the best compromise
solution, if the weights do not reflect the decision maker's
preferences or if the decision maker does not accept the
assumption of a linear utility function. For more detail about
the weighted method refer[10].
Based on the importance of the p number of objective
functions defined in (2.1) the weights w
assigned to define a new min type objective function Z(w)
which can be defined as

k k
x g w x Z
) ( ) ( : min

∏ ∑ ∑
= = =
t k
tj k
x C w
1 1
∏ ∑∑
= = =
t k k
tj k
x C w
1 1 1

subject to
∑ ∏
= =
= ≤
j it
m i x C
1 1
,..., 2 , 1 , 1 (3.3)
n j x
,..., 2 , 1 , 0 = >
where p k w w
,..., 2 , 1 , 0 , 1
= > =

The model given by (3.2), (3.3) and (3.4) is a conventional
geometric programming problem and it can be solved
directly by using primal based algorithm for non linear
primal problem or dual programming [12]. Methods due to
Rajgopal and Bricker [15], Beightler and Phillips[1] and
Duffin et al.[6] projected in their analysis that the dual
problem has the desirable features of being linearly
constrained and having an objective function with structural
properties with suitable solution.
According to Duffin et al.[6] the model given by (3.3) can
be transformed to the corresponding dual geometric
program as:
∏ ∏ ∏∏
= = = =

t it
it i
t k k
C w
C w
) (
1 1 1
) ( max
subject to 1

1 1 1 1
= +
∑∑ ∑∑
= = = =
it itj
it itj
i i
w d w a , j=1,2,…,n
j t w
, 0 ∀ ≥
p k w w
,..., 2 , 1 , 0 , 1
= > =


Since it is a usual dual problem then it can be solved using
method relating to the dual theory.


For illustration we consider the following examples.
Example: 1
Find x
, x
, x
, x
so as to
4 3 2 1 10
2 4 10 4 ) ( : min x x x x x g + + + = (5.1)
3 2 1 20
) ( : max x x x x g = (5.2)
subject to 1
≤ +
3 2 1

x x x
0 , , ,
4 3 2 1
> x x x x
Now the problem can be rewritten as
4 3 2 1 10
2 4 10 4 ) ( : min x x x x x g + + + = (5.5)
) ( : min
− − −
= x x x x g (5.6)
Subject to 1
≤ +
− −
x x x x (5.7)
1 100

− − −
x x x (5.8)
0 , , ,
4 3 2 1
> x x x x (5.9)
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
objective function is formulated as
) ( ) 2 4 10 4 ( ) (
1 2 4 3 2 1 1
− − −
+ + + + = x x x w x x x x w x Z
subject to 1
≤ +
− −
x x x x (5.11)
1 100

− − −
x x x (5.12)
0 , , ,
4 3 2 1
> x x x x
where 0 , , 1
2 1 2 1
> = + w w w w (5.13)
This problem is having degree of difficulty 3. The problem
is solved via the dual programming [6].
The corresponding dual program is:
( )
( )
21 12 11
12 11 05
04 03 02 01
1 1
2 4 10 4
) ( : max
12 11
12 11 05
w w w
w w w
w w w w
w w
w w w
w V


subject to 1
05 04 03 02 01
= + + + + w w w w w
0 2
21 11 05 01
= − + − w w w w
0 2
21 12 05 02
= − − − w w w w
21 05 03
= − − w w w
0 2 2
12 11 04
= − − w w w
2 1
= + w w
0 , , , , , , ,
21 12 11 05 04 03 02 01
≥ w w w w w w w w
0 ,
2 1
> w w
By considering different values of w
and w
the dual
variables, corresponding maximum value of dual objective
are given in the following Table.

Dual solution:



0. 014225

Using primal dual relationship the corresponding primal
solution are given in the following Table.
Primal solution:


where the minimum values of g
= 87.98776 and g
= 0.01

Example: 2
Find x
, x
, x
, x
in order to
1 1
) ( : min
− − −
= x x x x f (5.15)
1 2
) ( : min
− − − − −
+ = x x x x x x f (5.16)
subject to 6
3 2
3 2 1
≤ + x x x x x (5.17)
3 1
≤ x x (5.18)
0 , ,
3 2 1
> x x x (5.19)
Using the weights the above objective function can be
reduced to the new objective function as:
) ( ) ( ) (
1 2
1 1
− − − − − − − −
+ + = x x x x x w x x x w x Z
3 2
3 2 1
≤ + x x x x x (5.21)
3 1
≤ x x (5.22)
0 , ,
3 2 1
> x x x (5.23)
where 1
2 1
= + w w 0 ,
2 1
> w w (5.24)
In this problem the degree of difficulty is 2 and it can be
solved by using duality theory as given by
( )
( )
12 11
12 11
03 02 01
12 11
12 11
) ( : max
w w
w w
w w w
w w
w w
w V

subject to 1
03 02 01
= + + w w w
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
21 11 03 02 01
= + + − − − w w w w w
0 3
12 11 03 02 01
= + + − − − w w w w w
0 2 5 2
21 12 11 02 01
= + + + − − w w w w w
0 , , , , ,
21 12 11 03 02 01
≥ w w w w w w
0 ,
2 1
> w w
For different values of w
, w
the dual variables and the
corresponding maximum values of dual objective is
obtained as given in the Table

Dual solution:

0. 4239919
0. 2026694
0. 1682496
0. 1319460
0. 1013347

0. 7026695


The corresponding primal solution is given in the following
Primal Solution

Ideal solution of the two objective functions are given
= 0.33333; x
= 236.9322; x
= 710.7964; x
= 0.0042206
and f
= 0.1421595; x
= 2.148558; x
= 9.82199;

By using weighted method we can solve a multi-objective
GPP as a vector minimum problem. A vector-maximum
problem can be transformed as a vector minimization
problem. If any of the objective function and/or constraint
does not satisfy the property of a posynomial after the
transformation, then we use any of the general purpose non-
linear programming algorithm to solve the problem. We can
also use this technique to solve a multi-objective signomial
geometric programming problem. However, if a GPP has
either a higher degree of difficulty or a negative degree of
difficulty, then we can use any of the general purpose non-
linear programming algorithm instead of a GP algorithm.
[1] C.S.Beightler and D.T.Phillips: Applied Geometric programming,
John wiley and Sons, New York., 1976.
[2] C.S.Beightler and D.T.Phillip, D.J.Wilde: Foundations of
optimization, Prentice-Hall, New Jersy, 1979.
[3] H.P.Bensonand, G.M. Boger: Multiplicative programming problems
analysis and efficient point search heuristic, Journal of optimization
theory and applications 94, 487-510, 1997.
[4] M.P. Biswal: Fuzzy Programming technique to solve multi-objective
geometric programming problem, Fuzzy sets and systems 51,67-71,
[5] C.Chu and D.F.Wong: VLSI Circuit performance optimization by
geometric programming, Annals of Operations Resarch 105, 37-60,
[6] R.J.Duffin, E.L.Peterson and C.M.Zener: Geometric Programming
Theory and Application, Wiely, New York , 1967.
[7] J.G.Ecker: Geometric programming Methods, computations and
applications. SIAM Review 22, 338-362, 1980.
[8] S.Islam and T.K.Ray: A new fuzzy multi-objective programming:
Entropy based geometric programming and its applications of
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
and Finance 28, 2353-2368 , 2004.
[10] G.P.Liu, J.B.Yang and Whidborne: Multi-objective optimization and
contral, PHI, EEE, 2006.
[11] S.T.Liu: Geometric Programming with parametric uncertainty,
Europian Journal of Operation Research 168, 345-353, 2006.
[12] E.L.Peterson: The fundamental relations between geometric
programming duality, Parametric programming duality, and ordinary
Lagrangian duality, Annals of Operations Research 105,109-153,
[13] D.T.Phllips, C.S.Beightler: A technical state of the art survey.AIIE
Transactions 5, 97-112, 1973.
[14] J.Rajgopal D.L Bricker: Posynomial geometric programming as a
special case of semi-infinite linear programming, Journal of
Optimization Theory and Applications 66, 455-475, 1990.
[15] J.Rajgopal and D.L.Bricker: Solving Posynomial geometric
programming problems via generalised linear programming,
Computational Optimization and Applications 21, 95-109,2002.
[16] C.H.Scott and T.R.Jefferson: Allocation of resources in project
management, International Journal of Systems Science 26, 413-420,
[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.
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.
[20] H.J.Zimmermann : Fuzzy programming and linear programming with
several objective functions, Fuzzy sets and systems 1, 46-55, 1978.
[21] H.J.Zimmermann: Fuzzy set theory and its applications, 2nd ed.
Kluwer Academic publishers, Dordrecht-Boston, 1990.

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.

K.K.Biswal: Mr.K.K.Biswal received M.Sc.(Mathematics)
from Utkal University in 1996. Currently he is a lecturer in
Mathematics at CTTC, Bhubaneswar, India. He is
performing research works in Geometric Programming. He
is served more than 7 years in different colleges in the state
of Orissa. He has published 2 research papers in different

ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol.7, No.2, February 2010

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.
Use of Service Curve for Resource Reservation in
Wired-cum-Wireless Scenario
Nitul Dutta
Sikkim Manipal Institute of Technology, Computer
Science & Engg. Deptt., India

Iti Saha Misra
Jadavpur University, Electronics &
Telecommunication Engineering
Department, India
Abstract- In a network, arrival process is converted into
departure process through network elements. The departure
process suffer propagation delay in the link, processing delay at
the network elements like router and data loss due to buffer
overflow or congestion. For providing guaranteed service
resources need to be reserved before conversation takes place.
To reserve such resources estimation of them are indispensable.
The idea of service curve gives beforehand deterministic value
of these parameters. In this paper, we aim to minimum and
maximum buffer space required in the router, minimum link
capacity required to guarantee a pre-specified end-to-end delay
for an ongoing session in a wired-cum-wireless scenario by
analyzing minimum and maximum service curve. We assume
that the network we are analyzing is an IP based mobile
network. The findings of the work are presented in the form of
tables which can be used for resource reservation to offer
quality service to end-users.

Key words: Service Curve, Network Calculus, Convolution Operator,
Causal Process
Proper analysis using network engineering
techniques enhance the strength of any network architecture
for world wide deployment. This analysis may be done
either by probabilistic or deterministic method. In this work
we want to study the behavior of traffic flow in a mobile IP
based wired cum wireless scenario by means of
deterministic method for an intrinsically stochastic stream
source to provide guaranteed service. Network calculus has
undergone a lot of development as a sophisticated tool for
performance analysis in traffic engineering. This tool can be
used to engineering networks with worst case performance
guarantees in presence of variety of network elements like
shapers, multiplexer and propagation delay. Here, emphasis
is given to evaluate the performance of the network taking
into account the minimum and maximum service curve so
that a measure of minimum and maximum end-to-end delay,
requirement of buffer and link capacity for a wired-cum
wireless scenario can be made in advance to provide quality
of service (QoS) guarantee in the network. Minimum service
curve gives a measure of minimum data required at a
network element (say router) for efficient utilization of the
service rate and the upper service curve provides a measure
of amount of data which may be handled by different
network elements preserving the QoS to the ongoing traffic.
Rest of the paper is organized as follows. There are
a lot of research work carried out on network calculus and
its application in performance measure of network
architecture. Section II is a discussion of few of such works
with the motivation. Mathematical overviews of the
network calculus along with a few definitions are found in
section III which will help readers to have a clear
understanding of the rest of the paper. The concept of
service curve and its application to measure various
resource requirements for providing guaranteed service is
elaborated in section IV. The wired-cum-wireless scenario
for which we have carried out the various service curve
analysis is briefly explained in section V. Findings of this
work are presented in a tabulated form in section VI along
with a brief discussion of various parameters used for
calculation. Finally, paper is concluded in section VII.
A concise discussion on some of the research work
related to network calculus and its application is presented
in this section. The work of [1] presents a non-probabilistic
approach for bursty data is modeled for deterministic
bound through network calculus. The calculus they have
developed gives a measure of bounds on delay and buffer
requirement in a packet switched network under a fixed
routing strategy. Another similar research presented in [2],
have analyzed a conceptual framework for flow of data in
integrated services network model and analyzed the
behavior of open loop, rate based flow control protocols, as
well as closed loop, window based flow control protocols.
They have modeled links, propagation delays, schedulers,
regulators, and window based throttles by using lower and
upper service curve. Finally, a measure of end-to-end delay
bounds and maximum buffer requirement is measured
using service curves. The paper provides a good
understanding of service curve for performance analysis
with examples. Lot of propositions are proposed and
proved in the paper which may be used as a basis for other
research work. The objective of [3, 4] is to introduce
stochastic network calculus as an evolving new
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
that can account for statistical multiplexing gain. They
promote the advances of stochastic network calculus by
deriving a network service curve, which expresses the
service given to a flow by the network as a whole in terms
of a probabilistic bound. Through the presented network
service curve a calculation of statistical end-to-end delay
and backlog bounds for broad classes of arrival and service
distributions are measured. The benefits of the derived
service curve are illustrated for the exponentially bounded
burstiness (EBB) traffic model. Their work deals with the
traffic flow through a series of network elements from
source to destination and shows that end-to-end
performance measures computed through a network service
curve are bounded by O(HlogH), where H is the number of
network elements traversed by the flow. Using currently
available techniques, which compute end-to-end bounds by
adding single node results, the corresponding performance
measures are bounded by O(H
). Their work is inclined
towards statistical approach rather than deterministic
approach, which describes arrival process and offered
service probabilistically while preserving the elegance and
expressiveness of the original framework.
In wired-cum-wireless networks, resources in the
wireless part is more precious as compared to that in the
wired part. The situation becomes more complicated when
wireless nodes are mobile. There are plenty of network
layer protocols to support communication efficiency in
such wireless environment. Mobile IPv6 (MIPv6) [5] and
Hierarchical mobile IPv6 (HMIPv6) [6] are two widely
used protocols with seamless mobility and best effort
service. But in most of the cases guaranteed service is quite
demanding rather than a best effort service. Many authors
have proposed the use of Integrated Services (IntServ) [7]
with Resource Reservation Protocol (RSVP) [8, 9, 10] to
provide guaranteed service when MIPv6 or HMIPv6
protocols are used. But while using RSVP, measurement of
resource requirement for any traffic flow is a complicated
task. Especially in wireless environment the situation is
worst. In such a situation network calculus is supposed to
be the best method to estimate the amount of resource
requirement for guaranteed service under various traffic
conditions. This fact motivated us to do this research in a
mobile IPv6 based wired-cum wireless scenario to make
use of RSVP protocol.
Service curve specifies how the arriving stream of
packets is converting into a departing process. Service
curve can model a variety of network elements like router,
link capacity etc. Before we proceed further, some
definitions are presented here for clarity of the reader.
These definitions are used in the subsequent sections in the
Definition 1. Process: A process ℜ ∈ t t A ), ( is defined as
a non-decreasing and right continuous function of time
which could count the amount of data arriving or departing
to or from some network element [12,13].
A(t) is a mapping from the real number in to the
extended nonnegative real numbers which is
mathematically represented as } { : +∞ ∪ ℜ → ℜ
Definition 2. Causal process: A process ℜ ∈ t t A ), ( is said
to be causal if it has the property 0 ) ( = t A for t<0 [12].
A causal process will be identically zero for all
negative times. For example if A(t) is a causal process
representing the amount of traffic fed to an agent, then A(t)
is the amount of data (in bits ) arriving to the agent in the
] , ( t −∞
Definition 3. Supremum: Let S is a subset of real number
ℜ such that , ℜ ∈ ∃b and . , b s S s ≤ ∈ ∀ Then subset S is
said to be bounded above. In such case it can be proved
that there is a number u and i) u s S s ≤ ∈ ∀ , and ii) For
every b, b upper bounds S, . b u ≤ The number u is the least
upper bound of S and called supremum or sup of set S. It is
denoted as } : sup{ S s s u ∈ = [12 ].

Supremum is the smallest real number that is
greater than or equal to every number in S. A real number
is said to have the completeness property and for this
property every non-empty subset of real number that is
bounded above has a supremum that is also a real number.

Definition 4. Infimum: Let S is a subset of real number
ℜ such that , ℜ ∈ ∃a and . , s a S a ≤ ∈ ∀ Then subset S
is said to be bounded below. Then there is a greatest lower
bound l which is called the infimum of S and is denoted by
}. : inf{ S s s l ∈ = [12 ].

Infimum is the biggest real number that is smaller
or equal to every real number in S. If no such number
exists, then inf(S) = -∞ and if S is empty then inf(s) = ∞.

Definition 5. Convolution operation (*): If ) (t A and
ℜ ∈ t t B ), ( , are non negative non decreasing causal
functions then, convolution of these two functions is defined
)) ( ) ( ( inf : ) )( * ( t B A t B A − + =
ℜ ∈
τ τ
[4,12 ].

Convolution operation produces a third function
from any two functions and may be viewed as modified
version of one of the original functions.

Definition 6. Identity element δ(t) is defined as a process
such that 0 ) ( = t δ for t<0 and ∞ otherwise and satisfies
the equality ) ( ) ( d t t
− = δ δ [12]. For any causal process
A(t), ) ( ) )( * ( t A t A
= δ

ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol.7, No.2, February 2010

Service curve scientifically and mathematically
justifies the theoretical utilization and efficiency based on
the incoming traffic to any network system. Service curve
may be either lower or upper. The lower service curve
deterministically evaluates amount of network traffic which
is must to proper utilization of the service of the
multiplexer. On the other side, the upper service curves
gives a deterministic measure of maximum allowable data
which could be fed to the multiplexer without degrading
the end-to-end QoS. Both the upper and the lower service
curve are dependent on the traffic arrival rate, service rate
or processing rate of the multiplexer and bandwidth of the
outgoing line in the multiplexer. To understand the concept
clearly, let us consider Figure 1.

Figure 1: Service curve of a network element
In a network multiplexer, A(t) is the amount of traffic
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 L
bytes which
is transmitted through the multiplexer. If data is not
regulated by the source before delivering it to the channel
for transmission, then any byte may be delayed by at most
max unit time. At time
- t
, arrived traffic is less
than the traffic that could be departed from the system. So,
) ( ) (
t A t D − ≥

From the definition of identity element δ(t) and convolution
operation of identity element with A(t), we can rewrite
equation (1) as

) )( * ( ) (
t A
t A
δ = −

) )( * ( ) (
t A t D
δ ≥

is the lower service curve. If

is very
small, service rate of the multiplexer is under-utilized.
Again, if the source generates data in such a speed that
before time
- t
max the amount of data exceeds the data
that the multiplexer could server, hence backlog will
Let us now define lower and upper service curves
mathematically. Let S(t) and

) (t S are two non-negative,
non-decreasing causal functions. If ) ( * ) ( ) ( t S t A t D ≥ , then
S(t) is a lower service curve and if
) ( * ) ( ) ( t S t A t D

, then

) (t S
is called upper service curve. The operator * is the
convolution operation. If
) ( ) ( t S t S

then, S is called
service curve[12 ].
In Figure 2, a sample network scenario is depicted
for which various performance parameters are analyzed in
accordance with the service curve. Different components of
the scenario are discussed below.

Figure 2: Example Wired-cum-Wireless scenario

A mobile node (MN) is connected to Access
Router (AR). AR serves MNs within a specified region
called cell. All MNs in the cell communicate with the
Correspondent Node (CN) via same AR. We are intended
to study delay suffered by packets from MN to CN, buffer
space required at AR to store access data so that guaranteed
service can be offered by reserving resources beforehand.
A measure of minimum bandwidth required to support
guaranteed service with a pre specified delay is also made
in the analysis. Observation is made by splitting the entire
scenario into two parts; wireless and wired segment. First
we calculate the minimum and maximum delay of packets
from MN to AR and then from AR to CN. We assume that
several audio sessions are connected to CN from MN and
traffic to wireless channel is injected by an envelope of (σ,
ρ). There is no such regulator maintained at AR and data is
allowed to pass to the wired link as long as bandwidth is
available and buffered otherwise. A measure of minimum
bandwidth required to maintain a pre specified end-to-end
delay is also made for the scenario.
Under an AR there may be a group of MNs. The
arrival process A(t) is influenced by the traffic of MNs
under the coverage of the AR. As the number of MNs
which are distributed under different ARs increases, the
A(t) increases. The service rate of the AR remains constant.
This is also true for departure process D(t) which may vary


A(t) D(t)

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
capacity of the outgoing line of the AR. Once the arrival
process exceeds the capacity of the outgoing link or the
service rate of the AR is not sufficient to attend the arrival
process, backlog is generated. A fixed length buffer is
assumed to be maintained in each of the AR to minimize
data loss. Hence, if the buffer is full the data will be
dropped and performance of the network is said to be
degraded. As a result, to maintain desired quality of
services to the network traffic, either we have to restrict the
total number of MNs under an AR or session should be
stopped at the connection establishment phase.
In the next subsection we will discuss delay, buffer
space and link capacity with respect to the above network
scenario so that a measure could be made to provide
preferential treatment to certain traffic in the network.
A. Delay analysis
Delay experienced by traffic passing through any
network element is either upper and lower bounded by d

and d
respectively. If delay exceeds d
then the packet
is of no use to the end. If d
is very low and end user
cannot consume the data at the rate with which it arrives,
buffer overflow will occur in the destination. If more
packets are lost due to buffer overflow, end system may not
make use of the arrived data properly. To support
guaranteed service to end users, the values of d
and d

should be within the range such that end users can tolerate
the delay or can make the other alternative (like buffer) to
adjust the delay. Again, let us examine the delay bound in a
traffic flow with arrival process A(t) and departure process
D(t). From the definition of A(t) and D(t) and value of d

and d
we can have

) ( ) ( ) (
min max
d t A t D d t A − ≤ ≤ −
It implies that amount of packets arrived till the time t-d

cannot exceed the amount of traffic departed from the
system but the amount of traffic arrived at time t-d
exceed the amount departed from the system at time t.
To provide guaranteed service to end users these two
parameters must be selected carefully taking both the
characteristics of the A(t) and D(t) into account. Using the
shift operator and its definition ) ( ) ( d t t
− = δ δ where,
is the shift operator and for any process ) ( ) ( * d t A t A
− = δ .
Hence, equation (3) may be rewritten as
) ( * ) ( ) ( *
min max
t A t D t A
d d
δ δ ≤ ≤ (4)
Comparing equation (4) with minimum and maximum
service curve definition, it could be stated that the delay
element is a service curve element with minimum value
and maximum value δ
. Mathematically,
} * , 0 : inf{
max max
S E d d d
≤ ≥ = δ
0 )} ( : sup{
= =

t s t d

B. Buffer requirement
Buffer requirement is another important parameter to
adjust for providing guaranteed service to end users. Too
large buffer space introduces high end to end delay. For
traffic with high temporal dependencies, such long delay
results in data delivery which is of no use to the end users.
These data unnecessarily consume network bandwidth. If
buffer space is too small more number of packets is
dropped. In case of stream traffic, around 2-5% of packet
drop is acceptable to end users [1]. But for elastic traffic
even a single packet loss is unacceptable and needs
retransmission of the packet. These retransmitted packets
consume considerable amount of bandwidth. In this
subsection buffer requirement for traffic session is analyzed
in terms of arrival and departure process and service curve.
Maximum buffer requirement may be expressed as,
) ( ) ( b t D t A ≤ −

i.e. when amount of data arrived is larger than the data that
could be departed from the system than backlog is
generated. In terms of envelop E and service curve S
) ( ) (
t S b t E + ≤

From the definition of envelop and service curve

) ( * )) ( ( * ) ( ) (
t S A t S b A t D t A − + ≤ −
) ( * ) ( * * ) ( ) (
t S A t S A b A t D t A − + ≤ −
* ) ( ) ( b A t D t A ≤ −
} : ) ( ) ( sup{
ℜ ∈ − = t t S t E b

C. Link Capacity
Every physical device in the network is connected
via communication link of fixed capacity which is known
as topology. The maximum transmission capacity or simply
the capacity of a link is measured in bits per second or bps.
This link capacity also has direct influence on the
performance of the network and hence on the quality of
service to be offered to a particular flow. So link capacity
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
observation is C bps. It implies that for any instance of time
t, it can transmit only C(t) amount of data through it. In
terms of departure process D(t), it holds the inequality,
ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol.7, No.2, February 2010

) ( ) ( t C t D ≤
also for any τ ≤ T, we can have
) ( ) ( ) ( τ τ − ≤ − t C D t D
Since we have mentioned that ) ( ) ( t A t D ≤ , so
) ( ) ( ) ( τ τ − + ≤ t C A t D
C A D * ≤
In the above expression, C is the amount of data which is
passed through the link and denoted by Ct for t≥0 and 0
otherwise. It is worthwhile to mention that when a single
link is shared by number of different sessions, then the total
capacity of the link is not dedicated to a single flow. To
provide QoS to end users an amount of the capacity needs
to be reserved in advance.
For the arrival process, A(t) passes through the link
with lower service curve S(t)=Ct, we can find the minimum
link capacity required to suffer a maximum delay of T by
any traffic flow [12]. Source generating data at a rate r, has
envelop E= rt. If the flow is regulated through (σ,ρ)
process, the envelop E(t)=min(rt,( σ+ρt)). Equation (5)
may be rewritten as
} * : inf{
S E d d
≤ = δ

This may be shown graphically as below [12],

Figure 3: Representation of maximum delay and buffer size
Depending on d
the envelop may fall below or exceed
service curve S(t). To minimize the backlog in the system,
should be shifted to left such that it falls below S(t). In
such case,

) (
) (

r C
C r

If r>ρ, link capacity decreases and b
changes from 0 to
. If C< ρ, it leads to infinite buffer build up. In terms of
Envelop and A(t)

⎛ −

Ct t E
) (
0 max (15)
A network session which allow maximum delay of T,
Ct t E
≤ ⎟

⎛ −

) (

Here C=C
, and hence
t C t E

⎛ −

) (

T C t C t E
min min
) ( ≤ −


t T
t E
) (
0 min .
Strict inequality cannot hold in this case. So,
t T
t E
) (
Results are discussed with respect to wired-cum-
wireless scenario depicted in Figure 2. To realize the traffic
flow we have considered that several traffic sessions exist
from a mobile node (MN) to a correspondent node (CN)
via the Access Router (AR). Each of the MN may have
multiple number of ongoing sessions and maintains an
envelope of (σ, ρ) where σ=5kb and ρ=200kbps. Different
parameters like end-to-end delay, buffer requirements and
link capacity are observed for various wireless link
capacities of 64kbps, 128kbps and 256kbps through which
MNs are connected to the AR with a propagation delay of
20ms. AR serves incoming packets at a rate of 400kbps and
takes a processing delay of 10ms. AR is connected to the
CN via a wired T1 link of capacity 1.2mbps and packet
suffers a propagation delay of 25ms. To simplify our
analysis we have segmented the entire architecture of
Figure 2 into two parts: wireless and wired and examined
the parameters separately. Then we combined these
parameters to evaluate the resources required to provide
guaranteed service for the whole architecture.

Figure 4: Service curve elements in Wireless segment
With this example scenario, now we will examine the
performance of the network in terms of service curve
elements end-to-end delay and buffer requirement and
bandwidth required so that a guaranteed service could be
provided by reserving such resources. Stated scenario may
be represented by a series of service curve element as given
in figure 4.
E(t) : envelope of the incoming traffic
(t): service rate of wireless link
(t): propagation delay suffered by packet in the
wireless segment
Wireless Link Access Router d

) (
) (

C r
t C .


ISSN 1947-5500
International Journal of Computer Science and Information Security (IJCSIS),
Vol.7, No.2, February 2010

(t): rate of service offered by AR
(t): service rate of wired link
(t): propagation delay suffered in wired link
t kbps kb t E . 200 5 ) ( + =

t kbps t s . 64 ) (
t ms t t s
. 20 ) ( ) (
20 2
= = δ
t kbps kb t s . 400 4 . 0 ) (
+ − =
t mbps t s . 2 . 1 ) (
t ms t t s
. 25 ) ( ) (
25 5
= = δ
Based on discussion in section V we have represented the
characteristics of different elements of example parameters
in terms of service curve. Inclusion of t in all the equations
is to represent them as causal process of time. Equation
(17) represents the envelop maintained by the source with
parameters σ=5kb and ρ=200kbps and only the rate (ρ) of
injecting data in to the network is dependent on the time.
Equation (18) and (20) is the service curve of wireless and
wired link capacity respectively, whereas, the delay for
both the links are represented by equation (19) and (22).
Equation (22) models the service of AR. All though AR has
a service rate of 400 kbps, in reality actual service rate is
lower than 400kbps because of the processing time of the
AR. The negative component of the equation (22) reflects
the processing delay of the AR in is service curve.
Now from the service curve representation of
individual network elements, the maximum and minimum
service curve for the wireless segment is represented by
equation (23) and (25) respectively. Substituting values for
parameters in the equations (25) and (26) and expanding as
in [2], equation (24) and (26) is derived.
2 1
*s s s =

and calculated as,
st kb kb s / 64 8 . 72 + − =

Similarly, minimum service curve is given by
3 2 1
* * s s s s =
and calculated as
t s kb kb s . / 64 4 . 26 + − =

Now, we will make a measure of different resources
required for providing guaranteed service to end users
[12,2,3]. Consider that
r and
p are the propagation
delay, processing delay, transmission rate and service rate
respectively at i-th service curve element. So, from S
i k i
r r
≤ ≤
min is the minimum service rate of the wireless
segment. Again, from S

= =
20 θ θ
where k is the
number of service curve elements that introduces
propagation delay in the wireless network. Similarly, the
total processing delay in the system is for the service curve
element S
(t) and it is denoted by

= =
10 φ φ
where k
is the number of service curve elements that introduces
processing delay in the network. Using envelop of the
source σ=5kb and ρ=200kbps. There is only one router
(AR) that forwards the packet with a service rate of 400
kbps and it is the total service rate of the system denoted by
p, i.e. p=400 kbps. From the above discussions the
following parameters are derived and given in Table -I:

Minimum delay = θ=20 ms,
Maximum delay = θ+σ/r=20ms+12.5ms=32.5ms
Maximum buffer size = σ+ρθ=5kb+9kb=14kb
64 20 32.5078125 14
128 14 38.039062 56
256 12 35.019531 100

Consider an example of a voice coder emitting 10ms
speech and 10 bytes per frame. The rate of injecting data to
the channel is 8kbps. In the Table-II, we have shown the
minimum bandwidth required by the application and
number of such sessions that can exhaust the link capacity.
Buffer Space
Required (kb)
64 35.078125 130 8
128 35.039062 250 16
256 35.019531 500 32

Data shown in Table–II represents maximum
tolerable delay by each of the session, total session that can
exhaust entire bandwidth of a wireless link and the buffer
space required to cope up with the delay by the end
application. Recorded data shows that maximum end-to-
end delay and buffer space required per session decreases
when link capacity increases. On the other hand, total
sessions supported are more if channel capacity is large.
Increased supported session increases the buffer space
required to provide guaranteed service at the AR of the
wired-cum-wireless scenario. The AR is connected to the
destination via T1 link of capacity 1.2mbps. Next follows a
calculation of the above observed parameters for wired part
of the network. Assumption is made that AR does not
maintain any regulator and allows passing data as and when
channel is free. For the AR, the following parameters are
φ: processing delay of AR = 10ms
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
: size of a packet = 8kb
Propagation Delay =
67 . 6
2 . 1
= =

It adds another delay to the outgoing data packets as
processing delay of AR and propagation delay of wired link
(10ms and 6.67ms). The link capacity consumed (C
) by
the session is calculated as
C =

where L
is the offered load and C is the link capacity.
Applying data from Table II and assuming there are
sufficiently large number of MNs available to exhaust the
total capacity of the wireless link during transmission of
data to AR. For the first case with wireless link capacity
64kbps, there are eight numbers of sessions that
continuously sending data to the AR. So, number of
sessions that can exhaust the entire wired bandwidth is
calculated as,
18 75 . 18
2 . 1
≈ = =

Approximately 18 numbers of MNs can be supported by
the AR distributed over various parts of the cell offering
eight sessions per MN. Similarly, in Table – III, we have
noted down the number of supported MNs for wireless link
of various capacity.
Number of MNs
64 18 8
128 9 16
256 4 32

Data given in the table-III provides a measure of
various parameters like total allowable sessions per mobile
node in a sample wired-cum-wireless scenario. In such
scenario we have measured the buffer requirement and link
capacity required to meet a pre-specified end-to-end delay.
The measured quantities can be used to provide guaranteed
service to end-users by reserving different resources before
starting the conversation. We can make use of the well
known Resource Reservation Protocol (RSVP) [10] of
Integrated services (IntServ) for reserving resources. The
calculations and data presented here provide a mechanism
to use network calculus to compute resource requirements
to apply Integrated Services in wired-cum-wireless
environment where resources are very precious.
In this paper, an analysis is made for different
sessions in a wired cum wireless environment. The main
aim of this paper is to measure end-to-end delay suffered
by each of the flow in such scenario and buffer requirement
to cope up with the end-to-end delay and minimum
bandwidth required by end applications so that a
guaranteed service can be provided to the end user. All the
service curve elements that contributed to the flow are
identified first and their influences to maintain a minimum
and maximum service curve is analyzed. With the help of
examples the parameters like maximum and minimum
delay suffered by a packet and the total buffer requirement
is also shown in this paper. The process can be extended to
any number of nodes related to the wireless environments.
With the growing world of wireless users in this day,
guaranteed QoS is a major concern. This paper shows a
way to calculate the QoS parameters in a wired-cum-
wireless scenario.
[1] Rene L. Cruz et. al., “A Calculus for Network Delay Part I: Network
Element in Isolation”, IEEE Transactions On Information Theory , Vol.
37, No. 1, June 1991.
[2] R. Agarwal et. al, “Performance Bounds for Flow Control Protocols”,
IEEE/ACM Transactions On Networking, Vol. 7, No. 3, June 1999.
[3] Florin Ciucu, “A Network Service Curve Approach for the Stochastic
Analysis of Networks”, SIGMETRICS’05, June 6–10, 2005, Banff,
Alberta, Canada 2005 ACM.
[4] Florin Ciucu et al,, “Scaling Properties of Statistical End-to-End
Bounds in the Network Calculus”, IEEE Transactions On Information
Theory, Vol. 52, No. 6, June 2006.
[5] Johnson and C. Perkins, "Mobility support in IPv6," IETF draft,
draftietf-mobileip-ipv6-15.txt, July 2001.
[6] H. Soliman et al. Hierarchical mobile IPv6 mobility management
(HMIPv6)”. Internet draft, 4(1), 2003.
[7] R. Braden , D. Clark , S. Shenker, “Integrated Services in the Internet
Architecture: An Overview”, RFC Editor, 1994
[8] R. Braden,et al ,“Resource ReSerVation Protocol (RSVP)”, RFC 2205,
September 1997.
[9] Nen-Fu Huang1 and Whai-En Chen ,“RSVP Extensions for Real-
Time Services in Hierarchical Mobile IPv6 Mobile Networks and
Applications”, Springer Netherlands, Volume 8, Number 6 / December,
[10] Architecture Zheng Wan, Xuezeng Pan, and Lingdi Ping , “QoS
Provisioning in an Enhanced FMIPv6”, ICCSA 2005, LNCS 3481, pp.
704 – 713, 2005.
[11] Nitul Dutta, ,Iti Saha Misra, “Handoff Latency and Packet Dropping
Probability In Layered Mipv6: A Mathematical Analysis”, IACSIT
International Conference On Computer Ad Network Technology (ICCNT
2009), July 24-26, 2009, Chennai, India.
[12] Anurag Kumar, D. Manjunath, Joy Kuri, Communication Networking
An analytical Approach, Morgan Kaufmann Publisher, Elsevier, ISBN 81-
8147-593-3, 2005.
[13] Julian Eckert et al. “Worst-Case Performance Analysis of Web
Service Workflows” , Proceedings of iiWAS 2007.
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
C. Ravichandiran
, Dr. C. Pethuru Raj
, Dr. V. Vaidhyanathan
IT Leader, Zagro Singapore Pte Ltd, Singapore.
Lead Architect, CR Division of Robert Bosch, Bangalore, India.
Professor and HOD, Dept. of IT, SASTRA University, India.
Abstract— Mobile WiMAX (Worldwide Interoperability for
Microwave Access) is being touted as the most promising and
potential broadband wireless technology. And the popularity rate
has been surging to newer heights as the knowledge-backed
service era unfolds steadily. Especially Mobile WiMAX is being
projected as a real and strategic boon for developing counties
such as India due to its wireless coverage acreage is
phenomenally high. Mobile WiMAX has spurred tremendous
interest from operators seeking to deploy high-performance yet
cost-effective broadband wireless networks. The IEEE 802.16e
standard based Mobile WiMAX system will be investigated for
the purpose of Quality of Service provisioning. As a technical
challenge, radio resource management will be primarily
considered and main is the costly spectrum and the increasingly
more demanding applications with ever growing number of
subscribers. It is necessary to provide Quality of Service (QoS)
guaranteed with different characteristics. As a possible solution
the scheduling algorithms will be taken into main consideration
and the present well known algorithms will be described.
In this paper, we have highlighted the following critical issues for
Mobile WiMAX technologies. This paper specifically discussed
about the below mentioned in detail.
• QoS Requirements For IEEE 802.16 Service Classes,
Achieving efficient radio resource management
• Deficit Round Robin (DRR) Scheduling algorithm
• Modified Deficit Round Robin (MDRR) scheduling
algorithm’s attributes, properties and architecture
• System Model And Scenarios Using OPNET Modeler
• Simulation Limitations And Constraints
Keywords- IEEE 802.16, Mobile WiMAX (802.16e), QoS, PHY,
“Mobile WiMAX” refers to a rapidly growing broadband
wireless access solution built upon the IEEE 802.16e-2005 air
interface standard. It is equally applicable to fixed, portable and
mobile applications. The Mobile WiMAX air interface utilizes
Orthogonal Frequency Division Multiple Access
(OFDMA) for improved multipath performance in non-line-of-
sight (NLOS) environments and high flexibility in allocating
resources to users with different data rate requirements. The
fundamental premise of the IEEE 802.16e media access control
(MAC) architecture is QoS. Mobile WiMAX QoS features
enable operators to optimize network performance depending
on the service type (e.g., voice, video, and gaming) and the
user’s service level. In wireless communication the task of
taking care of resources being utilized falls into Radio
Resource Management (RRM). RRM, in general, is
responsible for the improvement of efficiency and reliability of
radio links, but in particular it enables many specific operations
are below:
Rate control: To be capable of utilizing the bandwidth more
efficiently and maintain the quality of the radio links Adaptive
Modulation and Coding (AMC) technique is used in wireless
communication. Channel assignment: Mapping the most
efficient subcarriers to their corresponding symbol times is
done with the help of the information provided trough RRM
Subcarrier permutation: Mainly there are two types of
subcarrier permutation: Distributed Subcarrier Permutation:
where frequency subcarriers are spread along the whole
allocated transmission band pseudo‐randomly.
Scheduling System: Scheduling makes up an important part
of the communication systems since it is chiefly the process of
sharing the bandwidth. Therefore, has a significant effect on:
The time taken by a packet to travel from one OSI (Open
System Interconnection) stack layer to its corresponding peer
layer. Jitter: The inter‐packet arrival time difference. Packet
Loss: The amount of packet being dropped on both the Uplink
(UL) and Downlink (DL). Throughput: The number of
successful bits/packets per second arriving at the receiver [1].
Mobile WiMAX is expected to deliver significant
improvements over Fixed WiMAX which makes it even more
attractive for fixed deployments. In wireless environments, link
budget (measured in dB) and spectral efficiency are the two
primary parameters used for evaluating system performance
[22]. Mobile WiMAX) standard amendment as the
investigation host for the discussed scheduling algorithms, thus
from now on any mentioned technology will be those which
are valid for the Mobile WiMAX. For instance, the multiple
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
access technique considered will be Orthogonal Frequency
Division Multiple Access (OFDMA) rather than the previously
utilized Orthogonal Frequency Division Multiplexing (OFDM)
Since the packet scheduling theme is mainly done in the MAC
layer of the OSI protocol stack, the main task will be to present
a brief background overview on the scheduling procedure
related MAC entities; as it will also briefly explain the
WiMAX Physical (PHY) Layer inter related functionalities
which are involved in the scheduling process[2].
A. IEEE 802.16E PHY Layer
The WiMAX physical layer is based on orthogonal
frequency division multiplexing. OFDM is the transmission
scheme of choice to enable high-speed data, Big files, video,
Deficit Round Robin (DRR), and multimedia file and is used
by a variety of commercial broadband systems, including DSL,
Wireless, Digital Video Broadcast-Handheld (DVB-H), and
MediaFLO, besides WiMAX[22].
Basically, OFDM subdivides the channel to multiple
subcarriers, where each subcarrier is orthogonal to the other.
There are three types of subcarriers:
• Null Subcarrier: used as guard band or DC carriers.
• Pilot Subcarrier: used for channel estimation and
channel tracking.
• Data Subcarrier: carrying the data information.
Figure 2 illustrates the types of the subcarriers in a 10 MHz
channel bandwidth.
Figure 2: OFDM Sub carrier Structure
Fundamentally, OFDMA is OFDM with the application of
Subchannelization and Time Division Multiple Access
(TDMA). Subchannelization basically means to group multiple
subcarriers and allocate them to a single user over one, two or
thee OFDMA symbol time(s). Figure 2 could be modified to
show Subchannelization for OFDMA, as illustrated in Figure 3:
Figure3: Subchannelization in OFDM
Note that different colours mean different users. Unlike
OFDM, here in OFDMA data streams from different users are
multiplexed, rather than using the whole band for a single user
per one symbol frame. Note also that the subcarriers are not
adjacently grouped, but in a random manner. This introduces
frequency diversity which is specifically rewarding in the case
of mobile communications (since the channel tends to vary the
most among other cases). Adding to that, it allows a better
application of fairness between the users since the probability
of a user experiencing bad channel impulse response will be
B. IEEE 802.16e MAC Layer
IEEE 802.16 MAC was designed for point-to-multipoint
broadband wireless access applications. The primary task of the
WiMAX MAC layer is to provide an interface between the
higher transport layers and the physical layer. The 802.16
MAC is based on collision sense multiple access with collision
avoidance (CSMA/CA). The MAC incorporates several
features suitable for a broad range of applications at different
mobility rates, as mentioned below[21][7]:
• Broadcast and multicast support.
• Manageability primitives.
• High-speed handover and mobility management
• 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.
A. Scheduling Algorithms
Packet Switching (PS) networks came into existence, need
was recognized to differentiate between different types of
packets. Since then packet scheduling has been a hot research
subject and its still being investigated at many
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
institutions/company. This is basically because scheduling
means bandwidth sharing.
Traditionally, the First Come First Served (FCFS) scheme
had been used for packet scheduling. Packets coming from all
the input links were enqueued into a First In First Out (FIFO)
memory stack, then they were dequeued one by one on to the
output link. This is shown in Figure 4‐(a). Since unlike packets
were mixed and treated equally, packets requiring urgent
delivery could not be achieved. So there is no scheduling action
taking place in this case.
In the present time different queues are specified to non
similar packets for achieving packet classification. In this case
scheduling should be done. The main task of the embedded
scheduling algorithm is to choose the next packet to be
dequeued from the available multi queues and forwarded onto
the output link. This is illustrated in Figure 4‐ (b) shown below.
B. Scheduling Algorithm Aim
The main aims behind the concept of packet scheduling
could be simply defined by four points:
• 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.
Fairness: Fairness can be defined such that: “If two flows are
backlogged, difference between their weighted throughputs is
bounded.” Since mobile subscriber stations are considered
equal regardless their location, distance from the BS and
channel quality, a scheduling algorithm should be able to
recompense users with poor channel quality and it is based on
the “Max‐min fair share”.
Flexibility: A scheduling algorithm should be capable of
accommodating users with different QoS requirements.
Link Utilization: Maximizing the link utilization, especially in
the case of wireless communications, is of great significance to
service providers. Since the produced income is directly
proportional to this criteria.
Protection: A scheduling algorithm is required to protect well‐
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.
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.
Basically the algorithm services the backlogged queues in a
round robin fashion. Each time the scheduler pointer stop at a
particular queue, one packet is dequeued from that queue and
then the scheduler pointer goes to the next queue. This is
shown in Figure 5.
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.
However, for instance an MPEG video application may have
variable size packet lengths. This case is shown in Figure 6.
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
Figure 6, unlike Figure 5, Q1 has superior throughput than the
other queues.
• Previously Q1 was transmitting 3x50 bytes per X interval
= 150 bytes/X interval
• Now Q1 is transmitting 2x100 bytes per X interval = 200
bytes/X interval
This was caused by transmitting longer packet lengths. Hence,
we can deduce that the round robin scheduling algorithm does
not convey fairness in systems with variable packet lengths,
since RR tends to serve flows with longer packets more[4].
B. Weighted Round Robin(WRR)
Weighted round robin was designed to differentiate flows
or queues to enable various service rates. It operates on the
same bases of RR scheduling. However, unlike RR, WRR
assigns a weight to each queue. The weight of an individual
queue is equal to the relative share of the available system
bandwidth. This means that, the number of packets dequeued
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
downside of a WRR scheduler, just like an RR scheduler is
that, different packet lengths being used by SSes would lead to
the loss of its fairness criterion.
C. Deficit Round Robin (DRR)
The DRR scheduling algorithm was designed to overcome
the unfairness characteristic of the previous RR and WRR
algorithms. In DRR scheduling, every queue is accompanied
by a deficit counter which is initially set to the quantum of the
queue. A quantum is a configurable amount of credits (in
bits/bytes) given to a queue whenever it is served. Quantum
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
deficit counter is deducted by the amount of information being
served on each pass of the scheduler to the queue. Queues are
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)
dcI = dcI + qI;

if(dcI > 0)
// [Serve Packet]
dcI = dcI – pS;
}while(dcI >=0 && noP > 0);
if(dcI >= 0 && noP ==0) // for fairness issues
dcI = 0; // the dcI is reset
Table1: DRR scheduling algorithm
Usually the quantum is set to the maximum packet size. This is
done in order to make sure that at least one packet per flow per
non‐empty queue is served.
MDRR scheduling is an extension of the previously mentioned
DRR scheduling scheme. There may be different
modifications of the DRR scheme and yet share the name is
MDRR. Nevertheless, MDRR is mainly used as a scheduling
scheme for the 12000 Cisco routers.
The algorithm depends on the DRR scheduling fundaments to
a great extent, however, in MDRR the quantum value given to
the queues is based on the weight associated with them, as
indicated in Equation 1.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
// q = Quantum;
// w = Weight;
// mtu = Maximum Tranmission Unit;
q = mtu + 512 * w;
Table 2: MDRR Equation (1).
Maximum Transmission Unit (MTU) is the maximum packet
size that a queue may deliver. Note that, since the MTU is a
constant number for a given system, quantum value and
weight are therefore directly proportional and hereafter could
be used interchangeably.
The reason of including the MTU parameter in equation 1 is to
ensure that the quantum to be delivered to the intended queue
at least enables the queue to transmit one packet. Since if no
packet was transmitted in a round this results in the increase of
the operational complexity. Except cases where the deficit
counter is below zero.
In Equation 1 the weight is assigned to be equal to a
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.
According to the mode of serving the Priority Queue, there
are mainly two types of MDRR schemes:
• Alternate Mode: In this mode the high priority queue is
serviced in between every other queue. For instance the
scheduling sequence may be as follows: {PQ, Q1, PQ,
Q2, PQ, Q3, PQ, and Q4}.
• Strict Priority Mode: here the high priority queue is
served whenever there is backlog. After completely
transmitting all its packets then the other queues are
served. However, as soon as packets are backlogged again
in the high priority queue, the scheduler transmits the
packet currently being served and moves back to the high
priority queue.
Priority queuing technique could be applied to classes of
queues rather than the queues themselves individually. The
intensive high‐priority‐queue scheduling idea instead could be
achieved by assigning distinct and special weights to particular
queues possessing large backlogs. For example, this could be
shown as in Figure 8.
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
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
to provide QoS, these strict constraints must be applied and
there is not much scheduling flexibility. However, in this work
it will be shown that rtPS may also carry voice traffic
according to the voice related criteria. On the other hand, rtPS
and nrtPS scheduling mechanisms are used for data traffic. In
OPNET “Modeler Software – WiMAX Module”/Other
Software MDRR can use for polling services (rtPS and nrtPS)
while RR is used for BE services. Then priority queuing is
applied between the two classes of queues. The high priority is
given to the rtPS and nrtPS queues since they possess QoS
constraints. Unlike rtPS and nrtPS, BE services do not have
any QoS constraints and thus they are assigned as a low
priority queue class[5].
Considering the case of using AMC in conjunction with the
discussed MDRR scheduling scheme is the central idea of this
paper. As it was mentioned before AMC adaptively changes
the modulation and coding for the BS and MS according to the
channel quality that the MS experiences. When a mobile is
initiated communication with the BS while it is configured to
operate in the AMC mode, it makes use of the most robust
burst profile, which in the case of Mobile WiMAX it is QPSK
½. This makes sure that even if the MS is at its furthest
distance from the BS, it is still capable of establishing initial
communication. Since QPSK ½ mode is used then the Symbol
Per Second (SPS) value of the MTMR is equal to the Bit Per
Second (BPS) value of the MTMR. According to the Equation
1, having the lowest modulation burst profile leads to gaining
the greatest weight. Thus in brief, all AMC operating mobile
terminal start with the most robust modulation and coding
profile and are assigned the highest weight [13-16].
This is determined to be as such because there is a probability
that any mobile station may move away from the BS, then
according to AMC, more robust modulation and coding shall
be used. Consequently, this means only low bit rates will be
available at the mobile terminal. So here, as a reimbursement,
the mobile terminal is assigned more weight to compensate for
its low data rate experience. Otherwise, it would be unfair to
give distant mobile stations less data rate or bandwidth.
However, the main point of this paper is that, mobile stations
near the base station can actually have better data rates and
without ignoring the fairness criteria. This idea originates from
the fact that mobile stations near the BS are changing their
modulation format and coding rate as soon as they establish
communication with the BS. The change in modulation and
coding scheme will be towards a higher modulation format
and a lower coding rate. This is valid, since mobile stations
near the base station experience very good channel impulse
responses. As a result, these mobile stations consume less
bandwidth than the distant mobile stations. Thus, in order not
to waste the bandwidth allocated to the mobile stations near
the base station, it is suggested that the more weight should be
given to mobile stations near the BS.
In Mobile WiMAX, the channel called Channel Quality
Indicator Channel (CQICH) is dedicated to return channel
quality measurements, measured by the SS, to the BS. The
parameter sent over this channel is the CINR value. For the
purpose of adjusting the weight of the channel, CINR will be
incorporated into the design as indicated in Equation (3)
// w = Weight;
// mtmr = Multi Transmit Multi Receive;
// sps = Symbol Per Second;
// tsc = Total System Capacity;
//cinr = Carrier to Interference and Noise Ratio;
//int cinrInt;
cinrInt = (cinr-12/22) * 3.5;
w = (mtmr(sps)/tsc(sps) * 100) + cinrInt * 3;
Table 4: MDRR Equation (3).
The numbers associated with the CINR portion of Equation
(3) is designed after intensive experimentation. Basically, the
right hand portion is an additional amount of weight given to
those mobile stations with considerable CINR values. The
CINR values noticed from experiment results range from 15
dB to 30 dB. Equation (3) will be incorporated into the
OPNET MDRR scheduler and then results will be examined
with taking the CINR part into account in implementation
work using software.
A. Evaluation Methodology
There are three main methods to evaluate a Scheduling
algorithm: Deterministic modeling: Different algorithms are
tested against a predetermined workload. Then the
performance results are compared. Queuing models: Random
backlogs are studied by analytically – in a mathematical way.
Implementation/Simulation: The most versatile method of
testing scheduling algorithms is to actually simulate the
designed algorithm with real life data and conditions.
B. OPNET Modeler
Indeed trying to analyze and simulate a part of the total system
would still need the fully simulated and accurate system
beforehand. This is supported by the fact that, any other
cooperating system entity may totally or in part change the
outcome of a simple scenario. Therefore, as many nodes and
sub‐nodes, with their correct attributes, should be incorporated
into the system model. However, this is not an easy task at all.
Even a very small portion of the whole system model would
need weeks to get it to behave like the original real life
system. It should also be mentioned that, lacking a fully
simulated system model, usually causes researchers to fail at
some point during their study to get feasible results.
It is true that commonly used soft wares like C, C++, Java,
MATLAB and many other programming languages are strong
and performing languages; however, these programmes do not
come with a model of a specific system. Thus for the sake of
accuracy accompanied by an almost complete WiMAX system
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
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 8: WiMAX Mobile Station Parameters
Figure 9: WiMAX Base Station Parameters
Figure 10: WiMAX Configuration Node 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
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
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 12: Mobile Station CINR Values
Figure 12 indicates that, MS_0 has the highest CINR value
and MS has the lowest CINR value.
Figure 13: WiMAX UL MS Throughput
It is shown in Figure 13 that all the Mobile station UL
connections do transmit the work load applied on them. This
may indicate that the weights assigned to the queues were
affecting the dequeuing process enough to eventually lower
the throughputs of the corresponding mobile stations.
On the other hand, polling the queues might have had more
effect on the throughput rather than the assigned weights.
Since however the weight may be still polling the SS has a
superior act on servicing that SS. This was justified when the
MTMR (which polling period is dependent on) of MS_2 was
set to be higher than the other queue. The result, as shown in
Figure 14, indicate that MTMR indeed have raised the
throughput of the corresponding queue[16].
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 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
delays. This may have been the result of the weighting
process. In other words, when great weights were assigned to
mobile stations with good channel quality, then the MDRR
scheme have served them more than the others; Causing the
other queues to wait till they get some deficit. Moreover, the
Figure also indicates that on average very low delays have
been achieved. This is a very good indication, which might
qualify the scheduler to be utilized for voice applications as
well. Nevertheless, further simulations are required to approve
that the algorithm is capable of handling large amounts of
E. Resulted Simulation Limitations and Constraints
OPNET Modeler Software is still immature. There are many
bugs in the WiMAX Model which took a lot of time of study.
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
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
and the position should be a problem if the distance was is
Figure 16: An OPNET bug
It is noticed here (Yellow & Orange color), when the Mobile
Station “MS” moves, it gets dropped off exactly right after
that the software produces an error, which should not happen.
This means that the software itself also has some bugs yet to
be corrected. Eventually, after re‐simulating the programme a
couple of times, the bug unexpectedly disappeared. Many
other bugs were noticed and took a lot of time for the software
to get back to normal. Another simulation limitation as that
Modeler sets the path taken by the uplink to be the same as the
path taken by the downlink for CINR measurements, where
this is almost always not the case, but rather the paths take
different channel quality values.
Being one of the hottest current research issues and as
indicated by Samsung: designing a scheduler that is less
complex, more efficient and provides a superior Quality
of Service is of great importance to mobile WiMAX
systems. In this paper, a comprehensive, yet brief,
introduction was given for the IEEE 802.16e
commercially known as Mobile WiMAX Systems.
Modified DRR scheduling algorithm has been studied in depth
and implemented in OPNET Modeler Software. After that it
was attempted to enhance the throughput of the system
with regard to the channel quality if the subscriber
stations while taking fairness into consideration.
[1] F. Hsieh, F. Wang, and A. Ghosh, “Link Performance of WiMAX
PUSC,” IEEE WCNC, Apr. 2008.
[2] Pratik Dhrona, "A Performance Study of Uplink Scheduling Algorithms
in Point to Multipoint WiMAX Networks," 2007.
[3] B. Lannoo et al., “Business scenarios for a WiMAX deployment in
Belgium”, in Proceedings of IEEE Mobile WiMAX 2007 conference,
Orlando, USA., Mar. 2007. Proceeding IEEE Mobile WiMAX
Symposium, Orlando, 2007.
[4] R. Jain, lecture notes, "A Survey of Scheduling Methods", University of
Ohio, 2007.
[5] Mark Handley, lecture notes, "Scheduling and queue management",
University College of London, 2006.
[6] M. Katevenis, S. Sidiropoulos and C. Courcoubetis, "Weighted round‐
robin cell multiplexing in a general purpose ATM switch chip", ‐
Selected Areas in Communications, IEEE Journal on 9(8), pp. 1265‐
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.
[12] Jia-Ming Liang, Jen-Jee, “Priority-Based Scheduling Algorithm for
Downlink Traffics in IEEE 802.16 Networks” , Nationa Chiao_Tung
University, Taiwan.
[13] Dr. Pethuru Raj, C. Ravichandiran, “A Comparative Study on High-
Performing WLAN Mesh Network Solutions”, Sambharam Academy of
Management Studies (SMRITI), April 2007.
[14] Lars Staalhagen,"Introduction to OPNET modeler", Networks
Competence Area, COM • DTU, 24th of August, 2007.
[15] Han Seok ‐ Kim, "Introduction to WiBro (mobile WiMAX)," Samsung El
ectronics Co., Ltd., 2005.
[16] OPNET Technologies, OPNET modeler. Software Package. Available at
[17] 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. ‐
[18] Xiaojing Meng "An Efficient Scheduling for Diverse QoS Requirements
in WiMAX" A thesis presented to the University of Waterloo. Waterloo,
Ontario, Canada, 2007.
[19] Dr. Vaithiyanathan, C. Ravichandiran, “An Incisive SWOT Analysis of
Wi-Fi, Wireless Mesh, WiMAX and Mobile WiMAX Technologies”,
IEEE (ICETC 2009), Singapore, 2009.
[20] Seungwoon Kim and Ikjun Yeom, “TCP-aware Uplimk scheduling for
IEEE 802.16”. IEEE Communication Letter, Feb 2007.
[21] Chingyao Huang, Hung Hui Juan, Meng Shiang Lin and Chung Ju ‐ ‐ ‐
Chang, "Radio resource management of heterogeneous services in
mobile WiMAX systems [Radio Resource Management and Protocol
Engineering for IEEE 802.16]," IEEE Wireless Communications, vol.
14, pp. 20 26, 2007. ‐
[22] J. G. Andrews, Ph. D and R. Muhamed, Fundamentals of WiMAX :
Understanding Broadband Wireless Networking. Upper Saddle River,
NJ: Prentice Hall, 2007.
C. Ravichandiran received the MCA from the Madurai Kamaraj University,
India, in 1999. He received the M. Tech degree in Software Engineering from
IASE University, India. And currently pursuing PhD degree in Computer
Science from SASTRA University, India. His fields of interest are Computer
Networks, Network Security, Wireless and Mobile Communication, Database.
He has more than 9 publications to his credit in international journals and
conferences. He is a life member of the International Association of Computer
Science and Information Technology (IACSIT), International Journal of
Electronic Business (IJEB), and International Association of Engineers
Dr. C. Pethuru Raj ( has been working as a lead
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
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
research assignments in leading Japanese universities for 3.5 years. He has 8
years of IT industry experiences after the successful completion of his UGC-
sponsored PhD in formal language theory / fine automata in the year 1997. He
worked as a CSIR research associate in the department of computer science
and automation (CSA), Indian institute of science (IISc), Bangalore for 14
memorable months. He has been authoring research papers for leading
journals and is currently involved in writing a comprehensive and informative
book on Next-Generation Service Oriented Architecture (SOA).
Dr. V. Vaidhyanathan received the PhD degree from the Alagappa
University, Karaikudi, India. He is currently Professor and HOD-IT in School
of Computing, SASTRA University, and Thanjavur, India. He has more than
19 years of experience in teaching and research. He has been guiding more
than 25 M.Tech Projects, 5 PhD and thesis. His fields of interests are various
techniques in Image Processing, Computer vision for shape identification,
Reconstruction, noise removal, online correction of an image by developing
software and in the area of cryptography. Various applications of soft computing
techniques for object identifications. He has more than 40 publications to his
credit in international journals and conferences. He has visited many
universities in India.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
Current Conveyor Based Multifunction Filter

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

Abstract—The paper presents a current conveyor based
multifunction filter. The proposed circuit can be realized as low
pass, high pass, band pass and elliptical notch filter. The circuit
employs two balanced output current conveyors, four resistors
and two grounded capacitors, ideal for integration. It has only
one output terminal and the number of input terminals may be
used. Further, there is no requirement for component matching
in the circuit. The parameter resonance frequency (ω0) and
bandwidth (ω0 /Q) enjoy orthogonal tuning. The complementary
metal oxide semiconductor (CMOS) realization of the current
conveyor is given for the simulation of the proposed circuit. A
HSPICE simulation of circuit is also studied for the verification
of theoretical results. The non-ideal analysis of CCII is also
studied. (Abstract)
Keywords- Active filters, Current Conveyor, Voltage- mode.
Active filters are widely used in the signal processing and
instrumentation area. The well known advantage of current
mode operation, such as better linearity, simple circuitry, low
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
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
band-pass) employing three positive type current conveyor and
five passive components. The circuit proposes high output
In this paper a circuit employing two balanced output
current conveyors, four resistors and two grounded capacitors
is proposed. This circuit has one output terminal and four input
terminals. All the basic filters (low pass, high pass, band pass
and notch filter) may be realized by selecting appropriate input
terminals of the circuit.
The following section presents circuit description of the
balanced output current conveyor. The sensitivity analysis,
nonideal analysis of balanced output current conveyors,
simulation results and conclusion are discussed in the
subsequent sections.
The balanced output current conveyor is shown in fig 1
with its symbol, characterized by the port relations as given by

Figure 1. Symbol of balanced output current Conveyor
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010



0 0 0
0 0 0
0 0 0 0
0 0 0

Figure 2. Proposed Voltage Mode Multifunction Filter

The values of B and K are frequency dependent and ideally
B=1 and K=1.
The proposed circuit shown in fig 2 employs only two
balanced output current conveyor, four resistor and two
capacitors. The grounded capacitors are particularly very
attractive for the integrated circuit implementation.

+ +
5 2
3 1
6 4 1
2 6 4 3 1 1
5 2
6 3
5 2
) (
C C s
C C s
s D
C C s
) ( ) (
6 3 3 1 6 4 1 5 6 4 3 1 5 2
R R R R R R R sC R R R R C C s s D + + + =
Thus by using “(2)” we can realize low-pass, band-pass,
high-pass and notch filter responses at the single output
terminal by applying proper inputs at different node as shown
in table1.
The denominators for the all filter responses are same. The
filtering parameter ω
, ω
/Q and Q are given by

5 2 6 4 1
6 1
R R +
= ω (4)

3 2

Filter\Input V

Low-pass 1 0 0 1
High-pass 0 1 0 0
Band-pass 0 0 1 0
Notch 1 1 0 1

5 6 4 1
6 1 2
) (
= (6)
It can be seen from a perusal of “(4)” - “(6)” that both the
center frequency and quality factor are independent. An
inspection of “(4) and “(5)” shows that ω
and ω
/Q can be
orthogonally tuned through R
and /or C
and R
and /or C
that order.
The sensitivity analysis of the proposed circuit is presented
in terms of the sensitivity of ω0 and Q with respect to the
variation in the passive components as follows:

4 5 2
, ,
− =
S (7)

) ( 2
6 1
61 0
− =

) ( 2
6 1
1 0
− =
S (10)

S (11)

5 4
− =
S (12)
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010

) ( 2
6 1
− = (13)

) ( 2
6 1
− = (14)
As per these expressions, both the ω
and Q sensitivities are
less than ± ½ with a maximum value of 1
S .
Practically B and K are frequency dependent with dominant
poles and therefore intended to nonideal. The non ideal
behavior of the output V
may be expressed by “(15)".

+ +
5 2
3 1
6 4 1 2 2 1
2 6 4 3 1 2 2 1 1
5 2
6 3
5 2
) (
C C s
C C s
s D
C C s
) ( )
( ) (
6 3 3 1 6 4
1 5 6 4 3 1 5 2
2 1 2 1
R sC R R R R C C s B B K K s D
+ +
+ =

5 2 6 4 1 2 1 2 1
6 1
R R +
= ω (17)

3 2

5 2 6 4 1 2 1 2 1
6 1 2
) (
= (19)
It can be observed that the effect of non ideality behavior
on cutoff frequency (ω

and Q will be negligible and
bandwidth will not be affected. The sensitivity analysis of
cutoff frequency and the quality factor with respect to K
, K
and B
are as follows:

2 1 2 1
, , ,
− =
S (20)

2 , 1 , 2 , 1
− =
S (21)
The ω
and Q sensitivities with respect to passive
components are same in case of ideal balanced output current
M1, M2 20/1
M3 50/2.5
M4, M6, M8 80/2.5
M5 100/2.5
M7,M9 50/2.5

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
(3). Table 2 list the dimension on NMOS and PMOS transistor
of this circuit. Figure 4 displays the simulation result for the
proposed filter. The circuit is designed for ω
= 14.14 KHz and
Q=2 by considering R
= R
= R
= 10KΩ, C
= C
= 10nF and
= 14KΩ. The theoretical results have been verified to match
with simulation result.

Figure 3. CMOS Circuit for Balanced Current Conveyor II

Figure 4. Multifunction Filter Responce
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
The circuit proposed by Hong et al. and Chang et. al. uses
more active and passive components. Whereas the circuit
proposed in this paper generates low-pass, high-pass, band-pass
and notch filter using two balanced output current conveyors,
four resistors and two capacitors. The circuit provides more
number of filter realizations at the single output terminal using
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
cutoff frequency and the bandwidth. It has low sensitivities
figure of both active and passive components.
[1] A. M. Soliman, “Kerwin–Huelsman–Newcomb circuit using current
conveyors,” Electron. Lett., vol. 30, no. 24, pp. 2019–2020, Nov. 1994.
[2] M. Higasimura and Y. Fukui, “Universal filter using plus-type CCII’s,”
Electron. Lett. vol. 32, no. 9, pp. 810-811, Apr. 1996.
[3] S. Ozoguz, A. Toker and O. Cicekoglu, “High output impedance
current-mode multifunction filter with minimum number of active and
reduced number of passive elements,” Electronics Letters, vol. 34, no
19, pp. 1807-1809, 1998
[4] Chun-Ming Chang and Ming- Jye Lee, “Voltage mode multifunction
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.
[5] A. Toker, O. Çiçekoglu, S. Özcan and H. Kuntman ,” High-output-
impedance transadmittance type continuous-time multifunction filter
with minimum active elements,” International Journal of Electronics,
Volume 88, Number 10, pp. 1085-1091, 1 October 2001.
[6] A. M. Soliman, “Current mode universal filters using current conveyors:
classfication and review,” Circuits Syst Signal Process, vol. 27, pp. 405-
427, 2008.
[7] P. V. Anada Mohan, Current Mode VLSI Analog Filters, Birkhauser,
Boston, 2003.

Authors Profile …

Manish Kumar was born in India in 1977. He
received his B.E. in electronics
engineering from S.R.T.M.U. Nanded in 1999
and M.E. degree from Indian Institute of
Science, Bangalore in 2003. He is perusing is
Ph.D. He is working as faculty in Electronics
and Communication Engineering Department of
Jaypee Institute of Information Technology,
Noida He is the author of 10 papers published in
scientific journals and conference proceedings.
His current area of research interests includes
analogue circuits, active filters and fuzzy logic.

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.
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
Student, CSE Department
Noida, India
Dr. Krishna Asawa
Asst. Prof., CSE/IT Department
Noida, India

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

the only difference is that the SHA-1 uses a single bitwise
rotation in the message schedule in its compression function
where as SHA-0 does not. Both hash functions use an update
function for processing each message block. This update
function consists of eighty steps divided into four rounds.
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
updated with a new 32 bit value. The starting value of these
registers is known as initial value represented as
= (A
0 ,
0 ,
0 ,
0 ,
). In general, IV
= (A
t ,
t ,
t ,

) for 0≤t≤79. For

step t the value w

used to update the
whole registers. Each step uses a fixed constant k
and a bitwise
Boolean operation F which depends on the specific round,
IF B THEN C ELSE D in first round, B XOR C XOR D in
second and fourth round, MAJ(B,C,D) in third round. The
process can be formally represented as:
t ,
t ,
t ,
) = ((w
+ A
t -1 ,
t-1 ,
)+ E
), A
<<30), C
In 2002 NIST developed three new hash functions SHA-
256,384 and 512 [2] whose hash value sizes are 256,384 and
512 bits respectively. These hash functions are standardized
with SHA-1 as SHS(Secure Hash Standard),and a 224-bit hash
function, SHA-224, based on SHA-256,was added to SHS in
2004 but moving to other members of the SHA family may not
be a good solution, so efforts are underway to develop
improved alternatives.
The new dedicated hash function is algorithmically similar to
SHA-1. The word size and the number of rounds are same as
that of SHA-1.In order to increase the security aspects of the
algorithm the number of chaining variables is increased by one
(six working variables) to give a message digest of length 192
bits. Also a different message expansion is used in such a way
that, the message expansion becomes stronger by generating
more bit difference in each chaining variable. The extended
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
bits in chaining variables. Steps of algorithm are as follows:
Step 1: Padding The first step in MD-192 is to add padding
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
less than an exact multiple of 512. We pad message M with one
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.
Step 3: Divide the input into 512bit blocks Divide the input
message into blocks, each of length 512bits, i.e. cut M into
sequence of 512 bit blocks M
Each of M
into sixteen 32bit wordsM

Step 4: Initialize chaining variables H
= IV, a fixed initial
value. The hash is 192 bits used to hold the intermediate and
final results. Hash can be represented as six 32 bit word
registers, A,B,C,D,E,F. Initial values of these chaining
variables are:
A = 01234567
D = 76543210
E = C3D2E1F0
F = 1F83D9AB
The compression function maps 192 bit value
H=(A,B,C,D,E,F) and 512 bit block M
into 192 bit value. The
shifting of some of the chaining variables by 15 bits in each
round will increase the randomness in bit change in the next
successive routines. If the minimum distance of the similar
words in the sequence is raised then the randomness will
significantly raises. A different message expansion is employed
in this hash function in such a way that the minimum distance
between the similar words is greater compared with existing
hash functions.
Step 5: Processing After preprocessing is completed
each message block is processed in order using following steps:
I) For i = 1 to N prepare the message schedule.
, 0≤t≤15
= W

(( W
)<<<1) ,











II) Initialize the six working variables A,B,C,D,E,F
with (i-1)st hash value.

Figure1. Expansion of Message words
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII , No. II, FEB2010
III) For t = 0 to 79
(A) + F1 (B,C,D) + E + K

(A) + F1 (B,C,D) + E + F + K
F = P
D = C
B = A
A = Q
Where K
is a constant defined by a Table 1,F1 is a bitwise
Boolean function, for different rounds defined by,
Where the “ IF….THEN……ELSE “ function is defined by
and “ MAJORITY “ function is defined by
Also, ROTL is the bit wise rotation to the left by a number of
positions specified as a superscript.
= A +


= B +

= C +


= D +


= E +


= F +


We have presented a new dedicated hash function based on
Davies-Meyer scheme that satisfied Merkle-Damgard
condition. Security of this algorithm is higher than
SHA-1.Sophesticated message modification techniques
were applied. This scheme is 192 bits and need 2

birthday paradox and is strong enough to preimage and
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
Rounds Steps F1 K

1 0-19 IF 5a827999
2 20-39 XOR 6ed6eba1
3 40-59 MAJ 8fabbcdc
4 60-79 XOR ca62c1d6
Function SHA-1 SHA-256 MD-192
512 512 512
160 256 192
Rounds 80 64 80


Table1. Coefficients of each round in algorithm
Figure2. Proposed MD-192 step function
Table2. Comparison among SHA-1, SHA-256 and MD-192
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
more time to generate a message digest when compared
with SHA-1 because in proposed algorithm there is an extra
32 bit chaining variable and additional conditions in
between the steps 16 and 79 in message expansion
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
than SHA-1. Even with the small change in the input
algorithm produces greater change in the output.

In this paper We proposed a new message digest algorithm
basis on the previous algorithm that can be used in any
message integrity or signing application. Future work can
be made on this to optimize time delay.
[1] Ilya Mironov, “Hash Functions : Theory, attacks and applications”,
(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)
[3] X. Wang, X. D. Feng, X. Lai and H.Yu, “Collisions for Hash Functions
MD4, MD5, HAVAL-128 and RIPEMD, (Pub Aug 2004) Available:
[4] R.L. Rivest. The MD5 Message Digest Algorithm. RFC 1321, 1992
[5] X. Wang, H. Yu and Y.L. Yin, “Efficient Colision Search Attacks on
SHA-0”,(Pub 2005)
[6] K. Matusiewicz and J. Pieprzyk, “Finding good differential patterns
attacks on SHA-1”, (Pub 2004),Available:
[7] NIST, “Secure Hash Standar“,FIPS PUB 180-1,(Pub Apr 1995)
[8] William Stallings, “Cryptography and Network Security: Principles and
Practice. Third edition, Prentice Hall.2003.
[9] Florent Chabaud, Antoine Joux, “Differential collisions in SHA-0,”
Advances in Cryptology-CRYPTO’98, LNCS 1462, Springer-Verlag,
[10] Eli Biham, Rafi Chen, Antoine Joux, Patrick Carribault, Christophe
Lemuet, William Jalby, “Collision in SHA-0 and Reduced SHA-1,”
Advances in Cryptology-EUROCRYPT 2005, LNCS 3494, Springer-
[11] C.S. Jutla and A.C.Patthak, “Provably Good Codes for Hash Function
Dessign, (Pub Jan 2009)

Message SHA-1 MD-192
“ ” da39a3ee
“a” 86f7e437
“abc” a9993e36
Table3. Message digest for certain messages
ISSN 1947-5500
(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
Departamento de Informática y Ciencias de la
Universidad Católica del Uruguay
Montevideo, Uruguay
Ernesto Ocampo Edye
Departamento de Informática y Ciencias de la
Universidad Católica del Uruguay
Montevideo, Uruguay

Abstract—This article presents the results of the research carried
out on the development of a medical diagnostic system applied to
the Acute Bacterial Meningitis, using the Case Based Reasoning
methodology. The research was focused on the implementation of
the adaptation stage, from the integration of Case Based
Reasoning and Rule Based Expert Systems. In this adaptation
stage we use a higher level RBC that stores and allows reutilizing
change experiences, combined with a classic rule-based inference
engine. In order to take into account the most evident clinical
situation, a pre-diagnosis stage is implemented using a rule
engine that, given an evident situation, emits the corresponding
diagnosis and avoids the complete process.
Keywords-Case-Based Reasoning; Medical Diagnosis; Expert
Systems; Acute Bacterial Meningitis

Clinical Decision Support Systems (hereafter CDSSs) have
become paramount in the medical environment, providing
support to the clinical expert in the diagnosing process, mainly
assisting the analysis and synthesis of bulk information in little
time. These systems enable the reduction of the intrinsic degree
of uncertainty that any decision-making process in the medical
environment entails. [1], [2]
Several aspects related to a specific kind of CDSS, Medical
Diagnostic Systems (hereafter MDSs), will be addressed
throughout this document. From a set of symptoms and signs
shown by the patient, the MDS are capable of suggesting a set
of differential diagnoses, possibly with a certainty degree
associated to each of them. [1], [3]
While developing MDSs, either in their construction and
application, several problems arise: 1) Representation of the
domain knowledge; 2) Processing of such knowledge; 3)
Obtaining results that are accurate enough and 4) Presentation
of the results to the user, and their explanation. Each of these
problems is solved in a particular way, depending on the
method applied to the development of the system. In this
document is presented an alternative way to solve these
problems using Case Based Reasoning. [1], [4]
This research is focused on the development of an Acute
Bacterial Meningitis MDS integrating Case Based Reasoning
(hereafter CBR) with Rule Based Expert Systems (hereafter
This document is organized in the following way: in
Section 2 is presented the case study used in the research:
Diagnosis of Acute Bacterial Meningitis, followed in section 3
by the presentation of the addressed problem. Section 4
presents a brief summary of state-of-the-art techniques and
referred applications. Afterwards, section 5 describes the
proposed computer solution in detail, while in section 6 is
described the composition of the knowledge base, which
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
of this work.
The medical diagnosing task consists in “translating” the
relation between a set of signs and symptoms found in a
patient, and the possible pathologies she or he might suffer
from. [3], [1] This work addresses the medical diagnosis of
the disease known as Acute Bacterial Meningitis (hereafter
ABM is an infectious disease caused by bacteria that attack
the meninges (a membrane system that covers the Central
Nervous System – brain and spinal cord). The meningitis is an
inflammatory process of the leptomeninges (pia mater and
arachnoid mater), and the cerebrospinal fluid (CSF) contained
inside them [5]. The Meningitis poses a great threat to optical,
facial and auditory nerves, and other kinds of neurologic
In this research we have taken as a reference a subset of the
typical signs and symptoms of this disease – a total of 81
symptoms have been considered - which are: convulsions,
depression, fever, hypertense fontanelle, nape stiffness, trunk
stiffness, skin purpuric syndrome, vomits, somnolence,
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
irritability, facial paralysis, cervical adenopathies,
haemocultivation with bacteria, bacteria in CSF, muscular
hypotonicity, cloudy aspect CSF, clear aspect CSF,
hydrocephaly in ecography, tumors in tomography, among
many others. [6], [7]
The combination of the presence of several of these
symptoms allows identifying the disease under study, but it
could also be indicative, to a greater or lesser extent, of other
diseases identified as “differential diagnoses”. The relevant
differential diagnoses in the case of ABM are: Acute Viral
Meningitis, Tuberculous Meningitis, Encephalitis, Brain
Abscess, Meningism, Meningeal reaction to nearby
inflammation, Meningeal Haemorrhage and Brain Tumor. [7].
The task of the doctor is to diagnose accurately the disease
within these alternatives.
This research focuses on the development of an MDS for
the disease known as ABM, integrating the CBR and RBR
methods, making special emphasis on the implementation of
the adaptation of the CBR cycle stage. This stage is
fundamental in a case-based MDS, given that once recovered
the most similar case, it is highly probable to find differences in
the descriptions of the problems. This could then indicate
differences in the solutions, which entails a possible error in the
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.
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
MYCIN, a system developed at Stanford University. This
system was designed to diagnose and recommend treatments
for blood infections. [8], [9]
Other systems of interest are: IMAGECREEK – image
analysis - [10], CADI – medicine students’ tutorial - [11],
SCINA – diagnosis of cardiac diseases - [12], CARE-
PARTNER – diagnosis and treatment scheduling of stem cells
transplant - [13], AUGUSTE – diagnosis and scheduling of
Alzheimer treatment - [14], T-IDDM – treatment scheduling of
diabetes - [15].
There are many computer techniques and methods –
especially in the Artificial Intelligence field – that have been
applied in the last 30 years or more in the development of
systems of this nature: pattern analysis, neural networks, expert
systems and Bayesian networks, among others.
The rule based reasoning is one of the most used techniques
[16], [17], and in recent years case-based reasoning has gained
much importance in this field [18], [19], [20], [4].
B. Case-Based Reasoning (CBR)
Case Based Reasoning is a methodology for problem
solving that focuses on the reutilization of past experience. It is
based on solutions, information and knowledge available in
similar problems previously solved. The implementation of this
method requires the existence of a knowledge base that
contains the cases that contain previous experience. It is also
necessary to count with a mechanism that allows us to infer, for
a new case, the solution based on foregoing cases. CBR’s basic
principle is that similar problems will have similar solutions.
[19], [20], [21], [4], [18]
In CBR the structures handled are known as cases. A case
represents a problem situation. It could be more formally
defined as contextualized knowledge that represents past
experience, and implies an important teaching to accomplish
the objectives of a rational agent. [19], [20], [18], [22]
In Figure 1 is presented the CBR cycle. It can be observed
the presence of 4 sub-processes or stages (“Retrieve”, “Reuse”,
“Revise” and “Retain”) that explicate the operation of this

Figure 1. CBR Cycle
First, when a new problem is posed to the system, it
proceeds to identify correctly the current case, and retrieve the
most similar cases from the knowledge base.
Once the cases have been obtained, the information and
knowledge contained in them is reused to solve the new
problem, from which a solution to propose to the user is
reached. This stage might possibly entail an adaptation process
of the solution of the retrieved case, considering the differences
between both problematic situations.
Also, these systems include a stage of proposed solution
assessment, and a later learning from this case. Then, after the
reusage stage it proceeds to the proposed solution revision
process, which is assessed and repaired if it fails, obtaining a
confirmed or revised solution.
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
information and knowledge obtained with the solution of the
new case is retained, so as to be useful to solve future
problems. This stage implicates a modification of the
knowledge base, or of the methods to retrieve and reuse cases
from such base.
These systems progressively enlarge their knowledge bases
with new cases while new problems are solved, gradually
widening the range of situations in which the system is
applicable and the accuracy of the proposed solutions. Once
finalized the retention the cycle can start all over again. [19],
Regarding the reutilization or adaptation methods – main
objectives of this research -, it is necessary to consider [19]:
 Determine the differences between the new case and
the previous case recovered.
 Determine the aspects of previous cases that can be
reutilized without changes.
 Determine how to adapt a solution of a previous case
based on the differences observed with the new case.
The adaptation arises from: 1) the description of the new
problem, 2) the solution provided for a similar problem, and
optionally 3) the description of the corresponding similar
problem. [18]
The adaptation process must take into account two key
issues: 1) How to identify what has to be adapted (identifying
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],
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],
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
 Deja Vu [32], is a system dedicated to the automatic
programming of machinery in a control plant. In this
system, its adaptation guided retrieval approach is
D. Rule Based Expert Systems (RBR)
An RBR system has an inference engine that uses rules to
reach conclusions based on premises and a certain context
state. These systems are comprised of three main parts:
inference engine, rule base, and working memory (auxiliary
space in the memory to be used during the reasoning). [16],
An example of a rule based CDSS is MYCIN, one of the
first systems to appear in the marketplace. This system counts
with a knowledge base composed by IF-THEN rules, which are
associated a certainty factor. Through these factors it can be
given each rule different weights so as to determine their
influence. [8], [9]
Another example of a rule based CDSS is CASEY, which
is an hybrid system that combines CBR and RBR. CASEY is a
medical diagnostic system that offers a causal explanation of
the patient’s pathology. It is applied to heart failures diagnose.
This system outstands by its use of rules, in both retrieving and
reusing steps. [33]
A hybrid system has been developed, that combines CBR
and RBR methodologies: SEDMAS-RBC-Adapt, whose
operation is depicted in Figure 2.

Figure 2. Explanatory image of the developed system
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
patient. This framework is initially applied to the pre-diagnosis
stage. This stage uses a set of basic diagnostic rules so as to
identify situations in which a certain set of symptoms indicate
the presence of a disease without a shadow of a doubt.
The aim of this stage is to increase the system’s
performance – it by-passes the complete inference process.
Moreover, this is a key stage when the knowledge base is
incipient – extremely small – and there is no representative
evidence of any of the differential diagnoses in it.
The pre-diagnosis rules have the following structure,
IF CSF presents Cloudy aspect THEN ABM
in which it is stated that, if the patient presents “cloudy
aspect in the cerebrospinal fluid”, then the unquestionable
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.
A new query is built from the symptoms of the new case,
and the most similar cases are retrieved from the case base –
the system retrieves the three most similar cases, and the user
can select the one she or he believes more adequate to be
The case representation used consists of three components:
a description of the problematic situation, the solution to such
situation, and an indicator of success of the solution. The
description is comprised of logical attributes (true or false), that
indicate the presence or absence of each of the symptoms
considered for the diagnosis. The solution is represented by a
group of three diagnoses: a primary one and two differential
The retrieval is implemented by the nearest neighbor
method using the 81 considered symptoms. The local similarity
between symptoms is determined by equality.
After the retrieval, the system evaluates how similar the
current case and the selected one are; if the similarity degree
exceeds a certain threshold, then the solution to the retrieved
case can be reused directly. Otherwise, an adaptation process
that integrates CBR with RBR has to be applied.
This process consists of a set of rules that allow carrying
out transformations to the solutions. Also, using CBR it is
possible to store and reuse change experiences. The process
receives as input the differences between the present symptoms
in the retrieved case and the current one, as well as the solution
offered by the recovered case. From this input, this process
offers an adapted solution to the new problem. This solution is
the same as the one of the retrieved case, to which some
changes were made according to the differences between the
problematic situations.
Firstly, a CBR process is carried out to obtain the desired
solution, reusing previous change knowledge. For this purpose
adaptation cases are used. These consist of two components:
description of the case and its solution.
As shown in Figure 3, the difference between the
descriptions of the problematic situation, applied to an S1
solution produces an S2 solution. This solution is the product
of adapting S1 according to difference ΔP.

Figure 3. Adaptation cases structure
The adaptation case description consists of two parts:
a) a set of attributes that represent the differences between
the problem descriptions (ΔP). There is one attribute for each
considered symptom, which will indicate the following
situations: 1) equality between the occurrence of symptoms –
with respect to the presence or absence of the symptom in the
current and the retrieved case (present or absent in both cases) -
; 2) presence of the symptom in the current case and absence in
the previous; and finally, 3) absence of the symptom in the
current case and presence in the retrieved one.
b) the solution to the retrieved case, consisting of three
possible diagnoses (S1).
The solution (S2) to the adaptation case consists of the three
diagnoses to which the system arrived once made the pertinent
changes to the original solution.
Following a CBR standard process, the first step in the
adaptation process consists in the retrieval of the most similar
adaptation case. For this purpose is used the nearest neighbor
method, with equality functions for the calculation of local
similarity. This similarity function only considers those
symptoms that, through the process of adaptation knowledge
survey carried out with the physicians, were considered as
more influential or important to the adaptation process. The
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
relevant enough to have an impact in the diagnosis.
Once the most similar adaptation case has been selected,
the associated similarity degree is assessed, once again, based
on a set threshold. If this threshold is exceeded, the reutilization
of the adaptation case is made directly – a null adaptation is
done – the adapted solution coincides with the solution of the
retrieved case. This is due to the fact that the application
context of the retrieved experience and the current context are
virtually identical. If the retrieved adaptation case is not similar
enough, the system proceeds to adapt based in rules contained
in the knowledge base. As well as in the case of the pre-
diagnosis stage rules, the domain problem was investigated
with the collaboration of an expert doctor. Two main categories
of situations have been determined:
 a) Situations in which the differential presence of a
symptom allows excluding a certain differential
diagnosis. For instance,
IF Koch’s Bacillus THEN Discard ABM
This rule indicates that if the current case (P2) shows
“Koch’s Bacillus”, but the retrieved case (P1) did not,
the differential diagnosis of Acute Bacterial
Meningitis is discarded. If such diagnosis was given
in the solution of the previous case (S1) then it can be
removed, and it will not be contained in the solution
of the current case. (S2).
 b) Situations in which, under the intuition of a given
diagnosis and given a difference in the present
symptoms another diagnosis is sensed; or its certainty
level is modified. For example,
IF ABM primary AND Crystalline aspect THEN
ABM Differential
This rule indicates that if the solution to the previous
case (S1) presents ABM as a primary diagnosis, but the
cases differ in that the current (P2) presents
“Crystalline aspect in the cerebrospinal fluid” and the
previous case (P1) does not, then in the current
solution (S2) such disease has to be considered as a
differential diagnosis, not primary.
The different rules modify the facts in the working memory
of the inference engine in such way that at the end of the
processing the set of resulting diagnoses is retained in it.
The successive application of rules has a correspondence to
each of the transformations or adaptations carried out on the
original solution, when there is a difference between
Once the solution has been obtained (either by the
reutilization of the diagnostic case or by its adaptation), it is
presented to the user and the system requires her judgment or
assessment – success or failure – as for the correction of the
suggested diagnosis. If the case fails, the system offers the user
the possibility of repairing it, setting the appropriate diagnosis
(primary and differentials) – the case is then assumed as
The next step is the retention stage, in which the user is
asked if she or he wishes to retain the new case. Moreover, if
an adaptation process has been performed, then the user is
given the option of storing the adaptation knowledge, which
will be available after the new experience. A new adaptation
case can be learned either from the reutilization of a previous
adaptation case or from the successive application of rules.
This type of adaptation process allows, at the beginning, the
adaptation to be mostly based in the set of surveyed rules.
However, when the system gains experience the reusability of
adaptation cases increases, and the system turns less dependent
on the rule set.
If the system makes any mistakes when adapting, the user
has the possibility of indicating such situation and specifying
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
physician with vast experience in this field, this feature is key
to the learning of new experiences.
One of the main points in the construction of the system
consists in obtaining a set of diagnoses large enough – to test
the performance of the system – relevant, and representative of
real world population.
In previous works of the research group (development of a
diagnostic expert system of Acute Bacterial Meningitis based
on a Bayesian inference engine [7]), a database of occurrence
probabilities of the disease under study (ABM) and its
differential diagnoses, based on 10000 medical visits, was
available. Likewise, for each disease the corresponding
probability of presenting the symptoms under study is
Based on these diseases and symptoms probabilities and
using the Montecarlo method (assuming normal and uniform
distributions in each case) several simulations were performed
to obtain a set of virtual “cases”.
This initial set was subject to several steps of revision: in
first place, the cases with clearly abnormal or extremely
improbable situations were removed; and then each of the cases
was validated by medical experts. The result is an initial
“cured” database that is representative of the real population –
it is based on probabilities extracted from the population, and
the combinations obtained have been validated by field experts.
Besides the validation process, the expert provided the real
diagnosis for each of the cases in the base, for which it can be
considered as a set of real cases.
The system’s performance has been assessed considering
three indicators: accuracy, robustness before partial
information, and learning capacity.
A. Accuracy
In the context of this research, accuracy has been defined as
the amount of successful hits the system reached. For this
experiment, a 30-case sample extraction was made (size of the
sample calculated according to the population size, based on
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
was then presented to the system to obtain the corresponding
diagnosis. This diagnosis was later compared to the one
provided by the expert to determine whether the system hit or
failed. This experiment shown an accuracy of 97%.
B. Robustness in presence of partial information
This metric intends to assess the system’s flexibility when
faced to the heterogeneity of the expert users. The potential
users of systems of this kind (physicians, students, other
specialists in the field of human health) use to have different
levels of experience, which implies different capacities in the
detection of the symptoms involved. Some symptoms are more
difficult to identify than others, and this identification is often
related with the experience of the physician. That is to say, in
some cases it may happen that the medical user, with short
experience in this specific field, might not be able to detect the
presence of a certain symptom, even when it is present. The
robustness indicator intends to assess how the system behaves
when faced to different levels of experience.
The experiment consists in performing a series of cycles,
measuring in each one the accuracy of the system, - in the way
described above -, but removing from the knowledge base
some symptoms in each cycle – symptoms that have been
identified as those whose detection is more dependent on the
experience of the physician-. The removal of symptoms implies
that a certain symptom that used to be considered present is
now considered absent, which would coincide with the case
entry done by a less experienced doctor.

Figure 4. Results obtained in the experiment of robustness before partial
In Figure 4 we can see how the accuracy degrades as we
remove symptoms. However, it is important to notice that, even
though the accuracy of the system decreases, it keeps a
constant accuracy of 80% after the fifth iteration, which implies
an interesting and desirable result. This behavior has been
compared to previous versions developed in the research group
using other techniques of intelligent systems (Bayesian
inference, CBR without adaptation and without RBR), having
obtained better results. [6], [7]
C. Learning capacity
This metric indicates the system’s capacity of incorporating
knowledge. SEDMAS-RBC-Adapt has important learning
capacities. As any CBR system, there is the possibility of
retaining new diagnosis cases in the retention stage. Besides,
this system has the additional ability to learn new adaptation
cases, retaining change experiences.
The integration of the CBR and RBR methods in the
development of a medical diagnosis CDSS has proven to be
appropriate and convenient. The approach developed not only
presents excellent results for its precision, robustness before
partial information and learning capacity, but it is also an
example of how to take full advantage of each of the used
Through the survey of a set of basic rules of pre-diagnosis,
the simplest cases to diagnose are detected. Such survey is
fairly simple as it is knowledge that doctors handle constantly.
For less simple cases in which the diagnosis is not so direct,
the system allows resorting to past experience.
In this way, we can take the best out of CBR and RBR.
Also, the approach of the adaptation process is paramount
for the system to learn to adapt throughout the time, being able
to gather knowledge indirectly from the medical expert. Such
approach allows reutilizing the system’s adaptation
knowledge, while maintaining the capacity to adapt in
exceptional cases.


[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,
[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
Garcia. "Evaluation of case based reasoning for clinical decision support
systems applied to acute meningitis diagnose.". 2008.
[7] E. Ocampo Edye, S. Herrera Delgado, F. Machado Piriz, and A. Ruibal
Laborda. "Diseño y construcción de sistema experto de diagnóstico de
meningitis aguda supurada, basado en máquina de inferencia
bayesiana.". 2002.
[8] B.G. Buchanan and E.H. Shortliffe. "Rule-based expert systems: The
MYCIN experiments of the Standford heuristic programming project".
[9] E.H. Shortliffe. "Mycin: a rule-based computer program for advising
physicians regarding antimicrobial therapy selection". 1975.
[10] M. Grimnes and A. Aamodt. "A two layer case based reasoning
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.
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
case-based reasoning system for automated detection of coronary heart
disease from myocardial scintigrams". Artificial Intelligence in
Medicine, vol. 9[1], pp. 61-78, 1997.
[13] I. Bichindaritz, E. Kansu, and Sullivan KM. "Case-Based Reasoning in
CARE-PARTNER: Gathering Evidence for Evidence-Based Medical
Practice". 1998.
[14] C. Marling and P. Whitehouse. "Case-based reasoning in the Care of
Alzheimer's Disease Patients". 2001.
[15] S. Montani, R. Bellazzi, L. Portinale, and M. Stefanelli. "A Multi-Modal
Reasoning Methodology for Managing IDDM Patients". International
Journal of Medical Informatics, 2002.
[16] E. Friedman-Hill. "Jess in action.". 2003. Manning.
[17] E. Morales and L.E. Sucar. "Representación de conocimiento.". 1999.
[18] J. Kolodner. "Case-based reasoning.". 1993. Morgan Kaufmann
Publishers, Inc.
[19] A. Aamodt and E. Plaza. "Case-based reasoning: foundational issues,
methodological variations, and system approaches.". AI
Communications, vol. 7[1], pp. 39-59, 1994.
[20] S.K. Pal and S.C.K. Shiu. "Foundations of soft case-based reasoning.".
2004. John Wiley & Sons, Inc.
[21] R. Lopez de Mantaras, D. McSherry, D. Bridge, D.B. Leake, B. Smyth,
S. Craw, B. Faltings, M.L. Maher, M.T. Cox, K. Forbus, M. Keane, A.
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.
[23] Wilke Wolfgang and Bergmann Ralph. "Techniques and knowledge
used for adaptation during case-Based problem solving". 1998.
[24] S. Manzoni, F. Sartori, and G. Vizzari. "Towards a general framework
for substitutional adaptation in case-based reasoning". 2005.
[25] R. Bergmann and W. Wilke. "On the role of abstraction in case-based
reasoning.". 1996.
[26] P. Cunningham, D. Finn, and S. Slattery. "Knowledge engineering
requirements in derivational analogy.". Topics in Case-Based Reasoning,
pp. 234-245, 1994.
[27] D.B. Leake, A. Kinley, and D.C. Wilson. "Acquiring case adaptation
knowledge: a hybrid approach.". AAAI Press/MIT Press, 1996.
[28] D.B. Leake, A. Kinley, and D.C. Wilson. "Multistrategy learning to
apply cases for case-based reasoning.". AAAI Press/MIT Press, 1996.
[29] D.B. Leake, A. Kinley, and D.C. Wilson. "Linking adaptation and
similarity learning.". 1996.
[30] D.B. Leake. "Combining rules and cases to learn case adaptation.".
[31] D.B. Leake. "Becoming an expert case-based reasoner: learning to adapt
prior cases.". 1995.
[32] K. Doi, Y. Kamigane, M. Ito, and Y. Uehara. "Software generation
system for mill operation". Hitachi Review, vol. 42[4], pp. 175-178,
[33] P. Koton. "Using experience in learning and problem solving.". 1989.

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*

*Department of Computer Science
EST, University of Moulay Ismaïl,
Meknes, Morocco
Driss Aboutajdine

GSCM-LRIT, Unité associée au
CNRST, URAC 29, Faculty of Science,
University of Mohammed V,
Rabat-Agdal, Morocco
Yassine Ennouary

GSCM-LRIT, Unité associée au CNRST,
URAC 29, Faculty of Science, University
of Mohammed V,
Rabat-Agdal, Morocco

Abstract—In this paper we describe a mechanism to improve
Information Retrieval (IR) on the web. The method is based on
Formal Concepts Analysis (FCA) that it is makes semantical
relations during the queries, and allows a reorganizing, in the
shape of a lattice of concepts, the answers provided by a search
engine. We proposed for the IR an incremental algorithm based
on Galois lattice. This algorithm allows a formal clustering of the
data sources, and the results which it turns over are classified by
order of relevance. The control of relevance is exploited in
clustering, we improved the result by using ontology in field of
image processing, and reformulating the user queries which
make it possible to give more relevant documents.
Keywords-FCA; Galois lattice; IR; Ontology; Query
The World Wide Web (WWW) has become the most
popular information source for people today. One of the major
problems to be solved is related to the efficient access to this
information that is retrieved by human actors or robots
(agents). Our work falls under this context. We propose a
solution to seek the relevant sources within sight of a query
user. The data sources which we consider are the research tasks
of laboratory LRIT
of the Faculty of Science Rabat Morocco.
Facing such a problem, we seek in this work to analyze more
precisely inter-connected themes between the authors, the
publications and sets of themes of LRIT laboratory.
There was some interest in the use of lattices for
information retrieval by [1, 2]. These systems build the concept
lattice associated with a document/term relation and then
employ various methods to access the relevant information,
including the possibility for the user to search only those terms
that has specified. Building the Galois (concept) lattice can be
considered as a conceptual clustering method since it results in
a concept hierarchy [3, 4]. This form of clustering constitutes
one of the motivations of the concept’s application lattice for
IR. This comes owing to the fact that clustering out of lattice
makes it possible to combine research by query and research by
Consequently the concept lattice generated from unit objects
represents, in an exhaustive way, the possible clustering
between these objects. Each cluster corresponding to a concept.
Some of these concepts bring redundant information and are

less interesting. This redundancy of information due to is made
that the properties are showed as independent, and the possible
existence of the semantic relations between the properties is not
taken into account. On the other hand, the semantic relations
between the properties can exist. So it proves to be useful to
use ontology or taxonomy of field. In order to make correspond
as well as possible the relevance of the user and the relevance
of the system, we used a stage of query reformulation. The
initial query is treated like a test to find information. The
documents initially presented are examined and a formulation
improved of the query is built from ontology, in hope to find
more relevant documents. The query reformulation is done in
two principal stages: to find terms; extension to the initial
query, and to add these terms in the new query.
The paper is organized as follows: Section 2 introduces the
Ontology (taxonomy), and in section 3 we presented the kinds
of query reformulation used. In section 4 we illustrate FCA.
Section 5, report the procedures and describe the system
implemented for building concepts lattice and IR, and we show
the results obtained. Section 6 offers some conclusions related
to this work.
The concept of ontology became a key component in a
whole range of application calling upon knowledge. Ontology
is defined like the conceptualization of the objects recognized
like existing in a field, their properties and relations
connecting them. Their structure makes it possible to represent
knowledge of a field under a data-processing format in order
to make them usable for various applications.
An ontology can be constructed in two ways: domain-
dependent or generic. Generic ontologies are definitions of
concepts in general; such as WordNet [5], which defines the
meaning and interrelationships of English words. A domain-
dependent ontology generally provides concepts in a specific
domain, which focuses on the knowledge in the limited area,
while generic ontologies provide concepts more
The implementation of ontology is generally taxonomy of
concepts and corresponding relations [6]. In ontology,
concepts are the fundamental units for specification, and
provide a foundation for information description. In general,
each concept has three basic components: terms, attributes and
relations. Terms are the names used to refer to a specific
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
same concepts. Attributes are features of a concept that
describe the concept in more detail. Finally relations are used
to represent relationships among different concepts and to
provide a general structure to the ontology. Figure 1 is an
example of a simple ontology about the organization of
concepts used in image processing.
In this ontology example, every node is a concept defined
in image processing field. For each concept, there should be a
set of attributes used to specify the corresponding concept. For
instance, for the concept “Segmentation”, the attributes of
name and type are shown, and help explain the corresponding
The relations between different concepts are also
simplified. In a real application, several types of concept
relations are used.

Figure 1. An example of ontology in field of image processing
However, it is often difficult for user to formulate exact his
requirement in information. Consequently, the results which
the SRI provides them are not appropriate. To find relevant
information by using the only initial query is always difficult,
and this because of inaccuracy of the query. In order to make
correspond as well as possible the relevance of the user and the
relevance of the system, a stage of query reformulation is often
The query reformulation can be interactive or automatic
[7]. The interactive query reformulation is the strategy of
reformulation of the most popular query. It is named
commonly re-injection of the relevance or "relevance
feedback". In a cycle of re-injection of relevance, one presents
to user a list of documents considered to be relevant by the
system like answer to the initial query. After examined them,
user indicates how he considers them relevant. This system
allows users to expand or refine their query through the use of
relevance feedback [8]. The typical scenario begins with a user
indicating which documents retrieved from a query are most
relevant. The system then tries to extract terms which co-exist
in these documents and adds them to the original query to
retrieve more documents. This process can be repeated as
many times as desired. However, the limitation of this
approach is that users are often required to place a bound on
the number of documents retrieved as their query may be too
general, and hence, retrieve too many irrelevant documents.
An alternative approach that has gained in interest recently
is to apply the FCAs [9]. The advantage of this approach is
that users can refine their query by browsing through well
defined clusters in the form of a graph. The principal idea of
the re-injection of relevance is to select the important terms
belonging to the documents considered to be relevant by user,
and to reinforce importance of these terms in the new query
formulation. This method has double advantage a simplicity
run for user who s' doesn’t occupy of the details of
reformulation, and a better control of the process of research
by increasing the weight of the important terms and by
decreasing that of the non important terms. In the case of
automatic reformulation, user does’ not intervene. Extension
of the query can be carried out to leave a thesaurus or an
ontology, which defines the relations between the various
terms and makes it possible to select new terms to be added to
the initial query.
In this work, to hold account the semantic relations
between the concepts; we used an ontology presented in figure
1. This ontology will be used for query reformulation, which
we used two types of modes respectively reflect reformulation
by generalization and reformulation by specialization:
- Reformulation by generalization: consists in locating the
top c of T (tree) corresponding to one of the properties
appearing in the query. Then traversing the way of c until the
root and adding to the query the tops met.
- Reformulation by specialization: consists also in locating
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
adding them to the query.
Among the mathematical theories recently found with
important applications in computer science, lattice theory has
a specific place for data organization, information engineering,
and data mining. It may be considered as the mathematical
tool that unifies data and knowledge or information retrieval
[2, 3, 10, 11, 12].
A. Formal Context
A context is a triplet (G, M, I) which G and M are units
and I ⊆ G×M is a relationℜ. The elements of G are called the
objects, M a finite set of elements called properties and R is a
binary relation defined between G and M. The notation gIm
means that "formal object g verifies property m in relation R".
Example: Let G = {s1, s2, s3, s4}, be a set of source and M
= {p1, p2, p3, p4, p5} be a set of the properties (table 1). The
mathematical structure which is used to describe formally this
table is called a formal context (or briefly a context) [4, 9, 10,

Image processing
Transmission Compression Segmentation Rehaussement
Segmentation by
approach (area)
Segmentation by
approach (border)
Segmentation by
clustering or
Detection of
filter Pass-haut
- name
- type

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
B. Galois (Concept) lattice
The family of the entire formal context ordinate by the
relation ≥ is called Galois (or concepts) lattice. It consists in
associating properties with sources, and organizing the sources
according to these properties. Each such pair (G, M) is called a
formal concept (or briefly a concept) of the given context. The
set G is called the extent, the set M the intent of the concept
(G, M). Between the concepts of a given context there is a
natural hierarchical order, the "subconcept-superconcept"
relation. In general, a concept c is a subconcept of a concept d
(and d is called a superconcept of c) if the extent of c is a
subset of the extent of d (or equivalently: if the intent of c is a
superset of the intent of d). An efficient algorithm for
extracting the set of all concepts of a given context is Ganter's
`Next Closure' algorithm [11]. The algorithm can efficiently
compute all concepts C (G, M, I) from a context (G,M,I). The
concept lattice corresponds to the formal context of table 1 is
presented in figure 2 (Hasse diagram). A line diagram consists
of circles, lines names of all objects and all attributes of the
given context. The circles represent the concepts.
G× ×× ×M p1 P2 p3 p4 p5
s1 1 1 0 1 0
s2 0 0 1 0 1
s3 1 1 1 0 1
s4 1 1 1 1 0

Figure 2. Galois
lattice corresponding to formal context (table 1)
The lattice provides a visualization of the concept
relationships that are implicit in the data. The attributes p1, p2,
and p3 describe a subconcept of the concept of the propriety
p3. The extent of this subconcept consists of the properties p1,
and p2.

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
A. Building concepts lattice
(i) Data sources
The data used for test were extracted from titles of a subset
of documents from the LRIT (Research laboratory in computer
science and Telecommunications). The laboratory LRIT
consists of several research groups, their activities are based
on the interaction between the contents (audio, image, text,
video. Consequently there are several publications in several
fields (image processing, signal processing, data mining, data
engineering, information retrieval …), it there has also other
publications heterogeneous, which requires a system that
makes it possible to determine the interconnections between
work of the various members to make emerge and understand
the orientations of principal research in the team and also in
laboratory LRIT, and thus to provide explanations on the
research task.
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
the users. Each publication (or source) is represented by two
tags <document...> and </document>. It has an attribute
number with value 1 and two child elements author and title,
there is also the possibility to add of extra information
concerning the publications in these XML file. Figure 3 shows
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.

Figure 3. XML file
Document term frequency was computed for each term
extracted after applying the following techniques from the
“classic blueprint for automatic indexing” [14]:
<?xml version=″1.0″ encoding=″UTF-8″?>
<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 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 nom=″dcument_3″>
<auteur>El Hassouni M</auteur>
<auteur>Cherifi H></auteur>
<auteur>Aboutajdine D</auteur>
<title>hos-based image sequence noise renoval</titre>
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
implementations, we broke hyphenated terms into their
constituents, as well as ignoring punctuation and case.
− Stop wording: this is the process of removing
frequently occurring terms such as ‘is’, and ‘of’ which make
little discrimination between documents.
(ii) Lattice construction
The problem of calculation of the concepts lattice from a
formal context made object of several research tasks. Many
algorithms have been proposed for generating the Galois
lattice from a binary relation [2, 4, 9, 13, 15, 16]. A
comparison of the performances of the algorithms proposed
for the generation of the lattices and their corresponding Hasse
diagrams are presented in algorithm Add Intent [10]. Among
the algorithms proposed, some have specificity to perform an
incremental building of concepts lattices starting from formal
contexts [2, 4, 10]. This aspect is particularly interesting for
the application of concepts lattices to our problem of research
in the publications of the LRIT. Indeed, the queries users can
be inserted in the lattice representing the documents (or
publications). Following this insertion, it is possible to
determine the most relevant documents guarantors with the
criteria expressed by user in his query.
Our procedure for implementation FCA’s, concept lattice
involves three stages : constructing a matrix of document-term
relations using data stored from XML file ; concept extraction
using Add Intent algorithm; and partial ordering of formal
concepts. The resulting internal data structure is ten written
out to a file where it may be later used for querying (figure 4).

Figure 4. Process of building of concepts lattice
(iii) Query Insertion
Our idea is to consider the user query as a new source
whose properties are the terms of the query. This source will
be added to the lattice Li produced by I first objects of the
context in ways incremental using the algorithm Add Intent
[10]. This addition will transform the lattice Li; new nodes
will be added and others will be modified. It is necessary all
the same to notice the appearance of a new concept which has
like intention exactly the terms of the query.

Figure 5. Query Insertion
(iv) Document Ranking
Documents were ranked based on the number of edges
away from the concept in which the query had mapped in the
augmented lattice. Formal concepts in the lattice were
considered for ranking only when its attribute set intersects
with those of the query and that it is neither the supremum nor
the infimum. Documents that were equally distant from the
query would achieve the same rank. The lattice traversal
implementation was simply done using a breadth-first search.
B. Discussion of Results
− In first let us assume that we have an example of
context for 5 documents and 6 properties (table 2). The lattice
corresponding is presented in the figure 6.
M\G d1 d2 d3 d4 d5
image 1 1 1 0 0
detection 0 0 0 1 1
Segmentation 1 1 0 1 0
Classification 0 0 1 0 0
vision 0 0 0 0 1
probability 1 0 0 1 0

The Galois lattice establishes a clustering of the data
sources. Each formal concept of the lattice represents in fact a
class. For example, the concept ({d1, d4}, {probability,
segmentation}) puts in the same class the data sources d1 and
d4. These two sources are in this class because they are the
only ones to share the properties probability, segmentation.
The lattice establishes also a hierarchy between the classes.
One can read that there formal concept is ({d1, d4},
{probability, segmentation}) more particular than ({d1, d2,
d4}, {segmentation}) in the direction where it has more
properties it is what results in the fact that {d1, d2} included
{d1, d2, d4}. We note that this hierarchy is with double
directions, i.e., the lattice is a kind of “tree structure” with two
“roots”: ({d1, d2, d3, d4, d5}, {}) and ({}, {classification,
detection, image, probability, segmentation, vision}) that we
will respectively call top and bottom. Displacement towards
top corresponds to generalization and that towards bottom to

of the
Stop -
Concepts and
relation of

Lattice with
Context and
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010

Figure 6. Trellis of concepts associated to table 2
Let us suppose that the user formulates the following
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 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
1 - d1
1 - d2
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
source which has the properties: `detection of contour'. The
lattice, after addition of the query, will change like below
figure 9.

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

Figure 9. Concept lattice after query insertion
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:

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.
Canny filter}. After the insertion of this new query in the
lattice (figure 10) the result turning over is as follows:
Query reformulation by generalization gives: {dc.
segmentation by approach (border) (shortened by SAF),
segmentation}. After the insertion of this one in the lattice one
has like result:
The result did not change because the properties of the new
query (after reformulation by generalization) division the same
sources (figure 11).

Figure 10. Concept lattice after query reformulation by specialization

Figure 11. Concept lattice after query reformulation by generalization
We saw that this ontology enables us to take into account
the semantic relations between the properties. Moreover, the
possibility of making a research by specialization or
generalization has an advantage of having more relevant
sources to add to the initial result. The choice of reformulation
depends on the user. It is a reformulation by generalization,
the added source can be very general and consequently not
very precise compared to what is wished by user. And it is a
reformulation by specialization; the added source can cover
with many details only one small portion of what user asks.
But in no case an added source cannot be completely isolated
compared to what is wished by user.
We presented in this paper an proposal in the Information
Retrieval (IR), using Formal Concepts Analysis (FCA). The
concept lattice evolves during the process of IR; the user is not
more restricted with a static structure calculated once for all,
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.
[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
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,
[4] Godin, R., Missaoui, R., Alaoui H., « Incremental Concept Formation
Algorithms Based on Galois Lattices.», Computation Intelligence 11,
1995, pp. 246-267.
[5] B. McBride, A. Seaborne, and J. Carroll. Jena, “tutorial for release 1.4.0.
Technical report”, Hewlett-Packard Laboratories, Bristol, UK, 2002.
[6] Ontologies: Silver Bullet for Knowledge Management and Electronic
Commerce. Springer-Verlag, 2001.
[7] Lobna HLAOUA, « Reformulation de Requêtes par Réinjection de
Pertinence dans les Documents Semi-Structurés », Thèse Doctorat de
l'Université Paul Sabatier, Toulouse, 2007.
[8] Salton, G., Fox, E. and Voorhees E., “Advanced feedback methods in
information retrieval”, Journal of the American Society for Information
Science 36:, 1985, pp. 200-210.
[9] Ganter, B., Wille, R., “Formal Concept Analysis”, Mathematical
Foundations. Springer-Verlag, Berlin Heidelberg New York, 1999.
[10] Merwe, D. V. D., S. A. Obiedkov, et D. G. Kourie, “AddIntent: A New
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.
[11] Messai, N., M.-D. Devignes, A. Napoli, et M. Smail-Tabbone,
« Correction et complétude d’un algorithme de recherche d’information
par treillis de concepts », RNTI, Inria-00187116, version1, 2007.
[12] Cole R. and Eklund P., “Browsing semi-structured web texts using
formal concept analysis”. In Proceedings of the 9th International
Conference on Conceptual Structures, Stanford, CA, USA, 2001, pp.
[13] Wille, R., “Restructuring Lattice Theory: An Approach Based on
Hierarchies of Concepts”, In Rival, I., ed.: Ordered Sets. Reidel,
Dordrecht–Boston, 1982, pp. 445–470.
[14] Salton, G., “A blueprint for automatic indexing”, SIGIR Forum 31(1):
23-36, 1997. URL: http//
[15] Messai, N., M.-D. Devignes, A. Napoli, et M. Smail-Tabbone, “
Querying a bioinformatic data sources registry with concept lattices”, In
G. S. F. Dau, M.-L. Mugnier (Ed.), ICCS'05, LNAI 2005, pp. 323-336.
Springer-Verlag Berlin Heidelberg.
[16] Norris, E. “An Algorithm for Computing the Maximal Rectangles in a
Binary Relation”, Revue Roumaine de Mathematiques Pures et
Appliquées 23, 1978, pp. 243–250.

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
webpage content to clients. A webpage is a document or resource
of information that is suitable for the World Wide Web and can
be accessed through a web browser and displayed on a computer
screen. This information is usually in HTML format, and may
provide navigation to other webpage’s via hypertext links.
WebPages may be retrieved from a local computer or from a
remote HTTP Server. WebPages are requested and served from
HTTP Servers using Hypertext Transfer Protocol (HTTP).
WebPages may consist of files of static or dynamic text stored
within the HTTP Server's file system. Client-side scripting can
make WebPages more responsive to user input once in the client
browser. This paper encompasses the creation of HTTP server
program using java language, which is basically supporting for
HTML and JavaScript.
Keywords- HTTP Server; Hyper Text Trasfer Protocol; Hyper
Text Markup Language; WebPage;
The Client-server [1] architecture is based on the principle
where the ‘client’ program installed on the user’s computer
communicates with the ‘server’ program installed on the host
computer to exchange information through the network. The
client program is loaded on the PCs of users hooked to the
Internet where as the server program is loaded on to the ‘host’
that may be located at a remote place. The concept of client-
server computing has particular importance on the Internet
because most of the programs are built using this design. The
most important concepts and underlying mechanism that make
the web works are Web Browser, Universal Resource Locators
(URLs)[2], Hypertext Transfer Protocol (HTTP)[2], Hypertext
Mark-up Language (HTML) [3] and Web Server [3].
Web browsers [3] are the applications that allow a user to
view WebPages from a computer connected to the Internet.
Web browser can read files created with WebPages and
display them to the user. There are two important graphical
browsers available for browsing WebPages [3], are Microsoft
Internet Explorer [3] and Netscape Navigator. Most of the
browser can be downloaded at without charge. The basic
capabilities of a browser are to retrieve documents from the
web, jump to links specified in the retrieved document, save,
print the retrieved documents, find text on the document, and
send information over the Internet. A web browser is a client
program that uses the HTTP to make requests to the HTTP
Servers on behalf of the user. Web documents are written in a
text formatting language called Hypertext Mark-up Language
(HTML) [3]. The HTML is used to create hypertext
documents that can be accessed on the web. Basically it is a
set of ‘mark-up’ tags or codes inserted in a web file that tells
the web browser how to display a web page for the user.
The Hypertext Transfer Protocol (HTTP) [2] is a set of
rules for exchanging hypermedia documents on the World
Wide Web. Hypermedia [3] simply combines hypertext and
multimedia. Multimedia is any mixture of text, graphics, art,
sound, animation and video with links and tools that let the
person navigate, interact, and communicate with the computer.
The web browser is an HTTP client, sending requests to server
machines. When a user requests for a file through web
browser by typing a Uniform Resource Locator then browser
sends HTTP request that the destination server machine
receives the request and, after any necessary processing, the
requested file is returned to the client web browser.
The URL [3] is a compact string representation for a
resource available on the Internet. URLs contain all of the
information needed for the client to find and retrieve a HTML
document such as protocol, domain name or IP address and
webpage. Every HTTP Server has an IP address and usually a
domain name, e.g. Server software runs
exclusively on server machines, handling the storage and
transmission of documents. In contrast, client software such
as, Netscape, Internet Explorer, etc. runs on the end-user’s
computer accessing, translating and displaying documents.
A server is a computer system that is accessed by other
computers and / or workstations at remote locations. A web
server [3] is a software or program that process HTML
documents for viewing by web browsers such as IIS, Apache
HTTP Server [5] and WebLogic Server [6]. The server enables
users on other sites to access document and it sends the
document requested back to the requesting client. The client
interprets and presents the document. The client is responsible
for document presentation. The language that web clients and
servers use to communicate with each other is called the
HTTP. All web clients and servers must be able to
communicate HTTP in order to send and receive hypermedia
documents. For this reason, web servers are often called HTTP
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
The term HTML is an acronym that stands for Hypertext
Markup Language [3]. You can apply this markup language to
your pages to display text, images, sound and movie files, and
almost any other type of electronic information. You use the
language to format documents and link them together,
regardless of the type of computer with which the file was
originally created.
HTML is written as plain text that any Web browser can
read. The software does this by identifying specific elements
of a document (such as heading, body, and footer), and then
defining the way those elements should behave. These
elements, called tags, are created by the World Wide Web
Consortium (W3C). Most HTML tags come in pairs. You use
the first tag in the pair (for example, <html>) to tell the
computer to start applying the format. The second tag (for
example, </html>) requires a slash in front of the tag name
that tells the computer to stop applying the format. The first
tag is usually referred to by the name within the bracket (for
example, HTML). You can refer to the second tag as the end,
or the close, tag (for example, end HTML).
HTML is a plain text file and needs a simple text editor to
create the tags. However, it is important that all HTML
documents have the extension .html or .htm which is three /
four letter extension. Windows ‘Notepad’ may be used as an
editor for writing the HTML files. Every HTML document
should contain certain standard HTML tags. These tags
describe the overall structure of a document, identify the
document to browsers and provide simple information about
the document. These structure tags do not affect its appearance
and they are essential for tools that interpret HTML files.
These structural elements are:
<TITLE>Creating model HTTP Server</TITLE>
. . . the document . . .
The <HTML> tag indicates that the content of the file is
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.
There are several number of tags avail for developing a
webpage. Here few important tags are discussed. Headings are
used to divide sections of text, like in any document. They are
used to designate the logical hierarchy of the HTML
document. There are currently six levels of headings defined.
The number indicates heading levels (<H1> to <H6>). Each
heading will have closing tags. When it displayed in a
browser, will display differently. We can use paragraph tag
<P> to indicate a paragraph. A browser ignores any
indentations or blank lines in the source text. Without a <P>
tag, the document becomes one large paragraph. The
paragraph tag indicates a plain text paragraph. However, many
browsers expect the opening paragraph tag to indicate the end
of a paragraph. The horizontal rule tag, <HR>, has no closing
tag and no text associated with it. The <HR> tag creates a
horizontal line on the page. It is excellent for visually
separating sections on your web page. It is often seen at the
end of text on web pages and before the address information.
For example see program 1.
Program 1. HTML program
<!—index.html -->
<H1 align=center> Welcome to HTTP
<H3 align=center> Using Java</H3>
<H5 align=center> Developed by Bala
Dhandayuthapani Veerasamy</H5>
The above program can be saved as index.html, it can be
produced the result on local computer web browser as the
following Fig.1.

Figure 1. Output of the HTML

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

class HttpRequest
private Socket ClientConn;
public HttpRequest(Socket ClientConn) throws Exception
public void process() throws Exception
DataInputStream din=new
OutputStream ot=ClientConn.getOutputStream();
BufferedOutputStream out=new

String request=din.readLine().trim();
StringTokenizer st=new StringTokenizer(request);
String header=st.nextToken();

String name=st.nextToken();
int len=name.length();
String fileName=name.substring(1,len);

FileInputStream fin=null;
boolean fileExist=true;


ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
fin=new FileInputStream(fileName);
catch(Exception ex) { fileExist=false; }

String ServerLine="Simple HTTP Server";
String StatusLine=null;
String ContentTypeLine=null;
String ContentLengthLine=null;
String ContentBody=null;

StatusLine="HTTP/1.0 200 OK";

ContentLengthLine="Content-Length: "+
(new Integer(fin.available()).toString());

int temp=0;
byte[] buffer = new byte[1024] ;
int bytes = 0 ;
while ((bytes = != -1 )
out.write(buffer, 0, bytes);
for(int iCount=0;iCount<bytes;iCount++)
StatusLine = "HTTP/1.0 200 OK";

ContentBody = "<HTML>"
+ "<HEAD><TITLE>404 Not Found</TITLE> </HEAD>"
+ "<BODY><center><h1>404: The file "
+ fileName +" is not found" + "</h1></center> </BODY>
</HTML>" ;



class HttpServer
public static void main(String args[]) throws Exception
System.out.println("\n\n\t\tThe HTTP Server is running..");
System.out.println("\n\n\t\tStop server using Ctrl + C");

ServerSocket soc=new ServerSocket(80);

Socket inSoc=soc.accept();
HttpRequest request=new HttpRequest(inSoc);
When most people think of a firewall [8], they think of a
device that resides on the network and controls the traffic that
passes between network segments. However, firewalls can
also be implemented on systems themselves, such as with
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
method of enforcing an access control policy. Indeed, at the
simplest definition, firewalls are nothing more than access
control policy enforcement points. Firewalls enable you to
define an access control requirement and ensure that only
traffic or data that meets that requirement can traverse the
firewall or access the protected system. Firewalls need to be
able to manage and control network traffic, authenticate
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
network traffic that is allowed to access the protected network
or host. Firewalls typically do so by inspecting the packets and
monitoring the connections that are being made, and then
filtering connections based on the packet-inspection results
and connections that are observed. While executing HTTP
server program first time, the firewall security alert will appear
in that we should unblock. This is shown in the figure 2.

Figure 2. Firewall Settings
To compile the HTTP server program, use javac and to execute the HTTP server program at
the server computer, use java HttpServer. After executing the
program one console window will appear, this is ready to
share web document. We can press Ctrl+C to close the HTTP
server. (See figure 3).

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

Figure 3. Running HTTP Server
As you know, this model HTTP Server is created using java.
First of all we needed to install JDK 1.4 [9] or later version
and JCreator 3.50 [10], before compiling and executing this
program. This program complied and executed by JCreator
3.50 software, which is the tool enabling us to write program,
compile and execute easily. has been tested
only in window operating system under the Local Area
Network in Mekelle University. Here I have used a HTTP
server with the IP of; hence we should
access WebPages only through this IP. The following figure 4
is a sample result, which I got on network client. This server
brought the index.html page by default. The index.html has
been stored in the present working folder of HTTP server.
I hope it will also support other operating system well,
because java is a platform independent language. Hyper Text
Transfer Protocol views any webpage only by using port
number 80. So this HTTP server created listening on port
number 80. Hence it can capable to access HTML and
JavaScript basically, which are defiantly understood by any
web browsers. HTML provides creating static WebPages and
JavaScript allowed to have client side scripting for any user
input validations. This HTTP Server would not support for
any server side scripting. In future, I do have a plan to develop
own library to support for the server side scripting.

Figure 4. Trial Testing
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
scripting or may think on producing library to support
innovative server side scripting in future.
[1] Steve Steinke, Network Tutorial, Fifth Edition, CMP Books, 2003
[2] Libor Dostálek, Alena Kabelová, Understanding TCP/IP,Packt
Publishing, 2006.
[3] Deidre Hayes, Sams Teach Yourself HTML in 10 Minutes, Fourth
Edition, Sams, 2006.
[4] Palmer W. Agnew, Anne S. Kellerman, Fundamentals of Multimedia,
IGI Global, 2008.
[5] Apache HTTP Server,
[6] BEA WebLogic Server,
[7] Elliotte Rusty Harold, Java Network Programming, O' Reilly, 2000.
[8] Wes Noonan, Ido Dubrawsky, Firewall Fundamentals, Cisco Press, 2006
[9] Herbert Schildt, Java™ 2: The Complete Reference, Fifth Edition,
McGraw-Hill, 2002.
[10] JCreator,

Bala Dhandayuthapani Veerasamy was
born in Tamil Nadu, India in the year 1979. The
author was awarded his first masters degree M.S
in Information Technology from Bharathidasan
University in 2002 and his second masters degree
M.Tech in Information Technology from
Allahabad Agricultural Institute of Deemed
University in 2005. He has published more than
fifteen peer reviewed technical papers on various
international journals and conferences. He has
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).

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
the e-learners’ behaviour that will be a feedback to the decision
makers in e-learning system. Learner's profile plays a crucial
role in the evaluation process to improve the e-learning process
performance. The work focuses on the clustering of the e-learners
based on their behaviour into specific categories that represent
the learner's profiles. The learners' classes named as regular,
workers, casual, bad, and absent. The work may answer the
question of how to return bad students to be regular ones. The
work presented the use of different fuzzy clustering techniques as
fuzzy c-means and kernelized fuzzy c-means to find the learners’
categories and predict their profiles. The paper presents the main
phases as data description, preparation, features selection, and
the experiments design using different fuzzy clustering models.
Analysis of the obtained results and comparison with the real
world behavior of those learners proved that there is a match
with percentage of 78%. Fuzzy clustering reflects the learners’
behavior more than crisp clustering. Comparison between FCM
and KFCM proved that the KFCM is much better than FCM in
predicting the learners’ behaviour.
Keywords: E-Learning, Learner Profile, Fuzzy C-Means
Clustering, Kernelized FCM.
The development of web-based education systems have grown
exponentially in the last years [1]. These systems accumulate a
great deal of information; which is very valuable in analyzing
students’ behavior and assisting teachers in the detection of
possible errors, shortcomings and improvements. However,
due to the vast quantities of data these systems can generate
daily, it is very difficult to manage manually, and authors
demand tools which assist them in this task, preferably on a
continuous basis. The use of data mining is a promising area in
the achievement of this objective [2]. In the knowledge
discovery in databases (KDD) process, the data mining step
consists of the automatic extraction of implicit and interesting
patterns from large data collections. A list of data mining
techniques or tasks includes statistics, clustering,
classification, outlier detection, association rule mining,
sequential pattern mining, text mining, or subgroup discovery,
among others [3]. In recent years, researchers have begun to
investigate various data mining methods in order to help
teachers improve e-learning systems. A review can be seen in
[2]; these methods allow the discovery of new knowledge
based on students’ usage data. Subgroup discovery is a
specific method for discovering descriptive rules [4,5].
A. Clustering
The first application of clustering methods in e-learning [6], a
network-based testing and diagnostic system was
implemented. It entails a multiple-criteria test-sheet-generating
problem and a dynamic programming approach to generate
test sheets. The proposed approach employs fuzzy logic theory
to determine the difficulty levels of test items according to the
learning status and personal features of each student, and then
applies an Artificial Neural Network model: Fuzzy Adaptive
Resonance Theory (Fuzzy ART) [7] to cluster the test items
into groups, as well as dynamic programming [8] for test sheet
construction. In [9], an in-depth study describing the usability
of Artificial Neural Networks and, more specifically, of
Kohonen’s Self-Organizing Maps (SOM) [10] for the
evaluation of students in a tutorial supervisor (TS) system, as
well as the ability of a fuzzy TS to adapt question difficulty in
the evaluation process, was carried out. An investigation on
how Data Mining techniques could be successfully
incorporated to e-learning environments, and how this could
improve the learning processes was presented in [11]. Here,
data clustering is suggested as a means to promote group-
based collaborative learning and to provide incremental
student diagnosis. In [12], user actions associated to students’
Web usage were gathered and preprocessed as part of a Data
Mining process. The Expectation Maximization (EM)
algorithm was then used to group the users into clusters
according to their behaviors. These results could be used by
teachers to provide specialized advice to students belonging to
each cluster. The simplifying assumption that students
belonging to each cluster should share Web usage behavior
makes personalization strategies more scalable. The system
administrators could also benefit from this acquired
knowledge by adjusting the e-learning environment they
manage according to it. The EM algorithm was also the
method of choice in [13], where clustering was used to
discover user behavior patterns in collaborative activities in e-
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
use of clustering techniques to group similar course materials:
An ontology-based tool, within a Web Semantics framework,
was implemented in [16] with the goal of helping e-learning
users to find and organize distributed courseware resources.
An element of this tool was the implementation of the
Bisection K-Means algorithm, used for the grouping of similar
learning materials. Kohonen’s well-known SOM algorithm
was used in [14] to devise an intelligent searching tool to
cluster similar learning material into classes, based on its
semantic similarities. Clustering was proposed in [15] to group
similar learning documents based on their topics and
similarities. A Document Index Graph (DIG) for document
representation was introduced, and some classical clustering
algorithms (Hierarchical Agglomerative Clustering, Single
Pass Clustering and k-NN) were implemented. Different
variants of the Generative Topographic Mapping (GTM)
model, a probabilistic alternative to SOM, were used in [17-
19] for the clustering and visualization of multivariate data
concerning the behavior of the students of a virtual course.
More specifically, in [17, 18] a variant of GTM known to
behave robustly in the presence of atypical data or outliers was
used to successfully identify clusters of students with atypical
learning behaviors. A different variant of GTM for feature
relevance determination was used in [19] to rank the available
data features according to their relevance for the definition of
student clusters.
B. Prediction Techniques
The forecasting of students’ behavior and performance when
using e-learning systems bears the potential of facilitating the
improvement of virtual courses as well as e-learning
environments in general. A methodology to improve the
performance of developed courses through adaptation was
presented in [20,21]. Course log-files stored in databases could
be mined by teachers using evolutionary algorithms to
discover important relationships and patterns, with the target
of discovering relationships between students’ knowledge
levels, e-learning system usage times and students’ scores. A
system for the automatic analysis of user actions in Web-based
learning environments, which could be used to make
predictions on future uses of the learning environment, was
presented in [22]. It applies a C4.5 DT model for the analysis
of the data; (Note that this reference could also have been
included in the section reviewing classification methods).
Some studies apply regression methods for prediction [23-25].
In [24], a study that aimed to find the sources of error in the
prediction of students’ knowledge behavior was carried out.
Stepwise regression was applied to assess what metrics help to
explain poor prediction of state exam scores. Linear regression
was applied in [25] to predict whether the student’s next
response would be correct, and how long he or she would take
to generate that response. In [25], a set of experiments was
conducted in order to predict the students’ performance in e-
learning courses, as well as to assess the relevance of the
attributes involved. In this approach, several Data Mining
methods were applied, including: Naïve Bayes, KNN, MLP
Neural Network, C4.5, Logistic Regression, and Support
Vector Machines. Rule extraction was also used in [20,21]
with the emphasis on the discovery of interesting prediction
rules in student usage information, in order to use them to
improve adaptive Web courses. Graphical models and
Bayesian methods have also been used in this context. Some
models for the detection of atypical student behavior were also
referenced in the section reviewing clustering applications
C. Fuzzy Logic-Based Methods
These methods have only recently taken their first steps in the
e-learning field [26-28]. For example in, [28] a Neurofuzzy
model for the evaluation of students in an intelligent tutoring
system (ITS) was presented. Fuzzy theory was used to
measure and transform the interaction between the student and
the ITS into linguistic terms. Then, Artificial Neural Networks
were trained to realize fuzzy relations operated with the max–
min composition. These fuzzy relations represent the
estimation made by human tutors of the degree of association
between an observed response and a student characteristic. A
fuzzy group-decision approach to assist users and domain
experts in the evaluation of educational Web sites was realized
in the EWSE system, presented in [27]. In further work by
Hwang and colleagues [26,27], a fuzzy rules-based method for
eliciting and integrating system management knowledge was
proposed and served as the basis for the design of an
intelligent management system for monitoring educational
Web servers. This system is capable of predicting and
handling possible failures of educational Web servers,
improving their stability and reliability. It assists students’
self-assessment and provides them with suggestions based on
fuzzy reasoning techniques. A two-phase fuzzy mining and
learning algorithm was described in [27]. It integrates an
association rule mining algorithm, called Apriori, with fuzzy
set theory to find embedded information that could be fed back
to teachers for refining or reorganizing the teaching materials
and tests. In a second phase, it uses an inductive learning
algorithm of the AQ family: AQR, to find the concept
descriptions indicating the missing concepts during students’
learning. The results of this phase could also be fed back to
teachers for refining or reorganizing the learning path.
The rest of this paper is arranged in the following way:
Section 3 describes the problem and goal of the presented
work. Section 4 introduces the theoretical review of the
applied fuzzy clustering techniques. Section 5 introduces the
data sets and the preprocessing. Section 6 introduces the
experiments design and results analysis. Comparison between
the different clustering techniques and the matching with the
real world e-learners behaviour and their marks are introduced
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
recommendations are presented in section 8. Finally, the
conclusion is outlined in section 9.
A. Problems
Web Data Challenges: Straightforward applications of data
mining techniques on web using data face several challenges,
which make it difficult to use the statistical clustering
techniques. Such challenges as following [29,30]:
§ Data collected during users’ navigation are not numeric in
nature as traditional data mining.
§ Noise and data incompleteness are important issues for user
access data and there are no straightforward ways to handle
§ The structure and content of hypermedia systems, as well as
additional data, like client-side information, registration data,
product-oriented user events, etc., often need to be taken into
consideration. Efficiency and scalability of data mining
algorithms is another issue of prime importance when
mining access data, because of the very large scale of the
§ Statistical measures, like frequency of accessed Web
documents, are too simple for extracting patterns of
browsing behavior.
§ The users on the Internet are very mobile on the web sites
based on their needs and wants.
The statistical clustering methods are not suitable[29,30]: The
statistical clustering provides only the crisp clustering; which
does not match with the real world needs, (the real world
applications do not consider the world as two halves black and
white only).
B. Goal of the Work
The goal is the introducing of different fuzzy clustering
models, especially the kernelized one as well as the selection
of the best model that discovers the students’ behavior.
Another goal is to overcome the challenges of web usage data.
One of the main tasks in data mining is the clustering.
Clustering is a division of data into groups of similar objects.
Each group, called cluster, consists of objects that are similar
between themselves and dissimilar to objects of other groups.
Representing data by fewer clusters necessarily loses certain
fine details, but achieves simplification. Clustering algorithms,
in general, are divided into two categories: Hierarchical
Methods (agglomerative algorithms, divisive algorithms), and
Partitioning Methods (probabilistic clustering, k-medoids
methods, k-means methods). Hierarchical clustering builds a
cluster hierarchy; every cluster node contains child clusters;
sibling clusters partition the points covered by their common
parent. Such an approach allows exploring data on different
levels of granularity. Hierarchical clustering methods are
categorized into agglomerative (bottom-up) and divisive (top-
down). An agglomerative clustering starts with one-point
(singleton) clusters and recursively merges two or more most
appropriate clusters. A divisive clustering starts with one
cluster of all data points and recursively splits the most
appropriate cluster. The process continues until a stopping
criterion (frequently, the requested number k of clusters) is
achieved. Data partitioning algorithms divide data into several
subsets. Because checking all possible subset possibilities may
be computationally very consumptive, certain heuristics are
used in the form of iterative optimization. Unlike hierarchical
methods, in which clusters are not revisited after being
constructed, relocation algorithms gradually improve clusters.
The next section describes the theoretical review for the
different fuzzy clustering methods used.
A. Fuzzy C-Means
Fuzzy clustering is a widely applied method for obtaining
fuzzy models from data. It has been applied successfully in
various fields. In classical cluster analysis each datum must be
assigned to exactly one cluster. Fuzzy cluster analysis relaxes
this requirement by allowing gradual memberships, thus
offering the opportunity to deal with data that belong to more
than one cluster at the same time. Most fuzzy clustering
algorithms are objective function based. They determine an
optimal classification by minimizing an objective function. In
objective function based clustering usually each cluster is
represented by a cluster prototype. This prototype consists of a
cluster centre and maybe some additional information about
the size and the shape of the cluster. The size and shape
parameters determine the extension of the cluster in different
directions of the underlying domain. The degrees of
membership to which a given data point belongs to the
different clusters are computed from the distances of the data
point to the cluster centers with regard to the size and the
shape of the cluster as stated by the additional prototype
information. The closer a data point lies to the centre of a
cluster, the higher is its degree of membership to this cluster.
Hence the problem to divide a dataset into c clusters can be
stated as the task to minimize the distances of the data points
to the cluster centers, since, of course, we want to maximize
the degrees of membership. Most analytical fuzzy clustering
algorithms are based on optimization of the basic c-means
objective function, or some modification of it. The Fuzzy C-
means (FCM) algorithm proposed by Bezdek [31,32] aims to
find fuzzy partitioning of a given training set, by minimizing
of the basic c-means objective functional as n Eq. (1):
∑ ∑
= =
− =
c c u f
1 1
) ,....,
, ( (1)
Where u
values are between 0 and 1; c
is the cluster centre of
fuzzy group i, and the parameter m is a weighting exponent on
each fuzzy membership. In FCM, the membership matrix U is
allowed to have not only 0 and 1 but also the elements with
any values between 0 and 1, this matrix satisfying:
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010

n j
u ,....., 1 , 1
= ∀ =
∑ (2)
Fuzzy partitioning is carried out through an iterative
optimization of the objective function shown above, with the
update of membership u
and the cluster centers c



− −
k k
) 1 /( 2
The FCM clustering algorithm steps are illustrated in the
following algorithm:
Step 1: Initialize the membership matrix U with random values
between 0 and 1 such that the constraints in Equation (2) are satisfied.
Step 2: Calculate fuzzy cluster centers c
,i=1,.., c using Equation (3).
Step 3: Compute the cost function (objective function) according to
Equation (1). Stop if either it is below a certain tolerance value or its
improvement over previous iteration is below a certain threshold.
Step 4: Compute a new membership matrix U using Equation (4).
Step 5: Go to step 2.
The iterations stops when the difference between the fuzzy partition
matrices in two following iterations is lower than ε .
B. Kernelized Fuzzy C-Means Method
The kernel methods [33, 34] are one of the most researched
subjects within machine learning community in the recent few
years and have widely been applied to pattern recognition and
function approximation. The main motives of using the kernel
methods consist in: (1) inducing a class of robust non-
Euclidean distance measures for the original data space to
derive new objective functions and thus clustering the non-
Euclidean structures in data; (2) enhancing robustness of the
original clustering algorithms to noise and outliers, and (3)
still retaining computational simplicity. The algorithm is
realized by modifying the objective function in the
conventional fuzzy c-means (FCM) algorithm using a kernel-
induced distance instead of Euclidean distance in the FCM,
and thus the corresponding algorithm is derived and called as
the kernelized fuzzy c-means (KFCM) algorithm, which is
more robust than FCM. Here, the kernel function K(x, c) is
taken as the Gaussian radial basic function (GRBF) as follows:
exp ) , (

− −
c x
c x K (5)
Where σ: is an adjustable parameter. The objective function
is given by
1 1
) , ( 1 ( 2 ∑ ∑
= =
− =
x K
f (6)
The fuzzy membership matrix u can be obtained from:
( )
( ) ∑

− −
− −
x K
x K
) , ( 1
) , ( 1
) 1 /( 1
) 1 /( 1
The cluster center ci can be obtained from:

x K
x K
) , (
) , (
The proposed KFCM algorithm is almost identical to the
FCM, except in step 2, Eq. (8) is used instead of Eq. (4) to
update the centers. In step 4, Eq. (7) is used instead of Eq. (3)
to update the memberships. The proposed implemented fuzzy
clustering including both FCM and KFCM including the post
processing technique is shown in Figure 2.
The implemented algorithm consists of two main parts the first
is the fuzzy clustering, and the second is the post processing.
The output of the first part will be the U matrix and the
cancroids C
, and the outputs of the second part of the
algorithm is the fuzzy clusters that consists of the following
1. Area that represent the members in the clusters with high
membership values; which called Sure Area (i.e. those
members are surly belong to that cluster).
2. The overlapping areas that represent the members; which
could not be assigned to any cluster, therefore it will be belong
to two or more clusters, this overlapping area called the May
Be Areas. These areas may help in taking a decisions as; the
sure areas says that those elements are surly belong to those
clusters, as well as the May Be Areas also says that; those
elements are not be essential in taking a decisions.
Another benefit of the overlapping areas is how to focus on
the overlapping areas between specific two clusters; that can
help in the study of how to attract the students from one class
to another.
A. Log Files Description
The data recorded in server logs reflects the access of a Web
site by multiple users. Web server-side data and client-side
data constitute the main sources of data for Web usage mining.
Web server access logs constitute the most widely used data
because it explicitly records the browsing behavior of site
visitors. For this reason, the term Web log mining is
sometimes used. Web log mining should not be confused with
Web log analysis. An illustrative example for the log file is
shown in Table 1.
B. Data Set Description
The data sets used in this study were obtained from web
access logs for studying a two courses; the first is for teaching
“data structures”; the course is offered in the second term of
the second year, at computing science programme at Saint
Mary's University. The second course is “Introduction to
Computing Science and Programming”, for the first year.
Data were collected over 16 weeks (four months). The number
of students in these courses is described in details in Table 2.
From the work presented in [29-30], the student's behavior
through teaching courses it proposed that, visits from
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010


For i=1..k: Is µik>=0.75
Element is not surely member of this cluster:
Add the element to the overlapping
Construct all overlapping areas between the different
clusters with members having µik belonging to two or
more clusters

Construct all clusters with sure members
Construct all areas (sure areas and overlapping areas)
Figure2. The proposed Clustering Models (FCM and KFCM) and the Post-processing Technique
Initial Membership Matrix U, error=1.00, m
=2, tolerance <0.0001
Error > tolerance
Update Matrix U
Calculate Center Vi
Calculate Distance Dik
Calculate Membership µik
µ µ −

Element is surely member of this cluster:
Add the element to this cluster Ci
Figure1. The proposed applied data mining system

Data Set Preparation, Cleaning,
Normalization, and Features
Collect Web Usage Data Set
(Log Files)
Results Analysis and Evaluation Stage
E – Course Decision Makers (Managers or Administrators)
Apply fuzzy
Clustering Model
Feedback Recommendations
Post-Processing Stage

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

Table 1: Common Log File Format
EXAMPLE:[09/AUG/2001:20:52:07-0300] GET/~CSC226/PROJECT1.HTMHTTP/1.1 200 4662
Client IP address or hostname (if DNS lookups are performed)
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) ~CSC226/PROJECT1HTM
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
Introduction to Computing
Science and Programming for
First year in First term
The initial number of students in the course was 180. The number changed over the course of the semester to
130 to 140 students. Students in the course come from a wide variety of backgrounds, such as Computing
Science major hopefuls, students taking the course as a required science course, and students taking the
course as a science or general elective.
Data structures Second year in
second term
The number of students in this course was around 25 students and the number changed to 23 students. This
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 1
Data Set

Table 5: KFCM Results for 1
Data Set

Behavior of each Class
Behavior of each Class
Camp. Time Lab Hits Req. 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 6: FCM Results for 2
Data Set

Table 7: KFCM Results for 2
Data Set

Behavior of each Class

Behavior of each Class
Camp. Time Lab Hits Req. 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
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010


Therefore we have decided to re-cluster the data sets into three
clusters only as regular, workers, and bad students; and
neglect both the absent and casual students classes. The results
were good enough to reflect the learner's behaviour on the e-
course. Table 6 and Table 7 show details of clusters for the
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
number of hits and document-downloads.
2. The size of the Worker Students class was the biggest one,
and identified by the lowest number of hits and document-
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.
The interpretation of the results obtained from this phase is as
same as the interpretation for the results of the first 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.
Both FCM and KFCM were able to cluster the data sets as
shown in Tables 4,5,6,7 and Figure3 (a), (b), (c), (d), with
moderate accuracy. Moreover, the results obtained from
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
of the grades were grad B+ that can fit with workers students,
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.
Table 8 illustrates the matching between the obtained results
Table 8: Comparison Between Results of FCM and KFCM
Ratio Between Size of Clusters and Real
Worker /
FCM 81% 88% 90%
KFCM 87.5 91% 93%
FCM 88% 90% 96%
KFCM 88.07 90.9% 98%

Table 9: Questionnaires Results for the Second Course
Students % Students’ Opinion
21.739% Accept online only as interactive method
17.39% Refused on-line as a method not usual
30.43% Hybrid of on-line and printed document
21.739% Refused on-line (not used to work with it)
6.69% Refused on line (due to practical reasons)
(a) FCM for the 1
data set

1904 2550
(b) KFCM for the 1
data set


1870 2430


(c) FCM for the 2
data set


168 977
(d) KFCM for the 2
data set
Figure3. Fuzzy Clusters Representation: a and b for the
Data Set, and c and d for the 2
Data Set

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
marks and grades of the students. The comparison concludes
that both of the two methods were good enough; moreover the
KFCM was better and its performance from the points of
matching with the real marks and the speed was high.

A. Student feedback
Feedback from students on the second course indicates that;
there are some concerns over accessing, reading internet
pages, and downloading different materials as shown in Table
9. From the table we conclude some points as following:
1. Due to practical reasons such as eye strain, portability,
navigation and the process of developing understanding by
adding notes.
2. Students have opinions that the materials were difficult and
not have more explanations, others said that the course itself is
more difficult to follow on-line; they thought that it is a
difficulty added to the course itself.
3. Students suggested that the combination of online and
printed versions of materials would be better.
4. Students were satisfied using on-line more than the off-
line; as it gives the feeling of the classroom environment.
5. Students raise the need to make it easier to obtain print
versions for easier handling process because of their usual (not
because it is difficult but because they did not used to).
B. The Suggestions and Recommendations:
1. Formative evaluation: It is the evaluation of an educational
program while it is still in development, and with the purpose
of continually improving the program. Examining how
students use the system is one way to evaluate the instructional
design in a formative manner and it may help the educator to
improve the instructional materials.
2. Oriented towards students: The objective is to recommend
to learners activities, resources and learning tasks that would
favor and improve their learning, suggest good learning
experiences for the students, suggest path pruning and
shortening or simply links to follow, based on the tasks
already done by the learner and their successes, and on tasks
made by other similar learners, etc.
3. Oriented towards educators: The objective is to get more
objective feedback for instruction, evaluate the structure of the
course content and its effectiveness on the learning process,
classify learners into groups based on their needs in guidance
and monitoring, find learning learner’s regular as well as
irregular patterns, find the most frequently made mistakes,
find activities that are more effective, discover information to
improve the adaptation and customization of the courses,
restructure sites to better personalize courseware, organize the
contents efficiently to the progress of the learner and
adaptively constructing instructional plans, etc.
4. Oriented towards academics responsible and administrators:
The objective is to have parameters about how to improve site
efficiency and adapt it to the behavior of their users (optimal
server size, network traffic distribution, etc.), have measures
about how to better organize institutional resources (human
and material) and their educational offer, enhance educational
programs offer and determine effectiveness of the new
computer mediated distance learning approach. There are
many general data mining tools that provide mining
algorithms, filtering and visualization techniques. Some
examples of commercial and academic tool are DBMiner,
Clementine, Intelligent Miner, Weka, etc. As a total
conclusion, the suggestions and the recommendations from
this work are focused on: the educators’ behavior obtained
from both fuzzy clustering models.
The work presented in this paper focuses on how to find good
models for the evaluation for E-learning systems. The paper
introduces the use of two different fuzzy clustering techniques,
the FCM and the KFCM, where the clustering is one of the
most important models in data mining. Both of FCM and
KFCM clustering were able to find the clusters for the learners
and the results were matched with the real marks of the
students with high percentage. Moreover the KFCM results
have high matching percentage with the real marks than the
FCM. The suggestion and the recommendations were
constructed based on the clustering results and the questioners
obtained from the students that represent the learners’ profiles
and reflect their behavior during the teaching of the e-course.
Finally the paper proved that the ability of fuzzy clustering
generally and KFCM was better in predicting the e-learners
[1] Romero, et al., Herrera Evolutionary algorithms for subgroup discovery
in e-learning: A practical application using Moodle data Expert Systems
with Applications, 36, pp.1632–1644, (2009).
[2] Romero, C., & Ventura, S., Educational data mining: A survey from
1995 to 2005. Expert Systems with Applications, 33(1), pp.135–146,
[3] Klosgen, W., & Zytkow, J., Handbook of data mining and knowledge
discovery. NY: Oxford University Press, (2002).
[4] Klosgen, W., Explora: A multipattern and multistrategy discovery
assistant, In U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, & R.
Uthurusamy (Eds.), Advances in knowledge discovery and data mining,
pp. 249–271, (1996).
[5] Wrobel, S., An algorithm for multi-relational discovery of subgroups. In
Proceedings of conference principles of data mining and knowledge
discovery, pp. 78–87, (1997).
[6] Hwang, G.J., A Test-Sheet-Generating Algorithm for Multiple
Assessment Requirements, IEEE Transactions on Education 46(3),
pp.329–337, (2003).
[7] Carpenter, G., et al., Fuzzy ART: Fast Stable Learning and
Categorization of Analog Patterns by an Adaptive Resonance System,
Neural Networks 4, pp.759–771, (1991).
[8] Jantke, K., et al., Adaptation to the Learners’ Needs and Desires by
Induction and Negotiation of Hypotheses. In: Auer, M.E., Auer, U.
(eds.): International Conference on Interactive Computer Aided
Learning, ICL 2004, (2004).
[9] Mullier, D., et al., A Neural-Network System for Automatically
Assessing Students, In: Kommers, P., Richards, G. (eds.): World
Conference on Educational Multimedia, Hypermedia and
Telecommunications, pp.1366–1371, (2001).
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
Heidelberg New York, (2000).
[11] Tang, C., et al., Personalized Courseware Construction Based on Web
Data Mining. In: The First international Conference on Web information
Systems Engineering, WISE’00. IEEE Computer Society. June 19–20,
Washington, USA,pp.204–211, (2000).
[12] Tang, T.Y.&McCalla, G., Smart Recommendation for an Evolving e-
Learning System: Architecture and Experiment. International Journal on
e-Learning 4(1), pp.105–129, (2005).
[13] Talavera, L.&Gaudioso, E., Mining Student Data to Characterize Similar
Behavior Groups in Unstructured Collaboration Spaces. In: Workshop in
Artificial Intelligence in Computer Supported Collaborative Learning in
conjunction with 16th European Conference on Artificial Intelligence,
ECAI’2003. Valencia, Spain, pp.17–22, (2004).
[14] Castro, F., et al., Finding Relevant Features to Characterize Student
Behavior on an e-Learning System. In: Hamid, R.A. (ed.): Proceedings
of the International Conference on Frontiers in Education: Computer
Science and Computer Engineering, FECS’05. Las Vegas, USA,
pp.210–216, (2005).
[15] Hammouda, K. & Kamel, M., Data Mining in e-Learning. In: Pierre, S.
(ed.): e-Learning Networked Environments and Architectures: A
Knowledge Processing Perspective, Springer, Berlin Heidelberg New
York, (2005).
[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
System, In: VI Congreso Nacional de Informática Educativa, Simposio
Nacional de Tecnologías de la Información y las Comunicaciones en la
Educación, SINTICE’2005. September 14–16, Granada, Spain, pp.153–
160, (2005).
[18] Drigas, A.&Vrettaros, J., An Intelligent Tool for Building e-Learning
Contend-Material Using Natural Language in Digital Libraries, WSEAS
Transactions on Information Science and Applications 5(1), pp.1197–
1205, (2004).
[19] Trella, M., et al., An Open Service-Based Learning Platform for
Developing Intelligent Educational Systems for the Web, In: The 12th
International Conference on Artificial Intelligence in Education. July
18–22, Amsterdam, pp. 27–34, (2005).
[20] Romero, C.,et al., Discovering Prediction Rules in AHA! Courses. In:
User Modelling Conference. June 2003, Johnstown, Pennsylvania, pp.
35–44, (2003).
[21] Romero, C., et al., Knowledge Discovery with Genetic Programming for
Providing Feedback to Courseware. User Modeling and User-Adapted
Interaction 14(5), pp. 425–464, (2004).
[22] Muehlenbrock, M., Automatic Action Analysis in an Interactive
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,
[28] Stathacopoulou, G., Grigoriadou, M.: Neural Network-Based Fuzzy
Modeling of the Student in Intelligent Tutoring Systems, In:
International Joint Conference on Neural Networks. Washington,
pp.3517–3521, (1999).
[29] Lingras, P., Hogo, M., Snorek, M., 2004. Interval Set Clustering of Web
Users using Modified Kohonen Self-Organizing Maps based on the
Properties of Rough Sets, Web Intelligence and Agent Systems: An
International Journal, Vol. 2, No. 3, pp. 217-230
[30] Mofreh Hogo, Miroslav Snorek. “Temporal web usage mining using the
modified Kohonen SOM”, international journal of NNW (neural
network world) volume 13 number 4, 2003 ISSN 1210-0552.
[31] Bezdek J., Pattern Recognition with Fuzzy Objective Function, Plenum,
New York, (1981).
[32] Bezdek J. Some, non-standard clustering algorithms, In: Legendre, P. &
Legendre, L. Developments in Numerical Ecology. NATO ASI Series,
Vol. G14. Springer-Verlag, (1987).
[33] Muller KR., Mika S., et al., An introduction to kernel-based learning
algorithms, IEEE Trans Neural Networks, 12(2), pp.181—202, (2001).
[34] Carl G. A., fuzzy clustering and fuzzy merging algorithm, Technical
Report, CS-UNR-101, (1999).
[35] Hwang, G., A Knowledge-Based System as an Intelligent Learning
Advisor on Computer Networks, J. Systems, Man, and Cybernetics 2,
pp. 153–158, (1999).

Mofreh A. Hogo is a lecturer at Benha
University, Egypt. He is a lecturer of Computer
Science and Engineering. Dr. Hogo holds a PhD
in Informatics Technology from Czech
Technical University in Prague, Computer
Science and Engineering Dept. 2004. He is the
author of over 40 papers that have been
published in refereed international Journals
(Information Sciences, Elsiver, UBICC, IJICIS,
IJCSIS, IJPRAI, ESWA, IJEL, Web Intelligence
and Agent Systems, Intelligent Systems,
international journal of NNW, IJAIT Journal of Artificial Intelligence Tools,
IJCI) and Book chapters (Neural Networks Applications in Information
Technology and Web Engineering Book, Encyclopedia of Data Warehousing
and Mining, and Lecture Notes in Artificial Intelligence Series), and
international conferences (Systemics, Cybernetics and Informatics
Information Systems Management, IEEE/WIC, IEEE/WIC/ACM, ICEIS). His
areas of interest include Digital Image Processing, Multimedia Networks,
Intrusion detection, Data Mining, Data Clustering and classification, pattern
Recognition, character recognition, fuzzy clustering, artificial Neural
Networks, Expert systems, Software Engineering.
ISSN 1947-5500
Hierarchical Approach for Online Mining –Emphasis towards Software Metrics

Dept. of Comp. Sc & Eng. Director Dept. of CSE
Hyderabad, India. Hyderabad, India Hyderabad, India

Abstract ----Several multi-pass algorithms have
been proposed for Association Rule Mining from
static repositories. However, such algorithms are
incapable of online processing of transaction
streams. In this paper we introduce an efficient
single-pass algorithm for mining association rules,
given a hierarchical classification amongest items.
Processing efficiency is achieved by utilizing two
optimizations, hierarchy aware counting and
transaction reduction, which become possible in
the context of hierarchical classification.

This paper considers the problem of
integrating constraints that are Boolean
expression over the presence or absence of items
into the association discovery algorithm. This
paper present three integrated algorithms for
mining association rules with item constraints and
discuss their tradeoffs. It is concluded that the
variation of complexity depends on the measure of
DIT (Depth of Inheritance Tree) and NOC
(Number of Children) in the context of
Hierarchical Classification.

Keywords: Frequent item sets; Association
Rules; Time stamps; DIT; NOC; Software Metrics;
Complexity; Measurement


The aim of Association Rule Mining is to find
latent associations among data entities in database
repositories, a typical example of which is the
transaction database maintained by a supermarket.
An association rule is an implication of the form
A=> B, which conveys that customers buying set of
items A would also with a high probability buy set of
items B. The concept of association rule mining was
first introduced in [4]. Typically the problem is
decomposed into two phases. Phase I of the problem
involves in finding the frequent item sets in the
database, based on a pre- defined frequency threshold
minsupport. Phase II of the problem involves
generating the association rules from the frequent
item sets found in Phase I. Typically, the reported
approaches in Phase I re- quire multiple passes over
the transaction database to determine the frequent
item sets of deferent lengths [1, 2, 3]. All these
approaches assume that a static database is available,
so that multiple scans can be made over it. With
online systems, it is desirable to make decisions on
the fly, processing data-streams in- stead of stored

In this paper, we aim at a online algorithm,
capable of processing online streams of transactions.
Assume that the algorithm has computed its result up
to and including the first n transactions. A true online
algorithm should be capable of updating the result for
the (n + 1). The transaction, without requiring a re-
scan over the past n transactions. In this way such an
algorithm can handle transaction streams. In fact it is
true that items in an online shopping mart or a
supermarket are categorized into sub-classes, which
in turn make up classes at a higher level, and so on.
Besides the usual rules that involve individual items,
learning association rules at a particular sub- class or
class level is also of much potential use and
significance, e.g. an item-specific rule such as
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
shoes tend to buy tee-shirts". With this aim, we can
be made of commonly employed hierarchical
classification of items to devise a simple and efficient
rule mining algorithm. [2] Proposes a single-pass
algorithm for hierarchical online association rule

In this paper, we refer to this algorithm as
HORM. The present work carries forward the idea of
[1], and proposes an efficient algorithm for Phase I.
The present work also looks at Phase II, i.e. the
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
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.
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
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
instance, those containing at least one item from a
user-defined subset of items. When taxonomies are
present, this set of items may be specified using the
taxonomy, e.g. all descendants of a given item. While
the output of current algorithms can be filtered out in
a post-processing step, it is much more efficient to
incorporate such constraints into the association’s
discovery algorithm.

Design choices on the hierarchy employed to
represent the application are essentially choices about
restricting or expanding the scope of properties of the
classes of objects in the application. Two design
decisions which relate to the inheritance hierarchy
can be defined [11]. They are depth of inheritance
(DIT) of a class and the number of children of the
class (NOC).Depth of Inheritance of the class is the
DIT metric for the class. The DIT (Depth of
Inheritance Tree) will be the maximum length from
the node to the root of the tree. The deeper a class is
in the hierarchy, the greater the number of methods it
is likely to inherit, making it more complex to predict
its behavior. The Deeper trees constitute greater
design complexity. The deeper a particular class is in
the hierarchy, the greater the potential reuse of
inherited methods. The inheritance hierarchy is a
directed acyclic graph, which can be described as a
tree structure with classes as nodes, leaves and a root.

The NOC (Number of Children) is the number of
immediate subclasses subordinated to a class in the
class hierarchy. It is a measure of how many
subclasses are going to inherit the methods of the
parent class. The number of children gives an idea of
the potential influence a class has on the design. If a
class has a large number of children, it may require
more testing of the methods in that class. The Greater
the number of children (NOC), greater the likelihood
of improper abstraction of the parent class. If a class
has a large number of children; it may be a case of
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.

Clothes Footwear

Outer wear Shirts Shoes Hiking Boots

Jackets Ski Phants

Figure 1. Example for taxonomy

For example,(Jacket A Shoes) V (descendants
(Clothes) A7 ancestors (Hiking Boots)) expresses the
constraint that we want any rules that either (a)
contain both Jackets and Shoes, or (b) contain
Clothes or any descendants of clothes and do not
contain Hiking Boots or Footwear.


A. Basic Concepts and Problem Formulation

Hierarchical classification of data means that the
items which make up a transaction are categorized
into Classes, sub-classes, and so on. While doing
Hierarchical Classification of data, some measures to
be consider. Design of a class involves decisions on
the scope of the methods declared within the class.
We have to consider four major features in the
Hierarchical classification of data in terms of
Classification tree 1.Identification of
classes.2.Identify the semantics of classes.3.Identify
relations between classes.4.Implementation of
classes. Using several metrics can help designers,
who may be unable to review design complexity for
the entire application [11]. The Depth of inheritance
Tree (DIT) and Number of children (NOC) metrics
check whether the application is getting too heavy
(i.e .too many classes at the root level declaring many
methods).Classes with high values of DIT tend to
complex classes. Evidently it is possible to mine for
two types of rules: an item-specific rule such as
Customers buying soap of brand A tend to buy
canned soup of brand B", or a more general Rule
such as Customers buying soaps tend buy canned
soup". The latter is an association on classes or sub-
classes, rather than on individual items. Let I be the
set of all items stored in, say, a typical supermarket.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

Figure 2. Example of Classification Tree

We suppose that, at each level of classification, a
fixed number M of classes, sub-classes or items are
present. At the root level we have classes C1; C2;
C3: CM. At the next level, for a class Ck, we will
have the M sub-classes Ck1;Ck2 : : :CkM. For jIj =
20000, and with M = 12, for example, we will need
four levels of classification; the last level will contain
individual items stored in transaction, which will be
coded as Cjklm, i.e. one index for each level of
classification. A hierarchical association rule is an
implication of the type X => Y where X; Y are
disjoint subsets of the sub-classes of some Cα, the
parent class of X and Y . As usual, support for
association rule X =>Y is defined as the fraction of
transactions in the transaction database which contain
X=>Y ; confidence of the rule is defined as the
fraction of transactions containing X which also
contain Y . We denote the support and confidence of
rule X => Y as supp(X=> Y ) and conf(X => Y )

We may also write XY to represent X => Y.
Subsets of sub-classes of class C are elements of the
power-set of the set of sub-classes of C. For a given
class C, the counts of all subsets occurring in the
transaction database are stored in an integer array,
called count array, of size 2M. The natural bitmap
representation of a subset can be used directly as the
index of the corresponding cell in the count array.

Figure 3: Item set Lattice
Phase 1:

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
generate all the potentially frequent itemsets as
candidates when item constraints are present. We
consider three different approaches to this problem.

• Generate a set of selected items S such that
any Item sets that satisfy B will contain at
least one selected item.

• Modify the candidate generation procedure
to only count candidates that contain
selected items.

• Discard frequent item sets that do not satisfy
B. The third approach, “Direct” directly uses
the boolean expression B to modify the
candidate generation procedure so that only
candidates that satisfy B are counted
(Section 4.2).

Phase 2:

To generate rules from these frequent itemsets, we
also need to find the support of all subsets of frequent
itemsets that do not satisfy?. Recall that to generate a
rule AI3, we need the support of AB to find the
confidence of the rule. However, AB may not satisfy
B and hence may not have been counted in Phase 1.
So we generate all subsets of the frequent itemsets
found in Phase 1, and then make an extra pass over
the dataset to count the support of those subsets that
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.

B. Approaches using Selected Items
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

Generating Selected Items Recall the boolean
expression Z? = D1 V D2 V . . . V D,,,,, where Di =
ail A Q~Z A u . e A ain; and each element oij is
either lij or dij, for some Zij E C. We want to
generate a set of items S such that any item set that
satisfies Z? will contain at least one item from S. For
example, let the set of items {l,2,3,4,5}.

Consider B=(lA2)V3.The sets (1, 3}, {2, 3) and (1,
2, 3, 4, 5) all have the property that any (non-empty)
item set that satisfies B will contain an item from this
set. If B = (1 A 2) V 73, the set (1, 2, 4, 5) has this
property. Note that the inverse does not hold: there
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

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
of the mining method with different database
schemas and domains, since such encoded knowledge
can be easily modified. The mining ontology serves
as a bridge between the database and the mining
algorithm, and guides the hierarchical search of the
latter across multiple tables within the former.

III. Mining Algorithm

This data mining approach undertakes rule
association analysis between two input domain
classes and their subclasses in the mining ontology.
Standard rule association mining looks for frequently
occurring associations between input values that meet
the minimal criteria of user defined interestingness,
such as confidence (the probability of one value
occurring given another) and Support (the probability
of two values occurring together). The Chrono Miner
algorithm extends this standard approach by also
examining the occurrence of different temporal
relationships between the time stamps of those

Temporal Association Rule algorithm

Using the mining ontology, the search for temporal
associations involves partial or complete traversal of
the hierarchical structure starting from each input
class, proceeding through top-down induction as
described in the pseudo code presented in Figure 4.

A.HORM Algorithm

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
From the classes and sub-classes which make up
the classification tree, the user selects a set of classes
of interest [4], to be denoted here as SIC. Association
rules to be mined are of the type X => Y where X and
Y are disjoint subsets of a class or sub-class of
interest. The problem of hierarchical association rule
mining is now defined as: Find all association rules
of the type X => Y, within each class of interest in
SIC, which have a specified minimum support and
confidence in the transaction database or stream. To
find associations within a class or sub-class of
interest, we need to maintain counts for all its
subsets. For the class A***, with M = 4, for example,
we need to count the occurrences in the transaction
database of all the subsets of
{A1***A2*** A3***A4***}. Clearly there are 2M ¡
1 non-empty subset combinations for a sub-class with
M elements. Therefore a count array of size 2M ¡1
needs to be maintained for each class or sub-class of
interest. HORM algorithm takes as input the i.e.
support values, in the transaction database of all the
subsets of the classes or sub-classes of interest. The
time complexity of this algorithm is O(jDjK2M) [6].
The memory requirement of HORM is K2M, since
each element of SIC requires an array of size 2M.

IV. Enhancements Proposed

A. Hierarchy-Aware Counting

In HORM, each transaction is checked against all
the classes or sub-classes in SIC. But suppose we
have two classes or sub-classes in SIC of which one
is itself a sub-class of the other. In HORM, the per-
transaction code is executed once for each of these
elements of SIC, without taking into account this
hierarchical relationship between the two. But clearly
if the first iteration suggests that the current
transaction does not support, say PQ**, we do not
need to iterate for any of its sub-class such as PQR*.
We apply this intuition to speed up the algorithm: If a
transaction does not support a class or sub-class,
it does not support any of its sub-classes either. We
call this first enhancement hierarchy-aware counting.

B. Transaction Reduction

This second enhancement reduces the computation
within the inner loop. For every class or sub-class in
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-
descendant relationship. Once we have matched the
entire transaction against the first class or sub-class
clearly it is not necessary to again match the entire
transaction against the second one as well. Suppose
A*** and B*** are two classes of interest, and let the
current transaction T be
{A1Q6;A2P6;B2Q6;B1Q7;A2P7;B2P7}. While T is
being checked against A***, the algorithm in fact
traverses through the items of T and finds the sub-
transaction T=A*** = {A1Q6;A2P6;A2P7}, which
may be called the projection of class A*** on T.
Clearly T=A*** does not contain any items that
belong to B***, because the sub-classes of A*** and
B*** are disjoint. Thus we can remove T=A*** from
T and pass the remaining items T1 = T ¡ T=A*** to
match against B***. Thus the part of a transaction
that is a projection of a class can be removed to
obtain a reduced transaction to match against disjoint
classes. We call this second enhancement transaction

C. Non-Redundant Rule Generation

The version implemented in the present work is
based on the basic concepts proposed in [5]. The
hierarchical rule mining technique described here
does not require a separate adjacency lattice of the
classes or subclasses of interest. The count arrays
described above can themselves be viewed as
adjacency lattices used in [5], leading to very clean
design and implementation.


This proposed algorithm, Modified Hierarchical
online rule mining, or MHORM, which optimizes the
time requirements of the earlier reported algorithm
HORM [8].

We considered the problem of discovering
association rules in the presence of constraints that
are Boolean expressions over the presence of absence
of items. Such constraints allow users to specify that
they are interested in we presented three such
integrated algorithm, and discussed the tradeoffs
between them. Empirical evaluation of the Multiple
Joins algorithm on three real-life datasets showed that
integrating item constraints can speed up the
algorithm by a factor of 5 to 20 for item constraints
with selectivity between 0.1 and 0.01.For candidates
that were not frequent in the sample but were
frequent in the datasets, only those extensions of such
candidates that satisfied those constraints would be
counted in the additional pass.

It is concluded that while constructing
Classification Tree, the measure of Depth of
Inheritance Tree (DIT) with respect to Number of
children (NOC) place a dominant role, which is
evidence from the fact that the complexity depends
on the depth of inheritance Tree (DIT) with respect to
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Number of children (NOC). Both DIT and NOC
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.

[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.
Mining maximal frequent itemsets from data streams.
Information Science, pages 251-262, 2007.
[3] B. Mozafari, H. Thakkar, and C. Zaniolo.
Verifying and mining frequent patterns from large
windows over data streams. ICDE, pages 179-188
2008M. Ester, H.-P. Kriegel, J. Sander, M. Wimmer,
and X. Xu. Incremental clustering for mining in a
data warehousing environment. In VLDB, pages 323-
333, 1998.
[4] F. Guillet and H. J. Hamilton, editors. Quality
Measures in Data Mining. Studies in Computational
Intelligence. Springer, 2007.
[5] J. Han, J. Pei, and Y. Yin. Mining frequent
patterns without candidate generation. In SIGMOD,
pages 1-12, 2000.
[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
Mining Association Rules, Proceedings of the 20th
VLDB Conference, 1994.
[10] S. Brin, R. Motwani, J. D. Ullman and S. Tsur,
Dynamic Itemset Counting and Implication Rules for
Market Basket Data, Proceedings of the ACM
SIGMOD International Conference on Management
of Data, 1997.
[11] Chidamber S.R. and Kemerer C.F. “A Metric
Suit for Object Oriented Design”,IEEE
Trans.Software.Eng, Vol.20, pp.476-493 (1994).


M.V.Vijaya Saradhi is Currently Associated
Professor in the Department of Computer Science
and Engineering (CSE) at Aurora's Scientific,
Technological and Research Academy, (ASTRA),
Bandlaguda, Hyderabad, India, where he teaches
Several Courses in the area of Computer Science.
He is Currently Pursuing the PhD degree in
Computer Science at Osmania University, Faculty of
Engineering, Hyderabad, India. His main research
interests are Software Metrics, Distributed Systems,
Object-Oriented Modeling (UML), Object-Oriented
Software Engineering, Data Mining, Design Patterns,
Object- Oriented Design Measurements and
Empirical Software Engineering. He is a life member
of various professional bodies like MIETE, MCSI,
MIE, MISTE. E-mail:
Dr. B. R. Sastry is currently working as Director,
Astra, Hyderabad, India. He earlier worked for 12
years in Industry that developed indigenous computer
systems in India. His areas of research includes
Computer Architecture,  Network Security, Software 
Engineering,  Data Mining and Natural Language
Processing, He is currently concentrating on
improving academic standards and imparting quality
P. Satish is Currently Asst Professor in Department
of computer Science & Engineering at Vivekananda
Institute of Engineering (VIE), Hyderabad, India. 
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
QoS Based Dynamic Web Services Composition &

Farhan Hassan Khan, M.Younus Javed, Saba Bashir
National University of Science & Technology
Rawalpindi, Pakistan

Aihab Khan, Malik Sikandar Hayat Khiyal
Fatima Jinnah Women University
Rawalpindi, Pakistan

Abstract---The use of web services has dominated software
industry. Existing technologies of web services are
extended to give value added customized services to
customers through composition. Automated web service
composition is a very challenging task. This paper
proposed the solution of existing problems and proposed a
technique by combination of interface based and
functionality based rules. The proposed framework also
solves the issues related to unavailability of updated
information and inaccessibility of web services from
repository/databases due to any fault/failure. It provides
updated information problem by adding aging factor in
repository/WSDB (Web Services Database) and
inaccessibility is solved by replication of WSDB. We
discussed data distribution techniques and proposed our
framework by using one of these strategies by considering
quality of service issues. Finally, our algorithm eliminates
the dynamic service composition and execution issues,
supports web service composition considering QoS
(Quality of Service), efficient data retrieval and updation,
fast service distribution and fault tolerance.

Keywords---composition of services; dynamic
composition; UDDI registry; web services.


Web services are software applications that are available on
the web and used for machine to machine interaction by using
URI (Uniform Resource Identifier) on the distributed
environment of internet. SOAP (Simple Object Access
Protocol) messages are used for communication mechanism
by using HTTP (Hyper Text Transfer Protocol) protocol. Each
web service has an API (Application Program Interface) that
can be accessed over the network and executes the web service
at host location [1]. Every service provides a role, such as
service provider, a requester or a broker. In other words, web
services make possible the effective processing of machine
readable information.
For business to business and enterprise level application
integration, composition of web services plays an important
role. Sometimes a single web service does not fulfill the user’s

desired requirements and different web services are combined
through composition method in order to achieve a specific
goal [2]. Service compositions reduce the development time
and create new applications. Web services can be categorized
in two ways on the basis of their functionality.1) Semantic
annotation describes the functionality of web service and 2)
functional annotation describes how it performs its
functionality. WSDL (Web Services Description Language) is
used for specification of messages that are used for
communication between service providers and requesters [3].
There are two methods for web services composition
[4,5,6]. One is static web service composition and other is
automated/dynamic web service composition. In static web
service composition, composition is performed manually, that
is each web service is executed one by one in order to achieve
the desired goal/requirement. It is a time consuming task
which requires a lot of effort. In automated web service
composition, agents are used to select a web service that may
be composed of multiple web services but from user’s
viewpoint, it is considered as a single service [7].
The main interest of web service compositions is to give
value-added services to existing web services and introduce
automated web services. Also they provide flexibility and
agility. There are few problems in dynamic web service
composition as discussed in [8].
• First, the number of web services is increasing with time
and it is difficult to search the whole repository for
desired service in order to use it for the fulfillment of
specific goal.
• Second, web services are dynamically created and
updated so the decision should be taken at execution time
and based on recent information.
• Third, different web service providers use different
conceptual models and there is a need of one structure so
that web services easily access each other without any
technical effort.
• Forth, only authorized persons can access few of these
web services.
The two approaches in web services composition are
centralized dataflow and decentralized dataflow. In case of
dynamic web services composition, both have advantages and
some limitations. The limitation of centralized dataflow is that
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
all component services must pass through a composite service.
This results the bottleneck problem which causes the increase
in throughput and response time. The disadvantage of
decentralized dataflow is that as each web service directly
shares data with web servers resulting in increasing the load at
each node and delay in response time and throughput. The
decentralized dataflow is very efficient in case of dynamic
web services composition as it reduce the tight coupling
between clients and servers by adding a middleware (UDDI
(Universal Discovery, Description and Integration), WS (Web
Service) coordination or WS transaction etc) [9]. In the
proposed model we have used decentralized dataflow model
which results in high throughput, minimum response time and
Mostly automated composition techniques are interface
based and functionality based. In interface based composition,
on the bases of inputs and outputs through interfaces users get
composite services and after composition desired results are
achieved. The drawback of this approach is that functionality
is not guaranteed, whereas in functionality based composition,
with inputs and outputs user provides the formula that explains
logic into interface information.

A. Contribution
The major contribution of this paper is that it presents a
method for automated and dynamic web service composition
by combination of interface based and functionality based
approaches. It focuses on the data distribution issues, QoS
issues and defines how execution problems can be avoided.
This research also resolves the problems of decentralized
dataflow and provides a framework that has minimum latency,
maximum throughput and response time. This paper proposed
a solution for researchers who are facing the problems of web
service composition due to constant changes in input/output
parameters, networking issues and independent nature of
different web services.
Section 2 presents the introduction of existing dynamic web
services composition techniques and highlights the advantages
and disadvantages of these techniques. Section 3 presents a
detailed overview of web services composition and dynamic
web services composition. Section 4 describes the proposed
framework and its working. Section 5 is concerned with
proposed technique including methodology and algorithms.
Implementation and evaluation is described in section 6.
Finally, conclusion and future work is given in section 7.


Incheon Paik, Daisuke Maruyama [2] proposes a framework
for automated web services composition through AI (Artificial
Intelligence) planning technique by combining logical
combination (HTN) and physical composition (CSP
(Constraint Satisfaction Problem)). This paper discusses the
real life problems on the web that is related to planning and
scheduling. It provides task ordering to reach at desired goal.
OWL-S (Ontology Web Language-Semantic) and BPEL4WS
(Business Process Execution Language for Web Services) are
used for composition which removes the limitations of HTN
(Hierarchical Task Network) that are lack of interactive
environment for web services, lack of autonomy etc. Then the
proposed model is compared with HTN according to web
services invocation. It tackles the following given problems
faced by planner alone; First, it does not deal with various web
users requests for information. Second, it is inefficient for
automated finding of solutions in given state space. Third, its
maintenance is weak due to frequent user requests. The
proposed framework provides intelligent web services for web
users. It uses CSP which provides problem space for planning,
scheduling and automation of desired task.
Faisal Mustafa, T. L. McCluskey [9] outlined the main
challenges faced by automated web services composition that
are related to distributed, dynamic and uncertain nature of
web. The proposed model is semi-automatic and fixes some
issues of dynamic web services composition that are listed as
follows. First, repository has large number of web services and
it is not possible to analyze and integrate them from
repository. Second, updated web service information is
required from repository when it is selected to fulfill the
specific task. Third, multiple services are written in different
languages and there is a need of conceptual model to describe
them in a single service. The proposed technique has few
drawbacks. First, if a server goes down then input/output
issues may arise. Second, new uploaded information is not
available in repository as it does not update its contents.
Pat. P. W. Chan and Michael R. Lyu [10] proposed the
dynamic web service composition technique by using N-
version programming technique which improves the reliability
of system for scheduling among web services. If one server
fails, other web servers provide the required services. Web
services are described by WSDL (Web Services Description
Language) and their interaction with other web services is
described by WSCI (Web Services Choreography Interface).
The composed web services are deadlock free and reduce
average composition time. Also the proposed system is
dynamic, as it works with updated versions without rewriting
the specifications. At the end experimental evaluation and
results are presented to verify the correctness of algorithm.
LIU AnFeng et al. [11] presents the technique based on web
services interfaces and peer to peer ontology. It provides an
overlay network with peer to peer technologies and provides a
model for web services composition. The web services
composition is based on domain ontology and Distributed
Hash Table (DHT) is used for discovery and composition. The
analysis shows that it is easy to understand because of loosely
coupled due to the separation of interfaces from underlying
details. The proposed model is based on ontology and service
composition interface. It provides QoS based composition, fast
composition rate, fault tolerant and efficient discovery.
Kazuto Nakamura, Mikio Aoyama [12] proposed a
technique for dynamic web service composition that is value
based and provides composed web services based on QoS.
Value meta-model and its representation language VSDL
(Value-based Service Description Language) are presented.
Values are used to define quality of web services. Value added
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
service broker architecture is proposed to dynamically
compose the web services and value-meta model to define
relationship among values. The results explained that resultant
composite services can provide more values of quality of
contents as compared to previous discovered web services.
Although a number of dynamic web services composition
techniques have been introduced, there is a need of dynamic
approach to handle the large number of increasing web
services and their updation in repositories. In this paper, we
aim at providing an automated, fault tolerant and dynamic web
services composition framework.


This section gives some basic information about web
services composition, automated web services composition
and actors involved in dynamic web services composition.

A. Web Services Composition
Web services are distributed applications. The main
advantage over other techniques is that web services can be
dynamically discovered and invoked on demand, unlike other
applications in which static binding is required before
execution and discovery. Semantic and ontological concepts
have been introduced to dynamically compose web services in
which clients invoke web services by dynamically composing
it without any prior knowledge of web services. Semantic and
ontological techniques are used to dynamically discover and
compose at the same time (run time).

B. Automated Web services Composition
The automated web service composition methods generate
the request/response automatically. Most of these methods are
based on AI planning. First request goes to Translator which
performs translation from external form to a form used by
system, and then the services are selected from repositories
that meet user criteria. Now the Process Generator composes
these services. If there are more than one composite service
that meet user criteria then Evaluator evaluates them and
returns the best selected service to Execution Engine. The
results are returned to clients (Requester). There should be
well defined methods and interfaces through which clients
interact with the system and get the response. The generalized
dynamic composition framework is shown in Fig 1. [6]

Fig 1: Automated Web Services Composition

The proposed framework consists of following
components as shown in Fig 2.

1. Service Registration: It is the process of specification of
web services to the system. New services are registered in
registry through service registration process. There are
several registries that different companies (service
providers) maintain and all of them are synchronized after
regular interval.
2. Service Request: Clients that need a particular service
send request through service request module.
3. Translator: The purpose of translator is to translate
request/response from one form to another. We use
translator so that all of the services are registered from
external form to a form used by system and vice versa.
4. Web Server: Registries are hosted on web server on
World Wide Web. Services exchange data directly with
various databases and web servers, that implements
decentralized data flow.
5. Evaluator: The evaluator evaluates selected web services
on the basis of interface based and functionality based
rules and returns the best selected service based on
specified criteria.
6. Web: In proposed framework, web is World Wide Web
network where all service providers register their web
services in UDDI registries. If desired web services are
not found in repository or database then matching engine
will search them from UDDI registries and save it in
database for current and future use.
7. Composer: The composer composes the selected
component services in order to make a single desired web
8. Matching Engine: The purpose of matching engine is to
match the user’s request from the web services database.
If match is found, it returns results back to web server. If
not then select the web services from web, store/update
them in database and then return results back to requested
9. Service Registry: The service registries are used to
register the web services by web service providers. Also
they are used to request the user’s desired web services.
Each registry has the references of web services that are
actually hosted on service repositories.


A. Methodology

The methodology of proposed model is given as:

1. The web services are registered in registries.
2. Service requester send request for service.
3. Translator converts the query into a form used by internal

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
Fig 2: Proposed framework of web services composition

The abbreviations used in framework diagram are:
SP= Service Provider C= Composer
SR= Service Requestor Reg= UDDI Registry
T= Translator Rep= Repository
EE= Execution Engine E= Evaluator
ME= Matching Engine
4. The request arrives at composition module. Matching
Engine checks for the requested service from WSDBs. If it
finds the desired interface base service composition then it
sends results to Evaluator.
5. Evaluator evaluates these selected web services in two steps.
In first step it evaluates the web services on the basis of
interface based search, whereas in second step it performs
the evaluation on basis of functionality based rule. After
evaluation it sends selected services to composer. The
purpose of composer is to compose these component web
services. Multiple WSDBs are introduced, so that if one
goes down then we can make use of other databases. A
timestamp (aging) is maintained with each URI in WSDB. If
the request arrives before the expiration of that time then it
looks for the service in WSDB.
6. If Matching Engine does not find requested service
composition from web services database then it start
searching from web.
7. The web services are searched from multiple registries and
results are returned to Evaluator. Matching Engine also
saves their references in WSDB with aging factor. The
purpose of aging is that it maintains the updated information
about web services as the contents are refreshed each time
when aging time expires.
8. Evaluator evaluates these web services based on interface
based and functionality based rules.
9. Composer composes these evaluated resultant services and
sends result to Execution Engine. Execution Engine
executes these web services and through translator results
are sent back to requester.

B. Pseudo Code
The pseudo code of proposed framework is given as:

Algorithm: Web services composition
Input: Request for web service
Output: Composed service

Web services registered in registries;
Translator translates input query;
User enters request for web service;
Request goes to Matching engine;
Matching engine search services with valid
timestamp from WSDB;
Matching engine select valid services;
Evaluator evaluates above selected
services based on interface based and
functionality based rules;
Composer composes evaluated services;
Composer sends result to matching
Matching engine sends result Execution
Execution engine execute these services
and results are sent to requestor through
If no service found or timestamp expired
Matching engine search service from
Web UDDI registries;
Select matched services;
Evaluator evaluates above selected
services based on interface based and
functionality based rules;
Composer composes evaluated services;
Store matched services in WSDB with
Composer sends result to matching
Matching engine sends result Execution
Execution engine execute these services
and results are sent to requestor through

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

Fig 3: Sequence diagram of proposed framework


JAVA programming language is used to implement the
proposed technique. We have used Apache JUDDI (Java
implementation of Universal Description Discovery and
Integration version 3), which is java implementation of UDDI
registries. RUDDI is used to access the JUDDI. Service
providers can perform various operations in UDDI registries
like save, edit and delete services and businesses by using
RUDDI. JAXR (Java API for XML Registries) and UDDI4J
also provides the java API to access UDDI registries but the
drawback is that JAXR is Java API to access various types of
XML registries like UDDI, ebXML and others. It is not
specific to UDDI registry. Whereas UDDI4J supports only
UDDI version 2. We have also used WSDL4J (Web Services
Description Language for Java Toolkit) which is Java API
used to access WSDL files. WSIF (web services invocation
framework) is used for invocation of multiple services from
different repositories. Service providers register their web
services in UDDI registries. Requesters requests for web
service and translator translates it. Then matching engine
search the requested service from web services database. The
valid services are returned to evaluator and send the evaluated
services to composer. Composer sends the composed service
to execution engine and returns the resultant service to
requester through translator. If web services are not found in
WSDB then matching engine will search from UDDI
registries. The matched services are returned to evaluator
which evaluates them and after composition resultant service
is passed to execution engine. Execution engine execute these
services and results are sent to requestor through translator.

Fig 4: GUI of proposed web services composition application

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
A. Performance Evaluation and Analysis
In the proposed technique, UDDI registries provide efficient
access. The efficiency is further improved since composite
services once discovered, are stored in local WSDBs and till
the timer expires these composite service can be used locally.
Replicated WSDBs make the process reliable. Associated
timestamp in WSDBs makes it possible to use any new
services that become available on the registry.
The purpose of our algorithm is to invoke and compose web
services efficiently. The effectiveness of algorithm is
evaluated by calculating the method exposed time and service
composition time. We have taken different number of methods
exposed and calculated their respective time. We have also
taken different number of composed services and calculated
their respective execution time. It is clearly shown in Figure 5.
Figure 6 shows the different number of methods exposition

Fig 5: Efficiency of proposed algorithm

Fig 6: Efficiency of proposed algorithm


The research lies in the field of dynamic web services
composition selection. In this paper we discussed the main
problems faced by dynamic web services composition. This
paper proposed the dynamic web services composition
algorithm to solve the composition issues related to data
distribution, reliability, availability and QoS. It presented a
framework in which multiple repositories and WSDBs have
been introduced in order to make system more reliable and
ensure data availability. By using multiple registries, data
availability is guaranteed whereas by using aging factor users
can retrieve up to date information. The proposed system is
fault tolerant, reliable, performs fast data retrieval and Quality
of service based. In future, the framework can be extended by
crawling the web for searching web services instead of
querying the UDDI registries. We will also be looking into
deeper details of every component of the framework to ensure
better and efficient composition.


[2] Incheon Paik*, Daisuke Maruyama* “Automatic Web
Services Composition Using Combining HT and
CSP” Seventh International Conference on Computer
and Information Technology
[3] Biplav Srivastava, Jana Koehler “Web Service
Composition - Current Solutions and Open Problems”
[4] Yilan Gu and Mikhail Soutchanski. “ A Logic For
Decidable Reasoning About Services” 2006
[5] Annapaola Marconi, Marco Pistore and Paolo Traverso.
“Implicit vs. Explicit Data-Flow Requirements in Web
Services Composition Goals”.
[6] Michael Hu, Howard Foster “Using a Rigorous
Approach for Engineering Web Services Compositions:
A Case Study”.
[7] Daniela Barreirs clars “selecting web services for
optimal composition” 2006.
[8] Jinghai Rao and Xiaomeng Su “A Survey of Automated
Web Service Composition Methods”
[9] Faisal Mustafa, T. L. McCluskey “Dynamic Web
Service Composition” 2009 International Conference
on Computer Engineering and Technology
[10] Pat. P. W. Chan and Michael R. Lyu “Dynamic Web
Service Composition: A ew Approach in Building
Reliable WebService” 22nd International Conference
on Advanced Information Networking and Applications
[11] LIU AnFeng, CHEN ZhiGang, HE Hui, GUI WeiHua
“Treenet:A Web Services Composition Model Based on
Spanning tree” IEEE 2007
[12] Kazuto Nakamura Mikio Aoyama “Value-Based
Dynamic Composition of Web Services” XIII ASIA
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

Saba Bashir, M.Younus Javed,Farhan Hassan Khan
National University of Science & Technology
Rawalpindi, Pakistan

Aihab Khan, Malik Sikandar Hayat Khiyal
Fatima Jinnah Women University
Rawalpindi, Pakistan

Abstract-Recent advancement in web services plays an
important role in business to business and business to
consumer interaction. Discovery mechanism is not only
used to find a suitable service but also provides
collaboration between service providers and consumers by
using standard protocols. A static web service discovery
mechanism is not only time consuming but requires
continuous human interaction. This paper proposed an
efficient dynamic web services discovery mechanism that
can locate relevant and updated web services from service
registries and repositories with timestamp based on
indexing value and categorization for faster and efficient
discovery of service. The proposed prototype focuses on
quality of service issues and introduces concept of local
cache, categorization of services, indexing mechanism,
CSP (Constraint Satisfaction Problem) solver, aging and
usage of translator. Performance of proposed framework
is evaluated by implementing the algorithm and
correctness of our method is shown. The results of
proposed framework shows greater performance and
accuracy in dynamic discovery mechanism of web services
resolving the existing issues of flexibility, scalability, based
on quality of service, and discovers updated and most
relevant services with ease of usage.

Keywords-component: Classification of services; Dynamic
discovery; Indexing; UDDI registry; Web services.


As an enabling technology, web services are software
components that are used to present services on internet. Each
web service has standard interface through which it
communicates with other web services in order to provide
different functionalities. Service providers register their web
services in registries, typically in UDDI (Universal
Description Discovery and Integration). HTTP (Hyper Text
Transfer Protocol) protocol is used for communication of
SOAP (Simple Object Access Protocol) messages exchanged
between service providers and consumers.

With the increasing technology it is becoming more critical
to find a service that satisfies user requirements. Service
discovery is a mechanism used to find the appropriate service
that meets desired criteria. Three main roles in web services
are providers, consumers and registries. Service providers
publish their web services in registries and clients discover
their desired services by querying them using SOAP message
protocol [1].
In manual discovery process a human uses a discovery
service, which involves the input of user requirements and
through matchmaking process, output the desired results [2].
The main obstacle in this mechanism is heterogeneity problem
[3]. Different types of heterogeneities are:
• Technological heterogeneities (different platforms or
different data formats).
• Ontological heterogeneity (difference in domain specific
terms and concepts).
• Pragmatic heterogeneity (different development of
domain-specific processes)
This makes the technology limited in terms of efficiency
and availability. Whereas in dynamic discovery process an
agent performs the above task either at design or run time, but
there are different constraints of this process for example
interface requirements, standardization of protocols and trust
of stakeholders etc. This paper focuses on the dynamic web
services discovery approach.
With the increasing number of web services, it is becoming
more difficult to manage description on distributed
environment such as on web. Key limitations of current
approaches for dynamic web services discovery are:
1. Lack of fully dynamic web services discovery
2. Lack of mechanism that solves heterogeneity problems.
3. Clients cannot learn from past experiences to improve
future decisions.
4. Need of mechanism which store and retrieve up to date
information on consumer’s request.
5. Need of mechanism which gives in time response of
query in case of searching services from web.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
6. In existing approaches, clients have to search from web
(registries) each time when they request for services
which is time consuming task and requires lot of effort.
7. Service providers and consumers don’t use same language
for registration and discovery.
Keyword based discovery is one possible way to discover
the web services. The advantage of UDDI is that it filters and
ranks services quickly. The drawback is that it contains only
metadata. It is based on keyword matching and it has only
single search criteria. In some cases it may not produce the
desired results due to the words that are semantically related
with each other [2].
In order to take a full advantage of web services, user must
discover and invoke them dynamically. Semantic web services
are a possible solution for automated web service discovery in
which services are semantically described and accessed. It
resolves the heterogeneity as well as interoperability problems.
Ontologies are used for manipulation of data. There are two
drawbacks of semantic web services discovery approach. First,
it is impossible for all service providers to publish their
services in same ontology. Second, already existing web
services does not have associated semantics and it is not
possible to convert all of them into same ontology [4].

A. Contribution
This research paper proposed a framework that presents
solutions to most of the problems in dynamic web service
discovery. More precisely, it uses the translator to convert
service requests and responses in one form that can be easily
used by the system. Indexer is used to index services to
simplify search process. CSP solver is used to select most
appropriate service. Aging factor helps to maintain updated
information. The discovery process is fastened by the use of
local cache which allows clients to discover services based on
previous experiences.
The organization of paper is such that Section 2 describes
the previous research on dynamic services discovery. In
section 3, some basic information about service discovery and
dynamic service discovery is given. Section 4 presents the
detailed overview of proposed technique including framework
and key mechanisms. Section 5 describes the working and
algorithms of proposed framework. Section 6 presents the
implementation and analysis of proposed framework. Finally,
the conclusion and future work is given in section 7.


Web services are XML (Extensible Markup Language)
based software components [5, 6]. These components can be
retrieved based on signature matching and the discovery
process is based on interface matching. The advantage of this
approach is that discovery process totally depends on
properties of component. WSDL (Web Services Description
Language) is used as interface definition language to describe
the functionality of web services. It is an XML based format
used to describe both abstraction operations and network
bindings [7].
UDDI is used in discovery process where keywords are
matched by using intelligent algorithms. The research is XML
schema matching where various string comparison techniques
are applied like suffix, prefix, and infix for keyword matching.
This technique is useful where many acronym, jargons etc are
used in web services [8].
Liang-Jie Zhang, Qun Zhou [9] proposed a dynamic web
services discovery framework for web services representation
chain. It solves the manual search process problems in linked
documents. The multiple linked documents are searched using
WSIL (Web Services Inspection Language) chains and results
are aggregated and returned them to users all at once. It also
re-explores the nested WSIL documents by using pre-fetched
link calculation and caching methods.
Sudhir Agarwal [10] proposed a goal specification language
to discover the web services. It describes that the constraints
should be specified on functional and non functional
properties in goal specification language. Then this goal
specification language is used to discover the desired services.
The language is novel combination of SHIQ(D) and µ-
calculus. It covers resources, behavior and policies of agents
involve in discovery process. Java API (Application
Programming Interface) is used to describe goals and concrete
syntax is used so that end users can easily write the formulas
through interface.
Fu Zhi Zhang et al. [2] presented an algorithm for dynamic
web services discovery. The proposed algorithm is based on
composition of web services with the process model. It is
based on OWL-S (Ontology Web Language-Semantic)
ontology. Unlike previous proposed models for dynamic
discovery it can have multiple executions and matchmaking
for a single service request and return desired service.
Paul Palathingal [11] presented an agent based approach for
service discovery and utilization. Agents acts instead of users
and dynamically discover, invoke and execute web services.
Through this technology sender object must not know the
receiver’s address. Also the interoperability between
distributed services is being achieved through these software
components. The selected agents match the desired query from
their respected repositories and send the retrieved results to
composition agent who composes the web services and sends
back to requester.
Stephan Pöhlsen and Christian Werner [12] proposed a
dynamic web services discovery framework in large networks.
It solves the discovery problem of mobile ad-hoc networks by
introducing a Discovery Proxy (DP). Through Discovery
proxy clients can easily search desired web services through
service providers and get updated information as services does
not have to register in proxy unlike UDDI. The drawback of
given technique is that all information is not centralized and
global DNS (Domain Name System) cannot be easily located.
Aabhas V. Paliwal [13] proposed dynamic web services
discovery through hyper clique pattern discovery and semantic
association ranking. It solves the discovery problem that is,
when user input a query, multiple services that meet the
desired criteria are retrieved as output and user cannot identify
most relevant service. The proposed model presents the
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
mechanism that selects the most relevant web service from all
outputs. The approach is a combination of semantic and
statistical metrics.
A number of web services algorithm use service profile
method for dynamic web services discovery. [16] proposed the
discovery mechanism based on web services composition and
service profile. The proposed algorithm does not describe the
internal behavior for web services composition.
Although a number of dynamic web services techniques
have been introduced, there is a need of dynamic services
discovery mechanism which eliminates the problems in
current discovery approaches. This paper presents an approach
towards these solutions and proposes a framework that is
efficient, reliable, scalable, flexible and fault tolerant.


This section describes the web services discovery
mechanism and differentiates between different approaches
used for service discovery.

A. Web Services Discovery
Web services discovery is the process of finding the
appropriate services on the web that meets the user’s desired
requirements. All Service providers register their web services
in registry called UDDI. Service requesters search the
appropriate service providers available on the registry. Each
service that is registered on UDDI has WSDL. WSDL is a
description language which describes complete detail about
web services for example its methods, protocols and ports etc.
Web service interface is described in WSDL and used by the
client to discover and invoke web services. SOAP message is
sent to server asking for certain service and it replies with
SOAP response message. Web service discovery and
invocation process is shown in Fig 1. [14]

B. Web Service Discovery Approaches
Different approaches for discovery mechanism as discussed
in [15] are:
1. UDDI: It is a standard for web services registration,
discovery and integration.

Fig 1: Web services discovery and invocation process
2. Service directories/portals: They provide the web services
using focused crawlers and provide searching through
HTML (Hyper Text Markup Language) interface.
3. Web Search Engines: They are most widely used in
today’s web. They search the web services by retrieving
information from WSDL descriptions.
These approaches can be compared by focusing on following
two aspects: 1) Number of services, 2) Quality of information
associated with them. It is concluded from this research that
browsers can give the desired results but one have to spend too
much time for filtering the desired service which requires a lot
of effort and it is a time consuming task. Only dedicated portal
pages produce best results.


Proposed framework of dynamic services discovery
mechanism is shown in Fig 2. Web services discovery
framework includes the following components:

1. Translator: Most service discovery frameworks
distinguish between external and internal specification
languages. Translator is used for translation of user input
to a form that can be efficiently used by the system. It is
also used to translate the system response to a form that
can be easily understandable for the user.
2. Matching Engine: Key component that is used for
dynamic discovery mechanism. It matches the input to
registered services using keyword and fuzzy logic based

Fig 2: Proposed framework of dynamic web services discovery
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
The abbreviations used in framework diagram are:

SP= Service Provider Reg= Registry
SR= Service Requester Rep= Repository
DM= Discovery Module T= Translator
PM= Publisher Module ME=Matching Engine

discovery. Also it stores references of searched services in
repositories based on classification and indexing.
Advantage of keyword based discovery is that it filters
and ranks the services quickly. It also uses CSP solver to
filter services based on specified constraint e.g. business
name, service name etc.
3. Indexer: Indexing mechanism is used to enhance the
searching capability. Indexer is used to index services
stored in local cache. In indexing mechanism first the
index structure is created and then this structure is queried
and results are returned. Indexing mechanism is shown in
Figure 3.
4. Local Cache: Local cache concept is introduced so that
users can learn from past experiences. Local cache is used
to store the web services. It consists of categorized
repositories. Web services that are discovered by
matching engine are returned to the requester. It also
stores the service reference in local cache using indexing
mechanism for future reference. A timestamp is
associated with each service reference present in the local
cache to help maintain up to date cache.
5. Registry: It is authorized, centrally controlled store of web
services. Multiple service providers use multiple registries
to publish their services in registries on global web.
6. Publisher: Publisher is used to publish the web services in
registries. Through publisher web service providers can
save, update and delete their web services.
7. Agent: Agent is used to search web service from its own
listed registries. It sends the multiple threads to each
registry, and returned the discovered services to matching

Fig 3: Indexing mechanism

Key Mechanisms
Following key mechanisms are used in proposed
framework to enhance the discovery mechanism.
1. Classification of Services: Web services are classified or
categorized into different categories in local cache. The
classification is done based on different data types for
example images, files, html docs etc. For each category
different database is maintained with timestamp. This
mechanism introduces fast and efficient retrieval of web

Fig 4: Sequence diagram of proposed framework

Translator Matching Engine Indexer Local cache Agent Registries
Top Package::Top Package
translate request
if valid
else/timestamp exipired
search desired service
if valid
sends request
return desired services
return desired services
sends request
save service reference
sends request
return results
return desired services
saves service reference
return desired services
return results
aging factor multithreaded
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
2. Multithreading: The agent is based on multithreading and
opens thread for each registry listed with itself. Multiple
agents have been used in our proposed framework and
each agent will search desired service from its listed
registries and returned the results to matching engine.


A. Working.
The detailed flow of proposed discovery mechanism is
explained as follows:

1. Service providers register their web services in registries
on global web through registration module.
2. Service requester requests for web service through
discovery module.
3. Translator is used for translation of user input to a form
that can be efficiently used by the system. From translator
request goes to matching engine.
4. Matching engine tries to discover the desired service from
local cache and passes request to indexer. Indexer
searches the desired service from local cache based on
indexing and categorization. If the results are valid then
indexer returns desired results to matching engine.
5. Otherwise matching engine tries to discover the desired
service from registries available on the web, using
multithreaded agent approach. Agents search the services
from its listed registries and send the discovered services
to matching engine.
6. A timestamp is maintained with each service reference
which has a specific value. And web services are updated
in local cache from web when timestamp expires.
7. Matching engine stores the service references in local
cache for future reference. Also it sends result to
translator which translates result into user understandable
form and results are returned to requester.

B. Pseudo Code:
The pseudo code of proposed technique is given as:


The implementation has been done using Netbeans 6.5 and
open source UDDI which is Apache jUDDIv3 (java
implementation of Universal Description Discovery and
Integration version 3). Ruddi is used to access UDDI registry
which is java API for developing, deploying reliable, scalable
and secure application that query and publish to UDDI
registries. UDDI4J and JAXR (Java API for XML Registries)
is also java API for accessing registries but the drawbacks are
that UDDI4J only supports jUDDI version 2 and JAXR is for
all XML based registries for example UDDI, ebXML etc.
Xerces APIs are also used for parsing XML request and
responses. We have used apache jUDDI version3 and multiple
jUDDI’s on multiple servers by implementing multithreaded
For testing we have published multiple businesses and services
on registry. We have used WordNet for synonyms and Rita-
Wordnet is a java API to access WordNet. WordNet is used
for matching businesses and services from registry. Users can
search businesses and services by synonyms which are already
saved in WordNet. The implementation mainly comprises of
UDDI registries, matching engine, service providers, service
requesters and dynamic services discovery mechanism. Fig 5
shows the GUI of our dynamic web services discovery
application. User sends discovery request using our
application which then goes to the translator. Translator send
request to matching engine which tries to discover the desired
service from local cache based on indexing. As this service is
not present in local cache, it sends request back to Matching
Engine. Matching Engine sends request to agent. Agent sends
multiple threads to own multiple listed registries and starts
searching services. It discovers the matched services and
returns the valid services to Matching Engine. Matching
Algorithm: Dynamic Web Services Discovery
Input: Request for Web service
Output: Desired Service

Services registered in UDDI registries;
User enters input request for web service;
for each input
Translator translates input;
Input goes to Matching Engine;
Matching Engine passes request to
Indexer search from local cache
based on classification and indexing;
Indexer search from local cache
based on classification and indexing;

If service found in local cache
Return result to user;
If no service found or timestamp expires
Matching Engine passes request to
Agents discover service from its listed
UDDI registries;
Keyword and fuzzy logic based
matching from registries;
CSP solver filters matched services
based on specified constraints;
Matching Engine add references of
matched services in local cache through
Service references added in local cache
for future reference;
Return results to user through translator;
Return no service found;

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

Fig 5: XML based request response message

Engine sends results to user by using translator, and also stores
service references of these services in local cache with
timestamp. Next time when any user searches for the same
service then results will be found from local cache. If
timestamp expires for this cached service, then Matching
Engine will search query from web UDDI registry. XML
based request and response messages for service discovery are
shown in Figure 6.

Fig 6: GUI of proposed discovery Application

A. Experimental Evaluation and Analysis
Our algorithm accurately discovers the web services for
requesters. The effectiveness of algorithm is proved by
calculating their precision and discovery time.
Precision is the proportion of services that meets user’s
requests from all the discovered services.
Our algorithm has better performance and improved the
quality of results. Figure 7, 8 show the efficiency and
precision of proposed algorithm as compared to [2] and [16].
We have taken multiple number of web services and
calculate their discovery time. Figure 7 shows the graph of
number of services against discovery time and Figure 8 shows
the graph of number of discovered services against precision.
In the proposed technique, the local cache technique
improves the time taken for dynamic services discovery. Also
the timestamp approach helps to make use of any new services
that are available on the registry.

Fig 7: The Efficiency of proposed algorithm

Request body:
<find_business generic="2.0"

Response body:
<businessList generic="2.0"
operator="" truncated="false"
xmlns="urn:uddi org:api_v2">
<name xml:lang="en">Microsoft DRMS
<serviceInfo businessKey="c13cc7b2
<serviceInfo businessKey="c13cc7b2-
<name xml:lang="en">Machine
<name xml:lang="en">Server
</business nfo>

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

In Fig 7, Single threaded and multithreaded concept is
introduced. In Single threaded approach, Matching Engine
discovers services from web, based on single search criteria
whereas in multithreaded approach, multithreaded agents are
used to discover services.

Fig 8: The precision of proposed algorithm


This paper presents a framework for automatic, dynamic
web services discovery and utilization. The framework is
flexible, scalable and new services can easily be updated in
local cache.
Through the proposed approach requester always retrieve up
to date services because a timestamp is attached with each
service reference in local cache and when it expires, services
are updated. Also through local cache there is fast retrieval of
services as requester does not need to search the web each
time for discovery of services. If they are present in local
cache then services can easily be discovered in less time.
Interoperability between service providers and requesters is
achieved through Translator.
CSP solver selects the service satisfied specified constraints,
which is a part of Matching Engine. Thus the proposed
algorithm fix current issues of dynamic web services
discovery. In future, the framework can be extended by adding
intelligent service aggregation algorithms based on AI
planning for discovery.


[1] M. Stal, "Web Services: Beyond Component-based
Computing," Communication of the ACM, vol. 45, pp. 71
-76, 2002.
[2] Fu zhi ZHANG Yan WANG Lin WANG “A Web service
discovery algorithm based on dynamic composition”,
Eighth ACIS International Conference on Software
Engineering, Artificial Intelligence, Networking, and
Parallel/Distributed Computing.
[3] John Garofalakis1,2, Yannis Panagis1,2, Evangelos
Sakkopoulos1,2, and Athanasios “Web Service Discovery
Mechanisms: Looking for a Needle in a Haystack?”.
[4] Aabhas V. Paliwal “Web Service Discovery via Semantic
Association Ranking and Hyperclique Pattern Discovery”,
Proceedings of the 2006 IEEE/WIC/ACM International
[5] M. Stal, "Web Services: Beyond Component-based
Computing," Communication of the ACM, vol. 45, pp. 71
-76, 2002.
[6] Karastoyanova and A. Buchmann, "Components,
Middleware and Web Services," Technische Universität
Darmstadt, 2003
[7] E. Christensen, F. Curbera, G. Meredith, and S.
Weerawarana, "Web Services Description Language
(WSDL) 1.1," 2001.
[8] H. H. Do and E. Rahm, "COMA – “A system for flexible
combination of schema matching approaches," presented
at 28th VLDB Conference, Hong Kong, China, 2002.
[9] Liang-Jie Zhang, Qun Zhou, Tian Chao “A Dynamic
Services Discovery Framework for Traversing Web
Services Representation Chain”, Proceedings of the IEEE
International Conference on Web Services
[10] Sudhir Agarwal “A Goal Specification Language for
Automated Discovery and Composition of Web Services”
2007 IEEE/WIC/ACM International Conference on Web
[11] Paul Palathingal “Agent Approach for Service Discovery
and Utilization”, Proceedings of the 37th Hawaii
International Conference on System Sciences – 2004.
[12] Stephan Pöhlsen and Christian Werner “Robust Web
Service Discovery in Large Networks”, 2008 IEEE
International Conference on Services Computing.
[13] Aabhas V. Paliwal “Web Service Discovery via Semantic
Association Ranking and Hyperclique Pattern Discovery”,
Proceedings of the 2006 IEEE/WIC/ACM International
[15] Holger Lausen and Thomas Haselwanter “Finding Web
[16] Lei Li and Ian Horrocks. A Software Framework for
Matchmaking Based on Semantic Web Technology. In Proc. of
the Twelfth International World Wide Web Conference (WWW
2003), pages 331-339, ACM, 2003.

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
A New Variable Threshold and Dynamic Step Size
Based Active Noise Control System for Improving

Department of ECE
K.S.Rangasamy College of Technology
Tiruchengode, Tamilnadu, India.

Department of ECE
K.S.Rangasamy College of Technology
Tiruchengode, Tamilnadu, India

Abstract— Several approaches have been introduced in literature
for active noise control (ANC) systems. Since FxLMS algorithm
appears to be the best choice as a controller filter, researchers
tend to improve performance of ANC systems by enhancing and
modifying this algorithm. In this paper, modification is done in
the existing FxLMS algorithm that provides a new structure for
improving the tracking performance and convergence rate. The
secondary signal y(n) is dynamic thresholded by Wavelet
transform to improve tracking. The convergence rate is
improved by dynamically varying the step size of the error signal.
Keywords - active noise control, FxLMS algorithm, wavelet
transform, dynamic threshold, dynamic step size.

Acoustic noise problems become more and more evident
as increased numbers of industrial equipment such as engines,
blowers, fans, transformers, and compressors are in use. The
traditional approach to acoustic noise control uses passive
techniques such as enclosures, barriers, and silencers to
attenuate the undesired noise [1], [2]. These passive silencers
are valued for their high attenuation over a broad frequency
range; however, they are relatively large, costly, and
ineffective at low frequencies. Mechanical vibration is another
related type of noise that commonly creates problems in all
areas of transportation and manufacturing, as well as with
many household appliances.

Fig.ure 1. Block diagram of FxLMS based feed forward ANC system.
Active Noise Control (ANC) [3]–[4] involves an electro
acoustic or electromechanical system that cancels specifically,
an anti-noise of equal amplitude and the primary (unwanted)
noise based on the principle of superposition; opposite phase
is generated and combined with the primary noise, thus
resulting in the cancellation of both opposite phase is
generated and combined with the primary noise, thus resulting
in the cancellation of both noises.

The most popular adaptation algorithm used for ANC
applications is the FxLMS algorithm, which is a modified
version of the LMS algorithm [5]. The schematic diagram for
a single-channel feed forward ANC system using the FxLMS
algorithm is shown in Fig.1. Here, P (z) is primary acoustic
path between the reference noise source and the error
microphone and S (z) is the secondary path following the
ANC (adaptive) filter W (z). The reference signal x (n) is
filtered through S (z), and appears as anti- noise signal y’ (n)
at the error microphone. This anti-noise signal combines with
the primary noise signal d (n) to create a zone of silence in the
vicinity of the error microphone. The error microphone
measures the residual noise e (n), which is used by W (z) for
its adaptation to minimize the sound pressure at error

Here (z) S
account for the model of the secondary path
S (z) between the output of the controller and the output of the
error microphone. The filtering of the reference signals x (n)
through the secondary-path model (z) S
is demanded by the
fact that the output y (n) of the adaptive controller w (z) is
filtered through the secondary path S (z). [7].

The main idea in this paper is to further increase the
performance of FxLMS algorithm in terms of Signal to noise
ratio. In modified FxLMS, secondary signal y’ (n) is soft
threshold dynamically with respect to error signal by wavelet
transform to improve the tracking performance. The step size
is also varied dynamically with respect to the error signal.
Since error at the beginning is large, the step size of the
algorithm and the threshold are also large. This in turn
increases convergence rate. As the iteration progresses, the
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
error will simultaneously decrease. Finally, the original step
size and the threshold will be retained.
The organization of this paper is as follows. Section II
describes the Secondary path effects. Section III describes
FxLMS algorithm. Section IV introduces Wavelet transform.
Section V describes the proposed method. Section VI
describes the simulation results and Section VII gives the


In ANC system, the primary noise is combined with the
output of the adaptive filter. Therefore, it is necessary to
compensate ) (z S for the secondary-path transfer from
y(n) to ) e(n , which includes the digital-to-analog (D/A)
converter, reconstruction filter, power amplifier, loudspeaker,
acoustic path from loudspeaker to error microphone, error
microphone, preamplifier, anti-aliasing filter, and analog-to
digital (A/D) converter. The schematic diagram for a
simplified ANC system is shown in Figure2.

From Fig. 2. , the -transform of the error signal is

X(z) )]( ( ) ( ) ( [ E(z) z W z S z P (1)

We shall make the simplifying assumption here that after
convergence of the adaptive filter, the residual error is ideally
zero [i.e., E (z) =0]. This requires ) W(z realizing the optimal
transfer function.

(z) W
In other words, the adaptive filter has to simultaneously
Model P(z) and inversely model S(z) . A key advantage of
this approach is that with a proper model of the plant, the
system can respond instantaneously to changes in the input
signal caused by changes in the noise sources. However, the
performance of an ANC system depends largely upon the
transfer function of the secondary path. By introducing an
equalizer, a more uniform secondary path frequency response
is achieved. In this way, the amount of noise reduction can

Figure. 2. Block diagram of simplified ANC system
often be increased significantly [8]. In addition, a sufficiently
high-order adaptive FIR filter is required to approximate a
rational function S(z) 1 shown in “(2)”. It is impossible to
compensate for the inherent delay due to S(z) if the primary
path P(z) does not contain a delay of at least equal length.

The FxLMS algorithm can be applied to both feedback
and feed forward structures. Block diagram of a feed forward
FxLMS ANC system of Figure 1.Here P (z) accounts for
primary acoustic path between reference noise source and
error microphone. (z) S
is obtained offline and kept fixed
during the online operation of ANC. The expression for the
residual error e (n) is given as

(n) y d(n) e(n) (3)

Where y’ (n) is the controller output y (n) filtered
through the secondary path S (z). y’(n) and y(n) computed as

(n)y(n) s (n) y

x(n) (n) w y(n)
Where w (n) = [w0 (n) w
(n) …..w
is tap weight
vector, x(n)= [x(n) x(n-1)…. ….x(n-L+1) ]
is the reference
signal picked by the reference microphone and s(n) is impulse
response of secondary path S(z). It is assumed that there is no
acoustic feedback from secondary loudspeaker to reference
microphone. The FxLMS update equation for the coefficients
of W (z) is given as:

(n) x μe(n) w(n) 1) w(n (6)

Where ) (n x is reference signal x (n) filtered through
secondary path model (z) S

x(n) (n) ˆ (n) x
s (7)

For a deep study on feed forward FxLMS algorithm the
reader may refer to [7].


The principle under which the wavelet thresholding
operates is similar to the subspace concept, which relies on the
fact that for many real life signals, a limited number of
wavelet coefficients in the lower bands are sufficient to
reconstruct a good estimate of the original signal. Usually
wavelet coefficients are relatively large compared to other
coefficients or to any other signal (especially noise) that has its
energy spread over a large number of coefficients. Therefore,
by shrinking coefficients smaller than a specific value, called
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
threshold, we can nearly eliminate noise while preserving the
important information of the original signal.

The proposed denoising algorithm is summarized as follow:

i) Compute the discrete wavelet transform for noisy

ii) Based on an algorithm, called thresholding algorithm
and a threshold value, shrink some detail wavelet

iii) Compute the inverse discrete wavelet transform.

Fig.4 shows the block diagram of the basic wavelet
thresholding for signal denoising. Wave shrink, which is the
basic method for denoising by wavelet thresholding, shrinks
the detail coefficients because these coefficients represent the
high frequency components of the signal and it supposes that
the most important parts of signal information reside at low
frequencies. Therefore, the assumption is that in high
frequencies the noise can have a bigger effect than the signal.

Denoising by wavelet is performed by a thresholding
algorithm, in which the wavelet coefficients smaller than a
specific value, or threshold, will be shrunk or scaled [9] and

The standard thresholding functions used in the wavelet
based enhancement systems are hard and soft thresholding
functions [11], which we review before introducing a new
thresholding algorithm that offers improved performance for
signal. In these algorithms, λ is the threshold value and δ is
the thresholding algorithm.

(a) Hard thresholding

(b) Soft thresholding algorithm

Figure.3. Thresholding algorithms (a) Hard. (b) Soft

A. Hard thresholding algorithm

Hard thresholding is similar to setting the components
of the noise subspace to zero. The hard threshold algorithm is
defined as

λ | y | y
λ | y | 0

In this hard thresholding algorithm, the wavelet
coefficients less than the threshold λ will are replaced with
zero which is represented in Fig. 3-(a).

B. Soft thresholding algorithm

In soft thresholding, the thresholding algorithm is defined
as follow :( see Figure 3-(b)).

λ | y | λ) | y sign(y)(|
λ | y | 0

Soft thresholding goes one step further and decreases the
magnitude of the remaining coefficients by the threshold
value. Hard thresholding maintains the scale of the signal but
introduces ringing and artifacts after reconstruction due to a
discontinuity in the wavelet coefficients. Soft thresholding
eliminates this discontinuity resulting in smoother signals but
slightly decreases the magnitude of the reconstructed signal.

Noisy Signal

Denoised Signal

Denoised Signal

Figure 4. Denoising by wavelet thresholding block diagram

Discrete Wavelet
Inverse Discrete Wavelet
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

A. Variable thresholding algorithm

In the proposed method (n) y , the secondary signal of
FxLMS is denoised by wavelet. This is performed by a
thresholding algorithm, in which the wavelet coefficients
smaller than a specific value or threshold, will be shrunk or
scaled. The signal ( n) y can be soft thresholded because
this eliminates the discontinuity and results in smoother signal,
such that λ is the threshold value and δ is the thresholding
algorithm in order to improving the tracking performance of
FxLMS algorithm.

The wavelet transform using fixed thresholding algorithm
for signal (n) y is defined as follow:

λ | y s | λ) | y s y)(| sign(s
λ | y s | 0

The wavelet transform using fixed soft thresholding will
improve the tracking property when compared with traditional
FxLMS algorithm based on active noise control systems. The
threshold value used in fixed soft thresholding algorithm
is 0.45 λ , since the amplitude of the noise signal is small.

The performance of the system can be further increased
by using variable threshold function rather than the fixed
threshold function based on the error signal e (n), which is

abs(e(n)) 1
λ (11)

It has been noted that initially the error of the system is
large allowing large threshold value λ .As the number of
iteration continues, the error of system will decrease. Finally,
it retains the original threshold value. The soft thresholding
algorithm using variable threshold value is given by below:

λ | y | ) λ - | y' )(| y sign(
λ | y | 0

Where y s y
is the secondary path signal given in “(4)”

B. Variable Step Size algorithm

The step size of the FxLMS algorithm is varied
dynamically with respect to the error signal. Since error at the
beginning is large, the step size of the algorithm is also large.
This in turn increases convergence rate. As the iteration
progress, the error will simultaneously decrease. Finally, the
original step size will be retained.

Figure5. Block diagram for proposed method

Fig.5 shows the block diagram for proposed method.
Thus the convergence rate of the FxLMS algorithm is
improved by varying the step-size as well as wavelet threshold
value with respect to error signal. From the Fig. 5, the
expression for the residual error e(n) is given as

y s d(n) e(n)

Initially the error in the system is very high. So very large
step size is selected. Hence the convergence rate is also very
high .Then the step size is varied for the instant and the
previous value of the error signal e (n). Finally the error is
reduced greatly by the implementation of the dynamic step
size algorithm.

This idea of dynamic step size and dynamic threshold
calculation is represented in “(11)” and “(15)”.

(n) x μ(n)e(n) w(n) 1) w(n (14)

)) ( ( 1
) (
) (
n e abs
n (15)

Thus the “(11’) and “(15)” is called as modified FxLMS
algorithm for improving the performance of existing

In this section the performance of the proposed modified
FxLMS algorithm with wavelet thresholding is demonstrated
using computer simulation. The performance of the variable
wavelet thresholding algorithm is compared with fixed
wavelet thresholding algorithm on the basis of noise
reduction R (dB) and convergence rate is given in “(16)” and

R (dB) = -10 log
) (
) (
n d
n e

Convergence Rate s(g)} 20log10{ab (17)

(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
The large positive value of R indicates that more noise
reduction is achieved at the error microphone. The computer
simulation for modified FxLMS algorithm performance is
illustrated in Fig.6. and Fig.7. Fig.6 shows the characteristics
of Noise reduction versus number of iteration times. It has
been seen that the modified FxLMS with variable soft
thresholding and dynamic step-size produce better noise
reduction compared with modified FxLMS with fixed soft

Fig.7. shows the characteristics of convergence rate in dB
with respect to number of iterations. It has been seen that the
convergence rate of modified FxLMS with variable soft
thresholding and dynamic step-size increases by reducing the
number of iterations compared with modified FxLMS with
fixed soft thresholding.

Fig.8. shows the characteristics of residual error with
respect to number of iterations. It has been seen that the
residual error of modified FxLMS with variable soft
thresholding and dynamic step-size increases by reducing the
number of iterations compared with modified FxLMS with
fixed soft thesholding.

Fig.9. shows the characteristics of signal value with
respect to number of iterations. Fig.10. shows that the
characteristics of signal value with respect to number of
iterations. It has been seen that the signal value of modified
FxLMS with variable soft thresholding and dynamic step size
increases by reducing the number of iterations compared with
modified FxLMS with fixed soft threshodling

Figure 6. Noise reduction versus iteration time (n)

Figure 7. Characteristics of convergence rate
Figure 8. Residual error versus iteration time (n)

Figure 9. Signal value versus iteration time (n)

Figure 10. Signal value versus iteration time (n)

Here we propose a modified FxLMS structure for ANC
system. This structure combines the concept of wavelet
dynamic soft thresholding with the dynamic variable step
size. It shows better tracking performance and convergence
rate than the conventional FxLMS algorithm and FxLMS
wavelet soft threshold algorithm. The main feature of this
method is that it can achieve improved performance than the
existing methods.
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500

The authors would like to thank the reviewers for their
many insightful comments and useful suggestions. The
authors also would like to express their gratitude to our
beloved chairman Lion Dr.K.S.Rangasamy and our principal
Dr.K.Thyagarajah for supporting this research.


[1] M. Harris, Handbook of Acoustical Measurements and Noise
Control, 3rd ed. New York: McGraw-Hill, 1991.

[2] L. L. Beranek and I. L. Ver, Noise and Vibration Control
Engineering: Principles and Applications. New York: Wiley,

[3] P. A. Nelson and S. J. Elliott, Active Control of Sound. San Diego,
CA: Academic, 1992.

[4] C.H. Hansen and S. D. Snyder, Active Control of Noise and
Vibration. London, U.K.: E&FN Spon, 1997.

[5] S.M. Kuo, and D.R. Morgan, “Active Noise control systems,
algorithms and DSP implementation functions,” New York, Wiley

[6] S. M. Kuo and D. R. Morgan, “Active noise control: a tutorial
review,” Proc. IEEE, vol. 8, no. 6, pp. 943–973, Jun. 1999.

[7] PooyaDavari and HamidHassanpour, “Designing a new robust on-
line secondary path modeling technique for feed forward active
noise control systems”, Elsevier Journal of signal Processing, 2009

[8] S. M. Kuo and J. Tsai, “Acoustical mechanisms and Performance
of various active duct noise control systems,” Appl. Acoust., vol.
41, no. 1, pp. 81–91, 1994.

[9] D.L. Donoho, "Denoising by Soft thresholding," IEEE Trans. on
Information Theory, vol. 41, no. 3, pp. 613-627, 1995.

[10] M. Jansen, “Noise Reduction by Wavelet Thresholding, “Springer-
Verlag, New York, 2001.

[11] Y. Ghanbari, and M. R. Karami, “A new approach for Speech
enhancement based on the adaptive thresholding of the wavelet
packets ", Speech Communication, 2006.

[12] Widrow and S.D. Stearns, “Adaptive Signal processing,” Prentice
Hall, New Jersey 1985.

[13] Sen M. Kuo and Dipa Vijayan “A Secondary path Modeling
technique for Active Noise Control Systems” IEEE Transactions
On Speech And Audio Processing,, July 1997.

[14] M.T. Akhtar, M. Abe, M. Kawamata, Modified-filtered-xLMS
algorithm based active noise control system with improved online
secondary path modeling, in: Proc. IEEE 2004 Int. Mid. Symp.
Circuits Systems (MWSCAS 2004), Hiroshima, Japan, 2004, pp.

[15] M.T. Akhtar, M. Abe, M. Kawamata, A method for online
secondary path modeling in active noise control systems, in: Proc.
IEEE 2005 Int. Symp. Circuits Systems (ISCAS 2005), May 23–
26, 2005, pp. I-264–I-267.

[16] A.Q. Hu, X. Hu, S. Cheng, A robust secondary path modeling
technique for narrowband active noise control systems, in: Proc.
IEEE Conf. on Neural Networks and Signal Processing, vol. 1,
December 2003, pp 818–821.

[17] P.Babu, A. Krishnan,” Modified FxAFA algorithm using dynamic
step size for Active Noise Control Systems”, International Journal
of Recent Trends in Engineering, Academy publisher Vol 2, No.
1-6, page 37-39, Dec 2009.


Babu Palanisamy received the B.E degree from
Madras University, Chennai, India in 1998, and M.E.
degree from Madurai Kamaraj University, Madurai,
India in 2002. From 2002 to 2007, he worked as a
faculty in K.S.Rangasamy College of Technology,
Tamilnadu, India. He is currently a Ph.D. candidate in
Anna University, Chennai, India. He is a member of
IETE and ISTE. His research interests include Signal
Processing and Communication Systems.

A.Krishnan received the Ph. D. degree from
Indian Institute of Technology Kanpur, Kanpur,
India. He is currently a professor with K. S.
Rangasamy College of Technology, Tiruchengode,
and Tamilnadu, India. He is a member of IEEE,
IETE, and ISTE. His research interests include
quality of service of high speed networks and signal
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, February 2010
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
Hierarchical Web Page Classification Based on
a Topic Model and Neighboring Pages Integration

Wongkot Sriurai Phayung Meesad Choochart Haruechaiyasak
Department of Information Technology Department of Teacher Training in Electrical Human Language Technology Laboratory
King Mongkut’s University of Engineering, King Mongkut’s University of National Electronics and Computer
Technology North Bangkok, Technology North Bangkok, Technology Center (NECTEC),
Bangkok, Thailand Bangkok, Thailand Bangkok, Thailand

Abstract— Most Web page classification models typically apply
the bag of words (BOW) model to represent the feature space.
The original BOW representation, however, is unable to
recognize semantic relationships between terms. One possible
solution is to apply the topic model approach based on the Latent
Dirichlet Allocation algorithm to cluster the term features into a
set of latent topics. Terms assigned into the same topic are
semantically related. In this paper, we propose a novel
hierarchical classification method based on a topic model and by
integrating additional term features from neighboring pages. Our
hierarchical classification method consists of two phases: (1)
feature representation by using a topic model and integrating
neighboring pages, and (2) hierarchical Support Vector Machines
(SVM) classification model constructed from a confusion matrix.
From the experimental results, the approach of using the
proposed hierarchical SVM model by integrating current page
with neighboring pages via the topic model yielded the best
performance with the accuracy equal to 90.33% and the F1
measure of 90.14%; an improvement of 5.12% and 5.13% over
the original SVM model, respectively.
Keywords - Wep page classification; bag of words model; topic
model; hierarchical classification; Support Vector Machines
Due to the rapid growth of Web documents (e.g., Web
pages, blogs, emails) on the World Wide Web (WWW), Web
page classification has become one of the key techniques for
managing and organizing those documents, e.g., as document
filtering in information retrieval. Generally, Web page
classification applies the technique of text categorization,
which uses the supervised machine learning algorithms for
learning the classification model [1, 2]. Most previous works
on Web page classification typically applied the bag of words
(BOW) model to represent the feature space. Under the BOW
model, a Web page is represented by a vector in which each
dimension contains a weight value (e.g., frequency) of a word
(or term) occurring in the page. The original BOW
representation, however, is unable to recognize synonyms
from a given word set. As a result, the performance of a
classification model using the BOW model could become
In this paper, we apply a topic model to represent the
feature space for learning the Web page classification model.
Under the topic model concept, words (or terms), which are
statistically dependent, are clustered into the same topics.
Given a set of documents D consisting of a set of terms (or
words) W, a topic model generates a set of latent topics T
based on a statistical inference on the term set W. In this paper,
we apply the Latent Dirichlet Allocation (LDA) [3] algorithm
to generate a probabilistic topic model from a Web page
collection. A topic model can help capture the hypernyms,
hyponyms and synonyms of a given word. For example, the
words “vehicle” (hypernym) and “automobile” (hyponym)
would be clustered into the same topic. In addition, the words
“film” (synonym) and “movie” (synonym) would also be
clustered into the same topic. The topic model helps improve
the performance of a classification model by (1) reducing the
number of feature dimensions and (2) mapping the
semantically related terms into the same feature dimension.
In addition to the concept of topic model, our proposed
method also integrates some additional term features from
neighboring pages (i.e., parent, child and sibling pages).
Using some additional terms from neighboring pages could
help increase more evidence for learning the classification
model [4, 5]. We used the Support Vector Machines (SVM)
[6, 7] as the classification algorithm. SVM has been
successfully applied to text categorization tasks [6, 7, 8, 9].
SVM is based on the structural risk minimization principle
from computational theory. The algorithm addresses the
general problem of learning to discriminate between positive
and negative members of a given class of n-dimensional
vectors. Indeed, the SVM classifier is designed to solve only
the binary classification problem [7]. In order to manage the
multi-class classification problem, many researches have
proposed hierarchical classification methods for solving the
multi-class problem. For example, Dumais and Chen proposed
the hierarchical method by using SVM classifier for
classifying a large, heterogeneous collection of web content.
The study showed that the hierarchical method has a better
performance than the flat method [10]. Cai and Hofmann
proposed a hierarchical classification method that generalizes
SVM based on discriminant functions that are structured in a
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
way that mirrors the class hierarchy. The study showed that
the hierarchical SVM method has a better performance than
the flat SVM method [11].
Most of the related work presented a hierarchical
classification method by using different approaches. However
in previous works, the bag of words (BOW) model is used to
represent the feature space. In this paper, we propose a new
hierarchical classification method by using a topic model and
integrating neighboring pages. Our hierarchical classification
method consists of two phases: (1) feature representation and
(2) learning classification model. We evaluated among three
different feature representations: (1) applying the simple BOW
model on current page, (2) applying the topic model on current
page, and (3) integrating the neighboring pages via the topic
model. To construct a hierarchical classification model, we use
the class relationships obtained from a confusion matrix of the
flat SVM classification model. The experimental results
showed that by integrating the additional neighboring
information via a topic model, the classification performance
under the F1

measure was significantly improved over the
simple BOW model. In addition, our proposed hierarchical
classification method yielded a better performance compared
to the SVM classification method.
The rest of this paper is organized as follows. In the next
section we provide a brief review of Latent Dirichlet
Allocation (LDA). Section 3 presents the proposed framework
of hierarchical classification via the topic model and
neighboring pages integration. Section 4 presents the
experiments with the discussion on the results. In Section 5,
we conclude the paper.
Latent Dirichlet Allocation (LDA) has been introduced as
a generative probabilistic model for a set of documents [3, 12].
The basic idea behind this approach is that documents are
represented as random mixtures over latent topics. Each topic
is represented by a probability distribution over the terms.
Each article is represented by a probability distribution over
the topics. LDA has also been applied for identification of
topics in a number of different areas such as classification,
collaborative filtering [3] and content-based filtering [13].
Generally, an LDA model can be represented as a
probabilistic graphical model as shown in Figure 1 [3]. There
are three levels to the LDA representation. The variables α
and β are the corpus-level parameters, which are assumed to
be sampled during the process of generating a corpus. α is the
parameter of the uniform Dirichlet prior on the per-document
topic distributions. β is the parameter of the uniform Dirichlet
prior on the per-topic word distribution. θ is a document-level
variable, sampled once per document. Finally, the variables z
and w are word-level variables and are sampled once for each
word in each document. The variable N is the number of word
tokens in a document and variable M is the number of

Figure 1. The Latent Dirichlet Allocation (LDA) model

The LDA model [3] introduces a set of K latent variables,
called topics. Each word in the document is assumed to be
generated by one of the topics. The generative process for
each document w can be described as follows:
1. Choose θ ~ Dir ( ) α : Choose a latent topics mixture
vector θ from the Dirichlet distribution.
2. For each word
w W ∈
(a) Choose a topic ~ Multinomial
z ( ) θ : Choose a
latent topic from the multinomial distribution.
(b) Choose a word from
w ( , |
n n
P w z ) β a
multinomial probability conditioned on the topic .
Figure 2 illustrates the proposed hierarchical classification
framework which consists of two phases: (1) feature
representation for learning the Web page classification
models, (2) learning classification models based on the
Support Vector Machines (SVM). In our proposed framework,
we evaluated among three different feature representations: (1)
applying the simple BOW model on current page, (2) applying
the topic model on current page, and (3) integrating the
neighboring pages via the topic model. After the feature
representation process, we use the class relationships obtained
from a confusion matrix of the flat SVM classification model
for building a new hierarchical classification method.
A. Feature Representation
The process for feature representation can be explained in
details as follows.
• Approach 1 (BOW): Given a Web page collection
consists of an article collection which is a set of m documents
denoted by D = {D
, …, D
}. In the process of text
processing is applied to extract terms. Given a set of terms is
represented W = {W
, …, W
}, where k is the total number of
terms. Each term is provided with certain weight w
, which the
weight of each term is assigned with term frequency. The set
of terms is then filtered by using the feature selection
technique, information gain (IG) [1]. Once the term features
are obtained, we apply the Support Vector Machines (SVM) to
learn the classification model. The model is then used to
evaluate the performance of category prediction.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
• Approach 2 (TOPIC_CURRENT): Given a Web page
collection consisting of an article collection which is a set of m
documents denoted by D = {D
, … , D
}. The process of
text processing is applied to extract terms. The set of terms is
then generated by using the topic model based on the LDA
algorithm. The LDA algorithm generates a set of n topics
denoted by T = {T
, … , T
}. Each topic is a probability
distribution over p words denoted by T
= [ , … , ],
1 −
w is a probabilistic value of word j assigned to topic i.
Based on this topic model, each document can be represented
as a probability distribution over the topic set T, i.e., D
= [ ,
…, ], where t

is a probabilistic value of topic j assigned
to document i. The output from this step is the topic
probability representation for each article. The Support Vector
Machines (SVM) is also used to learn the classification model.
• Approach 3 (TOPIC_ INTEGRATED): The main
difference of this approach from Approach 2 is we integrate
the additional term features obtained from the neighboring
pages to improve the performance of Web page classification.
The process of integrating the neighboring pages is explained
as follows.
Figure 3 shows three types of neighboring pages, parent
child and sibling pages. Given a Web page (i.e., current page),
there are typically incoming links from parent pages, outgoing
links to child pages and links from its parent pages to sibling
pages. A parent child and sibling pages are collectively
referred to as the neighboring pages. Using the additional
terms from the neighboring pages could help increase more
evidence for learning the classification model.
In this paper, we vary a weight value of neighboring pages
from zero to one. A weight value equals to zero means the
neighboring pages are not included for the feature
representation. Under this approach, terms from different page
types (i.e., current, parent, child and sibling) are first
transformed into a set of n topics (denoted by T = {T
,..., T
by using the LDA algorithm. The weight values from 0 to 1
are then multiplied to the topic dimension T
of parent, child
and sibling pages. The combined topic feature vector by
integrating the neighboring topic vectors with adjusted weight
values can be computed by using the algorithm listed in Table

Figure 2. The proposed hierarchical classification framework

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

Figure 3. A current Web page with three types of
neighboring pages

Algorithm : INP
Input: CurDT, PDT, CDT, SDT, W
, W
, W
for all d
in CurDT do
for all t
in CurDT do
CurDT Å getPValue(CurDT, i, j)
PP Å getPValue(PDT, i, j) * W
PC Å getPValue(CDT, i, j) * W
PS Å getPValue(SDT, i, j) * W
setPValue(IDT, CurDT + PP + PC + PS, i, j)
end for
end for
return IDT

Parameters and variables:
• CurDT : document-topic matrix from current page
• PDT : document-topic matrix from parent pages
• CDT : document-topic matrix from child pages
• SDT : document-topic matrix from sibling pages
• IDT : integrated document-topic matrix
• PP : P-Value from PDT at specific index
• PC : P-value from CDT at specific index
• PS : P-value from SDT at specific index
• W
: weight value for parent pages,
0.0 ≤ W
1.0 ≤
• W
: weight value for child pages,
0.0 W ≤
• W
: weight value for sibling pages,
0.0 W ≤
1.0 ≤
• P-value : probability value
• getPValue(M, r, c) : function for getting P-Value
from row r and column c of matrix M
• setPValue(M, p, r, c) : function for setting P-Value
on row r, column c of matrix M with value p

The INP algorithm that we present in this paper
incorporates term features obtained from the neighboring
pages (i.e. parent, child and sibling pages) into the
classification model. Using additional terms from the
neighboring pages could help increase more evidence for
learning the classification model. In this algorithm, we
propose a function for varying the weight values of terms from
parent pages (PDT), child pages (CDT) and sibling pages
(SDT). The probability values from all neighboring pages are
integrated with the current page (CurDT) to form a new
integrated matrix (IDT).
The process of algorithm begins with the results from the
LDA model; that is document-topic matrices from all page
types. The algorithm starts by gathering data from document-
topic matrices (CurDT, PDT, CDT, SDT) using getPValue
function. All P-values of the document-topic matrices are then
multiplied by the weight values of each document-topic matrix
except for the current page matrix. Finally all P-values from
four matrices are summed up and then sent to IDT using
setPValue function. After the integrating process, we use the
IDT matrix for learning the classification model.

B. Classification Model
Three different feature representation approaches are used
as input to classifiers. In this paper, we propose two methods
for building the classification models: (1) Model 1: we adopt
the SVM to classify feature and (2) Model 2: we presented a
new hierarchical classification method by using the class
relationships obtained from a confusion matrix for learning a
classification model. Each method is described in details as
• Model 1 (SVM): We used the SVM for learning a
classification model. The SVM is the machine learning
algorithm proposed by Vapnik [7]. The algorithm constructs a
maximum margin hyperplane which separates a set of positive
examples from a set of negative examples. In the case of
examples not linearly separable, SVM uses a kernel functions
to map the examples from input space into high dimensional
feature space. Using a kernel function can solve the non-linear
problem. In our experiments, we used a polynomial kernel.
We implemented the SVM classifier by using the WEKA

• Model 2 (HSVM): The proposed method is based on
SVM classifier, which uses the class relationship obtained
from a confusion matrix for building a hierarchical SVM
(HSVM). A confusion matrix shows the number of correct and
incorrect predictions made by the model compared with the
actual classifications of the test data. The size of confusion
matrix is m-by-m, where m is the number of classes. Figure 4
shows an example of a confusion matrix from Approach 3
built on a collection of articles obtained from the Wikipedia
Selection for Schools. In a confusion matrix, the row
corresponds to the actual classes, and the column corresponds
to the prediction classes. In this example, for class art, the
model makes the correct prediction equal to 49 instances and
incorrect prediction into class citizenship (c) for 1 instance and
into class design and technology (e) for 5 instances.


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

Figure 4. A confusion matrix of Wikipedia Selection for Schools

We used the confusion matrix for constructing a
hierarchical structure. First, we need to transform the
confusion matrix into a new symmetric matrix, called average
pairwise confusion matrix (APCM) by computing average
values of pairwise relationships between classes in a confusion
matrix (CM). The process of transforming CM into APCM can
be explained as follows. Given a confusion matrix CM = [v
where a denotes each row corresponding to actual classes and
p denotes each column corresponding to the prediction classes.
For the correct prediction, i.e., a equals to p in CM, we set the
value equal to 0 in APCM. If a is not equal to p, i.e., incorrect
prediction, we compute an average value of v
and v
for a
pairwise confusion value at this position. We applied this
calculation method for every row and column. For example, in
Figure 4, v
= 49, a is equal to p (a correct prediction), v
set equal to 0 in APCM. For v
= 1, where a = 0, p = 2 (a is
not equal to p), an average pairwise confusion value of v

and v
is equal to 1. The final result of an average pairwise
confusion matrix computation is shown in Figure 5. The
computation of an average pairwise value is summarized by
the following equation:

( )
, ,
a p p a
p a
v v
= , if a ≠ p (1)
, if a = 0
p a
w p
where = A value from an average pairwise confusion
p a
matrix (APCM) at row a and column p
= A value from a confusion matrix (CM) at row a
p a
and column p

Once the average pairwise confusion matrix (APCM) is
obtained, we construct a dendrogram based on the single link
algorithm of hierarchical agglomerative clustering (HAC)
[14,15]. Single link clustering is known to be confused by
nearby overlapping clusters which merge two clusters with the
smallest minimum pairwise distance [14]. To construct our
hierarchical classification structure, we adopt the single link
algorithm to merge two clusters by selecting maximum
average pairwise value in a confusion matrix. We first select a
pair of classes which has the maximum average pairwise value
in APCM to a dendrogram and select the next highest average
pairwise value and go on with this process until all classes are
selected into the dendrogram. The final result of dendrogram
is shown in Figure 6. For example, an average pairwise value
between class f and o is 21.5, the highest value in APCM,
therefore class f and class o are selected as the first pair in the
dendrogram. The second highest value is 19, this value is an
average pairwise value between class h and m, therefore class
h and class m are selected as the second pair. The third highest
value is 15 between class g and o. However, class o is already
paired with class f. Therefore, we take only class g to combine
with class f and class g nodes. We perform this process for all
remaining classes. Finally, we obtain a complete dendrogram
for constructing the hierarchical classification model. The
hierarchical classification models are constructed from
bottom-up level. With this hierarchical classification structure,
classes with lower confusion values are classified before
classes with higher confusion. The hierarchical classification
model could help improve the performance of multi-class
classification method.

Figure 5. An average pairwise confusion matrix of Wikipedia Selection
for Schools

Figure 6. A hierarchies of Wikipedia Selection for Schools

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

A. Web page collection
In our experiments, we used a collection of articles
obtained from the Wikipedia Selection for Schools which is
available from the SOS Children's Villages Web site
. There
are 15 categories: art, business studies, citizenship, countries,
design and technology, everyday life, geography, history, IT,
language and literature, mathematics, music, people, religion
and science. The total number of articles is 4,625.
Table 2 lists the first-level subject categories available
from the collection. Organizing articles into the subject
category set provides users a convenient way to access the
articles on the same subject. Each article contains many
hypertext links to other articles which are related to the current
B. Experiments
We used the LDA algorithm provided by the linguistic
analysis tool called LingPipe
to run our experiments.
LingPipe is a suite of Java tools designed to perform linguistic
analysis on natural language data. In this experiment, we
applyed the LDA algorithm provided under the LingPipe API
and set the number of topics equal to 200 and the number of
epochs to 2,000.For text classification process, we used
WEKA, an open-source machine learning tool, to perform the
C. Evaluation Metrics
The standard performance metrics for evaluating the text
classification used in the experiments are accuracy, precision,
recall and F1 measure [16]. We tested all algorithms by using
the 10-fold cross validation. Accuracy, precision, recall and F1
measure are defined as:

SOS Children's Villages Web site.
charity-news/wikipedia-for- schools.htm

the number of correctly classified test documents
total number of test documents

the number of correct positive predictions
Precision =
the number of positive predictions

the number of correct positive predictions
Recall =
the number of positive data

recall precision
recall precision
× ×

where Accuracy represents the percentage of correct
predictions in total predictions. Precision (P) is the percentage
of the predicted documents for a given category that are
classified correctly. Recall (R) is the percentage of the
documents for a given category that are classified correctly. F1

measure is a single measure that tries to combine precision and
recall. F1

measure ranges from 0 to 1 and the higher the better.
D. Experimental results
We started by evaluating the weight values of neighboring
pages under Approach 3. Table 3 shows the results of
combination the weight value of neighboring pages on our
algorithm. For the SVM model, the best combination of
neighboring pages with the accuracy equal to 85.21% and the
F1 measure of 0.8501 by weight of parent pages, child pages
and sibling pages equal to 0.4, 0.0 and 0.3, respectively and
for the HSVM model has the best combination of neighboring
pages with the accuracy equal to 90.33% and the F1 measure
of 0.9014 by weight the same SVM model. The results showed
that using information from parent pages and sibling pages are
more effective than child pages for improving the performance
of a classification model.
Models W
P R F1
SVM 0.4 0.0 0.3 0.8583 0.8337 0.8501 85.21
HSVM 0.4 0.0 0.3 0.8984 0.9046 0.9014 90.33

From Table 4, the results of classification model based on
two models between the SVM model and the hierarchical
SVM (HSVM), the approach of integrating current page with
the neighboring pages via the topic model
(TOPIC_INTEGRATED) yielded a higher accuracy compared
to applying the topic model on current page
(TOPIC_CURRENT) and applying the BOW model. For the
SVM model, on the TOPIC_INTEGRATED approach, the
highest accuracy is 85.21%; improvement of 23.96% over the
BOW model. For the HSVM model, on the
TOPIC_INTEGRATED approach, the highest accuracy is
90.33%; improvement of 4.64% over the BOW model.

No. of

No. of
Art 74

Business Studies 88
Citizenship 224

Countries 220
Design and

Everyday life 380
Geography 650

History 400
IT 64
Language and
Mathematics 45

Music 140
People 680

Religion 146
Science 1068

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

Table 5 shows the experimental results of three feature
representation approaches by using two models between the
SVM model and the hierarchical SVM (HSVM) model for the
learning classification model. From this table, the approach of
integrating current page with neighboring pages via the topic
model (TOPIC_INTEGRATED) yielded a higher performance
compared to applying the topic model on current page
(TOPIC_CURRENT) and application of the BOW model. The
HSVM classification model yielded a higher performance
compared to the SVM classification model in all three feature
representation approaches.
The results of classification model based on the SVM
model, applying the TOPIC_CURRENT approach helped
improve the performance over the BOW by 17.2% based on
the F1 measure and applying the TOPIC_INTEGRATED
approach, yielded the best performance with the F1 measure of
85.01%; improvement of 23.81% over the BOW model. For
the learning classification model based on the HSVM model,
applying the TOPIC_CURRENT approach helped improve
the performance over the BOW by 3.88% based on the F1
measure and applying the TOPIC_INTEGRATED, yielded the
best performance with the F1 measure of 90.14%;
improvement of 5.11% over the BOW model. The approach of
integrating current page with the neighboring pages via the
topic model (TOPIC_INTEGRATED) and using the HSVM
model, however, yielded the best performance with the F1
measure of 90.14%; improvement of 5.13% over the
TOPIC_INTEGRATED approach by using the SVM model.
Thus, integrating the additional neighboring information,
especially from the parent pages and sibling pages, via a topic
model could significantly improve the performance of a
classification model. The reason is due to the parent pages
often provide terms, such as in the anchor texts, which provide
additional descriptive information of the current page.


To improve the performance of Web page classification,
we proposed a new hierarchical classification method based on
a topic model and by integrating the additional term features
obtained from the neighboring pages to improve the
performance of Web page classification. We applied the topic
model approach based on the Latent Dirichlet Allocation
algorithm to cluster the term features into a set of latent topics.
Terms assigned into the same topic are semantically related.
Our hierarchical classification method consists of two phases:
(1) feature representation by using a topic model and
integrating neighboring pages, and (2) hierarchical Support
Vector Machines (SVM) classification model constructed
from a confusion matrix. From the experimental results, the
approach of integrating current page with the neighboring
pages via the topic model yielded a higher performance
compared to applying the topic model on current page and
applying the BOW model. For learning classification model,
the hierarchical SVM classification model yielded a higher
performance compared to the SVM classification model in all
three feature representation approaches and integrating current
page with the neighboring pages via the topic model approach,
however, yielded the best performance with the F1 measure of
90.14%; improvement of 5.11% over the BOW model. The
approach of integrating current page with the neighboring
pages via the topic model and using the hierarchical SVM
classification model yielded the best performance with the
accuracy equal to 90.33% and the F1 measure of 90.14%; an
improvement of 5.12% and 5.13% over the original SVM
model, respectively.
[1] Y. Yang and J.P Pederson, “A comparative Study on Feature Selection
in Text Categorization,” Proceedings of the 14th International
Conf er ence on Ma chi ne Lear ni ng, pp. 412- 420, 1997.
[2] S. T. Dumais, J. Platt, D. Heckerman, and M. Sahami, “Inductive
Learning Algorithms and Representations for Text Categorization,”
Proceedings of CIKM 1998, pp. 148-155, 1998.
[3] D. M. Blei, A. Y. Ng, and M. I. Jordan, “Latent Dirichlet Allocation,”
Journal of Machine Learning Research, vol 3, pp. 993-1022, 2003.
[4] X. Qi and B.D. Davison, “Classifiers Without Borders: Incorporating
Fielded Text From Neighboring Web Pages,” Proceedings of the 31st
Annual International ACM SIGIR Conference on Research &
Development on Information Retrieval, Singapore, pp. 643-650, 2008.

Classification Models
Feature Representation
Accuracy (%) Accuracy (%)
1. BOW 61.25 85.69
2. TOPIC_CURRENT 78.54 88.97
=0.4 ,W
=0.0 & W
85.21 90.33
Classification Models
Feature Representation
P R F1 P R F1
1. BOW 0.6000 0.6610 0.6120 0.8485 0.8541 0.8503
2. TOPIC_CURRENT 0.7960 0.7710 0.7840 0.8886 0.8908 0.8891
=0.4 ,W
& W
0.8583 0.8337 0.8501 0.8984 0.9046 0.9014
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 7, No. 2, 2010
[5] G. Chen and B.Choi, “Web page genre classification,” Proceedings of
2008 ACM symposium on Applied computing, pp. 2353-2357, 2008.
[6] T. Joachims, “Text Categorization with Support Vector Machines:
Learning with Many Relevant Features,” Proceedings of European
Conference on Machine Learning (ECML), Berlin, pp. 137-142, 1998.
[7] V. Vapnik, “The Nature of Statistical Learning Theory,” Springer, New
York ,1995.
[8] A. Sun, E.-P. Lim, and W.-K. Ng., “Web classification using support
vector machine,” Proceedings of the 4th Int’l Workshop on Web
Information and Data Management (WIDM), ACM Press, pp. 96-99,
[9] W. Sriurai, P. Meesad, and C. Haruechaiyasak, “A Topic-Model Based
Feature Processing for Text Categorization,” Proceedings of the 5th
National Conference on Computer and Information Technology,
pp.146-151, 2009.
[10] S. Dumais and H. Chen, “Hierarchical classification of Web content.”,
Proceedings of SIGIR-00, 23rd ACM International Conference on
Research and Development in Information Retrieval , ACM Press ,
New York, pp. 256–263, 2000.
[11] L. Cai and T. Hofmann, “Hierarchical document categorization with
support vector machines”, In CIKM, pp. 78–87, 2004.
[12] M. Steyvers and T.L. Griffiths, “Probabilistic topic models,” In: T.,
Landauer, D., McNamara, S., Dennis, and W., Kintsch, (eds), Latent
Semantic Analysis: A Road to Meaning, Laurence Erlbaum, 2006.
[13] C. Haruechaiyasak and C. Damrongrat, “Article Recommendation
Based on a Topic Model for Wikipedia Selection for Schools,”
Proceedings of the 11th International Conference on Asian Digital
Libraries, pp. 339-342, 2008.
[14] A.K. Jain and R. C. Dubes., “Algorithms for Clustering Data,” Prentice
Hall, 1988.
[15] G. Karypis, E. Han, and V. Kumar., “Chameleon: A hierarchical
clustering algorithm using dynamic modeling,” IEEE Computer,
32(8):68–75, 1999.
[16] H. Yu, J. Han, and K. Chen-chuan Chang., “ PEBL: Web Page
Classification without Negative Examples,” IEEE Computer, 16(1):
70-81, 2004.


Wongkot Sriurai received B.Sc. degree in Computer Science,
M.S. degree in Information Technology from Ubon
Ratchathani University. Currently, she is a Ph.D. candidate in
the Department of Information Technology at King
Mongkut’s University of Technology North Bangkok. Her
current research interests Web Mining, Information filtering
and Recommender system.
Phayung Meesad received the B.S. from King Mongkut’s
University of Technology North Bangkok M.S. and Ph.D.
degree in Electrical Engineering from Oklahoma State
University. His current research interests Fuzzy Systems and
Neural Networks, Evolutionary Computation and Discrete
Control Systems. Currently, he is an Assistant Professor in
Department of Teacher Training in Electrical Engineering at
King Mongkut’s University of Technology North Bangkok
Choochart Haruechaiyasak received B.S. from University of
Rochester, M.S. from University of Southern California and
Ph.D. degree in Computer Engineering from University of
Miami. His current research interests Search technology,
Data/text/Web mining, Information filtering and
Recommender system. Currently, he is chief of the Intelligent
Information Infrastructure Section under the Human Language
Technology Laboratory (HLT) at National Electronics and
Computer Technology Center (NECTEC), Thailand.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
Clinical gait data analysis based on Spatio-Temporal

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 .

Abstract—Analysing human gait has found considerable interest
in recent computer vision research. So far, however, contributions
to this topic exclusively dealt with the tasks of person identification
or activity recognition. In this paper, we consider a different
application for gait analysis and examine its use as a means of
deducing the physical well-being of people. The proposed method
is based on transforming the joint motion trajectories using
wavelets to extract spatio-temporal features which are then fed as
input to a vector quantiser; a self-organising map for classification
of walking patterns of individuals with and without pathology. We
show that our proposed algorithm is successful in extracting
features that successfully discriminate between individuals with
and without locomotion impairment.
Keywords- Human locomotion; Gait analysis; Feature
extraction; Self-organising maps; Diagnostic signatures
1.1. Human locomotion
Normal walking in humans may be defined as a method of
locomotion involving the use of two legs, alternately, to
provide both support and propulsion, with at least one foot in
contact with the ground at all times. Walking is a periodic
process and gait describes the manner or the style of walking—
rather than the walking process itself [1]. Fig. 1 illustrates the
repetitive events of gait. The stance phase starts by heel strike
(or foot contact with ground) passes through midstance and
ends by taking the toe off the ground to start the swing phase.
The time interval between two successive occurrences of one of
the repetitive events of walking is known as the gait cycle and it
is usually defined between two consecutive heel-strikes of the
same foot. One characteristic phase of walking is the double
support interval, i.e. when both feet are in contact with the
ground. This time interval decreases as the velocity of the
subject increases until it vanishes; the subject is then considered
to be running.
The development of photographic methods of recording a
series of displacements during locomotion by the end of the
19th century encouraged researchers from different disciplines
to study human motion. The images were so useful as studies
of the human form in motion that the noted poet and physician
Oliver Wendell Holmes, who was interested in providing
artificial limbs for veterans of the American Civil War,
proclaimed that it was photography which assisted him in the
study of the “complex act” of walking [2]. Experiments of the
American photographer Eadweard Muybridge of photographing
animals (e.g. horse during trotting) and humans in motion (e.g.
athletes while practising a sport) perfected the study of animal
and human locomotion [3]. Early experiments to study human
locomotion were done by Marey, the first scientist in Europe to
study motion and its visual implications [4]. Marey observed an
actor dressed in a black body stocking with white strips on his
limbs. He studied the motion through observing the traces left
on photographic plates as the actor walked laterally across the
field of view of the camera [5]. Later, at the end of the century,
two German scientists Braune and Fischer used a similar
approach to study human motion [6], but they used light rods
attached to the actor’s limbs instead. Following those pioneers,
lots of researchers from different disciplines studied human
locomotion. Since the early seventies of the last century,
biomechanics researchers have used a technique similar to the
ones used by Marey for gait analysis and assessment. In Ref.
[7] a method is described for measurement of gait movement
from a motion picture film where three cameras were placed
such that two are on the sides and one is at the front of a
walkway—and a barefooted subject walked across the
walkway. Measurements of the flexion/extension of knee and
ankle in the sagittal plane and rotation of the pelvis, femur and
foot in the transverse plane were measured with this system
which had the advantage of being painless and did not involve
any encumbering apparatus attached to the patient. In Ref. [8] a
television/computer system is designed to estimate the spatial
coordinates of markers attached to a subject indicating
anatomical landmarks. The system was designed and tested for
human locomotion analysis. Another attempt at kinematic
analysis using a video camera, frame grabbers and a PC was
proposed in Ref. [9]. The approach was based on tracking
passive markers attached on specific body landmarks and the
results were depicted as an animated stick diagram as well as
graphs of joints’ flexion/extension. Interest of researchers was
not confined to patterns of normal subjects, it extended to the
study of the pathological gait [10, 11].
The method of using markers attached to joints or points of
interest of a subject or an articulated object is similar to what
is known in the literature of motion perception as Moving light
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
displays (MLDs). In Refs. [12, 13], Johansson used MLDs in
psychophysical experiments to show that humans can recognize
gaits representing different activities such as walking, stair
climbing, etc. when watching a sequence of frames of subjects
having lights attached to them (sometimes referred to in the
literature as Johansson’s figures). One experiment had a
sequence of 36 motion-picture frames in which two persons
were dancing together with 12 lights attached to each one: two
at each shoulder, elbow, wrist, hip, knee and ankle. He reported
that “naïve” subjects, when shown the sequence, were able to
recognise in a fraction of a second that two persons were
moving. However, they were not able to identify what a single
stationary frame represented. Cutting and Koslowski also
showed that using MLDs, one can recognise one’s friends [14]
and can also determine the gender of a walker [15].
Human motion analysis is a multidisciplinary field which
attracts the attention of a wide range of researchers [16]. The
nature of the motion analysis research is dictated by the
underlying application [17–24]. Motion trajectories are the
most widely used features in motion analysis. Most of human
motion is periodic, as reflected in changes in joint angle and
vertical displacement trajectories, functions involving motion
are represented using transformation representing the spatio-
temporal characteristics of these trajectories [20] or the volume
[25]. In Ref. [26], a computer program that generated absolute
motion variables of the human gait from predetermined relative
motions was described. Kinematics data during free and forced-
speed walking were collected and trajectories were analysed
using fast Fourier transform (FFT). It was found that the
spectrum of the variables was concentrated in the low
frequency range while high frequencies components (above the
15th harmonic) resembled those of white noise.
FFT analysis was also used in Ref. [27]. FFT components
of joint displacement trajectories were used as feature vectors to
recognise people from their gait. In Ref. [28] the medial axis
transformation was used to extract a stick figure model to
simulate the lower extremities of the human body under certain
conditions. Three male subjects were involved in the study
where their 3D kinematic data were averaged to derive a
reference sequence for the stick figure model. Two segments of
the lower limb (thigh and shank) were modelled and the model
was valid only for subjects walking parallel to the image plane.
Factors affecting kinematics patterns were explored by studying
subjects walking with bare feet and high heels, with folded
arms and with arms freely swinging. It was concluded that there
was almost no difference in the kinematics patterns. Eigenspace
representation was used in Refs. [29–31]. This representation
reduced computation of correlation-based comparison between
image sequences. In Ref. [29], the proposed template-matching
technique was applied for lip reading and gait analysis. The
technique was useful in recognising different human gait. In
Ref. [30] a combination of eigenspace, transformation and
canonical space transformation was used to extract features to
recognise six people from their gait.

Fig. 1. A typical normal walking cycle illustrating the events of gait.

1.2. Human motion recognition systems

The majority of systems implemented for understanding
human motion focus on learning, annotation or recognition of a
subject or a human movement or activity. For recognising
activities, independent of the actor, it is necessary to define a
set of unique features that would identify the activity (from
other activities) successfully. The authors in Refs. [32–34]
presented a general non-structural method for detecting and
localising periodic activities such as walking, running, etc. from
low-level grey scale image sequences. In their approach, a
periodicity measure is defined and associated with the object
tracked or the activity in the scene. This measure determined
whether or not there was any periodic activity in the scene. A
feature vector extracted from a spatio-temporal motion
magnitude template was classified by comparing it to reference
templates of predefined activity sets. The algorithm tracked a
particular subject in a sequence where two subjects were
moving. One nice feature of their algorithm was accounting for
spatial scale changes in frames, so it was not restricted to
motion parallel to the plane of the image. On the other hand, the
effect of changing the viewing angle was not addressed in their
work. In Ref. [35] a three-level framework for recognition of
activities was described in which probabilistic mixture models
for segmentation from low-level cluttered video sequences were
initially used. Computing spatio-temporal gradient, color
similarity and spatial proximity for blobs representing limbs, a
hidden Markov model (HMM) was trained for recognising
different activities. The training sequences were either tracked
MLD sequences or were hand-labelled joints. The Kalman filter
used for tracking coped with short occlusions yet some
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
occlusions resulted in misclassification of activity. Sequences
seemed to have only one subject in the scene moving parallel to
the image plane. In Ref. [36] features from displacements of the
body parts in the vertical and horizontal directions were
extracted and a classifier based on HMM was used to identify
different activities (walking, hopping, running and limping).
A different perspective for recognising activities was
portrayed in Ref. [37] by Johansson. His approach focused on
high level representations through modelling human
recognition of MLDs. He showed that recognition of gait can
be achieved through multiresolution feature hierarchies
extracted from motion rather than shape information. He
applied his approach to recognise three gaits (walking, running
and skipping) performed by four different subjects. A similar
approach was used in Ref. [38] where techniques based on
space curves were developed assuming the availability of 3D
Cartesian tracking data to represent movements of ballet
dancers. The system learned and recognised nine movements
from an un-segmented stream of motion. The idea was based on
representing each movement with a set of unique constraints
which were extracted from a phase-space that related the
independent variables of the body motion. A potential
application given by the authors was video annotation for the
ever increasing video databases in, for example, entertainment
companies and sports teams.
For recognising individuals, examples of research attempts
to develop systems to recognise individuals from their gait have
been previously discussed. One other attempt [39] computed
the optical flow for an image sequence of a walking person and
characterised the shape of the motion with a set of sinusoidally
varying scalars. Extracting feature vectors composed of the
phases of the sinusoids which have shown significant statistical
variation, the system was able to discriminate among five
subjects. The representation is model-free and only considered
subjects walking across the field of view of a stationary camera.
Following the above and other studies, gait has been considered
as a biometric for individual authentication [40–42]. The idea
of the existence of human gait signatures has been widely
accepted, e.g. Refs. [43,44]. In this article, we extend this idea
to explore the existence of clinical diagnostic signatures from
gait data.

1.3. Clinical gait analysis

Normal walking depends on a continual interchange
between mobility and stability. Free passive mobility and
appropriate muscle action are basic constituents. Any
abnormality restricting the normal free mobility of a joint or
altering either the timing or intensity of muscle action creates
an abnormal gait. Abnormal gait may be due to an injury,
disease, pain or problems of motor control. The subject’s ability
to compensate for the abnormality determines the amount of
functionality retained.
However, when these compensations introduce penalties in
joint strain, muscle overuse, lack of normal muscle growth or
soft tissue contracture, then clinical intervention becomes a
necessity. In determining appropriate intervention, gait analysis
is used to identify gait defects.
Clinical gait analysis comprises visual assessment,
measurement of stride and temporal parameters such as stance,
cadence and walking velocity, kinematics dealing with the
analysis of joint movements, angles of rotations, etc. and
kinetics involving analysis of forces and moments acting on
joints and electromyography (EMG) measuring muscle activity
[1]. Gait analysis mainly is to document deviations from normal
pattern (deviations might be due to habit, pathological reasons
or old age), to determine the abnormalities, their severity and
their causes, to plan for future treatment which might involve
surgery, physiotherapy, or the use of braces, orthosis or any
other walking aid, to evaluate the effect of intervention, and
finally to measure and assess the change over time with
treatment. Gait analysis instrumentation based on infra-red (IR)
cameras and computer-aided systems recording the 3D
positions of markers attached to the subject has been used to
record gait cycles of the patient and produce patterns and plots
for clinicians to assess and hence diagnose. To measure
kinematics, the subject is filmed while walking using cameras
placed on both sides and in front of the walkway such that each
marker is seen by at least two cameras at any instant. For
kinetics measurements, the subject activates force plates
embedded in the walkway. The output of the cameras and the
force plates is fed to the computer which estimates the 3D
coordinates of the markers and the moments and torques
applied on each joint. Kinematics, kinetics measurements and
movement trajectories of the joints in the three different planes
of movement are plotted for each patient. The pathological
traces are plotted together with normal ones to show the
variations resulting from the impairment and at the upper left
corner of the figure, different gait parameters, e.g. cadence,
velocity, etc. are also estimated for the patient. These graphs are
then assessed by the specialists. The number of graphs plotted
for gait analysis is immense and extracting useful information
from such graphs to accomplish the gait analysis objectives
mentioned earlier is a demanding and challenging task. This is
due to various reasons that include the complexity of the
walking process itself, variability of patients’ response to
treatment, uncertainty in data quality and the difficulty in
distinguishing between primary abnormalities and
compensations in the gait pattern.
Gait interpretation involves evaluation of all
measurements of kinematics, kinetics and EMG to identify
abnormalities in gait and hence suggesting and assessing
treatment alternatives. The experience of the clinicians’ team is
the key element for a successful interpretation and this must
include the understanding of normal gait, efficient and rigorous
data collection and adequate data reduction [45]. Early studies
by Murray [46,47] aimed to establish ranges of normal values
for normal human walking for both men and women from
kinematics data analysis. Her studies involved 60 men of 20–65
years of age and 30 women of 20–80 years of age. The main
aim of the study was to provide standards concerning speed,
stride dimensions as well as angular and linear displacement of
the trunk and extremities with which abnormal gait patterns
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
could be compared. Moreover, the study went further trying to
find correlations between different parameters, e.g. height and
gait parameters; age and displacement patterns.
Developing automatic systems for clinical gait analysis
provides objective analysis and interpretation of gait signals. In
developing an automatic system for analysis and recognition of
gait signals, signal processing not only forms a key element in
the analysis extraction and interpretation of information but
also plays an important role in the dimensionality reduction
[41]. Some artificial intelligence (AI) methods, as artificial
neural networks, due to their inherent abilities of generalization,
interpolation and fault tolerance offer means to assist in dealing
with the challenge of processing huge amounts of data,
classifying it through extracting generic diagnostic signatures.
A review of the use of these techniques in analysing clinical
gait data can be found in Refs. [48,49]. Moreover,
psychophysical experiments carried out by Johansson [12,13]
and others showed that humans can recognise activities from a
sequence of frames containing only points corresponding to
specific body landmarks of a subject.
The research presented in this article is motivated by the
capabilities of humans to perceive gait from reduced
spatiotemporal trajectories, and attempts to give machines a
similar gait perception capability. It builds upon Murray’s ideas
of setting standards for normal walking and investigates the
existence of diagnostic signatures that can be extracted from
kinematics based features for both normal and pathological
subjects. Our objective is to automatically find salient features
within trajectories of locomotion from which normal gait
standards could be set. Similarly, for abnormal gait, those
features could be used for diagnosis of abnormal walking or for
establishing relationships among spatio-temporal parameters,
gaits and impairment. The long term objective of this work is to
provide clinicians with tools for data reduction, feature
extraction and gait profile understanding.


2.1. Gait data

Experiments involved gait data of 89 subjects with no
disabilities of 4–71 years of age and 32 pathological cases of
polio, spina-bifida and cerebral palsy (CP) including
symmetrical diplegias (dp), left and right asymmetrical (la, ra)
diplegias and left and right hemiplegias (lh, rh) were used in
our experiments. The data were collected using a Vicon_ 3D
motion capture system at the Anderson Gait Lab in Edinburgh,
with markers placed in accordance with Ref. [50]. Temporal
and distance parameters of each subject such as cadence, speed,
stride length, etc. were calculated. In this work, the focus is
concentrated on sagittal angles of the hip and knee joints from
which the aim is to extract salient features and diagnostic gait

2.2. Spatio-temporal feature extraction

Kinematics gait signals (e.g. knee flexion/extension
trajectory) are non-stationary signals that are rich in dynamic
time related data and partly disturbed by noise and artifacts.
Extracting generic features as well as specific ones from such a
signal implies that the analysis of the signal ought to be done on
an adaptable time scale.
The wavelet transform is an effective tool for analysis of
non stationary biomedical signals [51]. It provides spectral
decomposition of the signal onto a set of basis functions,
wavelets, in which representation of temporal dynamics is
retained [52]. The continuous wavelet transform (CWT) for a
1D signal x(t) is defined as the inner product of the signal
function x(t) and the wavelet family. This is expressed by the

where ψ∗(t) is the conjugate of the transforming function also
called the mother wavelet, τ is the translation parameter, i.e.
representing the shift in the time domain, s(>0) is the scale
parameter and is proportional to 1/frequency.
The transform is convenient for analysing hierarchical
structures where it behaves as a mathematical microscope with
properties independent of the magnification factor. In other
words, low scales correspond to detailed information of a
pattern in the signal whereas high scales correspond to global
information of the signal while pattern properties are
maintained. Given the advantage of providing a spectrum for a
signal whilst maintaining its temporal dynamics on an
adaptable time scale, we choose to use the CWT to analyze the
joint angle trajectories and we use the Morlet wavelet as the
mother wavelet. The Morlet wavelet [53] is a locally periodic
wave-train. It is obtained by taking a complex sine wave and
localising it with a Gaussian envelope as in the following

where v
is a constant which satisfies the admissibility condition
if v
Once we extract the spatio-temporal features using CWT,
the next step in developing an automatic analysing and
recognition system is to determine a classification that is most
likely to have generated the observed data. Since neither the
classes nor their number are defined a priori, this is a typical
problem of unsupervised classification. We will consider
clustering methods to tackle the problem at hand. Clustering
methods facilitate the visualisation where one is able to see the
groupings of samples which are close together.
Encouraged by extensive literature on data exploration
from self-organising maps (SOM), e.g. Refs. [54–56], the SOM
is the favored technique for vector quantisation in this analysis.
Moreover, the SOM’s primary goal is not one of classification
but presentation of structures in data, without the need for a
priori class definitions [57, 58]. This is typical of the case here
where we do not want to enforce specified classification based
on prior knowledge of the subjects involved in the study. The
SOM also exposes new structures that might not be obvious by
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
visual inspection in the feature vectors representing the motion

2.3. The training algorithm

The self-organisation process adaptively defines the
reference vectors for the neurons, arranges input patterns
according to their internal structures and determines the optimal
boundaries among the subspaces, hence reflecting the best
feature maps representing the input vector patterns. The
Kohonen clustering algorithm can be summarised as follows:
Let x = [x1, x2, . . . , xn]
∈ e
represent the input vector. x
is connected to all nodes of the map via reference vectors or
weights w
. Let t represent the epoch number of training and
hence w
(t) is the weight vector at time t. Initialise the weights
either to small random values or using available samples of
the input x. For each epoch t,
Step 1: Introduce a new input training vector x to the network.
Step 2: Compute the distance d
between the input vector
pattern x and each reference vector w
. The distance can be
estimated in any chosen metric, the one most commonly used is
the Euclidean distance.
Step 3: Select the winning reference vector, the index of which

whose d

is the minimum and adaptively modify it and the
reference vectors in its neighborhood N
(t) as follows:

where Ni (t) is a smooth kernel function defined over the
map. For convergence, Ni (t) → 0 when t →∞.
Step 4: Repeat steps 1–3 until the training set is exhausted and
repeat over time t , until the set of weights reaches its final
value, i.e. when it is not further adapted.
The Unified Matrix Method (UMM) [59] is a
representation of the self-organising map which makes explicit
the distances between the neurons of the map. For each neuron,
the mean of the distances to its adjacent neurons is calculated
and represented as the height of the neuron in the third
dimension. The map then is visualised as a number of hills and
valleys. Hills represent the borders separating the different
classes which are portrayed as valleys. We use this
representation to visualise the SOMs after training and testing
of the algorithm.


The Morlet wavelet used has v
= 1.0 and the scale range
varying between 1 and 25. If the scale is too low, the generated
wavelet is too compressed and hence wavelet properties are lost
due to under-sampling. On the other hand, if the scale is too
high, the wavelet is excessively dilated resulting in extra
filtering operations and therefore requires more computation
Fig. 2 shows typical scalograms of the Morlet wavelet
transform of the sagittal angles of the hip, knee, and ankle
joints of normal (top panels) and pathological case (bottom
panels). The ordinate represents the frequency (α scale
) and
the abscissa is the time; here, time is measured as the
percentage of the gait cycle increasing rightwards. Bright areas
represent high scalogram values and dark areas low values as
indicated by the color bar.
The stance phase constitutes ≈ 60% of the total cycle for
normal gait (refer to Fig. 1), hence we choose to split the
scalogram vertically at 60% of gait cycle dividing it into stance
phase and swing phase. Furthermore, we look for features in
different scale levels, either splitting the scalogram horizontally
into two sections (levels); high scale (low frequency
components) and low scale (high frequency components)
separately. Dark color intensities represent low values and light
intensities high values. The splitting of the scalogram is shown
on the figures by white dotted lines. We therefore have four
regions for each scalogram, shown in Fig. 3: (1) stance phase,
low scale, (2) swing phase, low scale, (3) swing phase, high
scale and (4) stance phase, high scale.

Fig. 2. Scalogram of sagittal angles (hip, knee and ankle joints) of the right side
of a normal case (left panels) and a pathological case (right panels). White
dotted lines split the scalograms into regions for ease of analysis—see text for

In this figure, one observes that regions 1 and 2 in hip and
knee are mostly dark for a normal subject implying that both
joints do not experience high frequency changes in normal gait
(remember that frequency α 1/scale). The hip sagittal angle is
mainly composed of low frequency components during stance,
by mid stance some of those components fade/disappear as
represented by the dark spot in region 4 until toe-off (i.e.
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
beginning of swing phase—region 3) where some of those
components start reappearing (bright colour) but with smaller
values (darker level shading in region 1). Comparing this
normal pattern of the hip to the scalogram of the pathological
case (CP) in the bottom panel, we see that in the stance region
low frequency components have faded (darker level shading).
One also observes existence of high frequency components in
both stance and swing phases.
Comparing knee scalograms, one observes in regions 1
and 2 of the CP case that there exist high frequency
components even during stance, probably due to spasticity of
motion. As for the ankle scalograms, it is evident that in the CP
case the ankle joint experiences higher values for high
frequency components in regions 1 and 2.
One also observes, in all joint scalograms of the CP case,
more discrete dark blobs compared to that of a normal subject
which make the scalogram pattern of the normal case more
homogeneous with no abrupt changes in shading except when
there is a change in gait event (e.g. at toe-off).
In other experiments (results not shown), one observed
similarities of patterns between two different normal subjects in
all three joint angles in the sagittal plane. Hip and knee
scalograms for both subjects exhibited very few high frequency
components. Hip comprised low frequency components during
stance (extension) which reduce in value during swing
(flexion). The knee had small value low frequency components
in stance which increase in value during swing. The ankle
acquired high valued low frequency at mid-stance and the
number of those components increases until toe-off and then
decreases to a minimum at heel strike. These features are
consistent for a typical normal subject. Any disruption of the
sequence of gait events or in the average time taken for any
single event results in change in the scalogram pattern. These
typical features extracted from the scalograms for a normal
subject suggest that automatic classification between normal
and pathological cases is possible.
Similarities of scalogram patterns of the right and left
sides of a normal subject were also observed showing
symmetry in motion of a normal subject whereas obvious
discrepancies of the scalogram patterns of the right and the left
sides of a pathological subject the asymmetry of motion in all
joints. This also means that features extracted from scalograms
can be used for testing symmetry/asymmetry of motion in
corresponding joints.
When comparing the scalogram of each joint of two
different pathological cases, the difference of the patterns
representing each pathological case was evident. It is clear by
visual inspection of the scalograms that individual with
different pathologies generate different signatures. A major
typical feature for spastic CP is the high values of low scale
components that are represented in the scalogram by dark spots.
Typical features for CP hemiplegia and asymmetric diplegia are
the high values of scale features at the beginning and end of the
gait cycle of the impaired side represented by two concave
bright regions at the sides of the scalogram and the asymmetry
of the scalograms for all joints. The existence of typical
features for different pathologies suggests the possibility of
classification based on CWT features.

Fig. 3. SOM/UMM (top panel) trained using high scale feature vectors of the
sagittal angles of the hip joint of both normal and pathological subject and a
contour and quiver diagram (bottom panel) showing the different classes and
clustering attraction regions.

The objective of the experiments carried out in this
phase was mainly to (1) examine the features that differentiate
normal from pathological cases and (2) investigate the
existence of diagnostic signatures for different pathologies. The
experiments are based only on the sagittal angles, incorporating
one or two joints combined together to investigate which joint
or combination of joints includes more salient features, and
considering one or both sides of the subjects, especially for
some pathological cases where there is severe asymmetry.
Features are used at two different scale levels, low and high
scale features.
The size of the feature vector for a single joint is 20
(time samples, a sample every 5% of the gait cycle) ×8 (scale
samples, out of 12) considering one level out of two (high and
Extensive experiments were conducted over the gait
database described in Section 2 to test the proposed approach.
In all experiments shown in the text, results are illustrated
by two plots: (1) a map obtained by applying UMM algorithm
to show the different clusters (shown in dark color) separated
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
by the borders (in bright color). The vertical axis in the UMM
plot represents the average distance between each node and its
neighborhood nodes. The threshold set to discriminate the
different clusters depends on the UMM values for every
experiment. (2) A quiver and a contour diagram of the map
showing the direction of attraction for the different regions.
Both plots are visualisation tools and are used to set the
borders of the different clusters.
Due to the inherent ability of abstraction and self
organisation, we expect to extract from the trained SOMs the
significant features of the different classes. The evaluation of
the classifier was performed using leave-one-out validation
method on the training data set and using an independent test
data set. In the leave-one-out method, one sample is removed
from the training data set of size N samples and training is
performed using N − 1 samples and the excluded sample is used
for validation. This is repeated N times and classification
performance is estimated over all N times. The independent
data set (unseen by the classifier in the training phase) is used
after training and validation of the map for testing.
Classification performance is estimated as the number of
misclassified samples over all the number of samples. Kappa
coefficient [60] is estimated to assess the agreement above and
beyond chance of classification.

3.1. Differences between normal and pathological subjects

In order to demonstrate the effectiveness of our proposed
approach, we carried out a set of experiments in which we
used a data set of 56 subjects including subjects with no
disabilities in two different age ranges (20–35 and 55–70 years)
and pathologies including CP (diplegics) and poliomyelitis
cases. Hip and knee feature vectors are used separately to train
SOMs. Data sets were split into two sets of training (40
subjects) and testing (16 subjects).
Fig. 3 shows an example of a map trained with high scale
CWT of hip joint feature vectors after applying UMM to
visualise the different classes. Hip high scale features showed
best results. Classification recognition rate for the training set
using leave-one-out validation was 92.5 ± 5% (Kappa = 0.94)
and for the independent test set 81.25% (Kappa = 0.9). The
SOM successfully discriminates normal from pathological
subjects. Furthermore, it recognises the two sets of age ranges
separately as well as the different pathological cases based on
the global information (high scale) of the hip joint. The quiver
diagram shows the direction of attraction for each class of the

3.2. Differences between different pathologies

One technical difficulty of the pathological cases provided
is the uniqueness (esp. CP cases) of almost each case, in
addition to the complexity of the impairment itself affecting
more than one joint as well as the coordination of the overall
motion. However, clinicians are sometimes concerned that
patients with CP are incorrectly diagnosed as hemiplegic when
they are in fact diplegic, which consequently affects their

Fig.4. SOM/UMM (top panel) trained using high scale feature vectors of the
sagittal angles of combining right and left hip joints of CP pathological subjects
and a contour and quiver diagram (bottom panel) showing the different classes
and clustering attraction regions.

The objective of this set of experiments is to investigate
diagnostic signatures for different pathologies using the
proposed algorithm in Section 2.3 for feature extraction and
classification. For this set of experiments involving
pathological cases only, the same procedure of using leave-one-
out cross validation was used for training and validation and an
independent data set was used for testing.
Fig. 4 shows the results of classification for subjects with
symmetrical diplegias, left and right asymmetrical diplegias and
left and right hemiplegias. The map was trained with the high
scale features of the hip joint combined together.
The map was self-organised as follows: right
asymmetrical diplegias and right hemiplegias clustered
together, and so did the left asymmetrical diplegias and left
hemiplegias while the symmetrical diplegias grouped between
these clusters pulled by their attraction regions in different
Classification recognition rate using leave-one-out for the
training data set 91 ± 9% (Kappa = 0.88) and for the test set
70% (Kappa = 0.86). We analysed the results and compared the
misclassifications to the clinicians initial diagnosis. These cases
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
were referred to the clinicians for feedback. Table 1 shows the
results of three unexpected results visualised in the map of Fig.
4 when testing it and the clinicians interpretations.

3.3. Discussion

We have carried out a number of experiments to verify
our proposed algorithm for feature extraction and classification
of gait signatures. The classifier was able to learn and correctly
classify almost all samples of the training data set. Good
recognition rates were achieved for testing data sets that were
not included in training for a range of experiments. The
classifier was successful in correctly classifying pathological
cases which clinicians, due to the complexity of the
impairment, have difficulty in accurately diagnosing. A
limitation of SOMs as well as other projection techniques is
that the reduction of the dimensionality involves distortions
within the map. This might be the reason for some of the
misclassifications of the SOM classifier. One suggestion by
Ref. [61] is an algorithm called SPINNE where colored graphs
are superimposed onto the 2D plots to graphically localize the
distortions of the projected data. Applying this algorithm is part
of the future work sought for this phase.
The experiments verified that the set of high scale features
extracted using CWT discriminates between (1) normal and
pathological cases, (2) different pathologies and (3) different
groups of CP. However, in general, it was difficult to find
consistency in clustering using low scale features due to the
wide variations of walks and the high noise level in high
The results achieved support our claims that (1) the
spatiotemporal analysis performed has maintained the temporal
dynamics of the motion trajectories and provided (at least) a
similar diagnosis to that of the experts, (2) the classifier was
trained only for motion in the sagittal plane and yet resulted in a
similar diagnosis to that of the experts which is based on the
temporal trajectories in all three planes of motion, at least at a
general level of classification. This supports our claim that
there is redundant information in the plots which are
conventionally used by the clinicians for diagnosis, (3) the
proposed classifier permits the display of similar patterns and
hence the comparison of cases is made a more interesting and
simpler task rather than comparing large number of plots, (4)
the classifier demonstrates potential as being a method for
clinical gait analysis based on the spectra of the motion
trajectories and (5) the spatio-temporal characteristics of motion
trajectories are potentially a good candidate to extract
diagnostic signatures from gait data.

In this study, we have investigated the existence of
diagnostic signatures based on kinematics gait data for normal
and pathological walking.
The work described a method of quantifying generic
features of the joint angles of the lower extremities of human
subjects in the sagittal plane. The idea is to extract salient
diagnostic signatures from hip, knee and ankle joints to
characterize normal and pathological walking. The algorithm is
based on transforming the trajectories of the flexion/extension
of hip and knee and dorsi/plantar flexion of the ankle joints of
subjects using the continuous wavelet transform to represent a
feature vector which is then fed to a self-organising map (SOM)
for clustering. SOM offers a convenient visualisation tool and
one can easily see the different clusters after training the map.
The clusters were then labelled using the training data set and
tested with an independent data set.
The algorithm exhibited its ability to detect and
distinguish between normal and pathological subjects, males
and females, different age ranges, different pathologies and
different categories within a specific pathology (CP).
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. VII, No. II, February, 2010
The procedure correctly classified some difficult
pathological cases which were initially misclassified by
specialists. This demonstrated its potential as a method of gait
analysis and automatic diagnostic signature extraction.


[1] M. Whittle, Gait Analysis: An Introduction, Butterworth-Heinemann,
London, 2001.
[2] N. Rosenbaum, A World History of Photography, Abbeville Press, New
York, 1989.
[3] E. Muybridge, Animals in Motion: An Electro-Photographic Investigation
of Consecutive Phases of Muscular Actions, Chapman & Hall, London,
[4] Centre Nationale d’Art Moderne, E-J Marey 1830/1904: La Photographie
Du Mouvement Paris Centre Georges Pompidou, Musee national d’art
moderne, Paris, 1977.
[5] E. Marey, Movement, William Heineman, London, 1895, reprinted 1972.
[6] W. Braune, O. Fischer, Der Gang Des Menschen/The Human Gait,
(translated ed.), Springer, Berlin, 1904.
[7] D. Sutherland, Gait Disorders in Childhood and Adolescence, Williams &
Wilkins, Baltimore, London, 1984.
[8] M.O. Jarett, A Television/Computer System for Human Locomotion
Analysis, Ph.D. Thesis, University of Strathclyde, Glasgow, Scotland 1976.
[9] M. O’Malley, D.A.M. de Paor, Kinematic analysis of human walking gait
using digital image processing, Med. Biol. Comput. 31 (1993) 392–398.
[10] D. Sutherland, J. Hagy, Measurement of gait movement from motion
picture film, J. Bone Joint Surg. 54A (1972) 787–797.
[11] J.R. Gage, Gait Analysis in Cerebral Palsy, McKeith Press, London, 1991.
[12] G. Johansson, Visual perception of biological motion and a model for its
analysis, Percept. Psycophys. 14 (1973) 210–211.
[13] G. Johansson, Visual motion perception, Sci. Am. 232 (1975) 76–88.
[14] J.E. Cutting, L. Kozlowski, Recognising friends by their walk: gait
perception without familiarity cues, Bull. Psychonometric Soc. 9 (5) (1997)
[15] J.E. Cutting, L. Kozlowski, Recognising the sex of a walker from dynamic
point-light displays, Percept. Psychophys. 21 (1997) 575–580.
[16] J.K. Aggarwal, Q. Cai, Human motion analysis: a review, Computer
Vision Image Understanding 73 (1999) 428–440.
[17] D.C. Hogg, Model-based vision: a program to see a walking person, Image
Vision Comput. 1 (1983) 5–19.
[18] A. Bobick, J. Davis, The recognition of human movement using temporal
templates, IEEE Trans. Pattern Anal. Mach. Intell. 23 (2001) 257–267.
[19] R. Cutler, L. Davis, Robust real-time periodic motion detection, analysis
and applications, IEEE Trans. Pattern Anal. Mach. Intell. 22 (2000) 781–
[20] I. Laptev, Local spatio-temporal image features for