Communications in Computer and Information Science
88
Filip Zavoral Jakub Yaghob Pit Pichappan Eyas El-Qawasmeh (Eds.)
Networked Digital Technologies Second International Conference, NDT 2010 Prague, Czech Republic, July 7-9, 2010 Proceedings, Part II
13
Volume Editors Filip Zavoral Charles University Prague, Czech Republic E-mail:
[email protected] Jakub Yaghob Charles University Prague, Czech Republic E-mail:
[email protected] Pit Pichappan Al Imam University Riyadh, Saudi Arabia E-mail:
[email protected] Eyas El-Qawasmeh Jordan University of Science and Technology Irbid, Jordan E-mail:
[email protected] Library of Congress Control Number: Applied for CR Subject Classification (1998): H.4, C.2, H.3, I.2, D.2, H.5 ISSN ISBN-10 ISBN-13
1865-0929 3-642-14305-9 Springer Berlin Heidelberg New York 978-3-642-14305-2 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. springer.com © Springer-Verlag Berlin Heidelberg 2010 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper 06/3180 543210
Message from the Chairs
The Second International Conference on ‘Networked Digital Technologies’ (NDT2010)––co-sponsored by Springer––was organized and hosted by the Charles University in Prague, Czech Republic, during July 7–9, 2010 in association with the Digital Information Research Foundation, India. NDT2010 was planned as a major event in the computer and information sciences and served as a forum for scientists and engineers to meet and present their latest research results, ideas, and papers in the diverse areas of Web and Internet technologies, computer science, and information technology. This scientific conference included guest lectures and the presentation of 85 research papers in the technical session. This meeting was a great opportunity to exchange knowledge and experience for all the participants who joined us from all over the world and to discuss new ideas in the area of Web applications. We are grateful to the Charles University in Prague for hosting this conference. We use this occasion to express our thanks to the Technical Committee and to all the external reviewers. We are grateful to Springer for co-sponsoring the event. Finally, we would like to thank all the participants and sponsors.
May 2010
Filip Zavoral Mark Wachowiak Jakub Yaghob Veli Hakkoymaz
Preface
On behalf of the NDT 2010 conference, the Program Committee and Charles University in Prague, Czech Republic, we welcome you to the proceedings of the Second International Conference on ‘Networked Digital Technologies’ (NDT 2010). The NDT 2010 conference explored new advances in digital and Web technology applications. It brought together researchers from various areas of computer and information sciences who addressed both theoretical and applied aspects of Web technology and Internet applications. We hope that the discussions and exchange of ideas that took place will contribute to advancements in the technology in the near future. The conference received 216 papers, out of which 85 were accepted, resulting in an acceptance rate of 39%. These accepted papers are authored by researchers from 34 countries covering many significant areas of Web applications. Each paper was evaluated by a minimum of two reviewers. Finally, we believe that the proceedings document the best research in the studied areas. We express our thanks to the Charles University in Prague, Springer, the authors and the organizers of the conference.
May 2010
Filip Zavoral Mark Wachowiak Jakub Yaghob Veli Hakkoymaz
Organization
General Chairs Filip Zavoral Mark Wachowiak
Charles University, Czech Republic Nipissing University, Canada
Program Chairs Jakub Yaghob Veli Hakkoymaz
Charles University, Czech Republic Fatih University, Turkey
Program Co-chairs Noraziah Ahmad Yoshiro Imai Eyas El-Qawasmeh
University Malaysia Pahang, Malaysia Kagwa University, Japan Jordan University of Science and Technology, Jordan
Publicity Chair Maytham Safar
Kuwait University, Kuwait
Proceedings Chair Pit Pichappan
Al Imam University, Saudi Arabia
Table of Contents – Part II
Green Computing and Health Care Informatics Lot-Size Planning with Non-linear Cost Functions Supporting Environmental Sustainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markus Heck and Guenter Schmidt Electronic Health Record (Dossier M´edical Personnel) as a Major Tool to Improve Healthcare in France: An Approach through the Situational Semiotic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Christian Bourret Data Mining Technique for Medical Diagnosis Using a New Smooth Support Vector Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Santi Wulan Purnami, Jasni Mohamad Zain, and Abdullah Embong
1
7
15
Rule Induction as a Technique in Genomic Analysis for Cancer . . . . . . . . M. Adib, Md. Mosharrof Hossain Sarker, S. Syed Ahmed, Ezendu Ariwa, and Fuzail Siddiqui
28
Clustering Analysis for Vasculitic Diseases . . . . . . . . . . . . . . . . . . . . . . . . . . Pınar Yıldırım, Cınar ¸ Ceken, ¸ Ka˘gan Ceken, ¸ and Mehmet R. Tolun
36
Analysis on the Characteristics of Electroencephalogram (EEG) and the Duration of Acupuncture Efficacy, Depending on the Stimulation at the Acupuncture Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jeong-Hoon Shin and Dae-Hyeon Park
46
Web Services Architecture, Modeling and Design Open Service Platform Based Context-Aware Services across Home . . . . . Jin-Neng Wu and Yu-Chang Chao
60
Web Services Testing Approaches: A Survey and a Classification . . . . . . . Mohamad I. Ladan
70
Benefits of Semantics on Web Service Composition from a Complex Network Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chantal Cherifi, Vincent Labatut, and Jean-Fran¸cois Santucci
80
Development Tool for End-to-End QoS Sensitive Frameworks and Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bogdan Iancu, Adrian Peculea, and Vasile Teodor Dadarlat
91
XII
Table of Contents – Part II
Learning-Based Call Admission Control Framework for QoS Management in Heterogeneous Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abul Bashar, Gerard Parr, Sally McClean, Bryan Scotney, and Detlef Nauck
99
A Multi-Objective Particle Swarm Optimization for Web Service Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hamed Rezaie, Naser NematBaksh, and Farhad Mardukhi
112
A Comparison between EJB and COM+ Business Components, Case Study: Response Time and Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abedulhaq Abu-Kamel, Raid Zaghal, and Osama Hamed
123
Integration of Similar Location Based Services Proposed by Several Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Roula Karam, Franck Favetta, Rima Kilany, and Robert Laurini
136
Distributed and Parallel Computing A Central Management for Reducing Volumes of Data Harvested from Distributed Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Min-hwan Ok and Duck-shin Park A Trial Evaluation of Distributed Campus Network Environment Based on Comparison of Theoretical and Real Performance of Packet Flow Amount Using Video Transmission System . . . . . . . . . . . . . . . . . . . . . . . . . . Yoshiro Imai, Yukio Hori, Kazuyoshi Kawauchi, Mayumi Kondo, Toshikazu Sone, Yoshitaka Seno, Nobue Kawada, Shinobu Tada, Miho Yokoyama, and Rieko Miki Locality Preserving Scheme of Text Databases Representative in Distributed Information Retrieval Systems . . . . . . . . . . . . . . . . . . . . . . . . . . Mohammad Hassan and Yaser Hasan
145
152
162
Neural Networks Solving the Problem of Flow Shop Scheduling by Neural Network Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saeed Rouhani, Mohammad Fathian, Mostafa Jafari, and Peyman Akhavan Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Khaled E. Al-Qawasmi, Adnan M. Al-Smadi, and Alaa Al-Hamami
172
184
Table of Contents – Part II
Efficient Substructure Preserving MOR Using Real-Time Temporal Supervised Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Othman M.K. Alsmadi, Zaer. S. Abo-Hammour, and Adnan M. Al-Smadi
XIII
193
E-Learning Dynamic Properties of Knowledge Networks and Student Profile in e-Learning Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radoslav Fasuga, Libor Holub, and Michal Radeck´y
203
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gianni Fenu and Massimiliano Picconi
215
Services Recommendation in Systems Based on Service Oriented Architecture by Applying Modified ROCK Algorithm . . . . . . . . . . . . . . . . . Agnieszka Prusiewicz and Maciej Zieba
226
Web Mining Mining Website Log to Improve Its Findability . . . . . . . . . . . . . . . . . . . . . . Jiann-Cherng Shieh
239
Mining Relations between Wikipedia Categories . . . . . . . . . . . . . . . . . . . . . Julian Szyma´ nski
248
Web Document Classification by Keywords Using Random Forests . . . . . Myungsook Klassen and Nikhila Paturi
256
Wireless Networks Minimizing the Effects of Multi-rate WLANs by Adapting Link Adaptation and Call Admission Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . M. Fatih T¨ uys¨ uz and Hacı A. Mantar Marmot: A Novel Low-Power Platform for WSNs . . . . . . . . . . . . . . . . . . . . P´eter V¨ olgyesi, J´ anos Sallai, S´ andor Szilv´ asi, Prabal Dutta, and ´ Akos L´edeczi Steerable Distributed Large-Aperture Audio Array Using Low-Power Wireless Acoustic Sensor Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ J´ anos Sallai, Akos L´edeczi, Xenofon Koutsoukos, and P´eter Volgyesi An Experimental Wireless Platform for Acoustic Source Localization . . . S´ andor Szilv´ asi and P´eter V¨ olgyesi
262
274
281
289
XIV
Table of Contents – Part II
A Simulation Discipline in OpenUP to Satisfy Wireless Sensor Networks Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gian Ricardo Berkenbrock and Celso Massaki Hirata
295
Architecture for Interoperability between Instant Messaging and Presence Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Patricia E. Figueroa and Jes´ us A. P´erez
306
An Approach towards Time Synchronization Based Secure Protocol for Wireless Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arun Kumar Tripathi and Ajay Agarwal
321
Intelligent Agent Based Systems, Cognitive and Reactive AI Systems Agent Behavior Diagram for Intelligent Agents . . . . . . . . . . . . . . . . . . . . . . Michal Radeck´ y, Petr Gajdoˇs, and Radoslav Fasuga Multi-agent System Environment Based on Repeated Local Effect Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kazuho Igoshi, Takao Miura, and Isamu Shioya
333
342
Hierarchical Model of Trust in Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jan Samek and Frantisek Zboril
356
Multi-Agent Linear Array Sensors Modeling . . . . . . . . . . . . . . . . . . . . . . . . . Benadda Belkacem and Fethi Tarik Bendimerad
366
A Framework for Intelligent Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diana F. Adamatti
376
Agent-Based Digital Networking in Furniture Manufacturing Enterprises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anthony Karageorgos, Dimitra Avramouli, Christos Tjortjis, and Georgios Ntalos Detecting Malwares in Honeynet Using a Multi-agent System . . . . . . . . . . Michal Szczepanik and Ireneusz J´ o´zwiak Reputation Model with Forgiveness Factor for Semi-competitive E-Business Agent Societies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radu Burete, Amelia B˘ adic˘ a, and Costin B˘ adic˘ a RoadMic: Road Surface Monitoring Using Vehicular Sensor Networks with Microphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Artis Mednis, Girts Strazdins, Martins Liepins, Andris Gordjusins, and Leo Selavo
381
396
402
417
Table of Contents – Part II
Model Generated Interface for Modeling and Applying Decisional Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas Tamisier, Yoann Didry, Olivier Parisot, J´erˆ ome Wax, and Fernand Feltz
XV
430
Information and Data Management Directed Graph Representation and Traversal in Relational Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mohammad Beydoun and Ramzi A. Haraty
443
Transferring Clinical Information between Heterogeneous Hospital Database Systems in P2P Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Meghdad Mirabi, Hamidah Ibrahim, and Leila Fathi
456
Lowest Data Replication Storage of Binary Vote Assignment Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noraziah Ahmad, Ainul Azila Che Fauzi, Roslina Mohd. Sidek, Noriyani Mat Zin, and Abul Hashem Beg The Location Path to Hell Is Paved With Unoptimized Axes: XPath Implementation Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Martin Kruliˇs and Jakub Yaghob Neighbour Replica Transaction Failure Framework in Data Grid . . . . . . . Noraziah Ahmad, Noriyani Mat Zin, Roslina Mohd. Sidek, Mohammad Fadel Jamil Klaib, and Mohd. Helmy Abd Wahab Mobile Agent-Based Digital Rights Management Scheme Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bartlomiej Zi´ olkowski and Janusz Stoklosa A Toolkit for Application Deployment on the Grid . . . . . . . . . . . . . . . . . . . Jie Tao and Holger Marten A Parallel Tree Based Strategy for Test Data Generation and Cost Calculation for Pairwise Combinatorial Interaction Testing . . . . . . . . . . . . Mohammad Fadel Jamil Klaib, Sangeetha Muthuraman, Noraziah Ahmad, and Roslina Mohd Sidek Integrity Check for Printed Binary Document Images . . . . . . . . . . . . . . . . . Dave Elliman, Peter Blanchfield, and Ammar Albakaa FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monica Vladoiu, J¨ org Cassens, and Zoran Constantinescu
466
474
488
496
503
509
523
533
XVI
Table of Contents – Part II
Application of Genetic Algorithm in Automatic Software Testing . . . . . . . Faezeh Sadat Babamir, Alireza Hatamizadeh, Seyed Mehrdad Babamir, Mehdi Dabbaghian, and Ali Norouzi Reliability Optimization of Complex Systems Using Genetic Algorithm under Criticality Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Samer Hamed, Belal Ayyoub, and Nawal Al-Zabin A Novel Technique for ARMA Modelling with Order and Parameter Estimation Using Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zaer. S. Abo-Hammour, Othman M.K. Alsmadi, and Adnan M. Al-Smadi
545
553
564
Networks Metadata Management in P2P over Mobile Ad Hoc Network . . . . . . . . . . Pekka Kaipio and Jouni Markkula
577
Prediction of Network Delay with Variable Standard Deviation, Skewness and Kurtosis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renads Safins
587
A New Computational Model to Evaluate the Quality of Perceptual Voice Using E-Model in VOIP Communications . . . . . . . . . . . . . . . . . . . . . . Meysam Alavi and Hooman Nikmehr
594
Modeling and Verification of RBAC Security Policies Using Colored Petri Nets and CPN-Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laid Kahloul, Karim Djouani, Walid Tfaili, Allaoua Chaoui, and Yacine Amirat GSM-Based Notification System for Electronic Pigeon Hole . . . . . . . . . . . . Mohd Helmy Abd Wahab, Ahmad Al’ Hafiz Riman, Herdawatie Abdul Kadir, Rahmat Sanudin, Ayob Johari, Roslina Mohd Sidek, and Noraziah Ahmad An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hyunsook Kim New Secure Communication Protocols for Mobile E-Health System . . . . . M. Aramudhan and K. Mohan Determination of IDS Agent Nodes Based on Three-Tiered Key Management Framework for MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marjan Kuchaki Rafsanjani and Arsham Borumand Saeid On Wind Power Station Production Prediction . . . . . . . . . . . . . . . . . . . . . . Jiˇr´ı Dvorsk´ y, Stanislav Miˇsa ´k, Luk´ aˇs Prokop, and Tadeusz Sikora
604
619
631 639
648 656
Table of Contents – Part II
Packet Count Based Routing Mechanism – A Load Balancing Approach in MANETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bollam Nagarjun, L. Sathish, S. Santhosh Chaitanya, Md. Tanvir Ansari, and Shashikala Tapaswi A Comparative Study of Statistical Feature Reduction Methods for Arabic Text Categorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fouzi Harrag, Eyas El-Qawasmeh, and Abdul Malik S. Al-Salman A Scalable Framework for Serializable XQuery . . . . . . . . . . . . . . . . . . . . . . . Sebastian B¨ achle and Theo H¨ arder Artificial Neural Network Based Technique Compare with “GA” for Web Page Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ali Alarabi and Kamta Nath Mishra
XVII
669
676 683
699
Generating XForms from an XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . J´ an Kasarda, Martin Neˇcask´ y, and Tom´ aˇs Bartoˇs
706
Semantic Information Retrieval on Peer-to-Peer Networks . . . . . . . . . . . . . Mehmet Ali Ert¨ urk, A. Halim Zaim, and Selim Akyoku¸s
715
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
727
Table of Contents – Part I
Information and Data Management A New Approach for Fingerprint Matching Using Logic Synthesis . . . . . . Fatih Ba¸sc¸ift¸ci and Celal Karaca
1
Extracting Fuzzy Rules to Classify Motor Imagery Based on a Neural Network with Weighted Fuzzy Membership Functions . . . . . . . . . . . . . . . . . Sang-Hong Lee, Joon S. Lim, and Dong-Kun Shin
7
Distributed Data-Mining in the LISp-Miner System Using Techila Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ unek and Teppo Tammisto Milan Sim˚
15
Non-negative Matrix Factorization on GPU . . . . . . . . . . . . . . . . . . . . . . . . . Jan Platoˇs, Petr Gajdoˇs, Pavel Kr¨ omer, and V´ aclav Sn´ aˇsel
21
Chatbot Enhanced Algorithms: A Case Study on Implementation in Bahasa Malaysia Human Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbas Saliimi Lokman and Jasni Mohamad Zain
31
Handwritten Digits Recognition Based on Swarm Optimization Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salima Nebti and Abdellah Boukerram
45
A Framework of Dashboard System for Higher Education Using Graph-Based Visualization Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wan Maseri Binti Wan Mohd, Abdullah Embong, and Jasni Mohd Zain An Efficient Indexing and Compressing Scheme for XML Query Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-En Liao, Wen-Chiao Hsu, and Yu-Lin Chen
55
70
Development of a New Compression Scheme . . . . . . . . . . . . . . . . . . . . . . . . . Eyas El-Qawasmeh, Ahmed Mansour, and Mohammad Al-Towiq
85
Compression of Layered Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bruno Carpentieri
91
Classifier Hypothesis Generation Using Visual Analysis Methods . . . . . . . Christin Seifert, Vedran Sabol, and Michael Granitzer
98
Exploiting Punctuations along with Sliding Windows to Optimize STREAM Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lokesh Tiwari and Hamid Shahnasser
112
XX
Table of Contents – Part I
A Framework for In-House Prediction Markets . . . . . . . . . . . . . . . . . . . . . . . Miguel Velacso and Nenad Jukic Road Region Extraction Based on Motion Information and Seeded Region Growing for Foreground Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . Hongwu Qin, Jasni Mohamad Zain, Xiuqin Ma, and Tao Hai Process Mining Approach to Promote Business Intelligence in Iranian Detectives’ Police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mehdi Ghazanfari, Mohammad Fathian, Mostafa Jafari, and Saeed Rouhani Copyright Protection of Relational Database Systems . . . . . . . . . . . . . . . . . Ali Al-Haj, Ashraf Odeh, and Shadi Masadeh Resolving Semantic Interoperability Challenges in XML Schema Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chiw Yi Lee, Hamidah Ibrahim, Mohamed Othman, and Razali Yaakob Some Results in Bipolar-Valued Fuzzy BCK/BCI-Algebras . . . . . . . . . . . A. Borumand Saeid and M. Kuchaki Rafsanjani
120
128
135
143
151
163
Security The Effect of Attentiveness on Information Security . . . . . . . . . . . . . . . . . . Adeeb M. Alhomoud
169
A Secured Mobile Payment Model for Developing Markets . . . . . . . . . . . . Bossi Masamila, Fredrick Mtenzi, Jafari Said, and Rose Tinabo
175
Security Mapping to Enhance Matching Fine-Grained Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monia Ben Brahim, Maher Ben Jemaa, and Mohamed Jmaiel
183
Implementation and Evaluation of Fast Parallel Packet Filters on a Cell Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yoshiyuki Yamashita and Masato Tsuru
197
On the Algebraic Expression of the AES S-Box Like S-Boxes . . . . . . . . . . M. Tolga Sakallı, Bora Aslan, Ercan Bulu¸s, Andac S ¸ ahin Mesut, Fatma B¨ uy¨ uksara¸co˘glu, and Osman Karaahmeto˘glu
213
Student’s Polls for Teaching Quality Evaluation as an Electronic Voting System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marcin Kucharczyk
228
An Improved Estimation of the RSA Quantum Breaking Success Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Piotr Zawadzki
234
Table of Contents – Part I
Mining Bluetooth Attacks in Smart Phones . . . . . . . . . . . . . . . . . . . . . . . . . Seyed Morteza Babamir, Reyhane Nowrouzi, and Hadi Naseri
XXI
241
Users’ Acceptance of Secure Biometrics Authentication System: Reliability and Validate of an Extended UTAUT Model . . . . . . . . . . . . . . . Fahad AL-Harby, Rami Qahwaji, and Mumtaz Kamala
254
Two Dimensional Labelled Security Model with Partially Trusted Subjects and Its Enforcement Using SELinux DTE Mechanism . . . . . . . . Jaroslav Jan´ aˇcek
259
A Roaming-Based Anonymous Authentication Scheme in Multi-domains Vehicular Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chih-Hung Wang and Po-Chin Lee
273
Human Authentication Using FingerIris Algorithm Based on Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ahmed B. Elmadani
288
Aerial Threat Perception Architecture Using Data Mining . . . . . . . . . . . . . M. Anwar-ul-Haq, Asad Waqar Malik, and Shoab A. Khan
297
Payload Encoding for Secure Extraction Process in Multiple Frequency Domain Steganography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Raoof Smko, Abdelsalam Almarimi, and K. Negrat
306
An Implementation of Digital Image Watermarking Based on Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hai Tao, Jasni Mohamad Zain, Ahmed N. Abd Alla, and Qin Hongwu
314
Genetic Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abdelwadood Mesleh, Bilal Zahran, Anwar Al-Abadi, Samer Hamed, Nawal Al-Zabin, Heba Bargouthi, and Iman Maharmeh
321
Multiple Layer Reversible Images Watermarking Using Enhancement of Difference Expansion Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shahidan M. Abdullah and Azizah A. Manaf
333
Modeling and Analysis of Reconfigurable Systems Using Flexible Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laid Kahloul, Allaoua Chaoui, and Karim Djouani
343
Using Privilege Chain for Access Control and Trustiness of Resources in Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jong P. Yoon and Z. Chen
358
XXII
Table of Contents – Part I
Social Networks Modeling of Trust to Provide Users Assisted Secure Actions in Online Communities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lenuta Alboaie and Mircea-F. Vaida
369
A Collaborative Social Decision Model for Digital Content Credibility Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yuan-Chu Hwang
383
Improving Similarity-Based Methods for Information Propagation on Social Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Francesco Buccafurri and Gianluca Lax
391
Approaches to Privacy Protection in Location-Based Services . . . . . . . . . . Anna Rohunen and Jouni Markkula Social Media as Means for Company Communication and Service Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elina Annanper¨ a and Jouni Markkula A Problem-Centered Collaborative Tutoring System for Teachers Lifelong Learning: Knowledge Sharing to Solve Practical Professional Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thierry Condamines Bridging the Gap between Web 2.0 Technologies and Social Computing Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Giorgos Kormaris and Marco Spruit
402
410
420
430
Ontology Using Similarity Values for Ontology Matching in the Grid . . . . . . . . . . . . Axel Tenschert Rapid Creation and Deployment of Communities of Interest Using the CMap Ontology Editor and the KAoS Policy Services Framework . . . . . . Andrzej Uszok, Jeffrey M. Bradshaw, Tom Eskridge, and James Hanna
444
451
Incorporating Semantics into an Intelligent Clothes Search System Using Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ching-I Cheng, Damon Shing-Min Liu, and Li-Ting Chen
467
SPPODL: Semantic Peer Profile Based on Ontology and Description Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Younes Djaghloul and Zizette Boufaida
473
Table of Contents – Part I
Ontology Based Tracking and Propagation of Provenance Metadata . . . . Miroslav Vacura and Vojtˇech Sv´ atek
XXIII
489
Real Time Biometric Solutions for Networked Society A Real-Time In-Air Signature Biometric Technique Using a Mobile Device Embedding an Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ J. Guerra Casanova, C. S´ anchez Avila, A. de Santos Sierra, G. Bailador del Pozo, and V. Jara Vera On-Demand Biometric Authentication of Computer Users Using Brain Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isao Nakanishi and Chisei Miyamoto Encrypting Fingerprint Minutiae Templates by Random Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bian Yang, Davrondzhon Gafurov, Christoph Busch, and Patrick Bours
497
504
515
Web Applications Method for Countering Social Bookmarking Pollution using User Similarities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Takahiro Hatanaka and Hiroyuki Hisamatsu
523
A Human Readable Platform Independent Domain Specific Language for WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Balazs Simon and Balazs Goldschmidt
529
A Human Readable Platform Independent Domain Specific Language for BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Balazs Simon, Balazs Goldschmidt, and Karoly Kondorosi
537
Impact of the Multimedia Traffic Sources in a Network Node Using FIFO scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tatiana Annoni Pazeto, Renato Moraes Silva, and Shusaburo Motoyama
545
Assessing the LCC Websites Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saleh Alwahaishi and V´ aclav Sn´ aˇsel
556
Expediency Heuristic in University Conference Webpage . . . . . . . . . . . . . . Roslina Mohd Sidek, Noraziah Ahmad, Mohamad Fadel Jamil Klaib, and Mohd Helmy Abd Wahab
566
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
577
A Central Management for Reducing Volumes of Data Harvested from Distributed Sensor Networks Min-hwan Ok and Duck-shin Park Korea Railroad Research Institute 360-1 Woulam, Uiwang, Gyeonggi, Korea 437-757
[email protected] Abstract. Potential for large scale data monitoring through sensor networks has been realized where factors of interest are compared for extended durations over different geographical locations. Further reducing volumes of the relations is required when the data are harvested from sensor networks distributed in a region or a nation, and a central management of the data is appropriate for the regional or national coverage. Condensed data are congregated in a regional server, for the remote user collects data from an event observed by several source nodes out of a locality or a closed boundary. For the empirical case we conducted a practice with an implemented system in a subway station. Keywords: Sensor Network, Stream Data, Distributed Databases Application.
1 Overview Sensor networks deployed near human lives are operated for better habitation in many facilities. An organization could maintain a few sensor networks for some interests, and such organizations could be located across several regions. In that environment the sensor networks would require a central management of data in a regional or nationwide scale. Each sensor captures the attribute states of a certain physical phenomenon by time, and nowadays, many applications use the sensors that produce a series of one variable such as temperature, humidity, density or pressure. Since the volume of sensor data becomes enormous if they are harvested nationwide, those data do not seem accommodated in a few database systems, in the form of raw data. For central management of data harvested from hundreds of sensor networks, a condensing method is necessary to reduce the amount of data. By condensing the data according to semantics shared among servers, the reduced amount of data would be manipulated to be transmitted and stored for central management. The underlying database is a specific database including TinyDB, and COUGAR[1], which are the common database management systems for sensor networks. An early system designed to provide a worldwide sensor database system is IrisNet[2]. It supports distributed XML processing over a worldwide collection of multimedia sensor nodes, and addresses a number of fault-tolerance and resource-sharing issues[3]. an XML extension technique called Stream Feed[4] has addressed the sensor data-stream and evaluated their technique against the large streaming data object. As the sampling interval decreases the number of clients reduced, and as the network F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 145–151, 2010. © Springer-Verlag Berlin Heidelberg 2010
146
M.-h. Ok and D.-s. Park
is deeper the latency increased. They are natural results but a big obstacle in creating an application of sensor database with a nationwide coverage.
2 Reduced Volumes of Relations in Concept The conventional data flow model in a sensor network is a multiple-source single-sink model. This follows from the typical data querying applications where a remote user collect data from an event observed by several source nodes in a locality or a closed boundary, which may be referred to as the target sector. The query is initiated by the sink to the target sectors and is flooded within the boundary of the entire target sectors. As the sensor nodes is equipped with a little memory not enough to record data captured for a long time, commonly the sink node gather the data from sensor nodes for past references. A sensor network server has a sensor database of relations composed of data gathered from many kinds of senor nodes which are placed at multiple positions. For a sensor node of one kind, the data is not small if gathered for a long time, i.e., a month and there are several kinds of sensor nodes for habitat concern, for example, temperature, humidity, CO, CO2, and more. Potential for large scale data monitoring through sensor networks has been realized where factors of interest are compared for extended durations over different geographical locations. Thus in the case an organization maintains a few sensor networks,
500 450 400 350 300 250 200 150 100 50 0
0:05:39
9:37:41
11:38:04
14:38:42
17:09:21
18:09:27
23:10:42
Fig. 1. Captured and stored values by a CO2 sensor(Top) and data in a reduced size(Bottom)
A Central Management for Reducing Volumes of Data Harvested
147
the sensor database of the organization should contain data of multiple kinds of sensor nodes which each of them could be placed at multiple positions. In the case there are multiple such organizations spread in a region, the volume of relations should be huge in the sensor database of the region constituted with organization databases. Therefore reducing volumes of the relations is required when the data are harvested from sensor networks distributed in a region or a nation, and a central management of the data is appropriate for the regional or national coverage. In reducing the volume, some information may be lost except the useful ones. Exploiting semantics of data should be an adequate method. Let’s consider an example that a certain physical phenomenon should be attended, an air temperature higher than the 50 degrees centigrade in the rooms of the buildings in a region. In this example the data produced in the region should be huge and if a database of the servers covered the region, it would be easily overwhelmed. In this example, it is normal temperature below 50 degrees centigrade, but abnormal temperature over 50 degrees centigrade. It is no more meaningful for the regional fire brigades what high the temperature over 50 degrees centigrade is. As soon as the fire brigades are notified and they should turn out. Therefore whether the air temperature is over or below 50 could be the only interest of the regional command and then the central database may merely stores whether over-50 or not, for the regional command of the fire brigades. For the empirical case we conducted a practice with an implemented system in a subway station. The sensor networks are deployed on two floors, at the platform and
1.4 1.2 1 0.8 0.6 0.4 0.2 0
92 :5 0: 0
83 :5 3: 0
15 :5 0: 1
75 :5 0: 2
21 :6 3: 2
21 :6 3: 3
91 :6 3: 3
22 :6 0: 4
63 :6 0: 5
74 :6 0: 6
00 :7 0: 7
31 :7 0: 8
03 :7 3: 8
63 :7 0: 9
14 :7 0: 01
01 :8 3: 11
61 :8 0: 21
31 :8 3: 21
52 :8 3: 31
13 :8 0: 41
6 :3 8 3 :4 1
9 :5 8 0 :5 1
9 :4 8 0 :6 1
7 :0 9 0 :7 1
3 :2 9 3 :7 1
0 :3 9 0 :8 1
7 :2 9 3 :8 1
2 :4 9 3 :9 1
8 :4 9 0 :0 2
7 :5 9 0 :1 2
9 :0 0 4 :1 2
7 :2 0 1 :3 2
Fig. 2. Captured and stored values by a Dust sensor(Top) and data in a reduced size(Bottom)
148
M.-h. Ok and D.-s. Park
140 120 100 80 60 40 20 0 0:05:41
23:10:38
Fig. 3. Captured and stored values by a CO sensor(Top) and data in a reduced size(Bottom)
at the waiting room of a subway station. To reduce the data generation rate and power consumption, the intervals between sensing and sleeping are preset by the kinds of sensor nodes. Sensor nodes are deployed and connected to a sensor network server through a micro gateway. Temperature and humidity are sensored under field-based monitoring. These sensors have their own batteries. Dust sensors and CO2 sensors are deployed at particular positions and they use external power due to their fast consumptions. Each kind of sensors transmits with Zigbee-based communication.
3 Composite Relations in an Empirical Case The physical phenomenon could be more easily detected by a combination of multiple kinds of sensors. There are various physical phenomena could be detected by sensors. In a habitat concern, a set of sensors are emplaced to detect those that should be early detected to be alarmed for fine livings. In an application of air-contamination monitoring in the subway stations, several factors are sensored including temperature, humidity, carbon monoxide(CO), carbon dioxide(CO2), dust(PM10), and smoke. Because of energy shortage, the sensors capture values between intervals, as shown in
A Central Management for Reducing Volumes of Data Harvested
149
Fig. 1. These values are captured at a subway station for a day. Common components for each sensor node are ATmega 128L, Chipcon CC2420, and SMA antenna. The sensor nodes with the specific sensor component require quick updates in monitoring, such as Smoke sensor, have external powers for short sampling intervals. An organizational server, Station Server, has raw data contained in its database. We call converting a value into one of separations to reduce volume condensing, at some resolution that continues maintaining its semantic meaning. Every a timeinterval, the values are condensed at respective resolutions and sent to a regional server. The resolutions of condensing are 2%(10/500) for CO2 values and 0.5%(7/1400) for Dust values, respectively. Further, there are 7 value changes at the resolution of condensing for CO2 thus only 7 tuples are sent to the regional server for this sensor. In Fig. 2, 32 value changes are at the resolution of condensing for Dust thus 32 tuples are sent. Capturing CO value and Smoke value are important in sensing the occasion of fire. In the Fig. 3 and 4, a couple of 1 tuple are sent at respective resolutions for CO and Smoke for the sensors. Due to their importance, the preset time-intervals are modified into the shorter ones by the sink node once a value change is detected. Those of relevant factors such as temperature are also modified.
1
0 0:05:42
23:10:40
Fig. 4. Captured and stored values by a Smoke sensor(Top) and data in a reduced size(Bottom)
150
M.-h. Ok and D.-s. Park
Fig. 5. Captured and stored values by a humidity sensor and a temperature sensor
Some factors may have the same sampling interval. In Fig. 5, the humidity is represented as the upper line and the temperature is represented as the lower line. They are gathered separately by the sink nodes but appear in one relation at the organizational server. The captured values are condensed at the same resolution, and become ones appropriate to join to composite relations. Two parameters should be common if two attributes are in one relation. The resolution of condensing should be the same for the first, and the sampling time should be the same for the second. The former is not necessarily the same between factors but could be converted within the resolution continues not losing its semantic meaning. However the latter is not suitable in the same ones, since an occurrence detection should not be prolonged on some specific factors including Smoke. This is one hard problem in joining for composite relations.
4 Summary The raw data is contained in the sensor database of an organization. They require a vast storage space for aggregate data of a month. Condensed data are congregated in a regional server, for the remote user collects data from events observed by several source nodes out of a locality or a closed boundary. It necessitates a central management of data harvested from distributed sensor networks by converting values but maintaining their semantic meanings. The reduced amount of data lessens transmissions over network, and should be also helpful in exchanging the condensed data. This work is not for a management of distributed databases but for a central management of data. The reducing rates are variable by condensing resolutions applicable however, many values are in the same separations at a resolutions thus those values are represented by one value. The reducing rate would be higher as the values of the factor changed with slower slopes. Over the half of habitat factors has such a property.
A Central Management for Reducing Volumes of Data Harvested
151
References 1. Henricksen, K., Robinson, R.: A Survey of Middleware for Sensor Networks: State-of-theArt and Future Directions. In: International Workshop on Middleware for Sensor Networks, pp. 60–65. ACM, New York (2006) 2. Campbell, J., Gibbons, P.B., Nath, S.: IrisNet: An Internet-Scale Architecture for Multimedia Sensors. In: Annual ACM International Conference on Multimedia, pp. 81–88. ACM, New York (2005) 3. Deshpande, A., Nath, S., Gibbons, P.B., Seshan, S.: Cache-and-query for wide area sensor databases. In: ACM SIGMOD International Conference, pp. 503–514. ACM, New York (2003) 4. Dickerson, R., Lu, J., Lu, J., Whitehouse, K.: Stream Feeds - An Abstraction for the World Wide Sensor Web. In: Floerkemeier, C., Langheinrich, M., Fleisch, E., Mattern, F., Sarma, S.E. (eds.) IOT 2008. LNCS, vol. 4952, pp. 360–375. Springer, Heidelberg (2008)
A Comparative Study of Statistical Feature Reduction Methods for Arabic Text Categorization Fouzi Harrag1, Eyas El-Qawasmeh2, and Abdul Malik S. Al-Salman3 1
Compt Sci Department, College of Engineering, Farhat ABBAS University, Setif, 19000, Algeria,
[email protected] 2 Software Engineering Dept., Jordan University of Science and Technology, Irbid, 22110, Jordan,
[email protected] 3 College of computer & Information Science, King Saud University, Riyadh, 11543, Saudi Arabia,
[email protected] Abstract. Feature reduction methods have been successfully applied to text categorization. In this paper, we perform a comparative study on three feature reduction methods for text categorization, including Document Frequency (DF), Term Frequency Inverse Document Frequency (TFIDF) and Latent Semantic Analyses (LSA). Our feature set is relatively large (since there are thousands of different terms in different texts files). We propose the use of the previous feature reduction methods as a preprocessor of Back-Propagation Neural Network (BPNN) to reduce the input data on training process. The experimental results on an Arabic data set demonstrate that among the three dimensionality reduction techniques proposed, TFIDF was found to be the most effective in reducing the dimensionality of the feature space. Keywords: Feature Reduction, Back-Propagation Neural Network, Arabic Text Categorization, DF, TFIDF, Latent Semantic Analyses.
1 Introduction An important component of Information Retrieval (IR) is the effectiveness of “text classification (TC)” or “automated text categorization” [8]. In TC, an initial dataset of pre-classified documents is partitioned into a training dataset and a test dataset that are subsequently used to construct and evaluate classifiers. Several methods have been used for text classification [8] such as: Support Vector Machine (SVM), KNearest Neighbor (KNN), Artificial Neural Networks, Naïve Bayes probabilistic Classifier, and Decision Trees. A common and often overwhelming characteristic of text data is its extremely high dimensionality. The high dimensionality posed an open F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 676–682, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Comparative Study of Statistical Feature Reduction Methods
677
challenge for classification algorithms [11]. Therefore, it becomes critical to apply effective dimensionality reduction techniques (DR), including feature selection and extraction. The goal of this paper is to present and compare results obtained against Arabic text collection using feature reduction techniques with Back-Propagation Neural Network (BPNN) algorithm. The remainder of this paper is organized as follows: Section 2 is a state of the art of feature reduction related works. The detail algorithm of Back-Propagation neural network is described in Section 3. Section 4 introduces the three used feature reduction techniques. Experiment results are given in Section 5 and Section 6 is reserved for conclusion.
2 Features Reduction: State of the Art Feature reduction is at least as important as the choice of the induction algorithm in text categorization. Accordingly, many studies to evaluate the feature reduction metrics have been done in recent years. Yang et. al. [12] evaluates five of the most popular feature selection metrics on the Reuters and Ohsumed datasets. In this study, KNN and LLSF are used as the classification algorithms instead of SVM. Only global policy is used and the metrics are evaluated in terms of precision. Few researchers have been working on Feature reduction for Arabic text categorization. Syiam et. al. [9] experimental results show that the suggested hybrid method of statistical and light stemmers is the most suitable stemming algorithm for Arabic language and gives generalization accuracy of about 98%. Mesleh [6] described a SVM based text classification system for Arabic language articles. This classifier uses CHI square method as a feature selection method. The system effectiveness for Arabic data set in term of F-measure is 88.11. Duwairi et. al. [1] present and compare three feature reduction techniques that were applied to Arabic text. The techniques include stemming, light stemming, and word clusters. Experiments results show that the light stemmed vectors superseded the other three representations in terms of classification accuracy. Harrag et. el [3] used the Singular Value Decomposition (SVD) to select the most relevant features for the classification. The experimental results show that ANN model using SVD achieves 88.33% which is better than the performance of basic ANN which yields 85.75% on Arabic document classification. Zahran et. al. [14] implemented Radial Basis Function (RBF) networks with Particle Swarm Optimization (PSO) algorithm as feature selection technique and they compared to the document frequency, tf×idf and Chi-square statistic algorithms. Theirs results on an Arabic dataset show the superiority of the PSO algorithm.
3 Text Classification Using Neural Networks Neural network is a popular classification method. It can handle linear and nonlinear problems for text categorization. Both of linear and nonlinear [8] classifiers can achieve good results [13]. Neural networks have been widely applied by many researchers to classify the text documents with different types of feature vectors. Wermeter [10] has used the document title as the vectors to be used for a document categorization. Lam et al. [4] have used the principal component analysis (PCA)
678
F. Harrag, E. El-Qawasmeh, and A.M.S. Al-Salman
method as a feature reduction technique of the input data to the neural networks. Using neural networks, the problem of text categorization can be solved by using back-propagation. The classification decision for any document of reasonable size is based on the combined evidence from many sources. Each word is a source to classify a document [3]. In this paper, a three layer feed-forward neural network is trained with back-propagation algorithm. The inputs are the components of the document vector, and the outputs are the document categories.
4 Feature Reduction Techniques 4.1 Document Frequency In the DF method, terms are ranked based on the document frequency (DF) of each term within a document group. The set of terms which are good representatives of the category topics are used by most documents belonging to that category. The important terms are those that appear frequently within a group of documents belonging to the same category [4]. 4.2 TFIDF Method TFIDF method is the product of the term occurrence frequency (TF) and the inverse document frequency (IDF). The inverse document frequency of the term is commonly defined as [7]: IDFi=log (N/n), where N is the number of documents in the document set, and n is the number of documents in which the ith term appears. For term reduction, the terms are ranked according to their TFIDF values, and terms with the highest TFIDF values are selected to form the reduced feature set [4]. The terms that are concentrated in a few documents are more helpful in distinguishing between documents with different topics. 4.3 Latent Semantic Analysis (LSA) LSA is a dimension reduction method. It automatically computes a subspace containing meaningful semantic associations which is much smaller than the initial space. It uses a truncated SVD of the co-occurrence term-document matrix. The correlation matrix of the words is produced by multiplying the co-occurrence matrix by its transpose. The SVD is then performed on the correlation matrix to obtain the most informative singular vectors that define the latent semantic subspace. The different steps to compute the SVD are the following: First, the word-document cooccurrence matrix, noted A is computed. Next, the SVD technique is applied on A. A can be decomposed into the product of three other matrices A=U S VT where U and V are the matrices of left and right singular vectors matrices and S is the diagonal matrix of singular values, i.e. the non-negative square root of the eigenvalues of A.AT. The first columns of U and V define the orthonormalized eigenvectors associated with the non-zero eigenvalues of A.AT and AT.A respectively. By choosing the n largest singular values, the space can be furthermore reduced, eliminating some of the noise due to style or non-informative words An = Un Sn VnT. In this n-dimensional space the ith word wi is encoded: xi = ui Sn / ||ui Sn||, where ui Sn is the ith row of the matrix Un Sn.
A Comparative Study of Statistical Feature Reduction Methods
679
The LSA selects the p best factors and rejects negligible information contained in the data [3].
5 Experiments After executing Stop words elimination and Stemming as preprocessing routines on all documents of the corpus, we start the construction of features vectors by applying term reduction [12] and term weighting [7] processes on the stemmed vectors. Finally, the classifier is constructed by learning the characteristics of every category from a training set of documents. Once a classifier has been built, its effectiveness may be tested by applying it to the test set and checking the degree of correspondence between the decisions of the classifier and those encoded in the corpus. 5.1 Data Set We use an Arabic corpus to evaluate our classifier. This corpus is a set of prophetic traditions or “Hadiths’ (Say’s of the Prophet Mohammed 'Peace Be Upon Him') collected from the Prophetic encyclopedia (Alkotob Altissâa, “The Nine Books”) [2]. It is characterized by the specialization of its domain “Hadith”. It includes 453 documents distributed over 14 categories. Table 1 represents the number of documents for each category for this corpus. Table 1. Number of documents per category for the second corpus Category name Faith Koran Knowledge Crimes Al-Djihad Good Manners Past Generations Biography Judgments Worships Behaviors Food Clothes Personal States
# of training documents 31 32 30 30 32 39 25 25 32 31 33 39 42 32
First, we have removed the Arabic stop words and we have applied a Stemming process. We then have applied DF, TFIDF and LSA reduction techniques. Next, we have used one third of the Arabic data set for testing the classifier and two thirds for training the TC classifier.
680
F. Harrag, E. El-Qawasmeh, and A.M.S. Al-Salman
5.2 Evaluation Criteria We employ the F1 measure [8] to evaluate the performance of text classifiers. This measure combines recall and precision in the following way: F-measure:
F = (2.R.P)/(R + P)
(1)
Where the Recall R is the total of correct classes found divided by the total of correct classes and the Precision P is the total of correct classes found divided by the total of classes found. For ease of comparison, we summarize the F1 scores over the different categories using the Macro-averages of F1 scores [8]. The MacroF1 gives equal weight to every category, regardless of its frequency. 5.3 Preprocessing and Input Data for the Neural Network The goal of our experiments is to evaluate the performance of Back-Propagation Neural Network algorithm (BPNN) on classifying Arabic text using feature reduction techniques described in Section 4. After the stemming and stopping processes of the terms in each document, we will represent them as the document-term frequency matrix (Docj ×TfIdfjk). Docj is referring to each document that exists in the corpus where j = 1…n. DF, TFIDF and LSA as feature reduction techniques have been used to reduce the original feature vectors into a small number of vectors. In our experiments, we compare the performance by varying the number of dimension k, the neural network’s input nodes number is equal to the dimension of the document vectors. For DF, the dimensions is range from 9 to 615. For TFIDF, the range is from 13 to 997. For LSA, the range is from 50 to 530. The number of hidden nodes is 30 and the number of the output nodes is 14. Some others parameters used in our network are shown in Table 3. The trial and error approach has been used to find the suitable number of hidden layers that provide good classification accuracy based on the input data to the neural networks. Table 2. The error back-propagation neural network Parameters NN Parameters Learning rate (q) Momentum rate(a) Number of iteration(I) Mean Square Error (MSE)
Value 0.050 0.010 1000 0.001
5.4 Results and Analyses The categorization performances are given in Figure 1 and Figure 2. Figure 1 shows the Macro-Avg F1 measure for every category. F1 measure reaches its highest values of 71% 75% and 80% for the Al-Djihad, the Crimes and the Koran categories LSA, TFIDF and DF respectively. The lowest values are: 20% for the Faith category for LSA, 33% for the Biography category for TFIDF and 37% for the Crimes category for DF.
A Comparative Study of Statistical Feature Reduction Methods
681
Fig. 1. Comparison of classification results for BPNN with feature reduction model
From Figure 2, we can see that the Macro-Avg F-measure of the BPNN with all features (dimensions=1063) is equal to 0.48. For F-measure of BPNN using LSA, when the dimensions are less than 80, the F-measure of BPNN using LSA is better than the F-measure of BPNN using DF and TFIDF but it remains lower than those of All Features and at the eleventh dimension (d=250), it gets the best performance of 0.53. The two curves of DF and TFIDF tends to degrade at the last dimension, contrary to the LSA curve that continues to progress with the increasing number of dimensions. The reduced size of the vectors is greatly decrease the computational (training) time in the back-propagation neural network. The computational time on neural network with features reduction methods is increased when the number of the dimension is increased. The Computation time of BPNN with DF method is equal to (86.75 s) at the dimension d=211. For BPNN with LSA method, this time is equal to (75.2 s) at d=250 and for BPNN with TFIDF method is equal to (67.15 s) at d=436. All these values are much faster than the computation time of BPNN model with all features (2168.96 s).
Fig. 2. Categorization performance according to the number of dimension
682
F. Harrag, E. El-Qawasmeh, and A.M.S. Al-Salman
6 Conclusion In this paper, some shallow statistic techniques for feature reduction were proposed and applied to Arabic text categorization using back-propagation neural network. The introducing of dimensionality reduction methods not only reduces the number of dimensions drastically, but also overcomes the problems existing in the vector space model commonly used for text representation. The experimental results show that BPNN enhances the performance of text categorization and Feature reduction techniques further improves its accuracy and efficiency.
References 1. Duwairi, R.M., Al-Refai, M.N., Khasawneh, N.: Feature Reduction Techniques for Arabic Text Categorization. Journal of the American society for information science and technology 60(11), 2347–2352 (2009) 2. Encyclopedia of the Nine Books for the Honorable Prophetic Traditions, Sakhr Company, http://www.Harf.com 3. Harrag, F., El-Qawasmeh, E.: Neural Network for Arabic Text Classification. In: The Second International Conference on the Applications of Digital Information and Web Technologies (ICADIWT 2009), pp. 778–783 (2009) 4. Lam, S.L.Y., Lee, D.L.: Feature Reduction for Neural Network Based Text Categorization. In: Sixth International Conference on Database Systems for Advanced Applications (DASFAA 1999), pp. 195–202 (1999) 5. Larkey, L., Ballesteros, L., Connell, M.E.: Improving Stemming for Arabic Information Retrieval: Light Stemming and Co-occurrence Analysis. In: Proceedings of SIGIR 2002, pp. 275–282 (2002) 6. Mesleh, A.A.: Chi Square Feature Extraction Based Svms Arabic Language Text Categorization System. Journal of Computer Science 3(6), 430–435 (2007) 7. Salton, G., Buckley, C.: Term-weighting Approaches in Automatic Text Retrieval. Information Processing and Management 24(5), 513–523 (1988) 8. Sebastiani, F.: Machine Learning in Automated Text Categorization. ACM Computing Surveys 34(1), 1–47 (2002) 9. Syiam, M.M., Fayed, Z.T., Habib, M.B.: An Intelligent System for Arabic Text Categorization. International Journal of Intelligent Computing and Information Sciences 6(1), 1–19 (2006) 10. Wermeter, S.: Neural Network Agents for Learning Semantic Text Classification. Information Retrieval 3(2), 87–103 (2000) 11. Witten, I.H., Frank, E.: Data mining: practical machine learning tools and techniques, 2nd edn. Morgan Kaufmann, San Francisco (2005) 12. Yang, Y., Liu, X.: A Re-examination of Text Categorization Methods. In: 22nd ACM International Conference on Research and Development in Information Retrieval, SIGIR 1999, pp. 42–49. ACM Press, New York (1999) 13. Yu, B., Zong-ben, X., Cheng-hua, L.: Latent Semantic Analysis for Text Categorization Using Neural Network. Knowledge-Based Systems Journal 21, 900–904 (2008) 14. Zahran, B.M., Kanaan, G.: Text Feature Selection using Particle Swarm Optimization Algorithm. World Applied Sciences Journal 7 (Special Issue of Computer & IT), 69–74 (2009)
A Comparison between EJB and COM+ Business Components, Case Study: Response Time and Scalability Abedulhaq Abu-Kamel, Raid Zaghal, and Osama Hamed Dept of Computer Science, Al-Quds University Software Development Directorate, Hulul Business Solutions Palestine
[email protected], {zaghal,ohamed}@science.alquds.edu,
[email protected] http://www.alquds.edu/
Abstract. Most distributed system architectures are designed as a three-tier systems consisting of a thin-client, middleware and a database. The overall performance of such systems depends on the performance of each tier individually and the overhead incurred by the collaboration between these three tiers. Nowadays, the two most popular middleware systems are: Microsoft’s .NET platform and Sun’s Java 2 Enterprise Edition (J2EE) platform. In J2EE, the middle tier infrastructure is called Enterprise JavaBeans (EJB) and in the .NET framework, it is called Component-Oriented Middle-Tier (COM+). Usually, the middle tier provides the business logic (any code that is not specifically related to storing and retrieving data, or formatting data for display to the user) and the performance of this tier is crucial to the overall performance of the distributed system. In this paper, we will measure via real experimentation the performance of the middle-tier (business logic) of the two platforms, namely: EJB3 and COM+ 1.5, in terms of response time and scalability. Then we compare and analyze the performance of each technology under different workload scenarios.
1 Introduction Computer software had rapidly increased and developed specially in Distributed Software Systems, these systems need connectivity, ignoring whether these systems are homogeneous or heterogeneous; a middleware is needed, the performance of the middleware affects the overall system performance. Within just few years, the Windows platform has evolved from personal computing operating system to a complete Enterprise solution. Distributed applications grew from the traditional client-server approach to threetier applications, since the client-server approach had some problems such as fatclients—when most or all of the code is written on the client side, which requires downloading all data to the client to fulfill any business task. Therefore, the traffic on network becomes overloaded when the system has a large number of clients and thus affects the system’s performance severely. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 123–135, 2010. © Springer-Verlag Berlin Heidelberg 2010
124
A. Abu-Kamel, R. Zaghal, and O. Hamed
The three-tier approach was proposed as a solution for client-server problems. It consists of the presentation tier, the business tier (or business logic), and the database tier. This approach offers more advantages such as performance, scalability, maintenance, security, flexibility and more freedom. Figure (1) shows the three-tier architecture. Protocol
HTTP Presentation Tier
Business Tier
HTML Firewall Database Tier
Fig. 1. Distributed architectures are typically based on three tiers
A presentation tier is responsible for working with clients (users), it accepts an HTTP requests from a web browser and returns an HTML page that browser can then display. The business tier is where much of the business logic is implemented, since the business tier lies between the presentation tier and the database tier, it is often called the middle tier. Business logic often requires expensive resources, such as database connections, threads, TCP/IP connections, and message queue connections. These resource requirements would normally make it difficult to support a large number of clients at any one time, a requirement of most e-Commerce applications. Both J2EE and the .NET framework business tiers include a sophisticated middle tier infrastructure that supports resource sharing among clients. This infrastructure is critical to supporting large numbers of clients, and thereby achieving high system throughput. In J2EE, this middle tier infrastructure is called Enterprise JavaBeans (EJB). In the .NET framework, it is called COM+. In this study, we consider specific versions of middle tier namely EJB3 and COM+ 1.5. In this work, an emulation approach will be used to do a comparison among EJB3 server and COM+ 1.5 to identify the performance in terms of response time and scalability for the business tier in both frameworks. This work will help software engineers and developers to choose the right platform for their new distributed applications to fit their business requirements.
2 Background Performance is defined as an indicator of how well a software system or its component can meet the timeline requirements, and this is usually measured in terms of response time and throughput. There are two important dimensions of software performance timelines: responsiveness and scalability. Responsiveness is the ability of a system to meet its objectives for response time or throughput, while Scalability is its ability to continue to meet these objectives as the demand for the software functions increases.
A Comparison between EJB and COM+ Business Components, Case Study
125
Meeting performance requirements is not enough for stringent performance application, but also must be able to scale gracefully to changing patterns of use as well as increasing in demand. Studying performance can be estimated or measured by studying the system’s architecture. And performance failures can be avoided early in the design process. Vast numbers of performance modeling/testing studies were done on JAVA EE and .NET technologies, among these [13][14]. Even the field of EJB and its performance has been much researched [2][3][9], but these researches focused on how to improve the performance of EJB systems in general. This work will focus on examining the specific performance aspects of EJB systems and gives quantitative results. Most of previous researches focused on one particular Application Server [2][7], whereas other works focused on making a comparison between different vendor’s products [4][5]. Some researches modified the Application Server configuration parameters, that includes parameters such as the number of server threads and the number of beans deployed, some of these researchers examined the effects of changes in the hardware architecture. Many researches where conducted in this area with different objectives, such as which EJB system was used, which type of beans were used, whether local or remote calls were made, which transactional or security options were utilized, or changes to any other software specific parameters. The EJB server manages one or more EJB containers. The container is responsible for providing component pooling and lifecycle management, client session management, database connection pooling, persistence, transaction management, authentication, and access control. COM is a standard; it is platform independent, distributed, object-oriented system for creating binary software components that can interact with each other. COM components can be written in any programming language. COM+ is an extension to COM, and it is possible to use COM objects in COM+, it was developed as a standard for designing distributed, multi-tier applications. In COM+ it is possible to move and copy components. Jeremy Singer [1], conducted a comparative study JVM vs. CLR. He found that CLR and JVM Compilers are approximately the same regarding compilations and executing object oriented programs.
3 Methodology and Testbed First, we will define the infrastructures of EJBs and COM+ and the similarities and differences between them. COM+ is an extension of Component Object Model (COM), Microsoft's strategic building block approach for developing application programs. COM+ is both an object-oriented programming architecture and a set of operating system services. It adds to COM a new set of system services for application components while they are running, such as notifying them of significant events or ensuring they are authorized to run. COM+ is intended to provide a model that makes it relatively easy to create business applications that work well with the Microsoft Transaction Server (MTS) in a Windows NT or subsequent systems. It is viewed as
126
A. Abu-Kamel, R. Zaghal, and O. Hamed
Microsoft's answer to the Sun Microsystems-IBM-Oracle approach known as Enterprise JavaBeans (EJB). Enterprise JavaBeans (EJB) technology is the server-side component architecture for Java Platform Enterprise Edition (Java EE). EJB technology enables rapid and simplified development of distributed, transactional, secure, and portable applications based on Java technology. To measure the performance (Response Time) of these two middle tiers (COM+ 1.5 & EJB3) we will build two distributed web applications that use the same hardware and software, but differ at the middle tier, first we will use COM+ and then EJB as a middle tier (or business tier). Hardware Components: Four Computers with the following properties or higher, CPU Pentium 4 (3.00 GHz), RAM 1 GB DDR1, Network card 100Mbps, 8-port switch, and STP wires for network connections. Software Components: Windows Server 2003, Windows XP, Oracle 10g (Server and Client), Java platform, JDeveloper, OC4J, Visual Studio 2005, .NET Framework 2.0, and LoadRunner 8.1 [12]. At this experiment a compatible presentation, database, and middle tiers are used, EJB/JAVA and COM+/.NET platforms are used as an environment to deploy the business logics at each one. For the presentation tier, HTML with Suitable Scripting Language is used. For the Database tier, Oracle10g is used since oracle 10g is compatible with both Java and .NET platforms. To achieve the comparison two parts of the experiment were developed (these two parts must be equivalent at each tier). In the first part of the experiment, the COM+/.NET platform was used as a middle tier and the experiment was repeated several times. At each attempt, the workload was increased at both the presentation tier (increasing the number of users) and the database tier. A log file keeps track of response times for each attempt. Figure (2) illustrates the configuration. Presentation Tier
HTML + ASP.NET
Business Tier
COM+/.NET
Database Tier Oracle 10g
Fig. 2. The architecture of COM+ experiments
In the second part, the experiment is repeated using the same parameters (Hardware and software) but we replaced the COM+/.NET platform with EJB/J2EE platform. We also used the JSP as the scripting language for the presentation tier since it is compatible with Java (most Web sites built on Java use JSP). This experiment represents a real distributed application as seen in any business installation. The configuration is shown in Figure (3).
A Comparison between EJB and COM+ Business Components, Case Study
Presentation Tier
HTML + JSP
Business Tier
EJB/ J2EE
127
Database Tier Oracle 10g
Fig. 3. The architecture of EJB experiments
After each run, all relevant readings from the experiment were logged and analyzed. Then the differences in performance among these middle tiers were noticed. This experiment represents a simple university registration system, implemented as a distributed web application using both middle tiers. Table (1) summarizes the software that we have used at each tier. Table 1. Software used at each application in our experiment Presentation Tier Experiment 1 First application Experiment 2 Second application
HTML with ASP.Net as scripting language
HTML with JSP as scripting language
Business Tier
COM+ / VB.NET
EJB using JDeveloper as integration development environment
Database Tier
Oracle10g Version 10.2.0.1.0
Oracle10g Version 10.2.0.1.0
Since we want to make a judgment on the performance of these technologies, the implementation was equivalent in both technologies. All transactions took place at the business tier. In such application, there are many transactions, and the following scenarios describe the transaction model for our experiment. The user chooses the student ID, department ID, and semester from drop down lists, then he/she edits the year. After that he/she presses the (insert) button. The values that were chosen are inserted into the table (regest). The student will be enrolled into all
128
A. Abu-Kamel, R. Zaghal, and O. Hamed
courses from the selected department. The application gives a random grade for each course for this student, and inserts this data into the (semester_courses) Table. In the scenario just describes, many transactions took place to complete one process; If the application has 5 departments in the (dept) table, 300 students in the (student) table, and 10 courses for each department in the (courses) table, the application deal with (300*10*5 = 15,000) records to be able to insert into the (semester_courses) table for the student. Therefore, in one process there are a lot of transactions for the CPU to execute. Furthermore, the application must process many transactions for each student, many transactions for the selected departments, and many transactions for the selected semesters. After that they will be inserted into (semester_courses) Table. This is for one user only. Naturally, the workload will be multiplied when more than one user performs this scenario concurrently.
4 Experiment Results We will take the COM+ experiment as an example, and the same applies for EJB experiment. The experiment consists of three tiers, presentation, business, and database tiers. Thus, the application is distributed on more than one machine (the database server, the COM+ server, the Web server + application proxy from the COM+ components, and the client machine that runs the LoadRunner program). We open the http page on the client machine; the client requests the web page from the web server, which responses and opens the page on the client. The user chooses from drop-down lists; student, department, and semester. Then, he edits the year of registration and presses the (insert) button. The client sends these commands to the web server which has the web page and to COM+ components as a proxy, the connection among application proxy and COM+ server will be established since the COM+ server has all methods of our application. Also, the COM+ server establishes a connection with the database server whenever the transaction needs to access the database. Most transactions happen on the COM+ server since it has all the methods (business logic), and it is responsible for the connection to database and web server. Furthermore, if we want to add security to the application, it will be deployed on the COM+ server (as a property of the COM+ components). Since we aim to test performance we will implement more than one scenario. 4.1 Scenario 1 (Loading Page) In this scenario we will just load an empty page without any transactions (the page doesn’t contain any data). We did this scenario to test the response time to establish a connection for both EJB and COM+. The virtual users were loaded simultaneously, the duration of the scenario was 10 seconds, and all virtual users stopped simultaneously too. This scenario was repeated several times for both COM+ and EJB applications and the response time for both cases is shown in table (2).
A Comparison between EJB and COM+ Business Components, Case Study
129
Table 2. The average response times for scenario1 Number of Virtual users
EJB
10
0.006
0.008
20
0.012
0.016
30
0.018
0.024
50
0.029
0.036
70
0.039
0.052
100
0.044
0.071
130
0.06
0.078
150
0.061
0.107
AVG of Response Time COM+
At this scenario as we saw, the EJB applications had better results than COM+ applications, at the beginning when we had just 10 users the results for both were approximately the same, but when we increased the number of virtual users the EJB applications had a better result than COM+ applications, at 150 virtual users EJB response was at 0.061 seconds, but COM+ response was at 0.107 seconds, that is a big difference, COM+ application needs approximately double the time that was needed for EJB application to respond. Figure (4) shows the results of scenario 1. Response Time (pge load) 0.12
T im e (Sec)
0.1 0.08 EJB
0.06
COM+ 0.04 0.02 0 10
20
30
50
70
100
130
150
Num ber of Vertual Users
Fig. 4. Connection establishment times for EJB and COM+
4.2 Scenario 2 (Inserting Data) We built a site to insert registration data into the database. In this scenario we only attempted to insert data into the database and not retrieve any data from the page. The scenario ran as follows: we loaded 15 virtual users for 15 seconds each. The duration
130
A. Abu-Kamel, R. Zaghal, and O. Hamed
of the scenario was 1 minute and the virtual users were stopped simultaneously to exit. The scenario was repeated several times on the COM+ and the EJB applications. At each run we increased the number of virtual users, and then took readings of response times and the number of transactions (i.e. number of record inserted into the registration table). The results are summarized in table (3). Table 3. Scenario 2 results Number of Virtual users 1 10 20 30 40 50 60 70 80 90 100
AVG of Response Time
Number Of transactions
EJB
COM+
EJB
COM+
0.008 0.021 0.033 0.049 0.061 0.066 0.076 0.083 0.089 0.155 0.162
0.046 0.061 0.082 0.109 0.164 0.209 0.254 0.293 0.332 0.373 0.414
6,981 29865 41749 45760 51317 59546 61539 65519 69691 71815 75188
1289 25984 52191 65764 70832 80492 82423 91523 96403 103056 108978
It can be noted from the table that the response times and the number of transactions increased dramatically as the number of virtual users were increased. Also, we can notice when the scenario has one user, the response time for COM+ was 0.046 seconds and added 1289 records, on the other hand, and the response time for EJB was 0.008 seconds and added 6981 records. This is interesting since even though EJB has incurred much more transactions than COM+, the response time was much better. This trend continues for the rest of the table with multiple users. Figure (5) shows the performance for both COM+ and EJB application for one user. Pe rform ance (CPU Re sponse Tim e ) 0.05 Response Time(Seconds)
0.045 0.04 0.035
EJB
0.03 0.025
COM+
0.02 0.015 0.01 0.005 0 1 Num ber of Ve rtual Use rs
Fig. 5. Average response time for one user for scenario2
A Comparison between EJB and COM+ Business Components, Case Study
131
Figure (6) shows the relationship between (response time) and the (number of virtual users) for the previous scenario. In this figure, we can see that the COM+ application needed more time than the EJB application in order to complete the same process for all scenarios. Here, EJB delivers better performance than COM+. If we look closely at the figure we can also notice that when the number of virtual users increase, the time needed by COM+ increases faster than that needed by EJB in order to complete the same process for the same number of users which is an indication for the scalability of the system; it is obvious that EJB scales-up better than COM+.
T i m e (S e c )
Response Time 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0
EJB
COM+
1
10
20
30
40
50
60
70
80
90
100
Number of Vertual Users
Fig. 6. Average of response times for all users for scenario2
Figure (7) shows the relationship between the number of virtual users and number of transactions that were completed. In this plot we can see that COM+ have added more records than EJB and thus incurred more time to complete the same process, and thus needed more time to complete one transaction. Figure (8) shows the average response time per transaction for one user on both middle tiers, and figure (9) represents
Number of Transactions N u m b e r o f T r a n s a c to n s
120,000 100,000 80,000 60,000
EJB
40,000
COM+
20,000 0 1
10
20
30
40
50
60
70
80
90
100
Number of Vertual Users
Fig. 7. Number of transaction vs. number of virtual users for scenario2
132
A. Abu-Kamel, R. Zaghal, and O. Hamed
response tim e per transactions 0.05 0.045
Time (Seconds)
0.04 0.035
EJB
0.03
COM+
0.025 0.02 0.015 0.01 0.005 0 f or one user
Fig. 8. Average response time per transaction for one user
Res ponse tim e pe r Transactions 0.0045 0.004
Time(Seconds)
0.0035 0.003 EJB 0.0025
COM+
0.002 0.0015 0.001 0.0005 0 For 100 of users
Fig. 9. Average response time per transaction for 100 users
the average response time per transaction for 100 users. It took 0.414 and 0.162 seconds for COM+ and EJB respectively, and incurred 108978 and 75188 records on COM+ and EJB respectively. Again EJB wins since it needed less time per transaction and this is another indication that the EJB applications delivers better response time and scales-up better than COM+ applications. 4.3 Scenario 3 (Loading Data) In this scenario data will be retrieved from the database to fill-in the drop-down lists on the Web page. Here, the scenario will open the page and fill these drop-down lists with values retrieved from the database tables. The duration if the scenario was 3 seconds, and the data was filled into the page without insertions of any new data. The virtual users were loaded simultaneously and stopped simultaneously too. Table (4) summarizes the results of this scenario in terms of response time and standard deviation. In this scenario the maximum number of virtual users was 50. It can be seen that the performance of the EJB application was better than that of the COM+ application;
A Comparison between EJB and COM+ Business Components, Case Study
133
when we had one virtual user the EJB application needed 0.014 seconds to respond to the user (e.g. load the page), while the COM+ application needed 0.027 seconds to load the page. Figure (10) shows the response time while varying the number of virtual users from 1 to 50 on both EJB and COM+. Table 4. Average response time and standard deviation for scenario 3 Number of virtual users
Std deviation of response time
Average response time
EJB
COM+
EJB
1
0.008
0.002
0.014
COM+ 0.027
10
0.118
0.128
0.084
0.155
20
0.156
0.205
0.164
0.282
30
0.175
0.307
0.247
0.419
40
0.268
0.227
0.315
0.583
50
0.344
0.287
0.408
0.71
For this scenario we take a standard deviation for response time, standard deviation measures the spread of the data about the mean value. It is useful in comparing sets of data which may have the same mean but a different range. Figure (11) plots the standard deviation values that we have presented in Table (4). In this figure cannot see a steady pattern or consistency on the COM+ application. This is reflected in the leap from top to bottom around 30 users. This is not the case on EJB applications where the growth can be characterized as being stable.
Response Time (Load Data) 0.8 0.7
Time(Sec)
0.6 0.5 0.4
EJB
0.3
COM+
0.2 0.1 0 1
10
20
30
40
50
Number of Vertual Users
Fig. 10. Average of response times for scenario 3
134
A. Abu-Kamel, R. Zaghal, and O. Hamed
Std.Deviation of response time 0.4 0.35 T im e(sec)
0.3 0.25
EJB
0.2
COM+
0.15 0.1 0.05 0 1
10
20
30
40
50
Number of virtual users
Fig. 11. Standard deviation of response time for scenario 3
5 Conclusion In this paper we have presented the results of a real experiment that we have conducted in the lab to study the performance of the middle tiers (business logic tiers) of two prominent distributed applications: The EJB technology of Sun’s J2EE applications, and the COM+ technology of Microsoft’s .NET applications. The experiments aimed at measuring the performance in terms of response-time and scalability of each technology using three scenarios (page load, data insertion, and data loading) and by varying the number of virtual users and the workloads in each scenario. It was observed that in all three scenarios EJB applications have demonstrated better performance in terms of response time, scalability. In our opinion this is due to the fact that COM+ environment is more heavy-weight than the EJB as it needs to load (and re-load) many supportive and system files for each session regardless of the user load.
References 1. Singer, J.: JVM versus CLR: A Comparative Study. In: Proc. of 2nd International Conference on Principles and Practice of Programming in Java Kilkenny City, Ireland (2003) 2. Cecche, E., Marguerite, J., Zwaenepoel, W.: Performance and Scalability of EJB Applications. ACM SIGPLAN Notices (2002) 3. Sessions, R.: Java 2 Enterprise Edition (J2EE) versus The .NET Platform Two Visions. ObjectWatch (2001) 4. Kárason, R.: Dependability aspects of COM+ and EJB in multi-tiered distributed systems. Springer, Heidelberg (2002) 5. Hirschfeld, R.: Three-Tier Distribution Architecture (1996) 6. Eddon, G.: COM+: The Evolution of Component Services. IEEE, Los Alamitos (1999), ISSN: 0018-9162 7. Voth, G.R., Kindel, C., Fujioka, J.: Distributed Application Development for Three-Tier Architectures: Microsoft on Windows. IEEE Internet Computing (1998)
A Comparison between EJB and COM+ Business Components, Case Study
135
8. Kambhampaty, S., Modali, V.S.: Performance Modeling for Web based J2EE and .NET Applications. In: Proc. of World Academy of Science, Engineering and Technology 8 (October 2005), ISSN 1307-6884 9. Microsoft: Improving Performance and Scalability. Patterns and Practices. Microsoft Corporation, ISBN 0-7356-1851-8 10. Meier, J.D., Vasireddy, S., Babbar, A., Mackman, A.: Improving .NET Application Performance and Scalability. In: Patterns & Practices 11. Kounev, S., Buchmann, A.: Performance Modeling and Evaluation of Large-Scale J2EE Applications. In: Proc. of Computer Measurement Group (CMG 2003), Dallas, Texas (2003) 12. HP LoadRunner software, https://h10078.www1.hp.com/cda/hpms/ display/main/hpms_content.jsp?zn=bto&cp=1-11-126-17%5E8_ 4000_100 13. Hamed, O., Kafri, N.: Performance Testing for Web Based Applications Architectures (.NET vs. Java EE). In: Proc. of Networked Digital Technologies, NDT 2009, Ostrava, Czech Republic, pp. 218–224. IEEE, Los Alamitos (2009) 14. Hamed, O., Kafri, N.: Performance Prediction of Web Based Application Architectures Case Study: NET vs. Java EE. International Journal of Web Applications (IJWA) 1 (2009)
A Framework for Intelligent Games Diana F. Adamatti* Laboratório de Inteligência Computacional Centro de Ciências Computacionais Universidade Federal do Rio Grande - Brasil
[email protected] Abstract. This paper presents the conceptual definition of a framework to help in the construction of intelligent games, where Artificial Intelligence Techniques could be inserted in the game in an easier way. The main AI techniques are presented as well as the requirements of this framework. Keywords: Artificial Intelligence Techniques, Computer Games, CASE Tools.
1 Introduction The motivation to work with games is enormous. In Brazil, the experience of the game industry in world has shown extremely positive, where some companies have moved more than $ 30 billion, including distribution, packaging, marketing and advertising. In education, the games could help in learning process, because they develop skills such as memory, attention, creativity and reasoning. They are no longer part only the leisure. Now, there are emerged the serious games, a kind of games using to treat important themes, as natural resources management, political problems, business scenarios, etc. In literature, there are several definitions for games. In the context of this paper, a good definition is “Game: a voluntary activity or occupation (which may be physical or mental), exercised within certain time and space, according to rules freely created, but absolutely mandatory, which has an end in itself, and whose purpose is recreation"[2]. The games can be classified in several ways, but in computer games, they are a simulation of some mechanism or situation that may or may not exist in the real world, from a computational device. The computer games differ from other software for their subjectivity, because their main goal is fun (it can be associated to other goals, such as teaching, training, etc.). Even though the game is based on a real and deterministic game, there is subjectivity, since the graphical interface and the level of the game's features are based on its creator and it is adjusted to a user audience [2]. Artificial Intelligence (AI) seeks to develop tools that assist in the implementation of human activities [10]. In practice, the main goal of AI is to help the machines to perform tasks that were previously performed only by people. The computer games *
Corresponding author.
F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 376–380, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Framework for Intelligent Games
377
and AI areas have a long tradition of cooperation. The games provide the AI a variety of problems to be solved and the great challenge is the answers in real time, as MMORPGs (Massive Multiplayer Online Role-Playing Games), where many players interact each other via web. The AI gives to games more realistic features for interaction with users, such as the unpredictability of behavior [10]. Laird and van Lent [4] present several types of computer games that using AI, with dynamic roles. Genesereth et al. [3] present a new dynamic development of computer games, entirely based on AI, called General Game Playing (GGP) that tries to develop any types of games from a declarative description. Normally, the focus of the computer games is the graphical interfaces. However, it is necessary to provide smart games, making the relations between users and system more dynamics. This paper proposes the definition of a framework to help in the construction of intelligent games, where AI techniques (intelligent agents, fuzzy logic, recommender systems, genetic algorithms, etc.) could be inserted in the game in an easier way. This framework should provide to developers a skeleton of the players and environment of proposed game, using AI techniques. This paper is organized in 4 sections. In Section 2 are presented the main AI techniques, which will be implemented in framework. Section 3 presents the conceptual proposed framework and section 4 the conclusions and the further work of the paper.
2 Artificial Intelligence Techniques This section presents the main AI techniques that will be initially implemented the proposed framework. The explanation of these techniques is purely descriptive, to better understand their functionalities. 2.1 Intelligent Agents and Multiagent Systems For the development of complex systems, its necessary to create a new programming paradigm that includes the distribution, autonomy, flexibility and heterogeneity. This paradigm must allow add or remove functions, in a flexible and extensible way. Agents meet these requirements and they are being adopted as the basis for this new paradigm. Multiagent Systems (MAS) study the behavior of a set of autonomous agents with different characteristics, evolving into a common environment. These agents interact with each other, and try to execute their tasks in a cooperative way by sharing information, preventing conflicts and coordinating the execution of activities. In this type of system, it is assumed that agents are part of a society with certain autonomy and intelligence [10]. The MAS agent behavior is a function of perception, that it has its own state, its interactions with other agents and its knowledge. The MAS has a different perspective to design and develop environments and more sophisticated and powerful computational tools, in order to increase the complexity of real systems. According to Caglayan and Harrison (1997) [1], the MAS allow: • •
improve the robustness of the system, avoiding failures; provide parallel solution to accelerate the implementation of the resolution of problems;
378
D.F. Adamatti
• •
integrate methodologies to solve problems; combine paradigms and knowledge sources.
2.2 Recommender Systems Resnick and Varian [7] define Recommender Systems (RS) as systems that use opinions of user’s community to help them to identify content of interest from a number of options. Recommender systems help users to identify interesting products or services, where the number and complexity of data are very large, and the user could not take the right decision. Recommender systems help to increase the capacity and effectiveness of a natural process well known in social relations: the indication process. The biggest challenge in this kind of system is to achieve the correct integration (called "marriage") between the items to be evaluated [8]. The first recommender systems have emerged in the mid-90. Different authors classify theses systems in three categories [7, 5]: •
•
•
Collaborative Filtering: it is based on the proposal to recommend for a user items that other user, with similar profiles, have acquired. The idea is to promote the exchange of experiences among people with common interests. For example, for a Web purchase, people who have acquired the same products will receive similar recommendations. Content-Based Filtering: it is based on the proposal to analyze the items content previously consulted by the users and to infer a new recommendation. The filter analyzes users’ content and profile. For example, for a Web purchase, if the user has previously acquired, these products will be analyzed and the recommendation will be based in products with similar content. Knowledge-Based Recommender System: it is based in intelligent inference mechanisms (using cognitive psychology and statistical methods), where a user model is created. For example, for a Web purchase, a user model is generated, basing in the user registration data as well as the purchase data.
There are recommender systems that combine models basing in these three categories, called hybrid recommender systems. 2.3 Genetic Algorithms Genetic algorithms (GA) are a family of computational models inspired by evolution. These algorithms model a specific problem using a data structure similar to a chromosome [9]. An implementation of genetic algorithm starts with a population, usually random, of chromosomes. These structures are programmed to generate solutions of the problem and chromosomes with the better solutions will reproduce faster than chromosomes with the worse solutions. In a wider view, a genetic algorithm is any population-based model that uses selection operators and re-combination to generate new samples in a search space. Many genetic algorithms were introduced by researchers of an experimental perspective. Most of them are interested in the genetic algorithm as optimization tool.
A Framework for Intelligent Games
379
Usually, there are two components of the genetic algorithm: problem encoding and evaluation function. 2.4 Fuzzy Logic Fuzzy Logic can be defined as a logic that supports approximate reasoning rather than exact and it is based on fuzzy set theory [11]. This logic was developed by Lotfi A. Zadeh University of California at Berkeley in the 60s and it combines multi-valued logic, probability theory, artificial intelligence and neural networks that can represent human thought. The truth value of a proposition can be a fuzzy subset of any partially ordered set, unlike the binary logic systems, where the true value can only take 2 values: true (1) or false (0) [11]. Fuzzy Logic is an efficient tool to capture vague information, generally described in a natural language and it can convert to an electronic format.
3 Proposed Framework The main objective of this research is developing a tool to help in development of Computer Games using AI techniques. Therefore, we have defined the architecture for the proposed framework, divided in four modules: AI Techniques, Graphical Interface, Parser and Pre-source Code. The first module (AI Techniques) is used to the subsequent module (Graphical Interface) and so on, as presented in Figure 1.
Fig. 1. The architecture for the proposed framework
For each module, some requirements are defined: • AI Techniques module: it has all logic data structures for each AI technique and it must provide the parameters for each technique to the Graphical Interface module; • Graphical Interface: it has all graphical objects to use AI techniques in the reasoning of the players and the environment of the game. For each technique, different structures could be used. The idea is similar to CASE tools, in Software Engineering area, where for each different diagram (class, sequence, etc), there are different graphical objects; • Parser: it is a translator to the graphical definition to a computational language. The first idea is to transform to Java and C++ languages;
380
D.F. Adamatti
• Pre-source Code: it is the final result of the framework. It will provide a presource code file, with the skeleton of the reasoning of the player and the environment, using AI techniques. This file will be incorporated in the final game source code.
4 Conclusions e Further Work Computer games are a special way to work with different abilities of the humanbeing, because different skills, as memory, attention, creativity and reasoning, which could be tested and analyzed. The use of AI in games still is very restrict, because the main games focus is the graphical interface (engines, renderization, etc), but it could bring more realist action, with a level of uncertainty into the game. Develop a tool to make easier the insertion of AI techniques in computer games could be the way to a massive use of them. In this paper, there is presented the logical idea for a framework of intelligence games. Initially, the AI techniques to compose the framework were shown, and after the modules of this framework were defined. The next step is the implementation of these modules in Java language. The validation of the framework will be done in some small computer games, included players and environment actions to evaluate their performs with unpredictability. Acknowledgments. Diana F. Adamatti is financed by FAPERGS (Brazil), grant number 0902806/2009.
References 1. Caglayan, A., Harrison, C.: Agent SourceBook - A complete Guide to Desktop, Internet and Intranet Agents, 349 p. Wiley Computer Publishing, New York (1997) 2. Funge, J.D.: Artificial Intelligence for Computer Games. A.K. Peters, Wellesley (2004) 3. Genesereth, M., Love, N., Pell, B.: General game playing: Overview of the AAAI competition. AI Magazine, 63–72 (June 2005) 4. Laird, J.E., van Lent, M.: Human-level ai’s killer application: Interactive computer games. AI Magazine, 15–25 (2001) 5. Mobascher, B., Burke, R., Bhaumik, R., Sandvig, J.J.: Attacks and Remedies in Collaborative Recommendation. IEEE Intelligent Systems 22(3), 56–63 (2007) 6. Nareyek, A.: Constraint-Based Agents - An Architecture for Constraint-Based Modeling and Local-Search-Based Reasoning for Planning and Scheduling in Open and Dynamic Worlds. Springer, Berlin (2001) 7. Resnick, P., Varian, H.R.: Recommender Systems. Communications of the ACM 40(3), 55–58 (1997) 8. Ricci, F., Nuygen, Q.N.: Acquiring and Revising Preferences in Critique-Based Mobile Recommender Systems. IEEE Intelligent Systems 22(3), 22–29 (2007) 9. Whitley, D.: A Genetic Algorithm Tutorial. Technical Report: Colorado State University (2002), http://xpusp.sourceforge.net/ga_tutorial.ps (July 2009) 10. Russel, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn (2009) 11. Nguyen, H.T., Walker, E.A.: A First Course in Fuzzy Logic, 3rd edn. Chapman & Hall/CRC (2006)
A Multi-Objective Particle Swarm Optimization for Web Service Composition Hamed Rezaie, Naser NematBaksh, and Farhad Mardukhi University Of Isfahan, Isfahan, Iran
[email protected], {Nemat,Mardukhi}@eng.ui.sc.ir
Abstract. The main advantage of the web services technology is the possibility of preparing a compound web service with the existing to perform a proper task, but a service may be presented by several producers which one different in the quality of services. An adaptive process should select the elements of a compound web service in a way to answer effectively the user's needs in the quality of the services. There may be contrast in the optimization of the services qualities for some of them and against the others so we are involved with a multi multi-objective optimization. In this paper a web service composition model based on the Discrete Multi-Objective Particle Swarm Optimization is presented at which besides using the main advantages of standard PSO namely simplicity and speed a Pareto optimal set is presented as solutions. Keywords: Web Service Composition, QoS, Multi-Objective Particle Swarm Optimization (MOPSO).
1 Introduction Currently increasingly Web services, as possible instrument of accessing web-based applications, have been adopted [1]. Web service technology devotes more flexibility and adaptability to applications because a number of loose coupling components, namely Web services, corporate to obtain a common goal. Now, most companies motivate towards deploying business processes as web services compositions [3]. Also, the composition of web services has received much interest to support B2B or enterprise application integration [4]. With the improvement of the net and growth of web users, simple services are no longer suitable for web users and in order to give more complex services, we need combine simple services but there are different services which have the same functionality and can replace one another. These services are of course different with regard to quality factors such as response time, availability, throughput, security, reliability, execution cost and etc. Therefore web service composition problem leads to quality engineering problem, because these services should be chosen in such a way that the best QoS is prepared for the total composition. Therefore, at the step of service composition it is very important to select services which are relied on non-functional QoS (Quality of Service) attached to each service, where Web Services selection based on QoS is a NP problem [6].Effective strategies F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 112–122, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Multi-Objective Particle Swarm Optimization for Web Service Composition
113
based on evolutionary algorithms (EA) are introduced to overcome this problem. The majority of these approaches [7-12] on Web Services selection are almost QoS locally optimal or single-objective. In ref. [7-9] the authors introduced a Genetic Algorithm with a penalty technique to handle infeasible solutions. Difference between them is in coding scheme and in the design of penalty functions. Ref. [10] takes advantage of simulated annealing algorithm to avoid premature convergence of Genetic Algorithm. Ref. [11] proposed a service selection optimization method based on particle swarm optimization. But in all of these approaches the multiple QoS indexes optimization problem is turned into a single-objective problem using a weighted method, which will inevitably miss some feasible solutions. To solve these problems, in this paper we proposed a discrete multi-objective particle swarm optimization (MOPSO) for the optimal web service composition. The main objective of the Multi-Objective Optimization (MOO) is finding the set of acceptable (trade-off) Optimal Solutions. This set of accepted solutions is called Pareto front. These acceptable trade-off solutions give more ability to the user to make an informed decision by seeing a wide range of near optimal solutions that are near optimum from an “overall” standpoint. Single Objective (SO) optimization may ignore this trade-off viewpoint [12], which is crucial. This paper is organized as follows. In the next section we present preliminary introduction to Multi-objective optimization. The general PSO algorithm is reviewed in section 3. Section 4 describes the web service composition problem. We will introduce our proposed multi-objective PSO in Section 5. A comparison with a genetic algorithm and experimental results are given in Section 6. Finally, we conclude the paper in Section 7.
2 Multi-Objective Optimization Many optimization problems the aim is to find solutions that are best with regard to various objectives. These optimization problems are named multi objective and they are usually hard computing. Evolutionary based algorithms have been successfully used for these types of problems because they simultaneously work with a population of points that is crucial to find the non-dominated solution set [13]. The concept of no dominance [14] is one of the basic concepts of multi objective. For a problem having more than one objective function to optimize any two solutions x1 and x2 can have one or two possibilities: one dominates the other or none dominates the other. A solution x1 is said to dominate the other solution x2 if both the following conditions are true: a) The solution x1 no worse than x2 in all objectives. b) The solution x1 is strictly better than x2 in at least one objective. If x1 dominates the solution x2, it is also customary to write x2 is dominated by x1, or x1 is not dominated by x2, or simply, between two solutions, x1 is the non-dominated solution. A solution is said to be Pareto optimal if and only if there is no other solution in the search-space that dominates it. This set of Pareto optimal solutions is called the Pareto optimal set.
114
H. Rezaie, N. NematBaksh, and F. Mardukhi
3 Particle Swarm Optimization The particle swarm optimization (PSO) algorithms are a population-based search algorithms based on the simulation of the social behavior of birds within a flock [15]. They all work in the same way, which is, updating the population of individuals by applying some kind of operators according to the fitness information obtained from the environment so that the individuals of the population can be expected to move toward better solution areas. In the PSO each individual flies in the search space with velocity which is dynamically adjusted according to its own flying experience and its companion flying experience, each individual is a point in the D-dimensional search space [16]. 3.1 General PSO Algorithm Generally, the PSO has three major algorithms. The first is the individual best. This version, each individual compares position to its own best position, pbest, only. No information from other particles is used in these type algorithms. The second version is the global best. The social knowledge used to drive the movement of particles includes the position of the best particle from the entire swarm. In addition, each particle uses its history of experience in terms of its own best solution thus far. In this type the algorithms is presented as: 1.
Initialize the swarm of particles such that the position X ti of each particle P i ∈ Pt is random within the search-space, with t = 0.
2.
Evaluated the performance F of each particle, using its current position X ti .
3.
Compare the performance of each individual to its best performance thus far: if F( X ti ) < F( X ti ,Pbest ) then: X ti ,Pbest = X ti
4.
Compare the performance of each individual to global best particle: if F( X ti )
5.
< F( X ti ,Gbest ) then: X ti ,Gbest = X ti Change the velocity vector for each: V ti+1 = ω ×V t i + ρ 1× (X ti ,Pbest − X ti ) +
ρ 2× (X ti ,Gbest − X ti )
(1)
Where ω is the inertia factor, ρ 1 and ρ 2 are random variables. The second term above is referred to as the cognitive component, while the last term is the social component. 6. Move each particle to a new position
X ti+1 = X ti +V t i+1 t = t +1 7.
(2)
Go to step 2, and repeat until convergence.
The random variables ρ 1 and ρ 2 are defined as ρ 1= r1 × c1 and ρ 1= r2 × c 2 , with r1, r2 ~ U (0,1) , c1 and c 2 are positive acceleration constant. Kennedy has studied
A Multi-Objective Particle Swarm Optimization for Web Service Composition
115
the effects of the random variables ρ 1 and ρ 2 on the particle's trajectories. He asserted that c1 + c 2 ≤ 4 guarantees the stability of PSO [17]. 3.2 Multi-Objective PSO (MOPSO)
The main problem in multi-objective particle swarm optimization (MOPSO) is to select the global and local guides such that the swarm is guided towards the Pareto optimal front and maintains sufficient diversity. Our paper simply adopts one of the proposed strategies, namely the sigma-method [18].In this method the global and local guides are selected from an updated set of non-dominated solutions stored in the archive.
4 Problem Description Given an abstract specification for a workflow, suppose the composite service is defined as follows: S= (AS1, AS2… ASn). We also assume that for each basic service Si there is a set of candidate web services, for example, ASi has l candidate web services. These candidate web services are functionally equivalent and thus can be replaced by each other. The aim is to search for the optimal set of services that composed to create a new service, result in the best QoS, and under the user constraints. In optimal QoS-based Composed Web service, the best concrete service should be selected for each corresponding abstract Web such that the value of objective functions meets the customers' requirements. Fig. 1 is an example used to demonstrate the problem. In Fig. 1, a specification of workflow is defined using YAWL notions [19]. Abstract Web services are shown by rectangles, and concrete Web services are represented by rounded rectangle. In this paper, we attention to the two typical attributes: response time, price. Normally, users may desire the composite service with minimal response time and price. Existing
Fig. 1. Example of web service selection workflow
116
H. Rezaie, N. NematBaksh, and F. Mardukhi
studies reported in literature often aggregate all criteria into a single objective. This resolution approach is known to be limited from a multi-objective optimization perspective since it leads to one single solution instead of a set of solutions which are needed in a multi-objective context. Here we highlight the most important difference between our work and Zeng et al’s work (Zeng et al., 2003) [11], because we do not give any weight to any criterion. We treat all criteria with the same importance using a multi-objective optimization approach. Even though our objectives are contradictory, they are taken into account simultaneously by our resolution algorithm. According to above requirements, the problem is formulated as follows: Given (1) A set of abstract Web services A = {A1, A2, …, An}; (2) A set of implementations, or concrete Web services, for each of the abstract Web service Ai, Ci = {ci1, ci2, …, cim}; (3) QoS(S) = (Time(S), Cost(S)) be QoS index of Solution Where 1 ≤ i ≤ n, 1 ≤ j ≤ m, Find a solution S = (s1,s2, …, sn), meaning abstract Web service Ai uses concrete Web service cij , such that: ⎧⎪Minimize Time ( S ) ⎨ ⎪⎩Minimize Cost ( S )
4.1 Computing the QoS of Services Composition
When computing the QoS of Web Service Composition, we consider response time and price as the measurement metrics the aggregate QoS of Web Service Composition depends on the QoS of its component services. Computing the QoS of a workflow is based on the control structures included in workflow. BPEL4WS has four control structures to compose service. They are sequence, flow (concurrence), switch (choice), while (loop). The aggregated rules of QoS are different for different control structures and different quality metrics. Table 1. The model for computing the QoS of Services Composition QoS Attr.
Price
Time
n
Sequence
∑q
n
price (S i
)
i =1
∑q
price (S i
resp (S i
)
i =1
n
Concurrence
∑q
)
{
MAX i ∈{1,.., p} q resp ( S i
i =1
n
Choice
∑
n
p i × q price (S i )
i =1
Loop
k × q price (inner )
∑p
i
× q resp (S i )
i =1
k × q resp (inner )
)}
A Multi-Objective Particle Swarm Optimization for Web Service Composition
117
For example, the response time is sum measurement for sequence structure, while the response time of concurrence is the maximal value among its sub branches. The price is the sum for both sequence and concurrence control structure, but it is multiple measurements for availability. Each branch in choice structure is assigned to the probability to be chosen, and the sum of all of branches is 1. Finally, a loop structure with k iterations of task t is equivalent to a sequence structure of k copies of t.
5 Optimal Web Service Composition Based on MOPSO Algorithm The implementation of MOPSO in application of the Web service composition problem incorporates three basic steps so that the algorithm is formulated for the specific application: the presentation of Particle, the formulation of the fitness function, and redefinition of discrete PSO operators. 5.1 Particle Representation
When we are designing the PSO algorithm one of the important matters is the solution representation where particles carry the necessary information related to the problem domain at hand. In PSO, each particle corresponds to a candidate solution of the underlying problem. For Web Service Composition, a direct representation is obtained as follows. A feasible solution is encoded in a D-dimensional vector, called particle, where d is equal to the number of abstract service in workflow. Every dimension of each particle represents one of the abstract services in workflow, and the value of each element in the vector X indicates the index of concrete web service in the corresponding list of concrete web services for each abstract web service. For example X = {3, 1, 4, 11, 6} represents an individual for a workflow with five dimensions. In this individual for the first abstract service the concrete web service with index 3 in associated list is selected, and so on. The PSO randomly generates an initial swarm of n particles, where n is the swarm size. These particle vectors will be modified iteratively based on collective experiences in order to improve their solution quality. 5.2 Fitness Functions
The MOPSO associates a fitness measure with each solution to specify the quality or performance of each encoded solution in the population. For the problem of Web service composition, performance of every service composition solution is measured by its QoS index. Here we adopt the two QoS optimization functions defined in Problem Description section as two fitness functions in MOPSO and computing them according to the table 1. 5.3 Redefinition of Discrete PSO Operators
The classical PSO algorithm is not applicable if the search space is discrete, that is if the position of each particle is bound to a discrete set of values. A modification of
118
H. Rezaie, N. NematBaksh, and F. Mardukhi
the classical algorithm is proposed in the current paper suitable for optimization within such a search space. The proposed solution is inspired by Discrete PSO algorithm, explained in [20]. In this paper, the equation of particle's position update has been modified in a way to presence all the benefits of the standard PSO algorithm. In the proposed method, the position of a particle can be update by the equation (3).at this equation each coefficient c1 × rand1 , c 2 × rand 2 , ω and c3 means the choosing probability. Here, c1,c 2 ,c 3 are three constant and rand1 and rand 2 are two random number in ⎡⎣0,1⎤⎦ . Also in each iteration ω is updated in this manner ωt +1 = ωt × β . β is a decreasing factor less than 1. v ti +1 instead of being reserved from the last iteration, generated from [1, m] randomly that m indicates the number of concrete web services at the corresponding abstract web service group.
X ti+1 = c 3 ⊗ X ti ⊕ ω ⊗V ti+1 ⊕ c1 × rand1 ⊗ X ti ,Pbest ⊕ c 2 × rand 2 ⊗ X ti ,Gbest
(3)
In our method to overcome the premature convergence of standard PSO, we use particle velocity like a mutation operator. In this manner, we extend the search ability of particles at the beginning of the search and then, we decrease this ability (with respect to the number of iterations) in each iteration. In addition when the nondominated set size of archive exceeds a given maximum M, in this situation to reduce the size of archive to a predefined constant size we use an average linkage based hierarchical clustering algorithm used by SPEA [21] with multi-start technique [22]. 5.4 MOPSO for Optimal Service Composition
When specific representation scheme and fitness functions to evaluate the solutions have been decided, the final MOPSO for the optimal web service composition will be developed. The detailed algorithm is given in Table 2 and 3. Table 2. Multi-Objective Particle Swarm Optimization for Web Service Composition Input: Optimization problem. Output: Non-dominated solutions in archive (A) Step 1: t = 0 Step 2: Initialization: Initialize population Pt :
for i = 1 to n initialize X ti , V t i = 0; end If t = 0 then Initialize the archive At = { End Step 3: Evaluate( X t );
};
A Multi-Objective Particle Swarm Optimization for Web Service Composition Table 2. (continued)
Step 4: At +1 = Update ( X t , At ) ; If |At| > M then Hierarchical_Clustering (); Go to Step 2. End Step 5: Pt +1 = Generate ( X t , At ) : for i = 1 to n i ,g i a ) X t = FindGlobalBest (At +1 , X t ); i
b )V t +1 = Rand ( X ); i
i
i ,l
c ) X t +1 = c 3 ⊗ X t ⊕ c1 × rand 1 ⊗ X t
⊕
c 2 × rand 2 ⊗ X t ⊕ ω ⊗V t ; i i ,l d ) if Dominate ( X t +1 , X t +1 ) then i ,l i X t +1 = X t +1 ; end end i ,g
i
Step 6: Unless a termination criterion is met: t = t + 1 and go to Step 3. End Table 3. Average linkage based hierarchical clustering algorithm
Input: Non-dominated solutions in archive (A), S /*size of reduced archive*/ Output: reduced Non-dominated solutions in archive (A) Step 1: Initialization Clusters = {
};
for i = 1 to size ( A ) Clusters = Clusters ∪ {A ( i )}; end
Step 2: Clustering W hile Clusters > S {Cluster 1} = two cluster with minimum distance ; newCluster = Cluster 1 ∪ Cluster 2; Clusters = Clusters −
{Cluster 1, Cluster 2} ;
Clusters = Clusters + newCluster; End
Step 3:Reproduce archive A =
{ };
for i = 1 to Clusters Cluster = Clusters ( i ) ; A =A ∪ end
{centeroid (Cluster )} ;
119
120
H. Rezaie, N. NematBaksh, and F. Mardukhi
6 Experimental Result To verify performance of the proposed method we compared it with a multi objective genetic algorithm namely NSGA II. All experiments were conducted on a test-bed of Windows Pcs with Pentium quad core 2.66 GHZ processor and 2 GB RAM and the simulation environment is Matlab R2007b. Table 4. Comparison results of Multi-Objective Particle Swarm Optimization and NSGA II
Number of Iteration Abstract × services Population size 50 400×400 50 400×300 50 400×200 50 300×400 50 300×300 50 300×200 50 200×400 50 200×300 50 200×200 20 400×400 20 400×300 20 400×200 20 300×400 20 300×300 20 300×200 20 200×400 20 200×300 20 200×200 5 400×400 5 400×300 5 400×200 5 300×400 5 300×300 5 300×200 5 200×400 5 200×300 5 200×200
Execution Time (mopso:nsga) (103 Sec) 3.553:2.035 2.601:0843 0.1746:0.362 2.234:1.272 1.528:0.652 0.988:0.251 1.003:0.736 0.721:0.356 0.162:0.102 3.770:1.410 3.183:0.802 1.867:0.410 2.183:0.704 1.664:0.473 1.092:0.270 1.018:0.471 0.747:0.380 0.507:0.172 4.750:0.758 3.134:0.572 2.026:0.341 2.305:0.618 1.716:0.318 1.152:0.209 1.045:0.336 1.060:0.165 0.519:0.106
Average Number of Average Number of Pareto Solutions Dominated Solutions (mopso:nsga) (mopso:nsga) 825.3:378 74.3:177.3 571:369 98.6:200 420:265.3 55.5:206.9 735.5:291.5 49.3:190.6 562:289.6 40.1:214.8 356.3:195 34.5:257.3 545:2003 55.4:153.1 447.6:188.6 82.7:202.1 226.3:161.3 35.6:159.1 235:233.6 10.7:15.1 209:230 9.4:11.2 229:215 45:51.6 222:220 8:9.8 203.3:211.3 9:20.1 212:204.6 14:15.7 229:172.6 6.7:17.6 196:168 8.2:13.7 207.3:164 12: 26.8 20:20 0:0 20:20 0:0 20:20 0:0 20:20 0:0 20:20 0:0 19.3:20 0:0 20:19.3 0:0 20:20 0:0 20:19.6 0:0
In these experiments all related parameters are assigned as follows: mutation and crossover probability in NSGA II are respectively 0.5 and 0.5 ; c1 ,c 2 ,c 3 ,ω , β in MOPSO are respectively 0.3,0.49,0.21 ,0.0275 and 0.995 ;the size of populations are :200 , 300 and 400;the number of iteration are 200 ,300 and 400. Due to no guideline problem, we create three workflow with 5, 20 and 50 abstract services. In each workflow number of concrete web service corresponding to each abstract web services
A Multi-Objective Particle Swarm Optimization for Web Service Composition
121
varied from 4 to 50. The ranges of two quality of services are given as service cost (11000) and response time(1-1000). In this paper to evaluate our method we compare the Pareto set results of two methods with each other and record the average number of dominated solutions after 9 tests. It is shown in table 4 that the proposed method will find out better or equal solutions in shorter time.
7 Conclusion In this paper we have presented a multi-objective discrete particle swarm optimization algorithm for web service composition problem to generate a set of Pareto optimal solutions that meet users' requirements. A set of experiments are conducted to analyze and evaluate the performance of proposed method, and the experimental result show that MOPSO is a good method for web service composition.
References 1. Rezgui, A., Ouzzani, M., Bouguettaya, A., Medjahed, B.: Preserving privacy in Web services. In: Proceedings of the 4th International ACM Workshop on Web Information and Data Management, pp. 56–62 (2002) 2. Medjahed, B., Bouguettaya, A., Elmagarmid, A.K.: Composing Web services on the Semantic Web. The VLDB Journal 12(4), 333–351 (2003) 3. Lakhal, N.B., Kobayashi, T., Yokota, H.: THROWS: An architecture for highly available distributed execution of Web services compositions. In: Proceedings of the 14th International Workshop on Research Issues on Data Engineering: Web Services for E-Commerce and E-Government Applications, pp. 56–62 (2004) 4. Srivastava, B., Kohler, J.: Web Service Composition-Current Solutions and Open Problems. In: ICAPS 2003 Workshop on Planning for Web Services, pp. 1–8 (2003) 5. Agarwal, S., Handschuh, S., Staab, S.: Annotation, composition and invocation of semantic web services. In: Web Semantics: Science, Services and Agents on the World Wide Web, vol. 2(1), pp. 31–48 (2004) 6. Garey, M., Johnson, D.: Computers and Intractability: a Guide to the Theory of NPCompleteness. W.H. Freeman, New York (1979) 7. Zhang, C., Ma, Y.: Dynamic Genetic Algorithm for Search in Web Service Compositions Based on Global QoS Evaluations. In: ScalCom-EmbeddedCom, pp. 644–649 (2009) 8. Lei, Z., Kai, S.: TTS-Coded Genetic Algorithm for QoS-driven Web Service Selection. In: Proceedings of IEEE International Conference on Communication Technology and Applications, pp. 885–889 (2009) 9. Gao, C., Cai, M., Chen, H.: QoS-aware Service Composition based on Tree-Coded Genetic Algorithm. In: 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), vol. 1, pp. 361–367 (2007) 10. Gao, Z., Chen, J., Qiu, X., Meng, L.: QoE/QoS driven simulated annealing-based genetic algorithm for Web services selection. The Journal of China Universities of Posts and Telecommunications 16, 102–107 (2009)
122
H. Rezaie, N. NematBaksh, and F. Mardukhi
11. Chen, M., Wang, Z.W.: An Approach for Web Services Composition Based on QoS and Discrete Particle Swarm Optimization. In: Proceedings of the Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, pp. 37–41 (2007) 12. Ngatchou, P., Zarei, A., El-Sharkawi, A.: Pareto Multi Objective Optimization. Intelligent Systems Application to Power Systems, 84–91 (2005) 13. Coello, C.A.C.: A comprehensive survey of evolutionary-based multiobjective optimization. Knowledge and Information Systems 1(3), 269–308 (1999) 14. Deb, K.: Evolutionary Algorithms for Multi-Criterion Optimization in Engineering Design. In: Proceedings of Evolutionary Algorithms in Engineering and Computer Science (EUROGEN 1999), pp. 135–161 (1999) 15. Kennedy, J., Ebenhart, R.C.: Particle Swarm Optimization. Proceedings of the IEEE International Conference on Neural Networks 4, 1942–1948 (1995) 16. Engelbrecht, P.: Computational Intelligence An introduction. John Wiley & Sons Ltd., Chichester (2002) 17. Kennedy, J.: The behavior of particle swarm. In: Saravan, V.W.N., Waagen, D. (eds.) Proceedings of the 7th International Conference on Evolutionary Programming, pp. 581–589 (1998) 18. Mostaghim, S., Teich, J.: Strategies for finding good local guides in multi-objective particle swarm optimization. In: IEEE Swarm Intelligence Symposium, pp. 26–33 (2003) 19. van der Aaslt, W.M.P., Hofstede, A.H.M.: YAWL: Yet Another Workflow Language. Information Systems 30(4), 245–275 20. Qinma, K., Hong, H., Hongrun, W., Changjun, J.: A novel discrete particle swarm optimization algorithm for job scheduling in grids. In: Proceedings of the 4th International ACM Workshop Conference on Natural Computation, ICNC, pp. 401–405 (2008) 21. Zitzler, E., Thiele, L.: An Evolutionary Algorithm for Multiobjective optimization: The Strength Pareto Approach. TIK-Report, No. 43, Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich (1998) 22. Torn, A.: A program for global optimization. In: Proceedings of Euro IFIP, pp. 427–434 (1979)
A New Computational Model to Evaluate the Quality of Perceptual Voice Using E-Model in VOIP Communications Meysam Alavi1 and Hooman Nikmehr2 1
Department of Computer Engineering & IT, Qazvin Islamic Azad University, Qazvin, Iran
[email protected] 2 Department of Computer Engineering, Bu-Ali Sina University, Hamedan, Iran
[email protected] Abstract. The quality perceptual voice in VOIP networks is of great importance as IP networks are not designed for real-time applications, disturbances such as packet loss, jitter and delay influence negatively on the quality. Emodel for VOIP networks is a well known approach has been developed for evaluating the quality of perceptual voice. In this model, the result is expressed in term of MOS ranged from 1 to 5. Having modified the traditional E-model, we present a unified computational model, applicable for both narrowband and wideband codecs. Keywords: VOIP, E-model, MOS, Packet loss, Delay.
1 Introduction VOIP, as an important technique, has been widely used in the transmission of voice traffic on computer networks. While VOIP services are economically cost- effective, their success is compared with that of PSTN qualities. The surveys show that voice quality mainly depends on packet loss, delay and jitter, although the present Internet does not guarantee the delay and packet loss. There have been reported much about quality improvement in VOIP services in [1], [2], [3], [4], [5], [6], [7], [8]. Three factors affect VOIP services quality: End-to-End delay, which is influenced by packet size, coding algorithm, buffer playout size and network characteristics (e.g. network topology, bandwidth and configuration); the effect of delay variability (jitter); packet loss rate, which is due to the congestion problem caused by lack of resources supplied by the Internet [9]. The assessment of perceptual voice quality can be based on MOS [10], as shown in Table.1 and can be determined in terms of subjective and objective tests [11]. In the subjective tests, MOS values are specified directly through asking a sample population on voice quality in five levels (excellent, good, fair, poor and bad). This case is time consuming and expensive since the test must be carried out by individuals [1]. The objective tests are classified as PSQM, PESQ [12] and the most frequent, Emodel proposed by ITU-T [13]. In this paper, we present a new method to assess and F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 594–603, 2010. © Springer-Verlag Berlin Heidelberg 2010
A New Computational Model to Evaluate the Quality of Perceptual Voice
595
measure voice quality in narrowband and wideband codecs. The paper is organized as follows. An introduction on E-model is given in Sect. 2 and 3. Then the new model is introduced and described in Sect. 4 followed by some experiment results in Sect. 5. Section 6 includes conclusion. Table 1. Score of MOS
MOS 5 4 3 2 1
Classification Excellent Good Fair Poor Bad
2 E-Model E-model is a computational model proposed and standardized by ITU-T that assesses the combination of effects from parameters on conversation quality [12], [14]. These reports show that it is not any necessity to use the original version of E-model to determine the quality in VOIP communications, but its simplified version [2], in which only delay and packet loss effects are considered, while there are no echo and noise and also loudness is constant. E-model calculated in term of impairment factor gives a formulation, which must be transformed to an expression in term of R as
R = Ro − I s − I d − I e −eff + A
(1)
Equation (2) provides a simplified form used in VOIP communication where Ro= 93.2 is the maximum score obtained by codecs [12].
R = Ro − I d − I e − eff
(2)
Id is the impairment due to delay calculated from equation (3).
I d = 0.024 D + 0.11( D − 177.3) × H ( D − 177.3)
(3)
where D is End-to-End delay and H(x) denotes the heaviside function. Also, Ie-eff is the impairment induced by equipment dependent on equipment, packet loss and robustness against loss. The advantage factor A can be used for compensation when there are other advantages of access to the user. In (2), Ie-eff is obtained from
I e−eff = I e + (95 − I e )
Ppl Ppl + Bpl
(4)
in which Ie is the equipment induced impairment (codec quality) expressed in [14]. The calculation method of Ie is described in [15]. In (5), Bpl is the robustness against packet loss and Ppl denotes the packet loss rate in percent. Factor Id, the delay impairment in E-model, includes propagation, queuing and transmission delays. In
596
M. Alavi and H. Nikmehr
G.114 recommendation of ITU-T [16], accepted delay time is 150 ms [17], possible delay is between 150 and 400 and any delay beyond 400 ms is unacceptable. Factor R can be mapped into a number in term of MOS to assess the voice quality. This mapping introduced in [12] is expressed as
R 100 ⎩
(5)
Based on (4), R and MOS are interrelated (see Fig.1).
Fig. 1. MOS as function of rating factor R
The normal E-model is designed for narrowband communications. Therefore, the maximum value of MOS for two cases of narrowband and wideband is 4.5 (i.e. R>100). However, some quality control experiments [18], [19] show that the highest quality for wideband codecs is from 4.7 to 4.8, which is not comparable with the MOS results narrowband codecs. For instance, for MOS=3.5 for narrowband and MOS=3.3 for wideband, we cannot claim that the narrowband quality is better than that of the wideband as there is no proven technique to justify this quality difference. Regarding the increase of bandwidth and the higher quantization rate in wideband codecs, improves the voice quality that can result in a better hearing (understanding) [20]. This necessitates a unique criterion to compare both codecs. Therefore, we are going to present a new computational E-model, which is applicable for both codecs. First, we refer to the research results reported in this field and then in Sect. 4, we introduce the new model.
A New Computational Model to Evaluate the Quality of Perceptual Voice
597
3 E-Model for Wideband Codecs To the best of our knowledge, there has not been any perfect model presented to establish a new E-model applicable for wideband communications. In [21], the necessity of adding a advantage factor to narrowband and which increases the voice quality is put forward but without any formulation or computational estimate. In [22], R domain for wideband communications has been introduced between 0 and 120 while in [23] it is mostly 105 for wideband codecs. In [24], the domain of 0 to 100 has been raised to 120 with a ratio of 1.1 and [25] considers it to be 140 by using an extrapolation. In [26], based on amendment 1 of recommendation G.107, R=129 is the highest quality of wideband codecs. In some other studies addition of some constant value to Ie of narrowband codecs has been suggested. In overall, there is no unified model to measure voice quality and therefore, the values obtained are not applicably comparable. The main goals of the presented research are: • To develop a single MOS scale for narrowband and wideband VOIP codecs and to establish a quantitative expression between the new and the traditional scales. • To propose a single measure for factor R in the computational E-model, that can be applicable for both narrowband and wideband VOIP codecs.
4 Extended E-Model In this section, a new extended E-model is presented. It consists of two parts: 1. The first part, similar to the traditional E-model, ranged from 1 to 5 for narrowband codecs. 2. The second part is dedicated to wideband codecs. To extend MOS range for wideband codecs, the upper limit of this range needs to be determined by mapping the range of 1 to 5 for narrowband codecs, labeled (a) in Fig. 2, to 1 to MOSnew, named (b) in Fig. 2, for wideband codecs Based on results of France Telecome [19] aiming at comparing PESQ values of wideband and narrowband to present extended PESQ.
Fig. 2. MOS domain for extended E-model
598
M. Alavi and H. Nikmehr
Fig. 3. Relationship between MOS for NB and WB
we made an interpolation and obtained (6) with R2=0.99.
Y = αX β
(6)
in which α and β are 1.033 and 0.901,respectively. In (6), X is MOSNB and Y denotes MOSWB. Using Fig. 3, we can determine upper limit of MOS domain for wideband codecs is 5.75. In the other word, MOS domain of 1 to 5 for narrowband codecs is mapped into the range of 1 to 5.75 for wideband codecs. Based on recommendation G.113 by IUT-T, the highest quality obtained for narrowband codecs belongs to G.711 codec and is equal to 4.41. This is now 5.75 in the new scale. It must be noted that the difference between the highest quality obtained from narrowband and wideband codecs in G.711 codec is about 1.06 in MOS, which is a significant value. The range of 4 to 4.4, according to Fig. 4 that is satisfactory for the user is increased to range of 4 to 5.47. This shows 3.6 times increase for the satisfaction range.
Fig. 4. Classification of voice quality for different R-Factors
A New Computational Model to Evaluate the Quality of Perceptual Voice
599
As MOS is determined in term of factor R, the way domain R changes in the new model must be studied. The maximum quality in narrowband codecs is reported 4.41 belonging to G.711 codec. Based on Fig. 4, this value is equal to 93.2 in term of R. As seen in Fig. 5, in the suggested E-model, MOS value varies from 1 to 5.5, however, using the extrapolation, the red curve in Fig. 6 is obtained that can be formulated as in (7). The R domain for the proposed model is 0 to 120. In Fig. 6, the blue curve relates to the traditional E-model expressed by (4).
Fig. 5. Classification of voice quality for the new model
Fig. 6. MOS as a function of R in the new classification
⎧1 ⎪ MOS= ⎨− 3×10−6 R3 + 6×10−4 R2 + 8.85×10−3 R +1 ⎪5.5 ⎩
R1962 into // article [ @id ="41"]
! " #
Fig. 1. Conflicting transactions
1.1
Problem Statement
In the first place, transaction isolation for XML has to cope with the same challenges as traditional relational systems. It must provide stability for data read and it must protect against phantoms, i.e., preserve stability of predicates evaluated like, e.g., range scans over content. Queries and updates for semi-structured data impose here some new challenges not known so far. In the following, we point out the most important aspects: On the one hand, there is the ordered, hierarchical nature of XML, which leads to complex dependencies between the “data atoms”, i.e., the nodes of the document tree. Thus, serializability requires that structural updates are carefully isolated and do violate neither vertical nor horizontal relationships seen by concurrent transactions. On the other hand, when using XQuery-like languages, it is particularly difficult to predict what data will be accessed by a query. As a consequence, it is generally impossible to determine in advance – just by looking at the statements – whether two given queries will conflict with each other or not. One might assume that the latter is a consequence of the absence of schema information. However, as we will show, even the presence of a schema – pre-defined or dynamically derived from the actual data – may not be sufficient. Let us assume that two transactions T1 and T2 access a document as depicted in Figure 1: T1 queries the subtree of the “Science” journal, while T2 inserts a small year fragment into the subtree of article 41. Obviously, T1 and T2 conflict with each other and concurrent access is prohibited. However, the statements themselves contain no hint about that there may be a conflict. Using schema information, we could at least derive that there is a conflict potential. Unfortunately, knowledge about potential contention within a document is not sufficient to establish maximal permissive concurrency control. This is similar to the relational world, where some conflict potential is already given whenever transactions concurrently access and modify the same table. High concurrency can only be achieved when concurrency control is applied to the smallest meaningful granule, i.e., tuples in the relational world and nodes in the XML world. A major difference between relational tuples and nodes in an XML tree is the amount of information that each data atom represents. A single XML node
A Scalable Framework for Serializable XQuery
685
usually carries much less information – namely a name and a value – than a single tuple, which may have tens of attributes or even more. Further information is encoded in the XML document structure, typically by grouping related nodes in subtrees. Consequently, queries and updates often refer to variable-size subtrees. A fact that has to be naturally supported by XML concurrency control. The above observation does not necessarily mean that transactions are always interested in completely expanded subtrees. Instead, queries often address subtrees by certain predicates and then read only smaller parts of them – a great chance to increase concurrency. For example, if the return clause of transaction T1 would refer to $j/article/author instead, it would not conflict with the insertion of T2 and both requests could be processed in parallel. To summarize, we can state the following key observations: – Read/write or write/write dependencies between two transactions can only be decided in a meaningful way at the instance level, i.e., the document. – High concurrency requires small granules of isolation and the smallest granule available in XML is a node. – Mostly, subtrees are the logical target granule for queries and updates, but they vary in size and may be nested. – Typical usage allows concurrent reads and writes even within a single subtree. – XML’s ordered tree structure adds new dimensions for the evaluation of predicates and, thus, for the appearance of phantoms. Taking these observations into account, it becomes obvious that design and implementation of correct and scalable concurrency control for XQuery is a challenging task. Nevertheless, we believe that it can be reduced to a small set of clear-cut measures that can be efficiently realized and improve the overall value of native XML DBMS. 1.2
Contribution
In this paper we analyze the isolation requirements of XQuery Update and disclose sources of anomalies during query processing. Our findings take general XML query processing strategies into account and, thus, are applicable to a great variety of systems. We also present new extensions to our proven XML lock protocol taDOM providing effective protection against the XML-specific “schema phantoms”. All concepts were implemented in our native XML DBMS research prototype and provide a scalable framework with guaranteed serializability for XQuery. The remainder of this paper is organized as follows: We analyze the update primitives of XQuery Update and their isolation requirements in Section 2. Section 3 briefly introduces XML query processing and investigates general caveats and sources of phantoms which different query evaluation strategies have to observe. We present our approach implemented in our native XML DBMS XTC in Section 4, and review related work in Section 6. Finally, Section 7 summarizes the paper.
686
2
S. B¨ achle and T. H¨ arder
XQuery Update
The XQuery Update Facility is an XQuery extension for declarative updates of XML. Similar to SQL, it allows to query “nodes of interest” for which an update like, e.g., value change or insertion of a new subtree should be performed. Before the actual updates are applied, all of these so-called target nodes are collected together with the requested update operation in a pending update list. In a second phase, the list is checked to, e.g., eliminate duplicate deletes of a single node etc. and, finally, the updates are performed. Because of this two-phased processing, XQuery updates are called snapshot-based. Note that this defines only the semantics of update expressions and that XQuery neither requires or nor favors snapshot isolation in concurrent environments. The extension defines five kinds of update expressions: insert, delete, replace, rename, and transform. The latter, however, applies updates only to copies of the target nodes. As these copies are per definition private to a transaction, we must not consider transform expressions as an issue for concurrency control. Trivially, transactions must be guaranteed that the state of every read node is committed and stable; of course, modified nodes do not become visible to others before commit. In the following, we will focus on implicit consequences of updates for other nodes as potential sources of phantoms. 2.1
Update Primitives
The insert expression inserts a node or subtree relative to the specified context node. The insertion position can be precisely specified for the new previous or next sibling (before, after ) or the new first or last child (first, last). If sibling order does not play a role for the application, one may also specify “any new child” (into) to allow an actual implementation to choose the “optimal” insertion postion with regard to, e.g., storage consumption or concurrency. From the perspective of transaction isolation, all flavors of insert operations modify only a fixed set of basic properties of adjacent nodes. If the root of the new subtree is an element or a text node, then the nextSibling or previousSibling properties of the right or left sibling and, depending on the insert position, the firstChild and lastChild properties of the parent are affected. For our discussion, we need not distinguish between insertion of a single node and a whole subtree, because descendants of the root must be inaccessible to other transactions, too. If the new node is an attribute, only the correspondingly named attribute property of the parent element is affected. Figure 2 illustrates the changed foreign node properties for these two cases. Insertions affect many more properties influencing the outcome of concurrent queries like, e.g., position of all following siblings, containment for all ancestors, preceding axes of all following nodes, etc. But, they are transitively derived from the mentioned ones. Therefore, it is sufficient to ensure that inserts do not violate general repeatable-read and visibility rules for the five basic properties and that the evaluation of other structural predicates regards these transitive dependencies. The same observation holds for delete, which simply deletes the subtree rooted at the context node.
A Scalable Framework for Serializable XQuery
687
Fig. 2. Affected properties of inserts
A replace expression distinguishes between the replacement of a node/subtree with another and the update of a node’s value. The former logically translates into a sequence of delete and insert. The latter does not affect other nodes, because node identity is preserved and tree structure is not modified. Accordingly, special care is not necessary. Finally, rename changes the name of element and attribute nodes. For attributes, this operation equals to a deletion followed by an insertion under the new name. Renaming elements is similar to value updates for text and attribute nodes. It is a local operation and does not modify the tree structure. Although it changes the path of all descendants, a heavily used concept in queries, we must not impose further restrictions, because the rationale of transitive properties holds. 2.2
Phantoms
Phantom anomalies arise when the result set of a previously evaluated predicate changes due to concurrent modifications [8]. We already mentioned that a node embodies only three kinds of information: name, value and its position in the document hierarchy2. Accordingly, we can classify three different kinds of phantoms that may appear. Content-predicate phantoms step up when, e.g., attribute values or text nodes are modified and fall into a concurrently evaluated range scan. Name-predicate phantoms appear when nodes are concurrently renamed, inserted, or deleted, which fulfill a queried name predicate. Finally, structural-predicate phantoms arise, e.g., when a transaction navigates from a node to its first child and another transaction concurrently inserts a new first child in front of it. In practice, these kinds of phantoms would typically appear in combination. Consider a transaction T1 evaluates query //a/b/@c > 5 and a second transaction T2 adds a new attribute c with value 60 to any node with label b and a parent a. If T1 now re-evaluates the query, the new attribute appears as a phantom in all kinds of categories. The query of transaction T1 describes a complex predicate. As there are plenty of ways to evaluate it, we cannot easily locate a single point in a system where phantoms originate. Therefore, we will investigate common query 2
Note that we omit namespaces, types, etc. for the sake of simplicity as they do not influence the main points of this paper.
688
S. B¨ achle and T. H¨ arder
evaluation strategies for XML and distill a general principle how to prevent the emergence of phantoms.
3
Query Processing
XQuery engines can be categorized by their processing strategy into four groups: streaming, navigational, relational, and native, which embraces concepts of all former in conjunction with native XML techniques like indexing and metadata usage. The strategy is typically determined by the capabilities of the underlying storage system, if any, and non-functional requirements like, e.g., memory footprint. From the perspective of transactional concurrency, it is most important that an engine touches as few data as possible because the isolation aspect requires to keep accessed data stable until commit thereby limiting concurrency. Pure streaming and navigational engines are mostly stand-alone solutions or directly embedded in applications. They work on a per-file basis, which implies that they always access whole documents making concurrent transactional read and write access impossible. Relational engines run on top of standard RDBMSs and translate XQuery to SQL, having documents shredded into relational tables. Consequently, they are per se ACID compliant and allow concurrent queries and updates of the tables with the shredded documents. The underlying concurrency control mechanisms, however, are blind for the actual semantics of XML and XQuery, and potential concurrency is jeopardized. Achievable concurrency depends on the shredding scheme and the degree to which it allows to use column-based indexes to reduce the number of tuples that must be touched and to perform XML-level updates with low side-effects on the shredded data. Native engines can draw from plentiful techniques and data access alternatives to tackle a query. In addition with context knowledge about the inherent data model and query properties, they allow for very efficient query processing. A desired side-effect for our purposes is that efficient evaluation most often implies minimal access to a document. Accordingly, we focus on native engines and analyze pro’s and con’s for concurrency of native query processing algorithms. 3.1
Basic Concepts
XML engines base on the traditional stages of query processing: translation, planning and optimization, and execution. First, a query is parsed, checked, and translated into an internal representation, a so-called query plan. In the second stage, the logical query plan is transformed into a – hopefully – efficient physical query plan, which is finally processed in the third stage. The whole process is a very complex topic, which we do not want to detail here. For our purposes, it is sufficient to look at the physical query plans, because they define how the data is accessed and, accordingly, where isolation properties might be violated. A physical query plan is a data flow graph with a single output node and several input nodes. The output node returns the query result, typically serialized into a string, and the – possibly empty – pending update list, which has to be processed. Input nodes can be any type of physical access to documents, but also
A Scalable Framework for Serializable XQuery
689
sources for “non-physical” input like node constructions, arithmetic and logical expressions, literals, function calls, etc. Inner nodes, finally, represent the actual query processing logic in form of operators or algorithms. Amongst them are traditional ones like select, join, and sort, but also – depending on the platform – XML-specific ones like structural join, twig join, or other primitives for the nested-loops-like for construct of XQuery. General processing logic and various path processing algorithms are already quite complex. But even worse, interdependencies between them, introduced by their combination in a query plan, are even inscrutable. Node identifiers, for example, mostly encode structural relationships and are used by algorithms to compute identifiers of related nodes. Some systems include information to directly compute the whole path for each node and, thus, allow to evaluate many predicates for theirs ancestors without actually accessing them. In such settings, many predicates over paths and content will be evaluated in manifold constellations, making it unfeasible to enumerate all potential sources of phantoms. The above shows that any plans to implement concurrency control by reasoning about the semantics of the query must necessarily fail. The complexity, however, only draws the attention from a clear-cut, even trivial fact: Independent of the query, it will be sufficient to protect both explicitly and implicitly gathered information from concurrent modification until commit, whenever a document is physically accessed. Explicit information is identity, name, and value of a node. Implicit information is all meta knowledge gained and exploited during query processing. If the requirement for repeatable read for both kinds of information is met, phantoms cannot occur, because even complex predicates can only be evaluated out of this basic data. The roadmap for the realization of a waterproof isolation concept is now clear. We have to identify all alternatives for physical document access (access path) and determine how much information about the document a particular implementation really delivers – with a close eye on the critical properties and types of information identified in Section 2. Then, we have to install efficient, yet maximal permissive measures to protect the returned data from modifications through concurrent transactions. 3.2
Access Paths
Availability of several access paths allows a system to choose the cheapest combination to answer a query. If only navigational access is available to answer a query //a/b/@c>5, for example, the document must be traversed node by node to find each match. If, however, a special XML index that contains all attributes on the path //a/b is available, all candidate attributes may be read efficiently from the index and only the conditions name=c and value>5 must be checked requiring document access, and so on. Generally, we observe that the more complex the information provided by an access path is, the less nodes have to be touched, and, in turn, the higher is the concurrency achievable. Without – here irrelevant – consideration of physical properties, the vast number of XML storage and indexing structures can be classified into specific access
690
S. B¨ achle and T. H¨ arder
path classes3 . First and most important is the document store itself. It allows for direct node access, navigation in the tree structure, and bulk reconstruction of document fragments. Accordingly, in addition to its role as “node store”, the document store can be seen as an index for tree structure predicates. The two other kinds of information carried by nodes, values and names, can be indexed by special content and element /attribute indexes, respectively. They map the property of a node to an identifier, which can be used to look up the related node in the document store. Finally, advanced path and CAS (content and structure) indexes combine all three kinds of information and allow to evaluate complex path predicates with minimal effort. With this great variety, selection of appropriate access paths to feed operators in a query plan is challenging. Identification of path and other predicates suitable to be processed with a powerful path or CAS index, for example, is not a simple task. Nevertheless, demand for high concurrency encourages to exploit them whenever possible to reduce the number of nodes to be accessed.
4
Concurrency Control in XTC
XTC is our research platform for native XML database concepts, such as storage, indexing, query processing, transaction isolation and crash recovery [13]. It uses a flexible storage layout and supports the query engine with powerful indexing capabilities. XTC also provides full ACID transactions based on the tailored XML lock protocol taDOM [12], which initially targeted only to navigational APIs. In the following, we will give a r´esum´e of its key aspects, before we extend its scope to full XML query support. 4.1
taDOM
The key of taDOM is to transfer the idea of hierarchical locking [7] to document trees and to enrich the protocol with lock modes aligned to the permissible concurrency of XML updates. The protocol provides transactional isolation for the existing structure and content. According to the general principle, a suitable lock and intention locks for all ancestors must be acquired, before a node is accessed. To master the acquisition of intention locks efficiently, we depend on prefix-based node labels like DeweyIDs or OrdPaths [9], because they allow for the computation of all ancestor node labels without further physical access. However, such labeling schemes are already widely established in XML DBMS because of their benefits for query processing. taDOM yields its high concurrency with lock modes that focus on minimal protection requirements of XML-specific operations. As depicted in Figure 3, it distinguishes between shared access for single nodes, tree levels, and whole subtrees, and exclusive access for single nodes and subtrees. With these modes 3
In practice, the classes are not strictly disjoint. A specific implementation might fall into several classes and may provide all or only a subset of the access operations of a class.
A Scalable Framework for Serializable XQuery
691
Fig. 3. Special taDOM lock modes
it is, e.g., possible for a query to iterate over a node and all its children, while, at the same time, nodes and subtrees in the subtrees of its grandchildren are updated. Lock overhead can easily be controlled by switching lock coverage from the very fine node level to the coarse subtree level. Whenever a transaction physically or logically navigates from a node to a related one, a structural predicate is evaluated that has to be kept stable. taDOM in conjunction with prefix-based node labels already delivers this protection for many predicates like, e.g., ancestor/descendant, following/preceding, following-/preceding-sibling, etc. However, the danger of phantom inserts and deletes remains in three cases: navigation from a node to its first and last child respectively, navigation between direct siblings, and navigation from an element to one of its attributes. If you recall the discussion in Section 2.1, these are the identified critical foreign node properties affected by update operations. To overcome this issue, so-called edge locks [11,15] were introduced, which are simply fixed-predicate locks that must be acquired whenever one of these properties is read or modified. The example in Figure 4 illustrates the concept. Transaction T1 starts at node p, navigates to its first child and to the next sibling, acquiring shared locks for each node visited and each edge passed. Transaction T2 now attempts to append a new node c requiring exclusive locks for affected foreign node properties, i.e., edges. The request for the lastChild edge of p can be granted, because the lock is free. The request for the nextSibling property of b, however, is incompatible with the shared request of T1 and T2 must be blocked. The initial solution proposed the processing of edge locks orthogonal to node locks with simple read, write, and update lock modes. Attribute edges were handled also separately with so-called phantom locks. Having learned from efficiency experiments, we merged our concepts and model all edges as nodes with pre-defined positions amongst the actual nodes to profit from lock escalation heuristics. In various experiments, we proved that taDOM not only provides compelling concurrency but can also be implemented efficiently [1,2,14]. We also addressed advanced topics like deadlock prevention through update lock modes and
692
S. B¨ achle and T. H¨ arder
Fig. 4. Edge locks
dynamic lock escalation. The confinement to logical document trees makes the protocol independent of the underlying document store – except for the need of prefix-based node labels. It must only provide atomicity for concurrent read and write operations and must also take implications of sophisticated storage layouts into account for transaction rollback and crash recovery. Although these are interesting aspects, we will not discuss them further, because implementation details are beyond the scope of this paper. 4.2
Indexes
Physical storage in XTC omits redundant element nesting and stores only leaf nodes of the document tree [10]. The ancestor path, i.e., the inner structure of a document, can be computed at any time with a leaf’s DeweyID and its PCR (path class reference) – an integer identifying the node’s path in a structural summary of the document. The structural summary, called path synopsis, is itself a small tree reflecting all unique paths within a document. Figure 5 shows a DeweyID-labeled document and the corresponding path synopsis. By combining DeweyIDs and PCRs, we can also create sophisticated indexes, which may be carefully adjusted to document properties and query requirements [16]. Using permutations of PCR, DeweyID, and, optionally, content of a node, we have various opportunities to build key/value pairs for different types of path and CAS indexes. They can be precisely scoped with path patterns and content type specifications to specific node sets. The path synopsis is used to identify the set of PCRs matching the path patterns, which greatly simplifies creation, use, and maintenance of an index. Additionally, we can employ a two-staged element index, which allows for efficient access to all elements with the same name in document order. It is logically the same as a path index for the pattern //*, but has different physical properties. Of course, we can use this technique also for attribute names or exploit PCRs to index only a subset of all node names. Finally, XTC also supports plain conventional content indexes, which map content and attribute values to DeweyIDs. For concurrency control, a big advantage of all our four index types is that they are realized with standard B*-trees. This enables us to employ standard index locking techniques, which do not only lock the index entries for repeatable reads, but also the gaps between them to prevent phantom inserts and deletes.
A Scalable Framework for Serializable XQuery
1. 1.3
1.5
1
1.7
1.3.3 1.5.3 1.7.3 1.3.5
693
2
3
4
5
1.3.3.3 1.3.5.3 1.5.3.3
Fig. 5. Document and path synopsis
Note that even renaming elements does not violate consistency of our PCR-based indexes, because a rename implies that the PCRs of all descendants also change, and, accordingly, it results in normal index updates. Our current implementation uses ARIES key/value locking [17] for all index types, which uses separate locks on index keys. Of course, any other index locking approach preserving serializability and further sophisticated measures to reduce the lock overhead are also applicable [4,6]. In future work, we will work on new strategies to harmonize the interplay between index locking and taDOM to further reduce lock overhead. 4.3
Schema Phantoms
The path synopsis is undoubtedly the central data structure for all document accesses. Therefore, we rely on its performance and avoid to burden it with heavy-weight concurrency control. In contrast, we relaxed some properties to increase throughput. First, a path synopsis must not necessarily be minimal, i.e., it may contain paths without counterparts in the document. In other words, a path synopsis only grows and deletes must not take care if the last instance of a path in the document is deleted; stale paths may be removed by isolated maintenance tasks. Second, a path synopsis contains no payload data and, thus, newly created paths may be shared directly with other transactions. Once a new path is created and a PCR is assigned, it is immutable. While the above is great for minimal synchronization overhead in the data structure, we cannot completely dispense transactional concurrency control for a path synopsis. As a kind of dynamic schema, it lends itself as a powerful vehicle for query optimization and, especially, index selection. During query planning, we match path expressions against the path synopsis to get a set of matching PCRs. This set can be used by the optimizer to choose appropriate indexes to answer the query. A PCR set, however, reflects only a snapshot of the current document structure, and this may lead to so-called schema phantoms.
694
S. B¨ achle and T. H¨ arder
Assume a transaction T1 matches the path expression //c against the path synopsis in Figure 5. The current PCR set is {3}, and the optimizer may choose to read all matching nodes from a path index /a/b/c. As only nodes on this path will be covered and protected by the index, a transaction T2 may create a new path /a/d/c with PCR 6 in the document and commit. If T1 re-evaluates the path //c, the PCR set is now {3, 6} and the optimizer must not use the same path index again. Instead, the document may have to be scanned and nodes inserted by T2 will appear as phantoms. The problem of schema phantoms arises whenever the path synopsis is “misused” to make statements about the non-existence of certain paths. In the above example, the PCR set was used to justify the application of an index, which is in general too narrow to answer the desired path expression. Similar problems arise when empty PCR sets are taken as indication that whole branches of a query plan must not be executed, because they are expected to return no result. Accordingly, we can say that the phenomenon of schema phantoms already appears in the planning phase and not in the execution phase. There are two possible solutions to the problem. The simplest way, the optimizer is never allowed to choose too narrow indexes or to cut query branches although the path synopsis indicates that it is reasonable. In a real environment, however, we can observe that a path synopsis grows only infrequently and, thus, it is desirable to leverage all indexes available to the maximum extent. We developed a straightforward solution. Whenever a transaction matches a path expression against the path synopsis, a shared lock for the expression is acquired. Transactions creating new paths must probe these locked expressions matching the new path with instant requests for exclusive locks – a type of lock that is directly released at the moment it is granted. This way, writers are delayed until all readers that might have missed the new path have ended. As schema extensions are rare situations and search for locked expressions matching the new path can be easily truncated, general impact on writers is very low. Note also that matching queries will never have to wait for a shared expression lock, because exclusive locks are instantly released when granted.
5
Insightful Experiment
We can illustrate the effects of a specific query evaluation strategy on our locking protocol using a distinct experiment. We compared four different strategies for query Q1 of the widely-used XMark benchmark [21]: let $auction := doc (" auction . xml ") return for $b in $auction / site / people / person [ @id = " person0 "] return $b / name / text ()
The Scan plan evaluates the query using a single scan over the whole document. ElementIndex constructs the path /site/people/person with a structural join over three element index scans for the respective element names. The
A Scalable Framework for Serializable XQuery
1000
10000 Scan ElementIndex PathAndContentIndex CASIndex
1000 # locks
Execution time [ms]
10000
100
Scan ElementIndex PathAndContentIndex CASIndex
100
10
10
1 110KB
695
1.1MB
11MB
110MB
1 110KB
1.1MB
11MB
110MB
Fig. 6. Query execution times and number of requested locks
attribute predicate and the final result construction are evaluated using navigation. Finally, PathAndContentIndex and CASIndex identify person elements using a join over a path index /site/people/person and content index scan for “=person0” and a CAS index /site/people/person/@id for “=person0”, respectively. Both plans construct the final result using navigation. We executed all plans for XMark documents of size 110KB, 1.1 MB, 11MB, and 110MB in XTC on a server with 4 quad-core Intel Xeon 2,66GHz and 4GB memory. XTC was configured with 64KB pages and a 64MB buffer and lock escalation was turned off to investigate the access behavior of the different plans. As expected, the query execution time given in Figure 6 directly correlates with the number of nodes each plan accessed. The scan scaled poorest with document size although the result size remained stable with one qualified node. The ElementIndex plan performed much better but response time also degraded slowly, because the attribute predicate must be checked for all persons qualified by the structural join. The response times of the last two plans remained constantly low in the range from 5 to 30 ms for all sizes. Their big advantage is the ability to evaluate the highly selective content predicate with an index access first; this dramatically reduces the intermediate result size. The CASIndex plan only needs a single access to the CAS index to evaluate the qualifying path expression. A look at the number of locks acquired by each execution strategy in Figure 6 might be a bit suprising at first. The Scan, although touching always each node, constantly acquired only 4 locks. Three were acquired to locate the document in the database4 ; and the document root node was locked with a shared subtree lock (SR) for the scan. Consequently, concurrency is limited by scan-based plans to shared access. The overhead of PathAndContentIndex and CASIndex is also constant. In contrast to the Scan, however, their locks only cover the actually accessed nodes and allow concurrent modifications everywhere else in the document. In this discipline, ElementIndex reveals its undesirable access behavior. Although this strategy generally performs adequately and is, therefore, widely used in native engines, it “spreads” access, i.e., locks over the whole document. Accordingly, this strategy tends to increase both runtime and memory consumption and also reduces concurrency more than necessary. 4
Similar to relational systems, which store their metadata catalogs in tables, XTC uses an XML document for metadata.
696
6
S. B¨ achle and T. H¨ arder
Related Work
To the best of our knowledge, only a small fraction of the work on XML concurrency control copes with full support for XQuery and XQuery Update. Instead, most proposals focus only XPath, subsets of XPath, or home-brew path expression languages. We do not consider the latter here because they lack practical relevance and restrict ourselves to the few XQuery-capable solutions that found their way into products or prototypes. MonetDB/XQuery is a powerful system implemented on top of the columnstore MonetDB. It uses a pre/post encoding scheme to shred documents into relations which implies their reorganization after structural updates. Its answer to reduce maintenance effort and to increase throughput under concurrent updates is an update-friendlier table layout and a combination of shadow paging together with page-level and document-level read/write locks [3]. Commutative delta operations help to avoid concurrency bottlenecks when encoding changes have to be propagated up the document tree. The mechanism described provides snapshot isolation, but, contribution [3] neither states on concurrency achieved nor deadlock threats raised by page-level locks. DGLOCK [5] and (S)XDGL [18,19] are hierarchical lock protocols applied to structural summaries similar to our path synopsis instead of document nodes. SXDGL additionally uses MVCC to isolate readers with snapshot isolation. While these approaches promise minimal lock overhead, they come with some practical shortcomings. They require general predicate locks, e.g., on content, to reduce contention on the nodes of the summaries. This leads to serious performance penalties, when lock compatibility decisions require document access to check if predicates overlap. Further, identification of paths and, accordingly, choice of correct yet sufficiently permissive locks in advance is a complex issue and only manageable for simple queries. Optimistic concurrency control for XQuery, finally, has, so far, only been proposed in [20]. However, the approach is quite complex and has never been proved to scale to serious data volumes.
7
Conclusions
Poor support for intra-document concurrency in native XML DBMSs is an unnecessary restraint. Nowadays, the way documents, i.e., semi-structured, hierarchical data, must be used and organized is determined by the DBMSs and not – as it should be – by the applications. Analysis of general isolation requirements of XQuery and concurrency pitfalls in native XML query processing lead to a central observation: Serializable, phantom-free, and highly concurrent query processing can be achieved when the problem is reduced to the provision of maximal permissive concurrency control for all data access paths within a system. One must ensure that the data delivered as well as the implicitly exhibited information is protected against concurrent modifications.
A Scalable Framework for Serializable XQuery
697
This requirement for repeatable read couples the goal of high concurrency directly with the goal to touch as few data as possible during query processing. XML’s tendency to group and query related information in subtrees supports this objective in a natural way. Accordingly, we emphasize the value and encourage the use of efficient path indexes and CAS indexes to profit from both fast query processing and increased concurrency. With their expressiveness, relevant subtrees can be identified very quickly and further processing can be scoped to avoid scattered document access, which also burdens concurrency. Our solution is taDOM, a hierarchical XML lock protocol, in conjunction with standard index locks. It embraces XML specifics like subtree locality, path processing, and common types of XML indexes, but does not affect the degrees of freedom which the query engine can utilize. We have implemented all concepts in XTC to accomplish a real concurrent and guaranteed phantom-free native XML DBMS. Experiments also confirm that our concepts effectively increase concurrency and can easily trade overhead off against parallelism.
References 1. B¨ achle, S., H¨ arder, T.: The Real Performance Drivers Behind XML Lock Protocols. In: Bhowmick, S.S., K¨ ung, J., Wagner, R. (eds.) DEXA 2009. LNCS, vol. 5690, pp. 38–52. Springer, Heidelberg (2009) 2. B¨ achle, S., H¨ arder, T., Haustein, M.P.: Implementing and Optimizing FineGranular Lock Management for XML Document Trees. In: Zhou, X., Yokota, H., Deng, K. (eds.) DASFAA 2009. LNCS, vol. 5463, pp. 631–645. Springer, Heidelberg (2009) 3. Boncz, P.A., Flokstra, J., Grust, T., Keulen, M., Manegold, S., Mullender, K.S., Rittinger, J., Teubner, J.: MonetDB/XQuery-Consistent and Efficient Updates on the Pre/Post Plane. In: Ioannidis, Y., Scholl, M.H., Schmidt, J.W., Matthes, F., Hatzopoulos, M., B¨ ohm, K., Kemper, A., Grust, T., B¨ ohm, C. (eds.) EDBT 2006. LNCS, vol. 3896, pp. 1190–1193. Springer, Heidelberg (2006) 4. Lomet, D.: Key Range Locking Strategies for Improved Concurrency. In: VLDB, pp. 655–664 (1993) 5. Grabs, T., B¨ ohm, K., Schek, H.-J.: XMLTM: Efficient Transaction Management for XML Documents. In: CIKM, pp. 142–152 (2002) 6. Graefe, G.: Hierarchical locking in B-tree indexes. In: BTW. LNI, vol. P-65, pp. 18–42. Springer, Heidelberg (2007) 7. Gray, J.: Notes on Database Operating Systems. In: Operating Systems: An Advanced Course. LNCS, vol. 60, pp. 393–481. Springer, Heidelberg (1978) 8. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993) 9. H¨ arder, T., Haustein, M.P., Mathis, C., Wagner, M.: Node Labeling Schemes for Dynamic XML Documents Reconsidered. Data & Knowledge Engineering 60(1), 126–149 (2007) 10. H¨ arder, T., Mathis, C., Schmidt, K.: Comparison of Complete and Elementless Native Storage of XML Documents. In: IDEAS, pp. 102–113 (2007) 11. Haustein, M.P., H¨ arder, T.: A Lock Manager for Collaborative Processing of Natively Stored XML Documents. In: Proc. SBBD, pp. 230–244 (2004)
698
S. B¨ achle and T. H¨ arder
12. Haustein, M.P., H¨ arder, T.: An Efficient Infrastructure for Native Transactional XML Processing. Data & Knowledge Engineering 61(3), 500–523 (2007) 13. Haustein, M.P., H¨ arder, T.: Optimizing Lock Protocols for Native XML Processing. Data & Knowledge Engineering 65(1), 147–173 (2008) 14. Haustein, M.P., H¨ arder, T., Luttenberger, K.: Contest of XML Lock Protocols. In: VLDB, pp. 1069–1080 (2006) 15. Helmer, S., Kanne, C.-C., Moerkotte, G.: Evaluating lock-based Protocols for Cooperation on XML Documents. SIGMOD Record 33(1), 58–63 (2004) 16. Mathis, C., H¨ arder, T., Schmidt, K.: Storing and Indexing XML Documents Upside Down. Computer Science – Research & Development 24(1-2), 51–68 (2009) 17. Mohan, C.: ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. In: VLDB, pp. 392–405 (1990) 18. Pleshachkov, P., Chardin, P., Kuznetsov, S.O.: XDGL: XPath-Based Concurrency Control Protocol for XML Data. In: Jackson, M., Nelson, D., Stirk, S. (eds.) BNCOD 2005. LNCS, vol. 3567, pp. 145–154. Springer, Heidelberg (2005) 19. Pleshachkov, P., Kuznetsov, S.O.: SXDGL: Snapshot Based Concurrency Control Protocol for XML Data. In: Barbosa, D., Bonifati, A., Bellahs`ene, Z., Hunt, E., Unland, R. (eds.) XSym 2007. LNCS, vol. 4704, pp. 122–136. Springer, Heidelberg (2007) 20. Sardar, Z., Kemme, B.: Don’t be a Pessimist: Use Snapshot-based Concurrency Control for XML. In: ICDE, p. 130 (2006) 21. Schmidt, A., Waas, F., Kersten, M.L., Carey, M.J., Manolescu, I., Busse, R.: XMark: A Benchmark for XML Data Management. In: VLDB, pp. 974–985 (2002)
A Simulation Discipline in OpenUP to Satisfy Wireless Sensor Networks Requirements Gian Ricardo Berkenbrock and Celso Massaki Hirata Department of Computer Science Instituto Tecnol´ ogico de Aeron´ autica - ITA S.J. Campos, SP, Brazil
[email protected],
[email protected] Abstract. Embedded software for networked devices is becoming popular. One example is wireless sensor networks (WSN). WSN are a technology used to collect data from different sources and they can be applied in monitoring and instrumentation area. The development of WSN offers complex challenges. Developers should be aware of restrictions such as limited storage, battery consumption, low accuracy sensor, and short transmission range. WSN are highly dependent on application requirements mainly due to the above restrictions. So, one application is hardly equal to another. In general, application requirements of WSN include fault-tolerance, load-balance, scalability, customized hardware, and deployment area coverage. There is not a specific process to address the development os WSN applications. Open Unified Process is an iterative software development process that is intended to be minimal, complete, and extensible, and because of these features it is a good candidate for WSN application development. However, OpenUP does not support the challenges and requirements of WSN systems, because it does not have specific tasks that consider such requirements. Then in order to address this lack of support, this paper proposes a simulation discipline in OpenUP to satisfy the WSN application requirements. An example of use of the proposed process is shown. Keywords: Wireless sensor network, Software development process, OpenUP, Simulation Discipline, Environmental monitoring.
1
Introduction
Wireless sensor networks are composed of nodes that have capability to sense and communicate over-the-air to each other. In addition, the nodes can perform local processing and they have local storage. In order to deliver the collected data to a base station in a multi-hop scenario, nodes transmit data using ad-hoc communication. Nodes impose constraints to the system such as short communication range, low bandwidth, small memory, and limited battery. Then, typical scenarios for WSN applications are environmental monitoring, surveillance of F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 295–305, 2010. c Springer-Verlag Berlin Heidelberg 2010
296
G.R. Berkenbrock and C.M. Hirata
installations or areas, such as, home, border, or building, object tracking, precision agriculture, bridge monitoring, hospital monitoring, and herd monitoring. Moreover, the feasibility of WSN are highly dependent on application requirements mainly due to the restrictions aforementioned. Even when the application is similar to other one, one must perform a complete application verification and validation in the new environment because the behavior of WSN can be different from that one deployed in the previous environment. However, one might face some problems when developing WSN applications. The difficulties include requirements satisfaction, gap between model and implementation, and short development time[1,2,3]. Thus, one should consider the use of specific software development process to improve the development organization and to enable a better project management. Software development process [4] is a set of activities whose goal is the development or evolution of software. An example of software development process is Open Unified Process (OpenUP) [5]. OpenUP is an iterative open-source software development process that is intended to be minimal, complete, and extensible [6]. Nevertheless, OpenUP does not address the specific requirements for development of WSN systems. Thus, it is difficult to achieve a predictable system behavior that complies with the WSN application requirements. Furthermore, the use of simulation is a valuable verification technique for the system development due to the diversity of requirements for WSN applications, distributed nature of embedded systems, the complexity to model analytically a WSN, the difficulty for debugging and profiling such systems, and the need to perform evaluation at different levels (application, network protocol, operating system, hardware)[7,8,9,10,11]. However, simulation is poorly explored in OpenUP. The remainder of the paper is organized as follows. Section 2 presents the background for our proposal. It includes an overview of wireless sensor networks focusing on the need of simulation, a brief overview of software development process, and OpenUP. Section 3 presents and discuss the simulation discipline in OpenUP. Section 4 presents an illustrated use of the proposed process. Finally, in Section 5 we present some conclusions and discuss future work.
2 2.1
Background Wireless Sensor Networks
Wireless sensor networks are composed of small, low cost, and dispensable devices called sensor nodes or just nodes, which can communicate over-the-air to each other using an embedded radio. Nodes have sensing capability and usually are applied to monitor some phenomenon. Nodes can also be deployed very close to some phenomenon or inside it. In order to deliver the collected data to the base station, it is common that nodes communicate in an ad-hoc way until the data is delivered to the base station. WSN components include nodes, monitored area, base station (BS) and control station. Fig. 1 depicts an example of WSN components and their relationships. In WSN, the number of nodes can
A Simulation Discipline in OpenUP to Satisfy WSN Requirements
297
Fig. 1. Components of Wireless Sensor Network
vary from a few to hundreds of thousand. WSN are application-oriented because of the aforementioned constraints. Currently, the most used operating system of WSN is TinyOS [12]. TinyOS is an event-based OS developed by Berkeley University. Developing software for WSN is not a trivial task. One could consider noncritical task the development for only a single node without the complexity of wireless communication, but the development of software for the entire network is not easy and specially when one needs to make sure that the software complies to the application requirements. Due to aforementioned challenges, one must consider the use of simulation during the development process. Yet, in order to achieve more refined results, when it is essential, one might consider the use of a prototype of a small scale WSN. 2.2
Software Development Process
Software development process can be seen as a set of guidelines that assist a team to perform the work in a disciplined way from the concept to the deployment of a given solution. Thus, the usage of software development process aids the developer from specification to deployment. In Rational Unified Process (RUP), there are four phases: inception, elaboration, construction, transition [13]. In each phase a defined milestone must be achieve to enable the team to start the next phase and proceed with the software development. The life cycle-based process models include waterfall, incremental development, iterative development, and spiral model [14]. We choose to work with an iterative and incremental development model called OpenUP. Like RUP, it uses iterative and incremental models [13]. OpenUP is an adaptation of RUP. OpenUP is an agile and lightweight process and it includes only fundamental contents. The most central concepts in OpenUP are roles, tasks, artifacts, and activities [6]. Roles refer to the essential skills needed by teams in order to perform tasks. The roles specified by OpenUP are stakeholder, analyst, architect, developer, tester, and project manager. Tasks refer to a unit of work performed by roles, for example, the primary tasks performed by analyst are Define Vision, Find and Outline Requirements, and Detail Requirements. Artifacts refer to something that is produced, modified, or used by a task. Activities refer to tasks and their
298
G.R. Berkenbrock and C.M. Hirata
sequences. OpenUP targets small teams and few months of development effort [15]. Such characteristics are of the WSN application development.
3
Integrating Simulation Discipline into Open Unified Process
There are some studies reporting the extension and integration of OpenUP [6,15]. However, they do not address the WSN application development. And complex products, such as WSN, need special handling of requirements as well. There is a lack of software development process to address the development of a WSN application project. The main reason why development processes do not fit to WSN development is their inability to meet requirements of WSN satisfactorily and they do not provide an organized way to perform simulation activities. In addition, the integration with third party systems considering data exchange between them and WSN system, employment of verification techniques as soon as required, and different viewpoints used for analysis are other characteristics that need to be addressed during the development process. Yet due to the development characteristics of WSN systems, as it was described in section 2.1, it is important to assist the development team with a disciplined mode to perform their tasks, including the simulation activities. Besides the development of an application for running on nodes, the development process must also concern on others interests. One interest is the simulation used by developers to evaluate their solutions and, in this case, it can play an important role through the design and implementation activities. One can use simulation in order to minimize type III [16] error. And, also, it is important to document the activities to perform a simulation study in a way that the knowledge about how to perform a simulation study shoud not be restricted to the simulation analyst. Thus the description of specific tasks to perform the simulation study is needed. In the next section we introduce the Simulation Discipline that can be integrating to the software development process. 3.1
Simulation Discipline
The simulation discipline corresponds to the workflow to perform a simulation study of WSN systems. It is based on simulation studies proposed in literature [17,18,19]. The simulation discipline can be used at any process phase of the OpenUP. Nevertheless, for the first time when using this discipline during the development process at least one iteration of the inception phase should be already performed. Then, one can use the simulation discipline for requirements analysis, parameter analysis, integration evaluation, and so on. In addition, this discipline is not static, the project manager can add or remove as he want some activities of this workflow or any other from the OpenUP. For example, if the organization already know some simulator or it has experience on using some specific WSN OS simulator like TOSSIM from TinyOS or like COOJA from ContikiOS, then he can remove it or ignore it, in this workflow, the Analyse the simulator activity.
A Simulation Discipline in OpenUP to Satisfy WSN Requirements
299
Fig. 2. Workflow for simulation discipline
This discipline was created to attend specific tasks to perform the simulation during the software development process for WSN application. The discipline workflow is depicted in Fig. 2. The activities of this workflow include planning, development, and experimentation. The activities for planning are Refine Requirements, Define Objectives, Define the Input/Output Data, and Analyse the Simulator. The activities for development are Collect Data, Implement the Model, Validate the Model, and Model Revision. The activities for experimentation are Design the Experiments, Run the Experiments, Assess the Results, and Implement the Results. The roles that are responsible to perform this discipline are Phenomenon Specialist, Simulation Analyst, and Simulation Developer. The role Phenomenon Specialist aids the Simulation Analyst role during the execution of the following activities: Refine Requirements, Define the Input/Output data, and Assess the Results. The role Simulation Developer is responsible to perform the following activities: Implement the Model, Model Revision, and Run the Experiments. When the Run the Experiments activity is performed, the Simulation Analyst assists the primary role. And the remain activities are the responsibility of the Simulation Analyst.
4
Case Study
This case study aims to assess the use of simulation discipline for the software development process for WSN application in an ordinary real environment.
300
4.1
G.R. Berkenbrock and C.M. Hirata
Description
The sugar cane spirits (Cacha¸ca) is a genuine Brazilian drink, known worldwide. Its production began in the sixteenth century. According to Brazilian law, which standardizes and ranks drinks, cacha¸ca is defined as a typical beverage produced in Brazil, with an alcoholic strength of 38 % vol (thirty-eight percent by volume) to 48 % vol (forty-eight percent by volume) at a temperature of 20o C (twenty degrees Celsius). It is obtained by distilling the fermented juice of sugar cane with peculiar sensory features. The production cycle of sugar cane spirits starts with the milling of sugar cane, through the preparation of the wort, fermentation, distillation, filtration and dilution. After filtering and resting, the sugar cane spirits can now be bottled or go to wooden barrels for aging. The higher the aging of the sugar cane spirits, the higher is the value of the drink [20]. In the aging process, the characteristics of the sugar cane spirits changes, improving its qualities with new flavors, new tastes and new coloring. User Environment The main environment place is a warehouse for aging drinks (WAD). During the solution use there might be some tasks where people are involved, for example: deployment task, monitoring task, and maintenance task. The platform is the TelosB. The maintenance task should occur only once per year. The solution should present soft-alarms when the environment condition is closer to the upper or lower limits. And emergence-alarms when the conditions are greater or less than the upper and lower limits imposed. The WSN should be integrated to a database system in order to keep the change history saved. Functional Requirements The warehouse for aging the sugar cane spirits has dimension of 8 meters wide per 80 meters long and 5 meters height. This warehouse has storage capacity of 800 barrels with capacity of 250 liters each or 200000 liters in total. The barrel dimension is 95 cm of height, 72 cm of diameter at middle, and 58 cm of diameter at top/bottom, according to Ferreira [21]. As mentioned by Silva [22], during the aging time (from 1 year up to 5 years) the temperature must be within the range of 15o C (fifteen degrees Celsius) and 20o C (twenty degrees Celsius) and the air relative humidity must be within 70% and 90%. Fig. 3 shows the arrangement of barrels in the WAD and the gray dots represent the nodes’ positions. In WSN the nodes must be able to set upper and lower range for some environmental variable (temperature and humidity). If the sensed value is near to the boundaries values, the node must rise an alarm and send it to the control station. It only stops to send the alarm when the control station notifies it that the alarm was received and it only is in condition to send the alarms again after 5 units of time interval. Nodes should be able to connect to the network and it must be able to perform the following activities: sensing, routing, disseminating, and aggregating. The threshold has two levels, either for upper and lower boundaries. One is called soft threshold and it is 10% lower than the second one that
A Simulation Discipline in OpenUP to Satisfy WSN Requirements
301
Fig. 3. Warehouse illustration with the barrels and the position of the nodes
is the hard threshold and this one has the limit value. All the parameters must be changeable and be retrievable through the control station. At least, once a day the node must inform its sensing values to the sink node. All information received in the sink node is retransmitted to the control station. When nodes send the alarm message to the control station, they also indicate their battery level. The nodes are deployed 1 meter above the barrels and 2 meters from each other in the same line. There are three lines of nodes. The Control Station must communicate to the network using the node sink, i. e., it is directly connected to the sink node. The control station must also indicate the battery level of all nodes that perform any communication with it. Additionally, it must indicate the upper and lower threshold used by each node. The Control Station must be able to set any parameter of a single node or of the whole network and it must indicate alarms received and notify back to the source node. Results The case study was performed by only one developer. The developer performed all the roles. During the execution of one simulation study, the time needed to execute each activity was measured. The whole simulation study was completed in fourteen days, including weekends. The state diagram of the node’s application is depicted in Fig. 4. In order to increase the network lifetime, the distributed balance sensing approach was used. The approach keeps a WSN working only with half of its nodes for sometime. For example, in this case study the node reads its sensors in a 30 minutes interval. However, not all nodes read the sensors at the same time (they do at a 2 minutes interval), when the node is booting half of the nodes sleep for about 15 minutes
302
G.R. Berkenbrock and C.M. Hirata
Fig. 4. State diagram of the application for the node Table 1. Measured time for each activity Activity Refine Requirements Define Objectives Define Input/Output Data Analyse the Simulator Collect Data Implement the Model Validate the Model Design the Experiments Run Experiments Assess the Results Model Revision Implement the Results
Time (%) 2.14 1.43 0.71 0.71 0 28.57 7.14 3.57 1.43 2.86 0 0
and then they start to read their sensors in a 30 minutes interval. In this way, the sensors reading interval is 30 minutes but the environment is monitored each 15 minutes. With this approach, we can get the lifetime around of three months using an ordinary AA battery. Fig. 5 depicts the relative time spent for each activity and the values are listed in the Table 1. The activities with zero time were not executed. As expected the activity that needs more effort to be completed is the Implement the Model following by the Validate the Model. Although the activity Run Experiments used more time to be completed, most of the time was used to run all the simulations ( 24 in total) of the experimentation part. In each simulation we tried different MAC protocol parameters, such as, duty cycle, listening interval, and transmission power.
A Simulation Discipline in OpenUP to Satisfy WSN Requirements
303
Fig. 5. Relative time to perform each activity
Using this discipline to perform the simulation study aided the developer to increase the study organization and to be more objective in each step of the process. As a future work of this research is to simulate the workflow of the simulation discipline and improve the development process with a prototyping discipline.
5
Final Remarks
In this article we present a simulation discipline to be performed within a software development process, in our case, the OpenUP. Using the proposed workflow for performing the simulation the development team can perform its work in a more organized way. We add three roles and twelve activities. In addition, it is important to have the simulation study integrated to a software development process in a such way that the project manager can keep track of the activities and requirements. Our case study was to monitor a warehouse used for aging drinks. The simulation process was performed in fourteen days and the results complied with our expectation. Our next step in this research is to develop a process on how to perform a prototyping study and then perform a simulation study of this part in a software development process.
References 1. Arora, A., Dutta, P., Bapat, S., Kulathumani, V., Zhang, H., Naik, V., Mittal, V., Cao, H., Demirbas, M., Gouda, M., Choi, Y., Herman, T., Kulkarni, S., Arumugam, U., Nesterenko, M., Vora, A., Miyashita, M.: A line in the sand: a wireless sensor network for target detection, classification, and tracking. Computer Networks 46, 605–634 (2004)
304
G.R. Berkenbrock and C.M. Hirata
2. Hasler, A., Talzi, I., Beutel, J., Tschudin, C., Gruber, S.: Wireless sensor networks in permafrost research: Concept, requirements, implementation, and challenges. In: 9th Intl. Conference on Permafrost (NICOP 2008), pp. 669–674 (2008) 3. L´edeczi, A., V¨ olgyesi, P., Mar´ oti, M., Simon, G., Balogh, G., N´ adas, A., Kusy, B., D´ ora, S., Pap, G.: Multiple simultaneous acoustic source localization in urban terrain. In: IPSN 2005: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, Piscataway, NJ, USA, p. 69. IEEE Press, Los Alamitos (2005) 4. Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004) 5. IBM: Openup (2009), http://www.eclipse.org/epf/openup_component/openup_index.php (accessed in May 15, 2009) 6. Borg, A., Sandahl, K., Patel, M.: Extending the openup/basic requirements discipline to specify capacity requirements. In: IEEE International Conference on Requirements Engineering, pp. 328–333 (2007) ¨ 7. Osterlind, F., Dunkels, A., Eriksson, J., Finne, N., Voigt, T.: Cross-level sensor network simulation with cooja. In: Proceedings of the First IEEE International Workshop on Practical Issues in Building Sensor Network Applications (SenseApp 2006), Tampa, Florida, USA (November 2006) 8. Fraboulet, A., Chelius, G., Fleury, E.: Worldsens: development and prototyping tools for application specific wireless sensors networks. In: IPSN 2007: Proceedings of the 6th International Conference on Information Processing in Sensor Networks, pp. 176–185. ACM, New York (2007) 9. Levis, P., Lee, N., Welsh, M., Culler, D.: Tossim: accurate and scalable simulation of entire tinyos applications. In: SenSys 2003: Proceedings of the 1st International Conference on Embedded Networked Sensor Systems, pp. 126–137. ACM, New York (2003) 10. Egea-Lopez, E., Vales-Alonso, J., Martinez-Sala, A., Pavon-Mari˜ no, P., GarciaHaro, J.: Simulation tools for wireless sensor networks. In: International Symposium on Performance Evaluation of Computer and Telecommunication Systems (July 2005) 11. Wen, Y., Wolski, R., Moore, G.: Disens: scalable distributed sensor network simulation. In: PPoPP 2007: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 24–34. ACM, New York (2007) 12. Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., Pister, K.: System architecture directions for networked sensors. SIGPLAN Not. 35(11), 93–104 (2000) 13. Kruchten, P.: The Rational Unified Process: An Introduction, 3rd edn. Addison Wesley, Reading (2003) 14. Madachy, R.J.: Software Process Dynamics. IEEE Press, Los Alamitos (2008) 15. Ardi, S., Shahmehri, N.: Integrating a security plug-in with the openup/basic development process. In: International Conference on Availability, Reliability and Security, pp. 284–291 (2008) 16. Balci, O., Nance, R.: Formulated problem verification as an explicit requirement of model credibility. Simulation 45(2), 76–86 (1985) 17. Banks, J., Carson, J.S., Nelson, B.L.: Discrete–Event System Simulation, 3rd edn. Prentice-Hall, Englewood Cliffs (1999) 18. Law, A.M., Kelton, W.D.: Simulation Modeling and Analysis, 3rd edn. McGrawHill, New York (2000)
A Simulation Discipline in OpenUP to Satisfy WSN Requirements
305
19. Balci, O.: Guidelines for successful simulation studies. In: Proceedings of Simulation Conference, pp. 25–32 ( December 1990) (Winter) 20. SEBRAE-MG: Diagn´ otico da cacha¸ca de minas gerais (in portuguese). Technical report, Servi¸co de Apoio a `s Micro e Pequenas Empresas de Minas Gerais (2001) 21. Ferreira, C. (Supervisor): Vinifica¸ca ˜o (2009) (in portuguese), http://www.aesbuc.pt/twt/ETGI/MyFiles/MeusSites/Enologia/2005/ Madeira vt.htm (accessed in November 22, 2009) 22. da Silva, J.M.: Cacha¸ca: O mais brasileiro dos prazeres, 2nd edn. Anhembi Morumbi, S˜ ao Paulo (2006) (in portuguese)
A Toolkit for Application Deployment on the Grid Jie Tao and Holger Marten Steinbuch Centre for Computing Karlsruhe Institute of Technology, Germany {jie.tao,holger.marten}@kit.edu
Abstract. This paper describes a toolkit developed for supporting Grid users in the task of application deployment on computing resources. The toolkit presents a graphical interface where users give required information, simply with context menu and mouse actions. More importantly, the jobs for starting the deployment process are automatically created and submitted to the Grid without the need of any interaction activity from the user. In this way, the implementation details on the Grid is hidden from the application developers. Keywords: Grid computing, application deployment, graphical interface.
1
Introduction
Grid computing [7] has been investigated for more than a dozen of years. The well-established technology is bringing scientists of various fields together to share computational resources and scientific data. Grid computing applies the job-submission model for running applications. In this model, a computing task has to be first described using a kind of job description language and then submitted to the Grid resources usually via a resource broker. Different Grid middleware stacks [1,4,6] have individual requirements on the job descriptions; however, they commonly allow only executables specified in a job description file. Therefore, applications must be pre-compiled for the architectures of the target Grid work nodes on which the applications run. This can be a burden to the users when their local machines do not meet the architecture requirements. Fortunately, the gLite [2] middleware supports application deployment, where the source codes of an application can be deployed on the work nodes and executables can be created directly on them. Nevertheless, application deployment on gLite is a tedious task for users and requires their specific knowledge, especially the details of deployment commands. We developed a toolkit to simplify the users’ task. The toolkit provides a set of graphical views for users to upload the source codes, to specify the actions, and to observe the progress and results of the deployment task. With this support, users not only are freed of understanding the implementation details but also F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 503–508, 2010. c Springer-Verlag Berlin Heidelberg 2010
504
J. Tao and H. Marten
enjoy the graphical interface that is more straightforward and easier to use than the command line interface. The remainder of the paper is organized as following. Section 2 first gives an overview of the application deployment concept in gLite. Section 3 describes the design and views of the developed toolkit, followed by the implementation details in Section 4. The paper concludes in Section 5 with a short summary and the future directions.
2
Experiment Software Installation
The concept of application deployment [9] was designed and implemented within the LHC Computing Grid (LCG) project. Main goal of this concept is to allow authorized users to install software on computing resources of the Grid. The installed software, called Experimental Software, is published in the information system, so that the software can be shared across the users in an individual virtual organization (VO). The software is identified with a tag which is specified by the user. The software can also be removed. To implement this concept, LCG developed a script, called lcg-ManageSoftware, which has to be installed on each work node to steer the process of installing, validating, and removing the software. The script defines several actions, which can be specified as parameters by invoking the script. lcg-ManageSoftware must be invoked by job submission. This means that a job description has to be created with all required parameters specified and all input files correctly pointed. Then the job is submitted to the Grid and its execution is examined to see whether the job is successfully terminated. Finally, the information system has to be checked to make sure that the application tag is added or removed. These tasks are undoubtedly not easy for non-professional Grid users.
3
Graphical Interface for Application Deployment
To support the user in the task of application deployment, we developed a graphical interface that simplifies the use of the LCG script for Experimental Software Installation. This toolkit was developed within the g-Eclipse project. g-Eclipse [3,5] aims at building a generic framework that allows users to access the power of the existing grid infrastructures via a standardized, customizable, and intuitive interface. This framework is designed for all Grid users, operators, and application developers. Grid users can interact with grid resources in a simple, graphical way without having to know the technical details. Resource providers can use the intuitive tools to operate and maintain the grid sites, manage the virtual organizations, and perform benchmarking. Application developers reduce the development cycle with the g-Eclipse support of remote building and deployment tools. g-Eclipse is developed on top of Eclipse [8]. We relies on the g-Eclipse functionality to access the Grid for software install/uninstall.
A Toolkit for Application Deployment on the Grid
3.1
505
Application Deployment
The menu item for software install is combined with the computing elements shown in the VO folder of the g-Eclipse framework. Figure 1 depicts a screenshot of the g-Eclipse platform with an open action list.
Fig. 1. The start menu for Application Deployment
Project is a basic concept of g-Eclipse. For any Grid activities on g-Eclipse a Grid project has to be created. Figure 1 shows a Grid project with the name glite that contains several folders including a VO folder called geclipse. The VO folder of g-Eclipse presents VO-related information such as available computing elements, storage elements, and services. The installed software stacks are also depicted in this folder under its subfolder Applications. As software install is an action on computing elements (CE), we put this functionality in the action list of a CE. The first wizard page of Application Deployment, shown in the left side of Fig. 2, allows the user to specify the CEs on which the software will be installed. The CE, where the action is started, is automatically selected. In case that several CEs are selected, the application software are installed on all of them. Users can use the buttons on the right side to select or deselect all CEs. The next wizard page for application deployment, shown in the right side of Fig. 2, allows the user to specify the application source. The source can be on-line created files contained in any project in the runtime workspace of the user, like the project named cproject in the example; or some software packages or files already stored in the local disk or any storage element.
506
J. Tao and H. Marten
Fig. 2. The wizard page for software install: selecting computing elements (left) and selecting the application source (right)
The next wizard page allows the user to specify a tag for identifying the installed software. This tag will be used later to uninstall the software. The tag can be just a name or a combination of the name, the version, and the created date, time, etc. With the last wizard page, users can specify the location of the install script file. The install script is used to guide the process of building the applications. The top window on the right side of Fig. 1 actually shows a sample install script called test.sh. This script simply tells the system to first go to the directory where the source of the application is located, in this case the path specified by the environmental variable VO GECLIPSE SW DIR. In the following a subdirectory is created where the C file of a test program is extracted from the tarball and compiled. We provide the users with a template to simplify their work of writing the install script. 3.2
Application Uninstall
Deployed applications can be removed from the Grid site. This includes the deletion of the software on the computing elements and the removal of the application tags from the information system. The uninstall action can be started either by a single application tag shown in the folder Applications/CE or at the level of the folder. The former only selects the specified application while the latter works with all installed applications on the CE. Figure 3 is an example of the first case. It can be seen that all application tags in the example have a suffix “to-be-validated”, which is added to the user-given tags by lcg-ManageSoftware automatically and removed after the deployed software is validated. The uninstall wizard contains two pages, one for users to choose the applications to remove and the other for users to specify the uninstall script. The first page allows the users to select one, several, or all applications. This is useful when a user starts the uninstall menu at a wrong location and has to change his selection. The uninstall script usually contains commands for the system to delete the source files and the directories holding them.
A Toolkit for Application Deployment on the Grid
507
Fig. 3. The start menu for Application Uninstall
Similar to the deployment task, a job description is automatically created and submitted to the associated CE with lcg-ManageSoftware as the executable. The progress of the job is monitored and the result is delivered to the user. In case of a successful uninstall operation, the application tag disappears from the folder Applications and the folder CE.
4
Implementation
The implementation of the toolkit comprises of two tasks. One task is to program the wizards and wizard pages shown in the previous section. As Eclipse has specific support for producing graphical interfaces, the implementation of the views for application deployment and uninstall is not a tedious work. The other task is to program the actions. As described in Section 2, the script developed within the LCG project covers all actions, including install, uninstall, and validation, the focus of this task is therefore on creating a job to execute this script on the working nodes of a computing element. We have programmed the system to automatically generate a Grid job with the action of copying the install script to the work nodes of the specified CE and then starting a selfwritten version of the lcg-ManageSoftware script on it. We modified the original script in order to add information for showing the reasons of a failing action. The job execution on the Grid is monitored and the progress of the job execution is reported to the user with a small window on the g-Eclipse platform. Actually, gLite provides the functionality of monitoring the running jobs; our
508
J. Tao and H. Marten
task is to continuously check the job status to know whether a job is done and if it is successfully terminated.
5
Conclusions
In this paper, we present a toolkit for supporting application deployment. With this help, users are freed not only from the deployment process but also from the necessity of understanding the underlying implementation. Additionally, users are well informed with concrete reasons when the task fails. The toolkit has been tested by g-Eclipse developers and Grid users who have no any knowledge about the LCG implementation of the experimental software install. All of these volunteers have successfully installed/uninstalled test software without any problems. This renders the toolkit as simple and useful. The approach is combined with gLite but can be extended to any other middleware stacks. However, most of the existing middleware stacks do not support software installation. A more general approach may be a Cloud service, so called Build as a Service, which maintains a server to hold the application software and create the executables. This is our future work.
References 1. Erwin, D.: UNICORE - A Grid Computing Environment. Concurrency, Practice and Experience 14, 1395–1410 (2002) 2. Laure, E., et al.: Programming the Grid with gLite. Computational Methods in Science and Technology 12(1), 33–45 (2006) 3. Kornmayer, H., et al.: gEclipse- An Integrated, Grid Enabled Workbench Tool for Grid Application Users, Grid Developers and Grid Operators based on the Eclipse Platform. In: Proceedings of the 2nd Austrian Grid Symposium, Innsbruck, Austria (September 2006) 4. Surridge, M., et al.: Experiences with GRIA - Industrial applications on a Web Services Grid. In: E-SCIENCE 2005: Proceedings of the First International Conference on e-Science and Grid Computing, pp. 98–105 (2005) 5. Wolniewicz, P., et al.: Accessing Grid computing resources with g-Eclipse platform. Computational Methods in Science and Technologie 13(2), 131–141 (2007) 6. Foster, I.: Globus Toolkit Version 4: Software for Service-Oriented Systems. In: Proceedings of the International Conference on Network and Parallel Computing, pp. 2–13 (2006) 7. Foster, I., Kesselman, Tuecke, S.: The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of Supercomputer Applications 15(3) (2001) 8. Gamma, E., Beck, K.: Contributing To Eclipse: Principles, Patterns, And Plug-Ins. Addison-Wesley Professional, Reading (2003) 9. Santinelli, R., Campana, S.: Experiment Software Installation in LCG-2 (July 2005), http://grid-deployment.web.cern.ch/grid-deployment/eis/docs/ ExpSwInstall/sw-install.html
A Trial Evaluation of Distributed Campus Network Environment Based on Comparison of Theoretical and Real Performance of Packet Flow Amount Using Video Transmission System Yoshiro Imai1,*, Yukio Hori1,*, Kazuyoshi Kawauchi1, Mayumi Kondo2, Toshikazu Sone1, Yoshitaka Seno1, Nobue Kawada1, Shinobu Tada1 Miho Yokoyama2, and Rieko Miki2 1
Kagawa University, Information Technology Center (* Graduate School of Engineering), Hayashi-cho 2217-20, Takamatu City, 761-0396, Japan 2 Kagawa University, Information Group, Saiwai-machi 1-1, Takamatsu City, 760-8521, Japan
[email protected], {imai,horiyuki}@cc.kagawa-u.ac.jp
Abstract. In order to manage and utilize distributed campus network environment efficiently, a video transmission scheme has been designed for simultaneous communication among multiple areas. The scheme is organized with a specified server, a digital video encoder, client devices and so on. This paper introduces design of our video transmission scheme, formulation procedure for performance evaluation of real campus network and demonstration of quantitative evaluation of the network with comparison of its measured packet flow amount. And it also illustrates a summary of experimental results for the above performance evaluation and describes several comments to future problem solving for phenomena, which has been met in such a real experiment. Keywords: Network conference system, protocol of DVTS (Digital Video Transmission System), System design and performance evaluation, Distributed campus network environment.
1 Introduction As ICT-based services go more popular, network itself becomes more important and more indispensable for our lives. Such services of network include e-Learning, eHealthcare, e-Commerce, e-Government, e-Verything and so on. Even in a distributed environment of several schools, users(including students, teachers and other staffs) always utilize their network and apply it to ICT-based services described above. At the same time, they need direct communication with face-to-face style. In such a case, e-Conference, i.e. dual directed video transmission, is very much useful to realize face-to-face communication on network in a distributed campus network environment. Therefore, some e-Conference systems are developed and utilized in several domains. We have designed an inter-multipoint video transmission scheme and applied it to network conference in a real distributed network environment. A prototype system is F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 152–161, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Trial Evaluation of Distributed Campus Network Environment
153
prepared and evaluated in the case of a practical usage. And we have tried to evaluate our distributed campus network environment through comparison of theoretical and real values of packet flow amount. After that, we have analyzed a result of the above performance evaluation in order to do for problem solving and introduce some idea for improvement of network. In the following sections, this paper describes a simple explanation of target network to be evaluated (our distributed campus network environment), a configuration of our inter-multipoint video transmission scheme and a formulation of our scheme to analysis and evaluation of system performance. It introduces theoretical value of packet flow amount and compares them with measured value of packet flow amount for our prototype system. Finally, it also summarizes system performance, detected problem and future works for improvement.
2 Overview of Inter-multipoint Video Transmission Scheme An inter-multipoint video transmission scheme has been designed to realize 2-way communication for every user. Fig.1(a) gives an organization overview of our scheme. Its subsystem consists of a DVTS-encoder, some DVTS-clients and an IPTunneling Server. The DVTS-encoder can obtain dynamically altering pictures and transform them to video signal stream in the mode of DVTS protocol. In Fig.1(b) this encoder is symbolized as "video camera" and needs special functionality, which can support real-time conversion. The DVTS-client in Fig.1(b) can receive DTVS-based signal stream, decode it into a series of video pictures on a Personal Computer (PC). Such a client provides viewing function for signal stream of DTVS protocol and plays a role of real-time decoding mechanism, which may be placed face to face with the above DVTS-encoder through network.
IP-Tunneling Server
DVTS-encoder
DVTS-clent
(b) its Element subsystem (a) Overview of DVTS-video transmission system
Fig. 1. Overview of Distributed (i.e. inter-multipoint) video transmission system
154
Y. Imai et al.
IP-Tunneling Server (subsequently denoted as IPTS) provided in Fig.1(b) is a special information server to catch the target information and/or signal generated by DVTS-encoder in each segment, encapsulate it into a special IP packet and throw the result to the according IPTS directly. When one IPTS receives encapsulated information/signal from another IPTS in another segment, the former IPTS decapsulates such information/signal, i.e. converts them to be viewed on DTVS-clients in its segment. Fig.1(a) shows such a mechanism with 2 broken arrows. Namely, both of righthanded and bottom DVTS-encoders generate encapsulated information simultaneously. Such information can be transmitted by means of right-handed and bottom IPTS's into left-handed one. The left-handed IPTS provides such information to its 2 DVTS-clients respectively.
3 Estimation for Packet Flow Amount This section presents an estimation of packet flow amount of IPTS. It is assumed that there are n times of IPTS's in our scheme and the i-th IPTS in the focused segment has only one DVTS-encoder and mi times of DVTS-clients with focusing attention on the i-th IPTS. Fig. 2 shows an inter-multipoint video transmission scheme for network conference system, which consists of n times of IPTS's with one DVTS-encoder and mi times of DVTS-clients respectively. As focusing attention on the i-th IPTS, packet flow amount about it can be assumed as follows. We are separating input-bound packet flow amount and outputbound one for the i-th IPTS (focused IPTS). At first, in-bound packet flow amount includes (n-1) times packet flow amount from other IPTS and ei times of packet flow amount from its DVTS-encoders. Secondly, out-bound packet flow amount includes (n-1) times packet flow amount to other IPTS and mi times packet flow amount to its DVTS-clients. Generally speaking, with focusing attention to i-th IPTS, it is assumed that there are ei times of DVTS-encoders, mi times of DVTS-clients and (n-1) times of other IPTS's. So the corresponding IPTS has {ei +(n-1)} times of packet flow amount for in-bound and {(n-1) + mi} times of packet flow amount for out-bound. Totally, the i-th IPTS has {ei +2(n-1)+ mi} times of packet flow amount. In order to evaluate system performance of the above inter-multipoint video transmission scheme, we assume the following three applicable conditions in using our prototype as network conference system: (a) Each IPTS receives the same size of packet flow amount from every DVTSencoder. (b) Each DVTS-client can receive the same size of packet flow amount generated from the objective DVTS-encoder. Namely, it can be assumed to be almost loss less. (c) The speed rate of packet is the same as other one. Namely, it is normally that speed rate is unique and the same as others in the whole system. In this point, it is assumed that the size of packet flow amount from each DVTSencoder is same and its value is N (bit per second: bps). It is normal and never loses generality. So the i-th IPTS (i.e. each IPTS in the later section) has N{ei +2(n-1)+ mi } (bps). Frankly speaking, when our inter-multipoint video transmission scheme is applied to network conference system, organization of IPTS, DVTS-encoder and
A Trial Evaluation of Distributed Campus Network Environment
155
(n-1) times of IPTS's
the i-th IPTS (focused IPTS) ei times of DVTS-encoders (normally ei = 1)
mi times of DVTS-clients Fig. 2. An inter-multipoint video transmission scheme for network conference system
DVTS-client is simple and very much similar to one another. Almost always, the whole system may employ similar figure. For example, every IPTS has the same number of DVTS-encoder and the same ones of DVTS-clients naturally.
4 Formulation for Network Performance Evaluation This section presents specification of use conditions to configure a network conference system with an inter-multipoint video transmission scheme. And then it is defined to realize formulation of packet flow amount for our scheme with such conditions in the later half of this section. 4.1 Use Condition to Configure Network Conference System with Inter-multipoint Video Transmission Scheme In order to realize a network conference system with our inter-multipoint video transmission scheme, we should define constant of general parameters as specific
156
Y. Imai et al.
value. At first, it is supposed that there can be one video camera and one microphone in each conference room normally. So ei = 1. Normally each conference room needs to communicate with the other conference ones. If such a conference room is corresponding to the i-th IPTS, numbers of the other conference ones are (n-1) and it needs {mi =(n-1)} times of DVTS-clients for the other conference rooms. Sometimes, there are the only n times of DVTS-clients necessary because the last DVTS-client is corresponding to the i-th conference room itself. So mi =(n-1), sometimes mi =n. There are at most 5 points of conference rooms simultaneously in usual network conference system of our University. So n=2, 3, 4, or 5. N is the size of packet flow amount of DVTS-encoder, and we have employed such a DVTS-encoder that its output can be controlled by means of 10Mbps, 15Mbps, 20Mbps or 30Mbps. In other words, we can select N in the following mode: N = 10M[bps], 15M[bps], 20M[bps] or 30M[bps]. Secondly, it is described that specification of IPTS should transmit and/or receive N{ei +2(n-1)+ mi } of packet flow amount. In the case of mi =(n-1), the size of packet flow amount of IPTS is calculated in the following, N{ei +2(n-1)+ mi } = N{1 + 2(n1) + (n-1)}=N(3n-2). In the case of mi =n, it is also calculated as follows, N{ei +2(n1)+ mi } = N{1 + 2(n-1) + n}=N(3n-1). On the other hand, it is assumed that there is only one IPTS in the according segment. It is one of normal conditions to use IPTS practically. Each IPTS can get packet flow amount from its DVTS-encoder and send it to the other IPTS's. So total amount of packet which each IPTS receives and transmit are N{2(n-1)}=2N(n-1)[bps]. With the above parameters, we can express a formulation of packet flow amount of IPTS and inter-segment. 4.2 Formulation of Packet Flow Amount for Our Transmission Scheme On the condition of N ={10M[bps], 15M[bps], 20M[bps], 30M[bps]} and n={2, 3, 4, or 5}, we can formulate the two-mode of packet flow amount size of IPTS and total amount of packet between each segment. Each value can be denoted as N(3n1), N(3n-2) and 2N(n-1), respectively. For example, there are 3 inter-multipoint video transmission scheme employed for a real network conference system. We can control the volume of output from DVTS-encoder into 20M[bps]. Such a case needs that n=3, N=20M[bps]. Formulation about three values of N(3n-1), N(3n-2) and 2N(n-1) are simply specified as 160M[bps], 140M[bps] and 80M[bps], respectively. We can define the formulation about the size of packet flow amount between IPTS's in the according segments theoretically which is shown in the Table 1. The upper limit of communication rate is at most 100M[bps]. On the above case, 2N(n-1) becomes 80M[bps]. It is similarly 100M[bps]. Because other users communicate one another, so there may be over 100M[bps] between specific segments. In such a case, packet flow can be regulated and some accidents may occur. By means of using boldface numbers, table 1 indicates such cases with warning message. Such
A Trial Evaluation of Distributed Campus Network Environment
157
Table 1. Packet flow amount between IPTS's in the according segments (Theoretical value, Unit: M[bps])
N= 10M[bps] N= 15M[bps] N= 20M[bps] N= 30M[bps]
n= 2
n= 3
N(3n-1)= 50 N(3n-2)= 40 2N(n-1)= 20 N(3n-1)= 75 N(3n-2)= 60 2N(n-1)= 30 N(3n-1)= 100 N(3n-2)= 80 2N(n-1)= 40 N(3n-1)= 150 N(3n-2)= 120 2N(n-1)= 60
N(3n-1)= 80 N(3n-2)= 70 2N(n-1)= 40 N(3n-1)= 120 N(3n-2)= 105 2N(n-1)= 60 N(3n-1)= 160 N(3n-2)= 140 2N(n-1)= 80 N(3n-1)= 240 N(3n-2)= 210 2N(n-1)= 120
n= 4 N(3n-1)= 110 N(3n-2)= 100 2N(n-1)= 60 N(3n-1)= 165 N(3n-2)= 150 2N(n-1)= 90 N(3n-1)= 220 N(3n-2)= 200 2N(n-1)= 120 N(3n-1)= 330 N(3n-2)= 300 2N(n-1)= 180
n= 5 N(3n-1)= 140 N(3n-2)= 130 2N(n-1)= 80 N(3n-1)= 210 N(3n-2)= 195 2N(n-1)= 120 N(3n-1)= 280 N(3n-2)= 260 2N(n-1)= 160 N(3n-1)= 420 N(3n-2)= 390 2N(n-1)= 240
a formulation can be introduced theoretically and easily up to a case with n=10 or more.
5 Comparison of Theoretical and Real Values This section presents comparison of theoretical values of the formulation described above and real values of packet flow amount of IPTS/segment by measurement with Layer 2 switch. 5.1 One-to-One and Inter-3 Point Areas Communication with Inter-multipoint Video Transmission Scheme In our experiments, we have investigated two different patterns of one-to-one communication and inter-3 point area one with suitable IPTS's. Two results of the above experiments are illustrated in the following graphs. CASE(I) is an experiment for one-to-one communication, and CASE(II) is another experiment for inter-3 point area communication. Both of two experiments have been performed and measured with 24-ported Cisco Catalyst 2960G, which provides direct connectivity with other segments and local devices such as IPTS, DVTS-encoder, and DVTS-clients. Measurement of each packet flow amount can be done with facility of 2960G. We can obtain the measured values of N(3n-2) and 2N(n-1) directly. Fig.3 shows the result graph for comparison of theoretical values of N(3n-2) and 2N(n-1) and the according measured ones by 2960G. As you recognize clearly and easily, we can obtain very much preferred comparison result, which measured values can come into line of theoretical ones. Namely, it is said definitely that predicted value can coincide with real one. Such a case demonstrates that our scheme will work suitably.
㪧㪸㪺㫂㪼㫋㩷㪽㫃㫆㫎㩷㪸㫄㫆㫌㫅㫋㩷㪽㫆㫉㩷㪸㪺㪺㫆㫉㪻㫀㫅㪾㩷㪠㪧㪫㪪㩷㫀㫅㩷㫋㪿㪼 㪪㪼㪾㫄㪼㫅㫋
158
Y. Imai et al.
㪈㪋㪇 㪫㪿㪼㫆㫉㪼㫋㫀㪺㪸㫃㩷㪭㪸㫃㫌㪼㪑㩷㪥㩿㪊㫅㪄㪉㪀 㪫㪿㪼㫆㫉㪼㫋㫀㪺㪸㫃㩷㪭㪸㫃㫌㪼㪑㩷㪉㪥㩿㫅㪄㪈㪀 㪤㪼㪸㫊㫌㫉㪼㪻㩷㪭㪸㫃㫌㪼㪑㩷㪥㩿㪊㫅㪄㪉㪀 㪤㪼㪸㫊㫌㫉㪼㪻㩷㪭㪸㫃㫌㪼㪑㩷㪉㪥㩿㫅㪄㪈㪀
㪈㪉㪇 㪈㪇㪇 㪏㪇 㪍㪇 㪋㪇 㪉㪇 㪇 㪇
㪌 㪈㪇 㪈㪌 㪉㪇 㪉㪌 㪊㪇 㪦㫌㫋㫇㫌㫋㩷㫇㪸㪺㫂㪼㫋㩷㫆㪽㩷㫋㪿㪼㩷㫋㪸㫉㪾㪼㫋㩷㪛㪭㪫㪪㪄㪼㫅㪺㫆㪻㪼㫉
㪊㪌
Fig. 3. CASE(I) one to one communication using 2 IPTS's system
Fig.4 shows the result of CASE (II) whose graph compares theoretical values of N (3n-2) and 2N (n-1) with the according measured ones. Dislike the above CASE (I), the theoretical values have very little correspondence with the measured ones. Especially, as packet flow amount generated form DVTS-encoder grows more and more, difference between theoretical and measured ones spreads wider and wider. After more than 15Mbps of output of DVTS-encoder, packet flow amount of IPTS and its segment have begun to be saturated or burst into the mode of breakdown. Such a case gives us an image that process of IPTS loses stream. In the subjective evaluation, there happen some kinds of communication troubles in voice and display. It works just like encouragement to result of quantitative evaluation. After output of DVTS-encoder grows 15Mbps and more, block noises make an intrusion into the display monitor and voices from speaker begin to be disturbed and audibly noisy. So we cannot use real communications in such a case.
㪧㪸㪺㫂㪼㫋㩷㪽㫃㫆㫎㩷㪸㫄㫆㫌㫅㫋㩷㪽㫆㫉㩷㪸㪺㪺㫆㫉㪻㫀㫅㪾㩷㪠㪧㪫㪪㩷㫀㫅㩷㫋㪿㪼㩷㪪㪼㪾㫄㪼㫅㫋
A Trial Evaluation of Distributed Campus Network Environment
159
㪫㪿㪼㫆㫉㪼㫋㫀㪺㪸㫃㩷㪭㪸㫃㫌㪼㪑㩷㪥㩿㪊㫅㪄㪉㪀
㪉㪇㪇
㪫㪿㪼㫆㫉㪼㫋㫀㪺㪸㫃㩷㪭㪸㫃㫌㪼㪑㩷㪉㪥㩿㫅㪄㪈㪀
㪈㪎㪌
㪤㪼㪸㫊㫌㫉㪼㪻㩷㪭㪸㫃㫌㪼㪑㩷㪥㩿㪊㫅㪄㪉㪀 㪤㪼㪸㫊㫌㫉㪼㪻㩷㪭㪸㫃㫌㪼㪑㩷㪉㪥㩿㫅㪄㪈㪀
㪈㪌㪇 㪈㪉㪌 㪈㪇㪇 㪎㪌 㪌㪇 㪉㪌 㪇 㪇
㪌
㪈㪇 㪈㪌 㪉㪇 㪉㪌 㪦㫌㫋㫇㫌㫋㩷㫇㪸㪺㫂㪼㫋㩷㫆㪽㩷㫋㪿㪼㩷㫋㪸㫉㪾㪼㫋㩷㪛㪭㪫㪪㪄㪼㫅㪺㫆㪻㪼㫉
㪊㪇
㪊㪌
Fig. 4. CASE(II) inter-3 point areas communication using 3 IPTS's system
5.2 Prospects for Comparison of Theoretical Values and Measured Ones Generally speaking, we have good prospect for comparison result of theoretical values and measured ones in the CASE(I), where a network conference system is realized in the one-to-one communication mode with IPTS's, DVTS-encoders and DVTS-clients. Such a case will be able to provide a good environment for network conference. But more cheap methods will be suitable enough to provide only one-to-one communication, such as Skype and other simple communication media. So scalability is very much important. On the other hand, we have not relieved prospect about the CASE(II), where a network conference system is realized in the inter-3 point area communication mode of our video transmission scheme. Whenever such a network conference system is utilized in the state where DVTS-encoders generate 15M[bps] or more of output packet flow amount, block noises and audible one should happen and grow larger and larger. Such a case gives users uncomfortable situation in full progress of network conference. Some prospects from the technical view can describe that there may be some troubles in the inter-3 point area communication mode of our video transmission scheme under conditions for our current network environment. One of troubles seems to be based on channel capacity between segments. Others may be effective from system
160
Y. Imai et al.
performance of IPTS, which transfers and receives a lot of packet for other IPTS, DVTS-encoder and DVTS-clients. They are summarized as follows: (a) The former specifies a problem to improve the campus network environment. This is not only essential but also sometimes very difficult problem to be resolved for general users of campus network. But now we have a great opportunity to improve our campus network environment in Layer 2 level. With some request including our this time experimental usage of network, our network will have been improved with replacement of new L2 switches all over the campuses in the next semester. (b) The latter should be a limited problem for our application of video transmission scheme to a real network conference system. First of all, functions of ITPS should be inspected again, reconfigured (if it is necessary) and upgraded into such a level that provide a useful inter-3 point area communication mode of our video transmission scheme. (c) Comments and requests related to network environment are finally described as follows. Generally speaking, we have used 70Mbps of packet flow amount continuously between 2 and/or 3 points of multi-campus during this time experiments. Such cases need 70Mbps of channel capacity in the end-to-end communication. (d) Now, Layer 3 switches within each building of our university’s campus are all Giga-bit speed devices, however Layer 2 switches under L3 are still not Giga-bit speed but 100Miga-bit one. So some troubles including block noise and audible noise may be based on performance limitation of Layer 2 switches of our network environment. And more over, difference and inconsistency of MTU (Maximum Transfer Unit) between L3 switches and L2 ones can dominate network overhead to downgrade performance of network conference system.
6 Conclusion This paper introduces an overview of inter-multipoint video transmission scheme, its element system and formulation of packet flow amount for system performance analysis. It also describes specification of use conditions to configure a network conference system with our inter-multipoint video transmission scheme and formulation of packet flow amount for our scheme. Our paper presents comparison of theoretical values of the above formulation and real values of packet flow amount of IPTS and/or segment by measurement with Layer 2 switch (for example, Cisco Catalyst 2960G). As result of trouble analysis for network performance, we have summarized some resolutions to improve our network environment. In the experiment for one-to-one communication with our video transmission scheme, we have obtained a good comparison result of theoretical value of formulation and measured value. Such a case is suitable to realize a network conference system. On the other hand, we have not taken so agreeable result in the experiment for inter-3 point area communication with our video transmission scheme. Sometimes there are not a few block noises nor audible noises during experiment of network conference. Namely, users of network conference suffer from unstable and bad conditions during inter-3 point area communication with our video transmission scheme. In the future, we should improve either performance of our video transmission scheme and IPTS especially or capacity of network environment and speed of Layer 2
A Trial Evaluation of Distributed Campus Network Environment
161
switches, for example. Functions and scalability of IPTS should be inspected again. In order to realize entire improvement of network environment, Layer 2 switches should be upgraded and suitable requirement should include adjustment for coincidence of MTU between L2 and L3. Acknowledgments. The authors would like to express sincere thanks for Mr. Hidetaka Noma, Mr. Toshiaki Yamashita of Net One Systems Co., Ltd (Japan) and Mr. Shigeto Koike of NTT Advanced Technology Corporation (Japan) for their constructive and heart-warming contribution to realize inter-multipoint video transmission scheme. And they are grateful to Dr. Hajime Maeta and Dr. Naoto Sumida, who were both former vice presidents of Kagawa University to support our project. They are also thankful to late Mr. Hiroshi Yamaji, Dr. Toshihiro Hayashi, Mr. Ryo Takeda, Mr. Takashi Fuke, Mr. Satoshi Hirose, and Dr. Zengo Furukawa for their kind supports for experiments of network conference. This study was partly supported by Grand-in-Aid for scientific research (2008 Special Edition) from Kagawa University.
References 1. Inoue, T., et al.: Design and Implementation of the Incrementally Deployable Multicast System Based on Flexcast. IEICE Transactions on Information and Systems, The Institute of Electronics, Information and Communication Engineers (IEICE) J88-D1(2), 272–291 (2005) (in Japanese) 2. LiveSpark, http://www.ntt-at.co.jp/product/livespark/ 3. Digital Video Transfer System, http://www.sfc.wide.ad.jp/DVTS/ 4. DV-CUBE, http://www.fase.co.jp/DvCube/ 5. Cisco Catalyst 2960G, http://www.cisco.com/en/US/products/ps6406/ 6. Imai, Y., et al.: Design and Trial Evaluation of an Inter-multipoint Video Transmission Scheme for Efficient Management of Distributed Campus Network. IPSJ SIG Technical Report 2009-GN-71 (26), 151–156 (March 2009) (in Japanese)
Agent Behavior Diagram for Intelligent Agents Michal Radeck´ y, Petr Gajdoˇs, and Radoslav Fasuga Department of Computer Science, FEI, VSB - Technical University of Ostrava, 17. listopadu 15, 708 33, Ostrava-Poruba, Czech Republic {michal.radecky,petr.gajdos,radoslav.fasuga}@vsb.cz
Abstract. This paper describes our approach of modeling and developing Multi-Agent System (MAS) which extends traditional approach of process modeling. An Extended UML Activity Diagram has been proposed. Mentioned diagram makes the basis of the specification of agents behaviors and plays an important role within the process of agent reconfiguration. Keywords: Agent, ABD, Agent Behavior Diagram, UML, Activity Diagram.
1
Introduction
The MAS technology is quite youthful field of computer science that occurs on the borders where “Software Engineering”, “Artificial Intelligence” and other computer, natural and social science areas meet. The MAS technology is based on the concepts of the Complex Systems (e.g. macromolecules, ants colony, economical systems), and on the facilities and capabilities of software information systems [2][11][12][13]. The MAS can be formed as a general information system that is composed from a number of autonomous elements (called Agents). In this context, the Multi-agent System is a framework for agents, their lives, their communication and mobility and it is an environment where the goals of the particular agents should be obtained too. From the perspective of the standard information systems, the Agent are components of such systems. These components have special features like autonomy or intelligence, which is consistent with the essential properties of MAS. The typical applications of this Multi-agent technology are the large systems with a big volume of decentralization and autonomy of their elements. The overall behavior of whole system that is based on the MAS technology is formed by internal behaviors; by internal processes in the context of this research, of several elements (agents) and also by the communication between all of these elements. This paper covers research concerned with the internal agent specification based on processes inspired by standard business process approach. The main aim of this research is to offer the tool for modeling agent behaviors which should be close to common users without special knowledge about MAS. On the other hand, this modeling approach should be formed on the formal grounds that offer wide utilization. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 333–341, 2010. c Springer-Verlag Berlin Heidelberg 2010
334
2
M. Radeck´ y, P. Gajdoˇs, and R. Fasuga
Modeling of the Agent Behavior
Each agent is determined by its own objectives and the way to meet these objectives is founded on the internal behavior of a given agent. From our point of view, the internal behavior of such agent is specified by the algorithm – an order of activities, conditions, forks, sub-algortihms, etc. The term algorithm is similar to a business process term according to this research. The agent lives, behaves and reacts to stimulus and environment, according to the requirements of the algorithm. Any agent in the MAS has the main internal life process consequent on the agent’s classification from the reactive and proactive point of view. It is necessary to take into account the fact that each agent is an absolutely autonomous element of MAS and thus the internal behavior have to be based only on the processes, activities, knowledge and facilities that belong to a given agent. Then, the result behavior of whole MAS is formed by communication of separated agents and by the interconnection of several internal agent behaviors. This interaction is realized through the use of message passing adapted to the demands of MAS. In the context of MAS modeling and agents behavior, the term Agent expresses only the “type of agents”. The real separate agents are the instances of this type. It is analogous with the terms Class and Object from the object oriented approaches. The real agents (instances of agent Classes) are not issues of MAS design and modeling phase but they will appear in the implementation phase, simulation and operation of a given MAS. 2.1
Agent Behavior Diagram
The UML (Unified Modeling Language) is an essential tool suitable for process modeling. This standardized methodology is, both on the business level and analytic level of description [7,9]. It can be applicable for modeling of the internal behavior of agents as well. However, traditional UML approach can be too complex to express a simple communication pattern among agents. This usually results in unclear formalization of activity diagrams. Proposed Agent Behavior Diagram comes from UML activity diagram and uses Petri Nets for its formalization. The Agent Behavior Diagrams could contain all the elements of the standard UML Activity Diagrams, and moreover some new elements that can be used in the agent modeling process. These new elements are primary concerned with message passing between agents or with other specific attributes of MAS. In early phases of development, these extensions are supported by the implementation of special “send/receive activities” which include an additional information about message content and message receiver/sender identification, see the Figure 1. The decision elements from standard activity diagrams are improved too. A complex example of utilization of a mentioned elements is depicted on Figure 2. The modified “decision elements” and their output edges can hold the extra information. This information is usable for message-based determination of following control flow of the behavior led to the agent’s objectives.
Agent Behavior Diagram for Intelligent Agents
Main activity element shape with the name of the sended message. This name represents the message that is unique in the whole MAS.
Envelope icon for send/ receive activity indication.
getAgentName Agent_B
Main activity element shape with the name of the received message. The name of this activity can be real name of received message (in the case of one-to-one communication) or it can be replaced by “” string in the case of multiple or unknown messages receiving.
335
getAgentName Agent_A
Identification of the Agent (type of agents) acts in the receiver role during this communication. The receiver can be just one instance of Agent type (Agent_B) or all instances of a given Agent type ([Agent_B]). Identification of the Agent acts in the sender role. This name of agent can be replaced by the “” string in the case of receiving message from unknown or multiple sources.
Agent_A
[msg: getAgentName from: Agent_A]
[msg: getColor from: Agent_A]
The illustration of branching based on incoming message and standard decision element.
Fig. 1. The stereotypes of the new communication activities and illustration of decision point. These send/receive activity nodes are able to use beside the other standard activity and process elements. Internal implementation of these new activities is concerned only with preparation, en/decapsulation and receiving/sending of the message.
2.2
Rules and Relation to the WF-Nets
A couple of rules are bound together with creation process of these diagrams. At first, each process, as well as diagram, have to have just one “initial node” and just one “final node”. This prerequisite is necessary for the further connection of the processes together to model overall agent behavior. The demand of the “well-formed” diagrams is also required. There is a set of general structural rules (e.g. the level of split/join nodes preservation, no crossing of the levels of control flow) that should be kept in mind during the drawing of diagrams [1]. These rules are inspired by WF-Nets that bring ABD close to the Petri Nets. It is able to verify them, to transform them to other forms or to process them by several formal tools. The transformation is not so tricky. The activities and sub-processes are linked to transitions with control-flow places and input/output objects are transformed to places. The parts where the messages are received or
336
M. Radeck´ y, P. Gajdoˇs, and R. Fasuga
#1: WithoutNavigation car #2: WithNavigation car navigation
Inicialization
MoveToCity I_AM_LEAVING
SetDestinationAsPosition
ParkingAgent
I_WOULD_LIKE_TO_PARK
Parking
[ParkingAgent]
Parking
FindingAnotherParkingRange
I_AM_READY_FOR_YOU car parkingElement
UpdateParkingTable
ParkingAgent
parkingElement parkingTable
msg: OK_USE_PARKPLACE agent: ParkingAgent
msg: SORRY_YOU_ARE_LATE agent: ParkingAgent
parkingTable MsgTimeOut
msg: NO_FREE_PLACES agent: ParkingAgent
ParkingSelection
ParkingAgent
I_WANT_TO_PARK
I_AM_HERE
ParkingAgent
ParkingAgent
UpdateCarPosition
MoveToDestination
ParkingAgent
Fig. 2. Example of agent internal process modeled by ABD. Special elements for sending and receiving of messages are there, as well as decision element with communication based conditions. Also, the extended activity and sub-process elements with definition of input and output objects are placed within this process model. It illustrates Car agent behavior during parking process.
sent can be a more complex, it is necessary to add some special transitions to the net. The Figure 3 shows an example of mapping a part of ABD to WF-Net - Petri Net. The transformation of control flow is simple and fully covers control structures from ABD, it is activities and subprocesses are transitions with places between them. If the activities or subprocesses are generators or consumers of a set of objects, it is necessary to add object flow into the WF-Net too. Thanks to these rules, the well applicable and formalized expressions of algorithms are obtained. This example is based on the internal process, model of internal agent behavior, described by ABD. The presented two elements are the parts of the Car agent behavior during parking process. The simple, clear and formal definition of the internal agent behavior is a precondition for moving to the next phases of the multi-agent software process. Thanks to the new stereotypes established in the Agent Behavior Diagram and other additional information, it should be able to generate other types of diagrams (e.g. sequential diagrams, maps of the agents communication) as well as the source code templates of the agents and MAS automatically (e.g. interfaces of agents, class and method templates, BPEL specification [8]). As it is mentioned
Agent Behavior Diagram for Intelligent Agents
337
Msg: I_WOULD_LIKE_TO_PARK Receiver: all ParkingAgents Prepare message
Send message
I_WOULD_LIKE_TO_PARK car destination
=>
[ParkingAgent]
destination
car
Parking
FindingAnotherParkingRange
car parkplace
car #1: NewParkingFound car parkplace
#1: AfterParking car
msg: OK_USE_PARKPLACE agent: ParkingAgent
msg: SORRY_YOU_ARE_LATE agent: ParkingAgent
=>
Msg: OK_USE_PARKPLACE Sender : ParkingAgent Msg from ParkingAgent Msg: SORRY_YOU_ARE_LATE Sender : ParkingAgent
Receive Msg control-flow condition based on a given instance of received message
Msg: PARKING_IS_FULL Sender : ParkingAgent
Msg: HELLO Sender : CarAgent
ParkingAgent Parsing Msg content car
Parking
FindAnotherParkingRange parkplace
Fig. 3. Example of transformation ABD to WF-Net. Additional places (orange places) are there to provide mapping of input and output objects of activities. It is necessary to distinguish pure control-flow (bold solid lines) of Petri Net theory and object instances flow (gray dotted lines).
above, the agent internal behavior is specified by the algorithms expressed in the processes. Primary, each process is modeled as just one agent Behavior Diagram based on UML Activity Diagram. Fortunately, the process can be specified by more than one diagram in the case of multiple Realizations belong to a given process too. The Realizations are the topic of the following text.
3
Internal Agent Structure
Each agent must try to realize its tasks and to solve the upcoming situations in order to meet its design objectives during its life. From this point of view, the standard agent is consisted in definite and constricted description of its behavior already defined during the modeling phase of the agent. Therefore, there is no way to change the behavior during the agent running. It is able to do this, in the case of Intelligent agent. Such type of agents is based on the main life process model that specifies just the framework of its behavior. The agent can dynamically change the pieces of its own behavior according to the situations. This principle is denoted as behavior reconfiguration approach. The process of reconfiguration is founded on the replacement of a given part of the whole agent’s process by another one that is the most suitable for current situation and conditions. A set of possible applicable behaviors, called Realizations (defined by
338
M. Radeck´ y, P. Gajdoˇs, and R. Fasuga
Process 1
Agent A
Agent B
Primary Process
Primary Process
Process 1
Process 2
Process 2
Process 3
restricted
Process 1
Process 4
Process 3
Process 5
Process 3 Action/Reaction
extended
Process 6
Global Process Repository
Fig. 4. Structure and hierarchy of realization specification within agent and MAS itself
agent Behavior Diagram), of each “reconfiguration” point (generally the subprocess node of activity diagrams) is defined for this purpose. These definitions of the behavior can be distributed on the whole MAS as definitions of process realizations. They can be saved in some global repository or within the particular agents; actually they can be deliberated in the real-time too. Every process, expect the Primary process, can be specified by more than one diagram (see the Figure 4). Then, each diagram describes one Realization of a given process. Realizations depend upon knowledge, experiences, environment and states of agents. The Realizations can be stored within agent internal knowledge base or global MAS repository. Moreover, the agents can extend own sets of Realizations thanks to communication and cooperation with other agents and/or platform facilities. This feature enables agents to learn. The Figure 4 illustrates an example of the static processional structures of two agents and global repository. Each agent must have one Primary process that covers whole life of a given agent. This primary process and its Realization are unique in the context of a given agent. The ABD is able to be transfered between agents and thanks to this they are able to extend their knowledge base of Realizations. Some principles of inheritance could be applied there, like extensions or restrictions of a set of Realizations for each agent. 3.1
Intelligent Selection of Process Realization
The behavior reconfiguration approach represents the way how to implement intelligent agents with respect to processes [4,14]. The idea behind the reconfiguration comes from the hypothesis, that each sub-process (reconfiguration point )
Agent Behavior Diagram for Intelligent Agents
339
Processes = Reconfiguration Points Current position in the Behavior
Control Flow of the Agent Behavior in the moment of reconfiguration
All Realizations related to a given Process Inapplicable Realizations
The most suitable Realization
Applicable Realizations of a given Process
Control Flow of the Agent Behavior after the reconfiguration
Fig. 5. Reconfiguration approach during agent life
can be realized by different ways – Realizations. Reconfiguration algorithm is applied in time of process firing. Each process requires a set of input objects and can produce the outputs. The same holds for the Realizations. The ability to connect these autonomous specifications together (link initial and final element with another processes) is provided by rules of ABD construction mentioned above. The figure 5 depicts the basic scheme of mentioned reconfiguration method. At the beginning, the set of all processes and their Realizations is defined. Based on reconfiguration point (process resp. sub-process element of parent behavior – ABD), a set of matching Realizations is formed. Next, the selection phase is initiated. Depicted selection consists of two steps. The first one represents a simple selection of applicable Realizations, based on input objects occurrences. The second one chooses the most suitable Realization according to input objects properties, scores, etc. Methods of multicriterial analysis or logical tools can be used during the selection phase. The important and expected situation will appear whenever one process corresponds to the two or more Realizations. The logic tools are responsible for solving this situation. But before this state, it is necessary to find the Realizations which are applicable to the reconfiguration of a given process. For this purpose, there are two ways to find them – selection based on the process or on the logic grounds. The combination of the process and logic approach in reconfiguration algorithm seems to be more effective due to the ability to choose the best Realization. Simple process approach is not able to select the Realization in dependence on inner set of properties owned by agents or Objects. On the other hand, the logic approach is not able to discard all Realizations which cannot be executed at the time of Process firing.
340
M. Radeck´ y, P. Gajdoˇs, and R. Fasuga
Pursuant to these ideas, it is able to define such procedure as an algorithm of reconfiguration process: 1. The Specification Phase - definition of all Realizations related to the Process that could be reconfigured. 2. The Selection Phase - checking of the applicable Realizations of a given Process and finding the most suitable one. (a) the selection of applicable Realizations - based on Input Objects occurrence (b) the finding the most suitable Realizations - based on Input Objects values and properties, Scores, etc. 3. The Execution Phase - chosen Realization firing.
4
Conclusion and Future Work
The extended UML diagrams (ABD) were used to model agents’ behaviors. The reconfiguration principles were developed and implemented in a new application called AgentStudio (Designer and Simulator). As case studies, we developed two applications “Car Parking System” and “Road Traffic Control System” [3,5] which are based on mentioned approach. The future work attention has to be paid to imperfect and vague information, its sharing and knowledge storing. Automatic code generation must be improved to reduce human work during MAS development. Mentioned modeling approach is not a complex methodology for MAS development, so it is not a full-value competitor to a huge approaches as Gaia, AUML, Prometheus, etc. The contribution of this modeling approach is focused on understandable and utilizable way to describe the agents behavior and to communication among the actors of MAS development process.
References 1. van der Aalst, W.M.P.: Verification of Workflow Nets. In: Azema, P., Balbo, G. (eds.) Application and Theory of Petri Nets 1997, pp. 407–426. Springer, Berlin (1997) 2. Kubik, A.: Intelligent Agents. Computer Press, Prague (publication in czech language) 3. Radecky, M., Gajdos, P.: Traffic Simulation and Intelligent agents. In: Sborn´ık IEEE: ICITST 2009, London, pp. 127–132. IEEE, Los Alamitos (2009) 4. Radecky, M., Gajdos, P.: Reconfigurable Intelligent agents. In: Sborn´ık UKSim 2008, pp. 543–548. IEEE, Cambridge (2008) 5. Radecky, M., Gajdos, P.: Intelligent agents for Traffic Simulation. In: Sbornik SpringSim ADS 2008, Ottawa, pp. 109–115 (2008), ISBN 1-56555-319-5 6. Radecky, M., Gajdos, P.: Process and Logic Approaches in the Inelligent agents Behavior. In: Duˇz´ı, M., Jaakkola, H., Kiyoki, Y., Kangassalo, H. (eds.) Sborn´ık Information Modelling and Knowledge Bases XVIII, pp. 295–300. IOS Press, Amsterdam, ISBN 978-1-58603-710-9 7. Vondrak, I.: Methods of Business Modeling. VSB-TUO, Ostrava (2004) (lecture notes in Czech)
Agent Behavior Diagram for Intelligent Agents
341
8. Matjaz, B.J.: Business Process Execution Language for Web Services BPEL and BPEL4WS, 2nd edn. Packt Publishing, Birmingham (2006) 9. Pilone, D., Pitman, N.: UML 2.0 in a Nutshell. O’Reilly Media, Sebastopol (2004) 10. Wooldridge, M., Jennings, J.R.: Intelligent agents - Theories, Architectures and Languages. Springer, Heidelberg (1995) 11. Namee, B.M.: A Proposal for an Agent Architecture for Proactive Persistent Non Player Characters (2001), http://www.cs.tcd.ie/publications/tech.reports/ reports.01/TCD-CS-2001-20.pdf 12. Zambonelli, F.: Developing Multi-Agent Systems: The Gaia Methodology, vol. 12(3). ACM, New York (July 2003) 13. Ferber, J.: Multi Agent Systems. In: An introduction to Distributed Artificial Intelligence. Addison-Wesley Professional, Reading (1993), ISBN 978-0201360486 14. Radecky, M., Gajdos, P.: Process and Logic Approaches in the Inelligent agents Behavior. In: Du, M., Jaakkola, H., Kiyoki, Y., Kangassalo, H. (eds.) Sbornk Information Modelling and Knowledge Bases XVIII, pp. 295–300. IOS Press, Amsterdam, ISBN 978-1-58603-710-9
Agent-Based Digital Networking in Furniture Manufacturing Enterprises Anthony Karageorgos1, Dimitra Avramouli1, Christos Tjortjis2,3, and Georgios Ntalos1 1
TEI of Larissa, Karditsa Branch, GR-43100 Karditsa, Greece 2 University of Ioannina, Ioannina, GR-45110, Greece 3 University of Western Macedonia, Kozani, GR- 50100, Greece {karageorgos,avramouli,gntalos}@teilar.gr,
[email protected] Abstract. International competition and varying customer needs commonly cause small and medium furniture manufacturing enterprises to join dynamically-formed, ‘smart’ enterprise networks, established and operating using digital information technologies. In this paper, we propose a technological approach to support such enterprise networks which is primarily based on the use of software agents. First we outline the reasons motivating networking in furniture manufacturing enterprises and we briefly present core smart enterprise network concepts. Subsequently, we provide an overview of the main technologies currently used to support enterprise networks, and we make the case for utilising service-orientation and adaptive, (semi-) autonomous software components, such as software agents. Furthermore, we propose a four-tier software architectural framework based on software agents and web services, and we briefly describe the requirements, the architecture and main features of the e-Furn software system, which is based on that framework. Finally, we discuss the intelligent recommendation feature of e-Furn. Keywords: Smart Business Networks, Enterprise Networks, Software Agents, Multi-Agent Systems, Web Services, Furniture Manufacturing, Data Mining.
1 Introduction To cope with increased competition and dynamically varying customer needs Small and Medium Enterprises (SMEs) join dynamically formed collaborative networks. In such networks, participants can exploit the competencies offered by network partners to improve their efficiency and meet the stiff market demands. Such business networks have a number of characteristic features, the prominent one being their dynamic nature and flexibility in participation. For these reasons they are termed ‘smart’. In Smart Business Networks (SBNs) members act solely towards achieving their personal goals and maximizing their individual benefits. This contrasts other forms of enterprise networks and virtual organisations, where there is a different sense of membership and members aim to increase their individual benefit by acting towards the benefit of the whole organization. The dynamic nature of smart business networks makes the use of software agents mandatory in developing software to support their operation. Agents offer flexibility F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 381–395, 2010. © Springer-Verlag Berlin Heidelberg 2010
382
A. Karageorgos et al.
and interoperability while they can provide both decentralised and inherently adaptive coordination and control. Furthermore, to better support the regularly changing business network competencies it is necessary to combine agent capabilities with serviceorientation in the design of the software architecture. In this paper, we present an agent-based approach to support ‘smart’ networking in furniture manufacturing SMEs. The motivation for ‘smart’ networking in furniture enterprises and a brief description of main SBN concepts are presented in Section 2. Section 3 provides an overview of digital technologies currently used to support enterprise networks and makes the case for using service-orientation and adaptive components, such as web services and software agents. Based on these arguments a four-tier software architectural framework is proposed in Section 4, and as an example of application of this framework an overview of the e-Furn system is given in Section 5. Finally, Section 6 concludes the paper.
2 Motivation and Background 2.1 Networking in Furniture Manufacturing SMEs The global financial crisis which has recently hit EU has forced many furniture manufacturing SMEs to reduce their product range and their production capacity attempting to reduce costs. In addition, increased competition and sophisticated customer demands has often led furniture manufacturers to specialisation in a small range of products aiming to maximise product quality. However, such an approach has certain drawbacks. Customers often prefer to purchase complete solutions and the lack of variety shown by specialising manufacturers propels them towards larger stores with higher product ranges. In other cases, knowledgeable customers have done extensive market search, using the internet for instance, and have sophisticated product requirements that small furniture manufacturers can not individually meet. To address such problems furniture manufacturing SMEs have traditionally tended to form relatively stable partnerships and alliances, for example small manufacturers commonly market both own and partner products showing this way a higher product range to customers [1, 2]. Such approaches have been sufficient until recently when customer demands were relatively stable and product ranges were more or less fixed or rarely changing. Today, however, this is not the case due to the aforementioned reasons. As a result, to tackle the above issues furniture manufacturing SMEs need to be able to form dynamic and flexible partnerships involving more partners and providing access to a wider range of customisable products. In this respect, the existing forms of business networks, such as clusters and static virtual enterprises are not sufficient. Another issue of major concern in furniture manufacturing SMEs is the efficient use of resources. To achieve high product quality and to cover a large number of customisation options, expensive equipment with high maintenance costs is needed, which is not fully used due to low production levels. Traditionally, an approach to mitigate this problem has been to carry out outsourced manufacturing tasks from selected partners at an agreed cost. Again, due to the relatively stable types of products, outsourced tasks were more or less known and suitable outsourcing partnerships
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
383
were selected shortly after a new product was decided and were maintained during the most part of the product lifecycle. Today, however, this is also not possible. The increased product customisability makes outsourcing manufacturing tasks even harder. For example, a furniture manufacturing SME in South Europe specialising in wooden furniture will typically have equipment and outsourcing partnerships suitable for European markets. A customer, such as a hotel, may require sophisticated, e.g. baboo-type, furniture needing specialised processing not capable of being carried out in-house. In that case, the manufacturer would need to immediately know the best outsourcing options, even internationally, in order to produce the most competitive quote to the customer in the shortest possible time. This would not be possible with traditional methods. From the above arguments, it is evident that traditional forms of enterprise networking are not sufficient to meet current challenges faced by furniture manufacturing SMEs. We argue that the solution to this problem is to provide the technological means for such enterprises to rapidly join dynamically formed business networks and within them to form ‘smart’ collaborations acting rationally to promote their goals while benefiting from the overall network context and collaboration infrastructure. 2.2 Smart Business Networks An SBN is a collection of dynamically connected enterprises linked to each other and acting smarter than any individual business can [3]. SBNs are characterised as ‘smart’ because of the add-on value they provide to their members in terms of goods, products, services and experiences, as well as in terms of the possibilities individual members have to organise themselves and collaborate in innovative ways. The most important key characteristic of SBNs is their ability to demonstrate agile behaviour, for example by allowing their members to rapidly “pick, plug, and play” [4] business processes and reconfigure them to meet specific objectives, such as react to customer orders and cope with unexpected situations. The term “pick”, refers to the possibility for members to quickly connect to and disconnect from the network, while the term “plug” refers to the ability of members to select and globally execute business processes across the entire network. Finally, the term “play” refers to the ability of members to establish their own decision rules and business logic in the above mentioned business processes. A typical example of ‘smart’ add-on value gained in an SBN is the dynamic exploitation of market opportunities, such as identifying and filling unfilled market positions (termed ‘structural hole strategy’ in [5]). This outstanding agility of SBNs has only been enabled through the latest developments in information and communication technologies [6]. In particular, SBN ‘smartness’ does not only result from the dynamically formed and adaptively modifiable business models applied, but also from the sophisticated combinations of the state-of-the-art ICT technologies used [7]. A schematic representation of two SBNs is depicted in Figure 1. Each SBN has a node acting as coordinator which all other SBN members are connected on. An SME joins an SBN by registering with the respective coordinator node and subsequently it can access all other SBN members and establish contacts and collaborations as needed.
384
A. Karageorgos et al.
Fig. 1. A Smart Business Network
3 Supporting SBNs with Digital Information Technologies 3.1 Overview of SBN Support Technologies As mentioned in Section 2.2 ‘smartness’ in SBNs is largely a matter of utilising and appropriately combining advanced ICT methods. To this purpose, various technologies have been so far used to support operations of such networks. Examples are Semantic Web Models, Tools and Ontologies, Web Services (WS), Grid Computing, Sensors and Radio Frequency Identification Devices (RFIDs), and Software Agents. A survey of such technologies is summarised in Table 1. An example of using semantic web technologies for enabling business network operations is the work described in [8], which focuses on mechanisms for enabling rapid connectivity between network partners. The approach involves the use of OWL ontologies to build interfaces between partner systems, which expose their public functionality in the form of services. In that model, the logic connection between services is realised by associating services with pre-conditions and post-conditions which describe in detail, and according to the agreement of the business partners, the conditions that must be satisfied for particular services to be invoked to ensure interoperability between partner systems. However, that approach focuses only on predefined services and does not support dynamic service composition and configuration of partner collaborations, for example by means of negotiation. Once partners in a business network have “picked” and “plugged” the appropriate process modules together, these need to be executed. This has often been supported by using Web Services. For example in [10] an approach involving using Web Services and handling dynamic adaptations of business network behaviour with suitable WS orchestration is described. However, the disadvantage of using only WS is that high orchestration and coordination costs are involved (for example when searching for appropriate services, negotiating for price and quality of services and monitoring B2B transactions) and therefore we argue that a form of technological intelligence should be added to WS to better support operations of business networks.
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
385
Table 1. Technologies used to support Smart Business Networks Technology Semantic Web Models, Tools & Ontologies Web Services
Radio Frequency Identification Devices (RFIDs)
Grid Computing
Software Agents
Approach Used for automatic and fast interoperability between many different systems. Used to integrate the computer applications of different participating firms and facilitates the connect and disconnect method, and can be used together with the other technologies. Used for reducing costs, improving service levels and offering new possibilities for identifying unique product instances.
References Xiao and Zheng [8] Werthner, Fodor and Herzog [9] Hillegersberg, Boeke, and Heuvel [10] Busquets, Rodona and Warehama [11]
Used for improving organisational agility to respond to rapidly changing requirements, for example to cope with disasters. Used for supporting organisational decision-makers in making multi-attribute decisions in environments that are characterised by a high velocity of change.
Oosterhout, Koenen and Heck [15] Boden [16] Chen et. al [17]
Rodon, Busquets, and Christiaanse [12] Pramatari and Doukidis [13] Pramatari, Doukidis and Kourouthanassis [14]
Collins, Ketter and Gini [18] Douma et. al [19] Ketter et. Al [20]
In [12] an approach for tracing a company’s products based on the use of RFID technology is described. The approach involves a specialised business operating system which is responsible for coordinating the process among nodes on a business network. Products are tagged with RFIDs and there is both a global business knowledge store, as well as a number of industry wide local repositories which are shared via intranet and extranet connections. However, that approach lacks flexibility, for example it considers statically predefined products. Oosterhout et al in [15] use grid technology and demonstrate how it can improve organisational agility to be able to respond to rapidly changing circumstances. In that paper, the authors describe a business experiment involving development of an application solution for backup and recovery of enterprise data. That solution is based on sharing data storage hardware by users in a grid. This approach however, does not provide full-scale support for SBN operations. Collins et al in [18] show how intelligent agents can support organisational decision-makers in making multi-attribute decisions in highly dynamic environments. They present an architecture that offers innovative capabilities for automatically connecting, disconnecting and communicating with the appropriate actors in a business network. They offer a technological solution for companies to create the highly
386
A. Karageorgos et al.
needed quick-connect capabilities allowing companies to change its position in the network more swiftly. However, that approach does not use standardised technologies, such as WS. In summary, semantic web approaches solve the interoperability problem, but they currently suffer from lack of universally applicable standardised technologies, as well as from effective support for implementing flexible and adaptive behaviour. Standardisation and industrial strength technologies are ensured by using Web Services, RFIDs and Grid technologies. However, these technologies suffer from interoperability and flexibility problems. Finally, adaptivity and flexibility is addressed by using software agents. However, agents too currently suffer from lack of broadly accepted, industrial strength technologies, for advertising and executing their services. Therefore, we argue that a combination of agent and WS technologies would be required to support ‘smart’ business networking operations. 3.2 Service-Orientation and Flexible, Adaptive Software Components As described in the previous Section there are different technological approaches that can be followed to develop support for SBN operations. We advocate the use of the Service-Oriented Architecture (SOA) approach. SOA can be seen as an application architecture in which all functions are seen as services [21]. Services are capable of being remotely invoked by external users and by other services and they encapsulate application logic with a uniformly defined interface and are commonly made publicly available via discovery mechanisms [22]. The SOA paradigm has many advantages, for example it enables on demand linkage of users and computational resources. SOA is essential for delivering business agility and IT flexibility. A well-executed SOA implementation can bridge the gap between enterprise architecture and business strategy, enabling companies to achieve closer alignment of IT and business, and robust reuse of existing applications with agility and cost effectiveness [23]. However, SOAs do not provide any support for rational (semi-)automated selections when it comes to the creation of virtual organizations and enterprise networks. Such rational selection is crucial for establishing and operating viable business formations. This issue can be addressed by enriching SOA with software components with reasoning abilities or “intelligence”. Software agents are particularly suitable for this task since they provide inherently adaptivity and flexible behaviour, both individual and collective in the form of Multi-Agent Systems (MAS). The benefits of combining SOA and agents are therefore increased flexibility and adaptability of enterprise network processes to suit varying individual organisational needs. However, still much research on the business and technical aspects of the combination of SOA and such components to support SBN operations is needed. 3.3 Software Agents and Web Services SOAs are commonly, but not necessarily, implemented as web services leading to the issue of combining agents and web services [24]. Therefore, a main effort in the integration of agents and web services concentrates on masking services for redirection, aggregation, integration and administration purposes [25]. Although the evolution of MAS and web services has been completely different, both technologies have pursued
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
387
common goals such as providing dynamic, open and oriented architectures. In order to solve their differences and to give interoperation and integration possibilities, various approaches have evolved, such as WSIG [25], WD2JADE [26] and ESWA [27]. These efforts, as pointed out in [28], can be classified in three categories. Firstly, WS can provide the most basic level functionality while agents can supply higher-level functions by using, combining and choreographing WS, so achieving added-value functions [26]. Alternatively, communication in WS and agents may become equivalent, so that there is no distinction between them (‘agents in web service wrappers’) [27]. Finally, both concepts can remain separate creating a heterogeneous service space and interoperating through gateways and translation processes [25]. Most of the current agent works strongly related with Web services do not take into account regulation aspects and they are mainly focused on heterogeneity problems in MAS systems. With this aim, they lean on an explicit description of the offered services, an approach which lacks expressivity and cannot serve as a basis for intelligent service orchestration and coordination. Therefore, it is necessary to employ expressive semantic languages, such as OWL for agent domain ontologies, and, as was originally suggested by Hendler [29], OWL-S for WS semantic annotation. In this way, new complex services will be able to be formed semi-automatically by agents and users.
4 A Four-Tier Software Architectural Framework A commonly accepted view in software architecture research is that according to the principle of separation of concerns, software agents and web services must lie on different layers of abstraction due to the conceptual differences between them [30]. From a system designer’s point of view, web services can be used to model passive software components that exhibit reactive, deterministic behaviour. On the other hand, proactive and autonomous behaviours are more suitably modelled by software agents. Agents have inherent flexibility and can represent stochastic, intelligent behaviours at various levels of autonomy. Application functionality, such as workflow process tasks, can be materialised both by agents and web services depending on the particular context. Finally, lower level software components encapsulating internal business logic, such as legacy systems and databases, can be accessed both by web services and agents according to the application requirements. Therefore, we propose that software architectures aiming to support smart business networks should be lying on four layers (see Fig. 2). The lower layer, namely, the Business Logic Layer provides for the most specific operations. It comprises the internal business processes within companies. It usually consists of conventional ERP system components. Upon this layer, Web Services are deployed exposing parts of the internal business processes and making them publicly available. These services along with the semantic description of their capabilities lie on the second layer, namely the Web Services Layer. Adding semantic annotations to web service capabilities can help software entities, such as software agents, to (semi-)automatically interact with them in a dynamic way. Agents interact with, and take advantage of basic services and they are located at the Agent Layer. Agents make use of the semantic annotation of services capabilities
388
A. Karageorgos et al.
Fig. 2. Four-tier Architectural Framework based on Agents and Web Services
to automatically discover, compose, invoke and monitor web services. They are also able to dynamically exhibit and propagate the changing functionality provided in lower layers. Finally, the User interface Layer is responsible for interacting with users and organising (for example configuring and guiding) agents to execute networked business processes. In this way, depending on the agents available in the system and the way they interoperate, different user-tailored ‘smart’ networked applications can be produced.
5 The E-Furn System As an example of a system following the software framework introduced in Section 4 we present a high-level view of the e-Furn system. e-Furn aims at supporting smart networking of furniture manufacturing enterprises [31]. The approach followed in the development of e-Furn is to use as standardised mature technologies where possible, and combine and extend these technologies to address the furniture enterprise SBN domain requirements. To this purpose, an approach combining agent-technology and service-orientation has been selected. The e-Furn system (see Figure 3) has been designed following the principle of separation of concerns, considering four layers: the Business logic layer comprising legacy systems and other information resources, the WS and the agent layers corresponding to WS and agents respectively, and the user interface layer where the capabilities of all other three layers are combined to produce ‘smart’ business networking functionality. The system is viewed a grid of distributed interconnecting partner nodes that are all linked with each other. One of the nodes is considered the main e-Furn
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
389
Fig. 3. Overview of e-Furn System Architecture
node and acts as coordinator of the other nodes, for example for intermediating to establish communication for new partner nodes joining the network, and for resolving conflicts that may arise. To establish communication, new partner nodes get in contact with the main e-Furn node and after necessary authorisations they obtain access to the partner details, such as addresses and available services. The e-Furn is considered to be an open system based on software agents in the sense described in [32, 33]. 5.1 SBN Support System Requirements Based on the needs for ‘smart’ networking furniture industry SMEs we identify a number of high-level requirements for the e-Furn system: RQ1: The system should be able to support new enterprise member registration and authorisation procedures which should be able to be carried out dynamically and on run-time. e-Furn end-users will be employees of registered e-Furn member enterprises, such as salesmen for instance, and not end customers. RQ2: For each e-Furn member enterprise, employees with necessary privileges should be able to locate and select other appropriate e-Furn member enterprises and designate them as collaborators by placing them in groups created for this purpose. RQ3: e-Furn member enterprises should be able to publish their products and services they wish to offer for reselling or outsourcing respectively. In particular, they should be able to specify general as well as specific parameters for product offer and service provision. RQ4: e-Furn end-users should be able to receive technological assistance in their interactions with other users within the e-Furn network. In particular, repeated or
390
A. Karageorgos et al.
standardised interactions should be able to be carried out (semi-)automatically requiring only final confirmation from the user. For example, the price of products offered by other network member enterprises should be possible to be finalised via semiautomated negotiation. Users should be assisted in carrying out such negotiations in short time and for a large number of products. RQ5: Since the number of options and combinations will generally be large, endusers should be able to receive intelligent recommendation assistance for preparing the best offers for the customers and for selecting the best outsourcing options. The system should be able to estimate the combinations that are more likely to increase customer satisfaction and maximise the sellers profit and provide a list of options to the user who will finally select the best one based on her experience. RQ6: e-Furn users are expected to have different needs and preferences which will normally be changing based on the form and type of collaboration. System interfaces should be able to adapt to user needs both statically based on user configuration, and dynamically based on collaboration and usage results. For example, if a user tends to prefer certain products of a certain type then these products should be able to be conveniently accessible by that particular user. RQ7: Users should be able to monitor the status of their product orders, product delivery and execution of their outsourced tasks. It must be noted that furniture product particularities should be taken into account. For example, furniture products have specific packing and storing requirements, for instance they require much more storage volume than their actual mass. RQ8: Users should be able to expose only part of their local information as and when needed. Any information exchanged should be revealed only to the intended recipient. 5.2 Main e-Furn Features The main architectural elements of the e-Furn system are software agents that act as mediators between system components. Each external actor to the system, for example service providers, service users and system administrators, is associated with a software agent acting on her behalf, interconnecting the actor with the rest of the system and providing assistance. Agent behaviour is modelled using roles, as suggested in [34] and [35]. Agents make use of various (external or internal) data repositories, (stored in the form of ontologies) containing the knowledge that is to carry out the system operations and based on input from users they adaptively orchestrate system functionality which is provided in the form of web services. Adaptation and overall behaviour is further determined with global as well as individual for each partner business rules. All global network information is stored in the main e-Furn repository. Among the main features of e-Furn are polymorphic user interfaces that adapt dynamically to user preferences and to system operation results. Furthermore, there are sophisticated decision making tools embedded in the system assisting users in operational decisions such as partner lookup. Another important feature of e-Furn is support for outsourcing tasks to partners and it provides advanced optimisation and task allocation tools that are manipulated by software agents and can be invoked by users to facilitate outsourcing of tasks with minimal costs. This is accompanied with
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
391
Fig. 4. Intelligent Recommendation Process in e-Furn
effective monitoring and control mechanisms allowing examination of the execution stage of outsourced tasks. Finally, e-Furn provides intelligent recommendation assistance through specialized recommendation algorithms, which is further described in Section 5.3. 5.3 Intelligent Recommendation Subsystem E-Furn provides users with intelligent recommendation assistance, based on advanced recommendation algorithms that take into account furniture features, patterns and customer profiles to formulate and propose bundles of furniture and services. These are cross-referenced with a database of current network capabilities to produce a set of outsourcing tasks, as depicted in Figure 4 and detailed in the following paragraphs. E-Furn comprises and maintains a database of features concerning furniture, not only in a standalone fashion (such as colour, price, dimension, weight, style, material, utility etc.), but also with regards to other furniture or domestic appliances in the broad sense. For instance, possible combinations can be considered (for example a set of chairs and a dinner table, kitchen furniture, and electrical appliances such as oven, fridge and dishwasher). These feature combinations can include matching schemes in terms of style, colour, utility and spatial collocation. The system uses innovative intelligent information processing methods, including association rule mining from sales data stored in the customer database and furniture features to extract sales and configuration patterns [36-38]. For instance, the system can identify items that sell together, such as sofas and TV tables. It subsequently estimates the best selling price for this bundle, considering numerous additional parameters, such as customer details, customer sales history and profit expectations. An important feature of our approach is the customer profile repository. This is initially populated using empirical data and information provided by experts, in terms of furniture arrangements suitable for a variety of business and domestic purposes, settings, budgets and so on. It is kept up-to-date and enriched using actual customer data, where customers can opt in a “loyalty scheme” in return for providing demographic and other information, such as individual preferences and requirements. All these data are mined in order to construct useful profiles. Initially we cluster customer related data in order to formulate clusters (i.e. groups) of customers [39]. These clusters indicate similarity across a number of dimensions including demographic,
392
A. Karageorgos et al.
marketing, even subjective factors. These clusters can then be processed by intelligent agents in order to formally determine classes of customers which in turn can be used for customer classification [40, 41] and customer profile formation [42, 43]. Finally, e-Furn maintains a log of products and services, keeping tags on their availability within the network and elsewhere in real-time, using appropriate services/agents. Customer profiles, furniture features and patterns, along with availability information are fed into the recommendation engine, which is the core of the system. This engine matches potential customer requirements with provider’s capabilities, in order to determine bundles of products and services. Priority is given to bundles involving existing network capabilities, but outsourcing is not excluded if necessary. In that case a list of outsourcing tasks is generated and relevant reservations are placed.
6 Concluding Remarks As argued in Section 2, furniture manufacturing SMEs need to resort to enterprise networking to respond to contemporary global economic challenges. In this respect, traditional forms of business networking are not sufficient, given the current market state, the varying and sophisticated nature of customer requirements and the international competition. Therefore, we argued that furniture manufacturing SMEs need to join and operate flexible and adaptive, in other words ‘smart’, business networks, which in turn are highly relying on the efficient use of state-of-the-art ICT technologies to fully exploit their potential. Existing ICT methods currently used for supporting business network operations tend to be applied in isolation and therefore suffer from certain drawbacks, such as lack of adaptivity and flexibility. We argued on combined use of ICT methods and in particular on jointly using software agents and web services, and we described our perspective in the form of a four-tier architectural software framework. As an example of a system based on the proposed framework, we provided a highlevel view of e-Furn, a system aiming to assist furniture manufacturing SMEs in participating in ‘smart’ business networks. E-Furn is based on combined use of agents and semantic web services and its main futures include providing intelligent assistance and adaptive interfaces to users. However, there are many issues relevant to providing robust and effective technological support for SBN operations in general, and furniture manufacturing SBNs in particular, that are still open. In the near future we plan to further elaborate on issues concerning provision of intelligence assistance to furniture manufacturing SBN members, such as product bundling recommendations and task outsourcing optimisation.
References 1. Databank: ICT and e-Business Impact in the Furniture Industry. Impact Study No 3/2008 (2008) 2. Camarinha-Matos, L.M.: Collaborative Networks In Industry Trends and Foundations. In: Cunha, P.F., Maropoulos, P.G. (eds.) Digital Enterprise Technology, pp. 45–56. Springer, Heidelberg (2007)
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
393
3. van Heck, E., Vervest, P.: Smart business networks: how the network wins. Communications of the ACM 50, 28–37 (2007) 4. van Heck, E., Vervest, P.: Smart business networks: Concepts and empirical evidence Decision Support Systems 47, 275–276 (2009) 5. Vervest, P.H.M., van Liere, D.W., Dunn, A.: The Network Factor - How to Remain Competitive. In: Vervest, P.H.M., van Liere, D.W., Zheng, L. (eds.) The Network Experience, pp. 15–35. Springer, Heidelberg (2009) 6. Vervest, P.H.M., van Heck, E., Pau, L.F., Preiss, K.: Smart Business Networks. Springer, Heidelberg (2005) 7. Vervest, P.H.M., van Heck, E., Preiss, K.: Smart Business Networks: A New Business Paradigm. In: SBNi Discovery Session, p. 529 8. Xiao, L., Zheng, L.: Achieving Quick Connect with the Support of Semantic Web. In: SBNi Discovery Session 2006. Vanenburg Castle in Putten, The Netherlands (2006) 9. Werthner, H., Fodor, O., Herzog, M.: Web Information Extraction and Mediation as a Basis for Smart Business Networking. In: Vervest, P., van Heck, E., Pau, L.-F., Preiss, K. (eds.) Smart Business Networks, pp. 405–419. Springer, Heidelberg (2005) 10. van Hillegersberg, J., Boeke, R., van de Heuvel, W.-J.: The Potential of Webservices to Enable Smart Business Networks. In: van Peter Vervest, E.H., Pau, L.-F., Preiss, K. (eds.) Smart Business Networks, vol. 4, pp. 349–362. Springer, Heidelberg (2005) 11. Busquets, J., Rodona, J., Warehama, J.: Adaptability in smart business networks: An exploratory case in the insurance industry Smart Business Networks. Concepts and Empirical Evidence 47, 287–296 (2009) 12. Rodon, J., Busquets, X., Christiaanse, E.: Orchestration in ICT-enabled Business Networks: A Case in the Repairs Industry. In: 18th Bled eConference eIntegration in Action. Bled, Slovenia (2005) 13. Pramatari, K., Doukidis, G.: Intelligent Integration of Supply Chain Processes based on Unique Product Identification and a Distributed Network Architecture. In: SBNi Discovery Session, p. 369 14. Pramatari, K., Doukidis, G.I., Kourouthanassis, P.: Towards Smarter Supply and Demand Chain Collaboration Practices Enabled by RFID Technology. In: Vervest, P.H.M., van Heck, E., Pau, L.-F., Preiss, K. (eds.) Smart Business Networks, vol. Section 2, pp. 197– 210. Springer, Heidelberg (2005) 15. van Oosterhout, M., Koenen, E., van Heck, E.: Empirical Evidence from a Business Experiment with Small and Medium Enterprises in the Netherlands The Adoption of Grid Technology and Its Perceived Impact on Agility. In: Vervest, P.H.M., Liere, D.W., Zheng, L. (eds.) The Network Experience, pp. 285–299 (2009) 16. Boden, T.: The Grid Enterprise — Structuring the Agile Business of the Future. BT Technology Journal 22, 107–117 (2004) 17. Chen, X., Duan, G., Sun, Y., Gu, J.: Research on Key Technologies for Grid-Based Network Collaborative Design. In: Fourth International Conference on Networked Computing and Advanced Information Management, pp. 639–644. IEEE, Los Alamitos (2008) 18. Collins, J., Ketter, W., Gini, M.: Flexible Decision Support in a DynamicBusiness Network. In: The Network Experience, Part 4, pp. 233–248. Springer, Heidelberg (2009) 19. Douma, A., Moonen, H., van Hillegersberg, J., van de Rakt, B., Schutten, M.: Designing an Agent-Based Inter-Organizational Coordination System for Planning and Control of Container Barges in the Port of Rotterdam. In: SBNi Discovery Session 2006. Vanenburg Castle in Putten, The Netherlands (2006)
394
A. Karageorgos et al.
20. Ketter, W., Collins, J., Gini, M., Gupta, A., Schrater, A.P.: Strategic Sales Management Guided By Economic Regimes. In: Smart Business Networks A new Business Paradigm (2008) 21. McAfee, A.: Will Web Services Really Transform Collaboration? MIT Sloan Management Review 46, 78–84 (2005) 22. Schroth, C., Janner, T.: Web 2.0 and SOA: Converging Concepts Enabling the Internet of Services 9, 36–41 (2007) 23. Laurent, W.: The Importance of SOA Governance. DM Review 17, 38–38 (2007) 24. Dominic, G., Margaret, L., Ashok, M., Hiroki, S.: The IEEE FIPA approach to integrating software agents and web services. In: Proceedings of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems. ACM, Honolulu (2007) 25. Greenwood, D., Calisti, M.: Engineering web service-agent integration. In: Proceedings of the International Conference on Systems, Man and Cybernetics (SMC 2004), The Hague, The Netherlands, pp. 1918–1925 (2004) 26. Nguyen, X., Kowalczyk, R., Chhetri, M., Grant, A.: WS2JADE: A Tool for Run-time Deployment and Control of Web Services as JADE Agent Services. In: Software AgentBased Applications, Platforms and Development Kits, pp. 223–251 (2005) 27. Ramírez, E., Brena, R.: Integrating agent technologies into enterprice systems Using Web Services. Enterprise Information Systems VII, 223–227 (2006) 28. Blacoe, I., Portabella, D.: Guidelines for the integration of agent-based services and webbased services (2005) 29. Hendler, J.: Agents and the Semantic Web. IEEE Intelligent Systems 16, 30–37 (2001) 30. García-Sánchez, F., Alvarez Sabucedo, L., Martínez-Béjar, R., Anido Rifón, L., ValenciaGarcía, R., Gómez, J.: A Knowledge Technologies-Based Multi-agent System for eGovernment Environments. In: Service-Oriented Computing: Agents, Semantics and Engineering, pp. 15–30 (2008) 31. Karageorgos, A., Avramouli, D., Ntalos, G., Tjortjis, C., Vasilopoulou, K.: Towards Agent-based ‘Smart’ Collaboration in Enterprise Networks. In: 8th Int’l Workshop on Agent-based Computing for Enterprise Collaboration (ACEC) at WETICE 2010, Larissa, Greece. IEEE Computer Society Press, Los Alamitos (2010) 32. Carrascosa, C., Giret, A., Julian, V., Rebollo, M., Argente, E., Botti, V.: Service Oriented MAS: An open architecture. In: Proc. of 8th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS), pp. 1291–1292. IEEE Press, Los Alamitos (2009) 33. Giret, A., Julian, V., Rebollo, M., Argente, E., Carrascosa, C., Botti, V.: An Open Architecture for Service-Oriented Virtual Organizations. In: Seventh International Workshopon Programming Multi-Agent Systems, PROMAS 2009, pp. 23–33. Springer, Budapest (2009) 34. Karageorgos, A., Mehandjiev, N., Thompson, S.: RAMASD: a semi-automatic method for designing agent organisations. The Knowledge Engineering Review 17, 331–358 (2002) 35. Stuit, M., Szirbik, N.B.: Towards Agent-Based Modeling and Verification of Collaborative Business Processes: An Approach Centered on Interactions and Behaviors. International Journal of Cooperative Information Systems 18, 423–479 (2009) 36. Dong, L., Tjortjis, C.: Experiences of Using a Quantitative Approach for Mining Association Rules. In: Liu, J., Cheung, Y.-m., Yin, H. (eds.) IDEAL 2003. LNCS, vol. 2690, pp. 693–700. Springer, Heidelberg (2003) 37. Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques, 2nd edn., November 3, 2005. Morgan Kaufmann, San Fransisco (2006)
Agent-Based Digital Networking in Furniture Manufacturing Enterprises
395
38. Wang, C., Tjortjis, C.: PRICES: An Efficient Algorithm for Mining Association Rules. In: Yang, Z.R., Yin, H., Everson, R.M. (eds.) IDEAL 2004. LNCS, vol. 3177, pp. 352–358. Springer, Heidelberg (2004) 39. Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques, 2nd edn. Morgan Kaufmann, San Francisco (2005) 40. Rokach, L., Maimon, O.: Top-down induction of decision trees classifiers - a survey. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 35, 476–487 (2005) 41. Tjortjis, C., Keane, J.: T3: A Classification Algorithm for Data Mining. In: Yin, H., Allinson, N.M., Freeman, R., Keane, J.A., Hubbard, S. (eds.) IDEAL 2002. LNCS, vol. 2412, pp. 50–55. Springer, Heidelberg (2002) 42. Cumb, C., Fano, A., Ghani, R., Krema, M.: Predicting customer shopping lists from pointof-sale purchase data. In: Proc. of the 10th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining, Seattle, WA, USA, August 22-25 (2004) 43. Adomavicius, G., Tuzhilin, A.: Using Data Mining Methods to Build Customer Profiles. Computer 34(2), 74–82 (2001)
An Approach towards Time Synchronization Based Secure Protocol for Wireless Sensor Network Arun Kumar Tripathi and Ajay Agarwal Department of Computer Application, Krishna Institute of Engineering and Technology, Ghaziabad
[email protected],
[email protected] Abstract. Wireless sensor networks (WSN) have received a lot of attention recently due to their wide applications such as target tracking, environment monitoring, and scientific exploration in dangerous environments. Time synchronization is an important component of sensor networks to provide a common clock time in sensor nodes. Time synchronization protocols provide a mechanism for synchronizing the local clocks of the nodes in a sensor network. Some of the sensor nodes may be malicious, which can disrupt the normal operation of a sensor network. In this paper, we find out malicious nodes and propose time synchronization based secure protocol for a group of non-malicious nodes. Keywords: Sensor Networks, Security, Time Synchronization, Malicious nodes.
1 Introduction Wireless Sensor Network (WSN) consists of hundreds or thousands of micro sensor nodes that are joining together to form a network. Wireless sensor network [1] accurately monitors remote environment intelligently by combing the data from individual nodes. The special nature of wireless sensor network imposes challenging requirements on secure time synchronization design. All the attacks on time synchronization protocols have one main goal, to somehow convince some nodes that their neighbor’s clocks are at a different time [2] than they actually are. There exist two types of attacks [3]: (i) external and (ii) internal. External attacks are those in which an (external) attacker manipulates the communication between pairs of trusted nodes and causes the nodes to desynchronize, or to remain unsynchronized even after a successful run of the synchronization protocol. Pulse delay attack is an example of external attack. Internal attacks are those in which internal attackers (group members) report false clock references to their neighboring nodes. The rest of the paper is organized as follows: In Section 2 we survey the existing time synchronization protocols [18]. An approach for the proposed protocol is given in Section 3. In support of the approach related theorems and their proofs are also shown. Concluding remarks and future work are made in Section 4 and 5 respectively. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 321–332, 2010. © Springer-Verlag Berlin Heidelberg 2010
322
A.K. Tripathi and A. Agarwal
2 Related Work Researchers have proposed many protocols for time synchronization [15] based on classification receiver-receiver [4,5] and sender-receiver [4,6]. For discussion we have considered reference broadcast synchronization (RBS) [7] protocol and time synchronization protocol for sensor network (TPSN) [8] as receiver-receiver based protocols. On the other hand, secure pair-wise synchronization (SPS) [9] protocol is considered as sender-receiver based protocol. In receiver-receiver based synchronization, sender sends message to more than one receiver and then exchange of messages take place between receivers to synchronize each other and compute their offsets based on the difference in reception time. Sender does not take part in the synchronization. On the other hand, in sender-receiver based synchronization [5] protocol, the sender node periodically sends a message with its local time as a timestamp to the receiver. The receiver then synchronizes with the sender using the timestamp it receives from the sender. The message delay [6] between the sender and receiver is calculated by measuring the total round-trip time, from the time a receiver requests a timestamp until the time it actually receives a response. 2.1 Receiver-Receiver Protocols Reference Broadcast Synchronization (RBS) protocol [7] is based on receiverreceiver synchronization which reduces some uncertainty of packet delays. RBS does not need to consider about sender’s nondeterministic packet delays: send time and access time. To remove sender’s nondeterministic packet delays, RBS provides high precision of time synchronization.
Fig. 1. Time-critical path for traditional protocols (left) and RBS protocol (right)
Fig. 1 shows traditional protocol with RBS. In RBS a reference message is broadcast to two or more receivers and then receivers try to synchronize their respective local clocks. Each receiver records its local time when it gets the reference message. Then receivers exchange their local times [10]. Another receiver-receiver based protocol is TPSN [8] which initially creates a spanning tree of the sensor network. The tree starts at the root of the network, which is generally a base station, and each node establishes its level based on the 'level discovery' message that it receives. While the tree is being built, the nodes perform pair-wise
An Approach towards Time Synchronization Based Secure Protocol for WSN
323
synchronization along the edges of the tree. Each node exchanges synchronization messages with its parent in the spanning tree. By comparing the reception time of the packets with the time of transmission, which is placed on the packet by the parent, the node can find and correct for its own phase offset. 2.2 Sender-Receiver Synchronization In sender-receiver approach all receivers should be synchronize with sender. Senderreceiver approach basically includes three steps. i. ii. iii.
The sender node periodically sends a message with its local time as a timestamp to the receiver. The receiver then synchronizes with the sender using the timestamp it receives from the sender. The message delay between the sender and receiver is calculated by measuring the total round-trip time from the time a receiver requests a timestamp until the time it actually receives a response. Table 1. Pseudo code for sender-receiver synchronization
Sender-receiver Synchronization 1. A(T1) —›(T2) B : A, B, sync /* At Time T1 node A sends a synchronization packet which is received by node B at time T2. Packet contains synchronization message time stamp along with node-id of node A and B. */ 2. B(T3) —›(T4) A : B, A, T2, T3, ack /* In response to synchronization packet at time T3 node B sends response packet which is received by node A at time T4. The response packet contains node-id of nodes A and B along with receiving time of synchronization packet T2, sending time of response packet T3 and acknowledgement. */ 3. A calculates offset between the nodes A and B. The pseudo code used in sender-receiver synchronization [9] is given in Table 1. Here, T1, T4 represent the time measured by the local clock of node A. Similarly T2, T3 represent the time measured at node B. At time T1, A sends a synchronization pulse packet to B. Node B receives this packet at T2, where T2 =T1+d+δ. Here, δ and d represent the offset between the two nodes and end-to-end delay respectively. At time T3, B sends back an acknowledgement packet. This packet contains the values of T2 and T3. Node A receives the packet at T4. Similarly, T4 is related to T3 as T4 = T3+d-δ. Node A can calculate the clock offset [9] and the end-to-end delay [9] as: Offset (δ) = ((T2 – T1) – (T4 – T3))/2
(1)
Delay (d) = ((T2 – T1) + (T4 – T3))/2
(2)
324
A.K. Tripathi and A. Agarwal
Sender-receiver synchronization suffers from pulse delay attack. The pulse-delay attack [11], [20] is performed by jamming the initial pulse, storing it in memory and then replaying it later at an arbitrary time. Fig. 2 shows the idea behind pulse-delay attack.
Fig. 2. Pulse delay attack
Without any pulse delay [12] attack the T2= T1+δ+d and T4 = T3-δ+d. If an attacker performs pulse-delay attack (e.g., on the initial sync packet), the equations will change to: T2* = T1+δ+d+Δ and T4*= T3-δ+d+Δ. Here Δ is the pulse-delay introduced by the attacker [3]. In presence of pulse delay clock offset and the end-to-end delay will be Offset (δ) = ((T2 – T1) – (T4 – T3) + Δ)/2
(3)
Delay (d) = ((T2 – T1) + (T4 – T3) + Δ)/2
(4)
Secure pair-wise synchronization (SPS) is a sender-receiver based approach. In Sender-receiver synchronization approach security mechanism is integrated to make it resilient to adversarial attacks from external attackers [19]. In this protocol, message integrity and authenticity [17] are ensured through the use of Message Authentication Codes (MAC) and a key KAB [13,14,16] shared between A and B. This prevents external attackers from modifying any values in the synchronization pulse or in the acknowledgement packet. Furthermore, the attacker cannot assume an identity of node B as it does not hold the secret key KAB. An attacker can hear the packet over the wireless channel and can use the MAC in future to generate authenticated packets. Using a random nonce, NA, during the handshake safeguards the protocol against such replay attacks. In SPS, pulse delay attacks are detected through a comparison of the computed message end-to-end delay, d, with the maximal expected message delay d*. Note that the calculation of the end-to-end delay, d. If the computed delay is greater than the maximal expected delay, we recognize that there is replay on packet. The pseudo code for secure pair-wise synchronization protocol is given in Table 2.
An Approach towards Time Synchronization Based Secure Protocol for WSN
325
Table 2. Pseudo code for secure pair-wise synchronization
Secure Pair-wise Synchronization (SPS) 1. A (T1) —>(T2) B : A, B, NA, sync /* At Time T1 node A sends a synchronization packet which is received by node B at time T2. Packet contains synchronization message time stamp, nonce NA (pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused in replay attacks) along with node-id of node A and B. */ 2. B(T3) —>(T4)A : B, A, NA, T2, T3, ack, MAC {KAB}[ B, A, NA,T2, T3, ack] /* In response to synchronization packet at time T3 node B sends response packet which is received by node A at time T4. The response packet contains node-id of nodes A and B, nonce NA, receiving time of synchronization packet T2, sending time of response packet T3 and acknowledgement along with all above contains encrypted by shared key KAB and then protected by MAC. */ 3. Node A calculates end-to-end delay d = {(T2 – T1) + (T4 – T3)}/2 if d ≤ d* then δ= {(T2 – T1) - (T4 – T3)}/2, else abort
3 Proposed Protocol We have proposed an approach to develop a protocol. The protocol not only finds malicious node(s) but also counts them within the group. Further, it synchronizes all non-malicious nodes to a common clock i.e. fastest clock in the group. Let us assume that group membership is known to all group nodes in the group and all group nodes reside in each other’s power ranges. Let us consider Gs is a sender node which is a non- malicious and not considered in a group. The sending time of the packet at node Gs is represented by Ts (time measured by node Gs) and receiving time of packet by node Gj is Tj (already sent by node Gs). These times are measured by two different clocks. Ts is measured in the local clock of node Gs (i.e. Cs) whereas Tj is measured by the local clock of node Gj (i.e. Cj). The offset (or the difference between the local clocks) between the two nodes is represented by δsj (calculated by node Gj with respect to node Gs). The delay for the packet transfer from Gs to Gj is represented by dsj. In proposed protocol we have assumed that a node is said to be malicious, if it does not report the exact time at which it receives or sends the packet. Herein, we assume that malicious node [14] does not report the exact time at which it receives the packet.
326
A.K. Tripathi and A. Agarwal
3.1 Steps of Proposed Protocol The proposed protocol has following five steps: Step 1: Node Gs sends packets containing its node identifier (ID) and challenge nonce (Ns) to all group members. If there are N nodes in the group then in the first step the number of messages transmitted is N. In proposed protocol the initiator node is taken as sender node. Step 2: In this step of the protocol, every node Gj, which have received the challenge packet acknowledges back to sender node Gs, known as response packet. This packet contains triples {Tj, Ns, Gs}, where Tj is the receipt time of the challenge packet from node Gi, Ns is nonce by sender and Gs is node-id of sender respectively. It also contains Message Authentication Code (MAC), which enables Gs to authenticate the packet sent by Gj in this step. The response packet also includes the sending time (T′j) from node Gj. MAC is used to provide resiliency against external attacker. So in this step N MACs are calculated one for each Gs and Gj pair and then each Gj sends messages to Gs. A pair wise secret key (Ksj) which is shared between nodes Gs and Gj is also used in the response messages. Step 3: Now node Gs calculates the delay occurred (dsj), corresponding to challengeresponse and if all the calculated delays for each node are less than a maximal delay (d*) then node Gs calculates the offset for each node Gj. If any node’s calculated delay is more than maximal delay then Gs assumes that Gj is external attacker. Step 4: Node Gs will calculate for every other node, Gj, in the group Ssj (Ssj is sent time of packet from node Gs to Gj) and Rjs (Rjs is received time of packet from node Gj to Gs). If Gj is malicious then Ssj should not be equal to Rjs. This step also calculates number of internal attackers. Step 5: Sender forms a circular path, P, of all remaining non-malicious nodes and calculate sum of all offsets along the path P. If this sum is zero, it synchronizes every node of the path P to the fastest clock. The pseudo code for proposed protocol is given in the Table 3. Table 3. Pseudo code for proposed protocol
Proposed Protocol for Time Synchronization Gj (1,……,N ) } { 1. Gs (Ts) → Gj(Tj ) : Gs, Ns, sync; j=1, ......., N /* Node Gs sends a challenge packet for synchronization, containing its node-id Gs and nonce Ns at time Ts to all nodes in the group and node Gj receive the packet at time Tj */
∀
∈
An Approach towards Time Synchronization Based Secure Protocol for WSN
327
Table 3. (continued)
Gj (T′j) → Gs(T′s) : Gj, T′j, m, M, ACK m = {Tj, Ns, Gs } M = {MAC{ Ksj}[Gj, T′j, Tj, Ns, Gs,, ACK]} /* Node Gj neighboring node of Gs will send response packet to Gs at time T′j. The packet also contains receiving time of challenge packet at Gj i.e.Tj from node Gs with nonce Ns. */ 3. Compute Ds={ dsj : dsj=[(Tj–Ts)+(T′s–T′j)]/2, j=1,..,N } if all dsj ≤ d* /* Calculate end-to-end delay and offset set between each node from source node. */ then Os={ δsj : δsj=[(Tj–Ts)–(T′s-T′j)]/2, j=1,...,N } else Gj is Malicious (external attacker) end if 4. /* Finding internal attackers */ counter=0 /* counter for internal attacker */ for each pair of Gs and node Gj in the group if (| Ssj |≠| Rjs |) /* Ssj= sent time of packet from node Gs to Gj. Rjs= received time of packet from node Gj to Gs.*/ then Gj is Malicious (internal attacker) counter= counter + 1 end if end for Print “Total number of malicious nodes”= counter 5. Calculate δsum= sum of all offsets along the circular path of non-malicious nodes if (δsum==0) then synchronize every node Gj to the fastest clock end if 2.
The proposed protocol is secure against internal as well as external attacks and can synchronize non-malicious nodes to the fastest clock in the group. We have developed three theorems in support of proposed protocol. Theorems are discussed as follows.
328
A.K. Tripathi and A. Agarwal Table 4. Based on synchronization of nodes
Theorem 1: Prove that in a non-malicious environment, circular path of length ≥ 3 can be synchronized to the fastest clock if and only if the sum of offsets along the path is zero. Proof: Assume a circular path P={Gi, Gj, Gk, Gi} of length 3 is formed by nodes Gi, Gj and Gk. The offset of node Gj with respect to node Gi, δij =[(Tj-Ti)–(T′i-T′j)]/2 Similarly, offset of node Gk with respect to node Gj, δjk =[(Tk-Tj)–(T′j-T′k)]/2 and, offset of node Gi with respect to node Gk, δki=[(Ti- Tk)–(T′k- T′i)]/2 Now the sum of offsets along triangled circular path P={Gi, Gj, Gk, Gi} will be δsum = δij + δjk + δki ={(Tj-Ti)–(T′i-T′j)]+[(Tk-Tj)–(T′j-T′k)]+ [(Ti-Tk)–(T′k-T′i)]}/2 = {[Ti+Ti′+Tj+Tj′+Tk+T′k]-[Ti+T′i+Tj+T′j+Tk+T′k]}/2 = 0 Similarly, circular path P={Gi, Gj, Gk, Gl, Gi} is formed by four nodes Gi, Gj, Gk, and Gl . The offset of node Gj with respect to node Gi, δij=[(Tj-Ti)–(T′i-T′j)]/2 Similarly, offset of node Gk with respect to node Gj, δjk=[(Tk-Tj)–(T′j-T′k)]/2 and, offset of node Gl with respect to node Gk, δkl=[(Tl-Tk)–(T′k-T′l)]/2 and, offset of node Gi with respect to node Gl, δli=[(Ti-Tl)–(T′l-T′i)]/2 Now the sum of offsets along triangled circular path P={Gi, Gj, Gk, Gi} will be δsum = δij + δjk + δkl + δli ={[(Tj-Ti)–(T′i-T′j)]+[(Tk-Tj)–(T′j-T′k)] +[(Tl-Tk)–(T′k-T′l)]+[(Ti-Tl)–(T′l-T′i)]}/2 ={[Ti+Ti′+Tj+Tj′+Tk+T′k+Tl+T′l][Ti+T′i+Tj+T′j+Tk+T′k+Tl+T′l]}/2 = 0 From above, δsum=0 is true for N=3 and N=4. Now, we will prove the theorem using Principal of Mathematical Induction. Induction Hypothesis: P(k):There exists δsum=0 on circular path of length k. According to hypothesis for N=k nodes, δsum={[Ti+Ti′+Tj+Tj′+………Tk+T′k][Ti+T′i+Tj+T′j+…………+Tk+T′k]}/2 =0 (5)
An Approach towards Time Synchronization Based Secure Protocol for WSN
329
Table 4. (continued)
Induction step: Now we have to show that P(k+1) is true. Add a new node G(k+1) in circular path of length k. δsum={[Ti+T′i+Tj+T′j+…+Tk+T′k]-[Ti+T′i+Tj+T′j+…+Tk+T′k]+ [T(k+1)+T′(k+1)]-[T(k+1)+T′(k+1)]}/2 = 0 (from eqn 5) + 0 = 0 (6) Hence, from Eqn (5) and (6) it can be concluded that δsum=0 in group of (k+1) nodes. Therefore, P(k+1) is true. This shows that δsum=0 along the path of (k+1) nodes. Hence Proved.
Table 5. Effect of malicious nodes in synchronization
Theorem 2: Prove that if at least one node is malicious in the group, nodes cannot be synchronized to the fastest clock. Proof: A node is said to be malicious, if it does not report the exact time at which it receives or sends the packet. Herein, we assume that malicious node do not report the exact time at which it receives the packet. Let us consider node Gj as malicious. Here, we have assumed that malicious node do not report the exact time at which it receives the packet. Therefore, instead of Tj, node Gj will send receiving time of challenge packet as time T′′j in response packet. As we know, in non-malicious environment, sending time of the packet must be equal to receiving time of packet (since nodes are directly linked to each other in a group). |Tj-Ti|=|T′i-T′j| Now, since node Gj sends receiving time of packet T′′j instead of Tj. Tj ≠ T′′j Therefore, Gi will calculate |T′′j-Ti|≠|T′i-T′j| Hence, Gj will be identified as malicious node by node Gi, and, therefore Gi and Gj cannot be synchronized to the fastest clock. Hence Proved.
330
A.K. Tripathi and A. Agarwal Table 6. To find out maximum number of internal attacker(s)
Theorem 3: Prove that using algorithm for proposed protocol (refer Table 3) one can find N-1 internal attacker(s) in the group size of N nodes. Proof: It is assumed that, the group is made up with the help of N nodes and each node is directly connected to all other nodes in the group. Therefore, (N(N-1))/2 edges exists. Assume that node Gi is non-malicious. Now, let us consider Sij= send time of packet from node Gi to Gj. Rji= receive time of packet from node Gj to Gi.
CASE A: When there are two nodes (N=2) in the group: In the group of size two nodes. If | Sij |≠| Rji |, then node Gj is malicious. Hence, Gj will be identified as malicious node therefore Gi and Gj cannot be synchronized to the fastest clock. CASE B: When there are three nodes (N=3) in the group: In the group of size three nodes. If | Sij |≠| Rji |, then node Gj is malicious. If | Sik |≠| Rki |, then node Gk is malicious. If |Sij|≠|Rji| and |Sik|≠|Rki| then nodes Gj and Gk both are malicious. Hence, if N=3, then at most two nodes (Gj and Gk) can be identified as malicious nodes. From above, the hypothesis is true for N=2 and N=3. Now, we will prove theorem using Principal of Mathematical Induction. Induction Hypothesis: P(k)=(k-1) internal attackers are identified for N=k nodes. (a) Induction step: Now we have to show that (a) is true for N=k+1 i.e. P(k+1)=k internal attackers can be identified for N=k+1. Consider there are k nodes in the group having node Gi as non-malicious node. Now consider one new node G(k+1). If |Si(k+1)|≠|R(k+1)i|, then node G(k+1) is malicious. (b) Hence, from hypothesis steps (a) and (b) it can be concluded that there exists k malicious nodes in the group of (k+1) nodes. Therefore, P(k+1) is true. This shows that at most k nodes can be identified as malicious in group of (k+1) nodes. Hence Proved.
An Approach towards Time Synchronization Based Secure Protocol for WSN
331
4 Conclusion Existing solutions for time synchronization in sensor networks are not resilient to malicious behavior from external attackers or internally compromised nodes. The feasibility of a pulse-delay attack (external attack), whereby an attacker can introduce arbitrarily long delays in the packet propagation time directly can affect the achieved synchronization precision. The external attacks can be resolved with the help of MAC message authentication codes and the use of private keys. Internal attacks which occur in case of group wise synchronization can’t be resolved completely and efficiently by the existing protocols till date. We have proposed a protocol to remove external as well as internal attacker problems in group synchronization. Further, proposed protocol ensures that it can cope up with both problems securely. This protocol uses MAC to cope up with the external attacker problem, and uses a consistency check mechanism to cope up with the problem of internal attacker. It firstly ensures that the group is secured against attackers. Consistency check mechanism is applied on every node and if this step is successful then each node synchronizes to the fastest clock in the group. Further, the proposed protocol also finds out whether a node(s) is(are) malicious or not and also counts number of malicious nodes in the group.
5 Future Work Synchronization on nodes depends on packet transfer among nodes which consumes energy. The proposed protocol can further be modified to reduce the communication overhead, so that energy consumption can further be reduced.
References 1. Mukherjee, B., Ghosal, D., Yick, J.: Wireless sensor network survey. Computer Network 52(12), 2292–2330 (2008) 2. Kshemkalyani, A.D., Sundararaman, B., Buy, U.: Clock synchronization for wireless sensor networks. A Survey on Ad-hoc Networks, 281–323 (2005) 3. Capkunl, S., Ganeriwal, S., Han, S., Srivastava, M.: Securing Timing Synchronization in Sensor Networks. In: Proceedings of, pp. 369–390. Springer, New York (2006) 4. Li, H., Chen, K., Wen, M., Zheng, Y.: A Secure Time Synchronization Protocol for Sensor Network. In: Washio, T., Zhou, Z.-H., Huang, J.Z., Hu, X., Li, J., Xie, C., He, J., Zou, D., Li, K.-C., Freire, M.M. (eds.) PAKDD 2007. LNCS (LNAI), vol. 4819, pp. 515–526. Springer, Heidelberg (2007) 5. Wang, C., Ning, P., Sun, K.: Secure and resilient clock synchronization in wireless sensor networks. IEEE Journal on Selected Areas in Communications 24(2), 395–408 (2006) 6. Song, H., Zhu, G.C.S.: Attack-resilient time synchronization for wireless sensor networks. In: IEEE International Conference on Mobile Adhoc and Sensor Systems Conference, p. 772 (2005) 7. Estrin, D., Elson, J., Girod, L.: Fine-grained network time synchronization using reference broadcasts. In: Proceedings of the 5th Symposium on Operating Systems Design and Implementation Special Issue, Boston, pp. 147–163 (2002)
332
A.K. Tripathi and A. Agarwal
8. Srivastava, M.B., Kumar, R., Ganeriwal, S.: Timing-sync protocol for sensor Networks. In: Proceedings of the First ACM Conference on Embedded Networked Sensor Systems, Los Angeles, CA, pp. 138–149 (2003) 9. Ganeriwal, S., Popper, C., Capkun, S., Srivastava, M.B.: Secure Time Synchronization in Sensor Networks. ACM Transactions on Information and System Security, Article No: 23, 11(4) (2008) 10. Simon, G., Kusy, B., Ledeczi Maroti, M.: A Clock synchronization for wireless sensor networks: A Survey. In: Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, pp. 30–49 (2004) 11. Trappe, W., Xu., W., Zhang, Y., Wood, T.: The feasibility of launching and detecting jamming attacks in wireless networks. In: Proceedings of the 6th ACM International Symposium on Mobile Ad Hoc Networking and Computing, Urbana Champaign, IL, USA, pp. 46–57 (2005) 12. Hu, H., Atakli, I.M., Chen, Y., Ku, W.-S., Su, Z.: Malicious Node Detection in Wireless Sensor Networks. In: The Symposium on Simulation of Systems Security, pp. 836–843 (2008) 13. Eschenauer, L., Gligor, V.D.: A key-management scheme for distributed sensor networks. In: Proceedings of the 9th ACM Conference on Computer and Communications Security, Washington, DC, USA, pp. 41–47 (2002) 14. Chan, H., Perrig, A., Song, D.: Random key predistribution scheme for sensor networks. In: Proceedings of the 2003 IEEE Symposium on Security and Privacy, p. 197 (2003) 15. Kopetz, H., Ochsenreiter, W.: Clock Synchronization in Distributed Real-Time Systems. IEEE Transactions on Computers 36(8), 933–940 (1987) 16. Hwang, J., Kim, Y.: Revisiting random key pre-distribution schemes for wireless sensor networks. In: Proceedings of the 2nd ACM Workshop on Security of Ad Hoc and Sensor Networks, Washington DC, USA, pp. 43–52 (2004) 17. Jajodia, S., Setia, S., Zhu, S.: LEAP: Efficient security mechanisms for large-scale distributed sensor networks. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, Washington DC., USA, pp. 62–72 (2003) 18. Cayirci, E., Akyildiz, I.F., Su, W., Sankarasubramaniam, Y.: A Survey on Sensor Networks. IEEE Communications Magazine, 102–114 (2002) 19. Manzo, M., Roosta, T., Sastry, S.: Time synchronization attacks in sensor networks. In: Proceedings of the 3rd ACM Workshop on Security of Ad Hoc and Sensor Networks, pp. 107–116 (2005) 20. Ping, S.: Delay Measurement Time Synchronization for Wireless Sensor Networks, Intel Corporation, Intel Research, Berkeley (2002)
An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET Hyunsook Kim School of General Education, Daegu University, Korea Tel.: +82-53-850-4561
[email protected] Abstract. Safety alert broadcasting system about road situation is one of the most important applications for VANETs(Vehicular Ad hoc NETworks). In VANET, the alert message is propagated through a relay node that is selected among nodes within the transmission range of source. To reduce the contention and redundant messages, it requires an effective multi-hop relay node selection scheme. Therefore, in this paper, we propose an alert message broadcasting scheme based on relay node selection algorithm considering network density and distance. As the results, our scheme can reduce the transmission delay on the whole of network, so it can provide seamless transmission services of emergency messages efficiently.
1 Introduction VANETs(Vehicular Ad hoc NETworks), a kind of MANET(Mobile Ad hoc Network), is a self-configuring network connected by wireless links without network infrastructure to communicate among the vehicles. VANET is used for providing communication among vehicles and between vehicles and roadside equipment to provide safety and comfort for passengers. Each vehicle in VANET acts as a node of Ad hoc network and transmits messages such as traffic congestion, collision warning, emergency and the road situation through the wireless network. V2V(Vehicle to Vehicle) communication in VANET is helpful in avoiding accidents and managing city traffic with high efficiency [1]. VANET has some problems such as a frequent disconnection and low-end packet reception rate due to their rapidly moving nodes and dynamically changing network topologies. Therefore, exchanged emergency messages within the wireless coverage of each car should be guaranteed a real-time transmission without delay. VANET uses broadcasting that is the simplest method for delivering the emergency messages. Each node that receives the alert message through the broadcasting should wait for a certain time before rebroadcasting to avoid the collision due to transmission trying. Through this mechanism, a selected relay node with the shortest waiting time is responsible for rebroadcast the alert message automatically. Therefore, it requires an effective multihop relay node selection scheme without delay. According to this waiting time, it is decided that which node can be a relay node. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 631–638, 2010. © Springer-Verlag Berlin Heidelberg 2010
632
H. Kim
In VANET, some studies attempt to resolve those problems by using the selective rebroadcasting method based on distance [2],[3],[4]. Selective retransmission method can reduce the number of relay nodes that generate the same data to inform the emergency message. It can avoid the collision due to the excessive contention and the redundant messages decreased. Therefore, an efficient transmission can be achieved as well. In DDT(Distance Defer Transfer), a representative selective retransmission protocol based on distance, one of the outermost nodes within the coverage of the source node is selected as a relay vehicle that is responsible for retransmission. As the network density decreased below the tolerant limit, the transmission delay increased. So, the farthest node from source has to wait until the defined time is expired. The farthest node from source is not always being a border node. Therefore, static waiting time based on distance before retransmission causes the waste of a transmission time on the whole of the network. Hence, an efficiency of the selective retransmission protocol based on distance shows different results depends on the network density. Moreover the network density and distance are the important factors affecting the performance on the whole of the network. Traffic flowing on a road shows the various densities as shown as Fig. 1. The transmission efficiency can be different depends on the vehicle density of road as shown as Fig. 1.
Accident
1st St.
2nd St.
3rd St. 4th St.
density ≈ 0.2
5th St.
density ≈ 0.7
6th St.
density ≈ 1
Fig. 1. Road situation with various densities
An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET
633
Therefore, if the network density is low, a waiting time should be shortened and an opportunity of transmission should be somewhat longer. On the contrary, the waiting time for transmission should set up long. Therefore, deciding a waiting time before transmission should consider the network density. To select the optimal relay node under the various density environments, we start to derive a waiting time for transmission based on the network density and the distance between the vehicle nodes. In this paper, we propose a new selective rebroadcasting scheme considering network density and distance for broadcasting the emergency messages, which determines the waiting time spent by a given node for rebroadcasting. Consequently, we proposed a relay node selection scheme, which operates at the various network densities effectively. The rest of this paper is organized as follows. Section 2 shows the problem statement. Our proposed scheme is presented in Section 3. Section 4 provides some results of the performance evaluation. Finally, we conclude the paper in Section 5.
2 Problem Statement Many distance-based selective retransmission schemes have been proposed to select efficient relay node selection in VANET such as DDT[2] , LCN[3] and SNB[5]. The basic idea of DDT protocol is timing. In DDT, defer time for message retransmission is set to inversely proportional to the physical distance Fig. 2. Therefore, a border node that is located in the farthest within the transmission range is more likely to become a relay node. And, selected as a relay node retransmits an emergency message after waiting for as much as the defer time inversely proportional to the distance [2].
TR
N1 N2
S
N3
N4
N5
d1 d2 d3 d4 d5 d6 d7 dTR distance 1 1 1 1 1 d1 d2 d 4 d 6 d TR waiting time
Fig. 2. DDT(Distance Defer Transfer)
For example, the circle presents the transmission range (TR) of the source node S in Fig. 2. According to DDT protocol, if a source node S broadcasts an emergency message, all nodes within the TR including node N1, N2, N3, N4 and N5 will receive the message. Each node from N1 to N5 has the time slots inversely proportional to the
634
H. Kim
physical distance respectively. N5 has the shortest defer time since node and be a border node of transmission range. Then N5 immediately rebroadcasts the message without delay. On the contrary, DDT has a transmission delay problem if the network density is low relatively. As shown on the Fig. 3, N3 should be able to transmit immediately without standby because it is an edge node within the TR. But N3 inevitably waits 1/4 time units because the node away 4 from a source node. That is a transmission delay.
TR S
N1
N3
d1
d 4 distance
Fig. 3. When the network density is low
To reduce the transmission delay, the waiting time of edge node N3 should be set to the shortest time 1/TR approximately. Otherwise, there is a transmission delay since N3 transmits after the fixed time slots 1/d4. Although N3 is an edge node that is eligible for relay node, N3 should wait as much as WTmax/Dsn unnecessary. That is the waste time as much as inversely proportional to the distance in the low density road situation. There is a transmission delay overall since a relay node should wait for a fixed waiting time in the low density network. Therefore, a network density should be sure considered when a waiting time for transmission is set.
3 Proposed Scheme Our proposed scheme introduces a relay node selection scheme considering network density and distance in VANET. To select the optimal relay node under the various density environments, we start to derive a waiting time for transmission based on the network density and the distance between the vehicle nodes. 3.1 Waiting Time Each node calculates the waiting time(WT) according to the equation independently. A relay node is selected automatically by this waiting time. A waiting time based on the distance and the network density is calculated as follows
An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET
635
⎧ Density _ Current WTmax ( Density _ Current ≤ 1) ⎪ Density _ Full × D ⎪ sn WT = ⎨ ⎪WTmax ( Density _ Current > 1) ⎪⎩ Dsn The notations of a waiting time formula are as follow; - DSN= the distance from a source node - WTmax = the maximum waiting time - Density_Current = the current network density - Density_Full = the minimum network density for guaranteeing full connectivity of the whole of network According to our proposed formula, the waiting time of relay node approximates to a minimum value regardless of density. Also, the waiting time is less than the inversely of distance in the low network density. Each node waits for the waiting time which is calculated from the formula before retransmission. Therefore, a node with the shortest waiting time is automatically selected as a relay node for rebroadcasting. When a relay node rebroadcasts the alert message, the other nodes within the transmission area are suppressed the transmission. In our proposed scheme, the density that enables all nodes of network to transmit the alert message is used. We assume that the Density_Full sets 10 following the next reliable reasons. And, we adopted the DDT scheme when the current density is more than 1 because DDT is efficient when the network density is high. Kleinrock and Silvester show that in a wireless network with a uniform distribution of nodes, when μ is 6 nodes, the probability that a node is connected reaches one [6] regardless of actual node placement. They proved that the number for neighbors of each node needed to grow Θlog n . If each node connects with less than 0.074 log n to the nearest neighbors, then the network is asymptotically disconnected. If each node connects with more than 5.1774 log n to the nearest neighbors, then the network is asymptotically connected. S. Song et al. have proved that the lowest boundary of the neighbors should be 0.129 log n [7]. We assume that the probability of full connectivity reaches one in a wireless network when there are at least 10 nodes within the transmission range TR around each node. Also, Density_Current is the same means as the number of neighbor nodes. 3.2 Operation Procedure of a Relay Node Selection Our scheme can be expressed by the following flow chart. Each node competes with the waiting time which is calculated considering network density and distance. A selected relay node with the shortest waiting time is responsible for rebroadcasting the emergency messages. Fig. 4 shows the detailed operation of our proposed scheme. Each node grasps the number of nodes within the transmission range including its own location information through the GPS. A node rebroadcasts the alert data packet including its GPS location information. Upon receiving the messages, the node calculates the waiting time according to the formula if the message’s TTL is not 0 and is not the first receiving message. For the waiting time, each node records the location
636
H. Kim
information of node that transmits the same alert data packet. Each node waits for the waiting time. Then a node with the shortest waiting time is selected as a relay node automatically and broadcasts the alert messages. Also, other nodes with more long waiting time can not transmit the message until the waiting time is expired.
A witness car to the accident Or A relay node that is responsible for rebroadcast the alert message
Send data packet including it’s GPS information
(a) Operation at source node Input : receive data packet
The packet has been already received from the same source node?
yes
no Compute the waiting time(WT) using the density and the distance from the source node
Wait for a WT
no
Discard data packet
Is the waiting time expired? yes Broadcast alert data packet
(b) Operation at each node Fig. 4. Operation procedure of a relay node selection
4 Performance Evaluation We carried out a simulation (the code was written in C++) to evaluate the performance of our proposed scheme. Also, we compared to DDT for evaluating the effectiveness of our scheme. Simulation parameters used for simulation are listed in Table 1.
An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET
637
Table 1. Simulation environment
Parameters Dimension Node density Transmission range Max WT
Value 10,000*200 3, 5, 7, …. 20 100m (Default) 100
In Fig. 5, it is observed that the waiting time of our proposed relay node is shortened relatively than DDT in the low density. Although the relay node is most far away from a source node, the waiting time of DDT is long. This means that the edge node within the TR should wait for a certain time unnecessary. Therefore, our proposed scheme will be able to reduce the network delay.
Average waiting time
Waiting time of relay node 1.4 1.2 1 0.8 0.6
DDT
0.4
Proposed scheme
0.2 0 4
6
8
11
13
16
Density
Fig. 5. Waiting time of relay node
Fig. 6 illustrates that a node close to the source node has the short waiting time.
Fig. 6. Waiting time according to distance from a source node
638
H. Kim
In the low network density, a node closing to source is likely to select as a relay node comparatively. Therefore, an unnecessary waiting time of our proposing scheme is short than DDT.
5 Conclusions In this paper, we proposed an effective alert broadcasting scheme based on waiting time considering network density and distance in VANET. We first derived the waiting time, and the relay node with the shortest waiting time node is automatically selected regardless the distance from a source. The simulation results show that our alert broadcasting scheme is suitable for circumstances of various densities by reducing the waiting time.
References 1.
2.
3.
4.
5.
6.
7.
Xi, S., Xia-miao, L.: Study of the Feasibility of VANET and its Routing Protocols. In: Proc. 4th Wireless Communications, Networking and Mobile Computing International Conf., WiCOM, pp. 1–4 (2008) Sun, M., et al.: GPS-Based Message Broadcast for Adaptive Inter-Vehicle Communications. In: Proc. the 52th IEEE Vehicular Technology Conference, Rhodes, Greece, pp. 2685–2692 (September 2000) Yu, S., Cho, G.: A selective Flooding Method of Propagating Emergency Messages in Vehicle Safety Commuications. In: IEEE International Conference on Hybrid Information Technology, pp. 556–561 (2006) Fukuhara, T., Warabino, T.: Broadcast Methods for Inter-Vehicle Communications System. In: Proc. IEEE Wireless Communications and Networking Conference, New Orleans, USA, pp. 2252–2257 (March 2005) Yu, S.D., Cho, G.W.: An Effective Message Flooding Method for Vehicle Safety Communication. In: Ma, J., Jin, H., Yang, L.T., Tsai, J.J.-P. (eds.) UIC 2006. LNCS, vol. 4159, pp. 219–228. Springer, Heidelberg (2006) Kleinrock, L., Silvester, J.: Optimum transmission radii for packet radio networks or why six is a magic number. In: Pro. National Telecommunications Conference, pp. 4.3.1–4.3.5 (1978) Song, S., Dennis, L., Geckel, Don, T.: An Improved Lower Bound to the Number of Neighbors Required for the Asymptotic Connectivity of Ad Hoc Networks. J. IEEE Trans. I.T. (2005)
An Experimental Wireless Platform for Acoustic Source Localization S´ andor Szilv´ asi and P´eter V¨olgyesi Vanderbilt University 2015 Terrace Place, Nashville, TN, 37203, USA {sandor.szilvasi,peter.volgyesi}@vanderbilt.edu
Abstract. The paper gives an overview of various acoustic localization techniques focusing on direction-of-arrival (DOA) based methods. It presents a wireless sensor board, called Octopus, with eight acoustic channels for advanced acoustic source localization based on the DOA algorithms. The FPGA based Octopus hardware architecture proposed is designed to provide an excellent platform for implementing various advanced ranging and DOA based localization algorithms. Keywords: Acoustic localization, tracking, wireless sensor, FPGA.
1
Introduction
Acoustic source localization using wireless sensor nodes has been an actively evolving area in the past decades. Numerous localization algorithms have been proposed using underlying techniques based on Time Difference of Arrival (TDOA) [1] and Direction of Arrival (DOA) finding [2]. First, we give an overview of these algorithms and examine their accuracy and resource usage in FPGAs. Then, we propose a new wireless acoustic sensor board satisfying these resource requirements.
2
Localization
Acoustic signals of different nature call for different multi-step localization techniques. Transient signal source localization, such as that of a gunshot muzzle blast or shockwave, usually relies on TDOA estimates in the first step [1]. Accurate TDOA estimates are often carried out using cross-correlation techniques, but methods as simple as threshold crossing logic are also common. In the second step, depending on the near- or far-field assumption the TDOA estimates are used for localizaton techniques based on ranging or DOA finding, respectively. Finally, the direction and/or range estimates are fused to calculate the source position. Clearly, the critical point of TDOA based methods is the accuracy of the TDOA estimates, which ultimately relies on the sampling frequency. Therefore, though threshold detection and cross-correlation can be implemented on F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 289–294, 2010. c Springer-Verlag Berlin Heidelberg 2010
290
S. Szilv´ asi and P. V¨ olgyesi
a microcontroller based sensor board [3], a different approach is needed to satisfy the high sampling frequency requirements. Commonly used localization techniques for periodic signals fall into the classes of beamforming or subspace based methods [4]. Both assume far-field scenario and narrowband signals, possibly from multiple sources, and provide DOA estimates. The general signal model for M impinging narrowband periodic signals on an L (L > M ) element microphone array can be written according to the following M x(t) = a(θm )sm (t) + n(t) = A(θ)s(t) + n(t), (1) m=1
where x(t) is the L-element vector of the received signals at microphones, a(θm ), m = 1 . . . M is the steering vector modelling the antenna array for a signal arriving from direction θm , sm (t), m = 1 . . . M , is the signal received from direction θm and n(t) is an additive Gaussian white noise with σ 2 variance at each microphone. The right side of Equation 1 shows the matrix form of the same, that is A(θ) = [a(θ1 ), . . . , a(θM )] and s(t) = [s1 (t), . . . , sM (t)]T . Both the beamforming and subspace based methods operate on the R covariance matrix of x(t) that is formulated as R = E{x(t)xH (t)} = AE{s(t)sH (t)}AH + E{n(t)nH (t)}
(2)
R = ASAH + σ 2 I,
(3)
where S = E{s(t)sH (t)} and σ 2 I are the signal and noise covariance matrices, respectively. Beamforming techniques The basic idea of the beamforming techniques is to steer the microphone array into different directions (by forming a linear combination of the microphone outputs, see Equation 4) and measure the output power P (w). The steering locations which provide the maximum power yield correspond the DOA estimates. y(t) =
L
wi∗ xi (t) = wH x(t),
(4)
i=1
where w is the weighting vector and y(t) is the linear combination of the microphone outputs. Given N samples of y(t), the output power is measured by P (w) =
N N 1 1 H |y(t)|2 = w x(t)xH (t)w = wH R w. N t=1 N t=1
(5)
The conventional (or Bartlett) beamformer maximizes P (w) in Equation 5 subject to |w| = 1. The optimal weighting vector becomes in that case a(θ) . wBartlett = aH (θ)a(θ)
(6)
An Experimental Wireless Platform for Acoustic Source Localization
291
Inserting the optimal weight Equation 6 into Equation 5 the “spatial spectrum” for the Bartlett beamformer is PBartlett (θ) =
aH (θ)R a(θ) . aH (θ)a(θ)
(7)
The minimum variance beamformer, also known as Capon’s beamformer, attempts to minimize the power contributed by noise and any signals from directions other than θ, while keeping a constant gain in direction θ. That is, minimize P (w) constrained to wH a(θ) = 1. In this case the optimal value of w is wCapon =
R−1 a(θ) aH (θ)R−1 a(θ)
.
(8)
Inserting the above weight vector into Equation 5 the Capon beamformer “spatial spectrum” is 1 . (9) PCapon (θ) = H a (θ)R−1 a(θ) Subspace based techniques Subspace based methods, such as MUSIC (MUltiple SIgnal Classification), rely on the decomposition of the covariance matrix R. Assuming spatial white noise, the spectral decomposition of R can be written as R = ASAH + σ 2 I = UΛUH ,
(10)
where U is uniter and Λ = diag{λ1 λ2 , . . . , λL } is a diagonal matrix containing the λ1 ≥ λ2 ≥ · · · ≥ λL > 0 real eigenvalues. Assuming R to be full rank, the M eigenvectors corresponding to eigenvalues greater than σ 2 , span the signal subspace, while the L eigenvectors associated with σ 2 eigenvalues span the noise subspace. Given this decomposition, R can be expressed as 2 H R = Us Λs UH s + σ Un Un .
(11)
Since the eigenvalues of Un are orthogonal to A, their matrix product yields UH n a(θ) = 0,
θ = θ1 , . . . , θM ,
(12)
and greater than zero for θ = θ1 , . . . , θM . Thus, the MUSIC “spatial spectrum” is aH (θ)a(θ) PMUSIC (θ) = H , (13) a (θ)Un UH n a(θ) Wideband extensions The above introduced beamformer and subspace beased techniques are developed for narrowband signals, thus their wideband extensions have to be used for DOA estimation of acoustic signals. A general approach is to decompose the array output vector x(t) into narrowband components, then perform the DOA
292
S. Szilv´ asi and P. V¨ olgyesi
estimation based on the subband signals and finally combine the subband results to provied the final DOA estimates. A detailed description of the wideband Capon and the wideband MUSIC DOA can be found in [5] and [6] respectively. The DOA estimation algorithms overviewed are listed in the order of their computational complexity. The Bartlett method is the simplest, it requires only constant multiplications to calculate the signal power for a given θ direction. Following that in complexity, the Capon beamformer needs to invert the covariance matrix, while the MUSIC algorithm has to perform an entire eigenvalue decomposition of that. Both of these algorithms have been implemented on high-end FPGAs using only limited FPGA resources [7,8]. Based on these reports and the requirements posed by the above described acoustic localization methods it became evident that to experiment with and to implement these techniques, a platform that draws minimal power, yet allows for massive parallelization is required.
3
Hardware
The Octopus sensor board is a powerful platform for developing acoustic signal processing applications such as the ones based on range or DOA estimation. The entire board is fabricated on a 4-layer PCB and is basically built around an SRAM-based FPGA, as shown in Figure 2 (a) and (b). The FPGA implements convenient interfaces to the peripherals and supplies computational resources for the applications. Eight high dynamic range acoustic channels with low noise microphones provide samples to the FPGA at a 1 MSPS rate. The large number of microphones yields high spatial, the high sampling rate outstanding temporal resolution, thus making the platform suitable for both accurate DOA and TDOA estimations. An external pseudo-SRAM (PSRAM) and a Full Speed USB port
(a)
(b)
Fig. 1. Octopus Acoustic Sensor Board (a) and its Block Diagram (b)
An Experimental Wireless Platform for Acoustic Source Localization
293
make recording and offline evaluation of samples possible. Communication is realized through a Zigbit Amp module. This module also controls the GPS and accelerometer, and is responsible for the high level power management of the entire board. Signal processing, data recording, USB streaming are all handled by the FPGA component (Xilinx Spartan3, XC3S1000-4FT256C) [9]. The FPGA part can be programmed through an onboard JTAG header or its configuration can be stored in a serial flash (XCF04S) component. The FPGA has direct connections to the ADCs and digital potentiometers on the analog channels, the PSRAM chip, the USB controller logic and to the Zigbit Amp module. It is also connected to eight LEDs and an 8 bit auxiliary connector for future expansion. The sensor board has eight independent analog channels for audio acoustic sensing. Each channel has two parallel analog path: one with a two stage amplifier topology with tunable overall gain between 44-65 dB and another with unity gain. The no-gain analog channel is used in future shooter localization applications [1], where the acoustic shockwave generated by a supersonic bullet would drive any amplifier into saturation. Both analog paths are driven by an electret microphone (Knowles VEK-H-30108 for shooter localization, Knowles VEK-H-30230 for other applications requiring higher sensitivity). The gain in the second amplifier section is set by a digital potentiometer, the wiper position of which is set by the FPGA. The analog paths are connected to a two channel discrete ADC (one AD7922 per microphone channel) with 1 MSPS sampling rate and 12 bits/sample. The Zigbit Amp module [10] provides long range (≈1 km) low bandwidth wireless communication, controls the power networks, supervises the FPGA and collects location information from the GPS and accelerometer modules. The integrated radio transceiver (AT86RF230) operates in the 2.4 GHz ISM band using IEEE802.15.4 physical and media access protocols. With a built-in RF power amplifier the module is capable to transmit with 20 dBm (maximum link budget 124 dB). There are several communication channels between the FPGA and the Zigbit parts: SPI, I2C, UART, IRQ and bidirectional general I/O, which can be used for implementing higher level data protocols and/or low-latency and low-jitter triggers. The Zigbit module is programmed and debugged through a JTAG connector on the Octopus board. The low-level USB interface is provided by high-speed FTDI FT2232H component. This part implements the (de)serialization, bus synchronization and physical layer aspects of the USB interface and provides two parallel (FIFO) and/or UART interface for the FPGA. Currently, we use a single synchronous FIFO interface with a maximum practical bandwidth of ≈30 MB/s. This bandwidth enables us to stream all the eight analog channels sampled at 1 MSPS, 12 bits/s real-time to a PC. Our preliminary experience shows that to maintain such high throughput with this USB controller we need huge buffers (30-50 kB) on the FPGA side. The secondary UART/FIFO link will be used later for implementing a command line diagnostic interface for the board.
294
S. Szilv´ asi and P. V¨ olgyesi
The FPGA component has internal memory resources (120Kbit distributed RAM, 432Kbit block RAM), most of which are used for high speed buffers/fifos, filter delay lines and coefficient look-up tables. The onboard PSRAM chip provides an additional 8 MB storage with longer access time. This memory is primarily used for storing recordings of the analog channels for later analysis. The microcontroller within the Zigbit Amp module has 128 KB Flash memory for program storage and an 8 KB SRAM area for variables and other application data.
4
Summary
We briefly overviewed the available localization techniques subject to use on wireless sensor nodes for both transient and periodic acoustic signals. Focusing on DOA estimation of periodic signals, we examined their FPGA hardware requirements based on earlier results. Finally, we gave a detailed description of a suitable hardvare platform, Octopus.
References 1. Simon, G., Mar´ oti, M., L´edeczi, A., Balogh, G., Kus´ y, B., N´ adas, A., Pap, G., Sallai, J., Frampton, K.: Sensor network-based countersniper system. In: Proc. of ACM SenSys, pp. 1–12. ACM Press, New York (2004) 2. Johansson, A., Nordholm, S.: Robust acoustic direction of arrival estimation using root-srp-phat, a realtime implementation. 4, iv-933–iv-936 (2005) 3. L´edeczi, A., N´ adas, A., V¨ olgyesi, P., Balogh, G., Kus´ y, B., Sallai, J., Pap, G., D´ ora, S., Moln´ ar, K., Mar´ oti, M., Simon, G.: Countersniper system for urban warfare. ACM Transactions on Sensor Networks 1, 153–177 (2005) 4. Krim, H., Viberg, M.: Two decades of array signal processing research. IEEE Signal Processing Magazine, 67–84 (July 1996) 5. Azimi-Sadjadi, M.R., Pezeshki, A., Scharf, L.L., Hohil, M.: Wideband doa estimation algorithms for multiple target detection and tracking using unattended acoustic sensors. In: SPIE 2005 Defense and Security Symposium, Unattended Ground Sensors VI, vol. 5796, pp. 40–51 (April 2005) 6. Pham, T., Fong, M.: Real-time implementation of music for wideband acoustic detection and tracking, vol. 3069, pp. 250–256. SPIE, San Jose (1997) 7. Edman, F.: Digital hardware aspects of multiantenna algorithms (February 2006) 8. Ma, W., Kaye, M.E., Luke, D.M., Doraiswami, R.: An fpga-based singular value decomposition processor. In: Proceedings of the Canadian Conference on Electrical and Computer Engineering, CCECE 2007, Ottawa Congress Centre, Ottawa, Canada, May 7-10, pp. 1047–1050. IEEE, Los Alamitos (2006) 9. Xilinx Silicon Devices, http://www.xilinx.com/products/devices.htm 10. ZigBit Amp Module, http://www.meshnetics.com/zigbee-modules/amp/
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services Gianni Fenu and Massimiliano Picconi University of Cagliari, Department of Computer Science, V. Ospedale 72, 09124 Cagliari, Italy
[email protected],
[email protected] Abstract. The utilization of new forms of communication techniques, used by Universities to offer new services to teachers and students, requires a strategic plan to evaluate the costs and benefits associated with the development of the eLearning contents. This paper discusses different methodologies of identification of the variables, that influence the development of e-Learning services, proposed by different authors in scientific literature. In addition, a methodology that uses an identification and a cost-benefit analysis and comparison of the variables is suggested by the authors of this paper. Moreover, an ad-hoc created automatic decision-making tool is able to establish inter-relationship between variables and compute hidden-related benefits, in order to find an unique and optimal solution. Keywords: Multiple Criteria Decision Making Problem, E-learning, Application Cost, Organization and Classification Model, Development Cost, Decision Support.
1 Introduction It is estimated that U.S. e-Learning market will surpass $52.6 billion by 2010 [10]. Traditional universities have begun to improve services to students to respond to a new global education market. The development of an e-Learning service requires a strategic plan in order to integrate technology into learning experience and provide an high quality support for teachers and students [16]. The implementation process of an e-Learning service should consider the recognition of the specific needs related to each particular case (in a university, faculty, department), the technical infrastructure, the skills of the teachers and the students, the reorganization of the material for the courses [20]. In addition, the decision plan for the development of an e-Learning solution should also consider any direct and indirect cost associated with the solution offered. Moreover, an identification of the variables associated to the e-Learning process must be considered. In this paper, we first propose a description of some common criteria used to identify the variables that affect the development of an e-Learning solution. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 215–225, 2010. © Springer-Verlag Berlin Heidelberg 2010
216
G. Fenu and M. Picconi
Secondly, we describe our methodology for the evaluation and the comparison of different e-Learning solutions. Extensive experiments have been conducted to show the effectiveness of our method compared to previous methodologies. Finally, we propose an enhancement of the selection process in combination with other technologies and methodologies.
2 Review of Previous Work Several methodologies are proposed in scientific literature with a view to producing an identification of the variables that affect the development of an e-Learning solution. Often, a criterion to make a comparative assessment of alternative solutions is explained [5][6][11][12][13][14][15][18][21]. The Leghris and Mrabet’s paper “Cost Comparison of E-Learning Solutions, Information Technology Based Higher Education and Training” [15] suggests a methodology based on the creation of classes and subclasses related to different aspects of a generic e-Learning solution. The costs comparison between different solution is made using five classes called “Transport Network technology”, “Resources energy of the equipment”, “Membership dynamic”, “Collaboration” and “Security” in order to achieve the objectives in respect of the budgets. Besides, each class has subclasses related to different aspects of the class considered. The total cost of an e-Learning solution is given by the sum of the all cost related to the different classes involved. Wu and Doulai propose a method to develop a project plan using a prioritization of a set of variables in their paper “Identification and Prioritization of Variables that Influence Learning Content Development in e-Learning Platforms” [21]. The variables that have an influence in the cost of learning content development are shown in table 1. They suggest the choice of an appropriate “Educational Model” in order to achieve the results expected. An Educational Model “embodies learning theories, proposes methods of learning, and specifies the delivery method for the created learning content” [21]. This paper has as aim the trying of minimization of the development cost of an e-Leaning infrastructure using a prioritization of a set of variables. Once chosen the Educational Model, Standards, e-Learning Production Technologies, Bandwidth and Access Technology, are the following variables that affect the total cost of a e-Learning infrastructure. The total cost of the e-learning facility is given by the sum of the costs of each variable involved. Table 1. Wu and Doulai variables of learning content development (1) Educational Model (2) Standards (3) Production Technologies (4) E-Learning Platforms (5) Bandwidth and Access
(6) Modularity (7) Interaction (8) Copyright (9) Quality (10) Evaluation
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services
217
3 Another Kind of Approach In our previous paper [8][9] we propose a evaluation of different e-Learning solutions using a different approach: − a maximum cost must be considered. High-quality services can be offered respecting a budget that a organization like an university has; − there is the need to evaluate a cost-benefit analysis of each variable involved, and not only a cost related to a variable; − we have to consider and evaluate the benefits of the combined use of the variables involved; − correlations and dependences between different variables must be considered; − the best possible combination between variables is an objective which must take priority; − an unique and best possible solution, if it is possible, is one main purpose; − solutions with hybrid technologies must be considered. A possible solution with hybrid technologies should be, as instance, the supply of services and related services for wired and wireless connections simultaneously. The evaluation is organized to produce a synthetic result at the end of the process. An automatic decision-making tool called XESS (Extended E-learning Support System) is created, in order to determine the best combination of the variables involved in the selection process. XESS must be considered as an automatic decision-making tool that finds an unique and optimal solution of a mathematical model’s request [2][4]. It is able to offer insight into the decision process through a numerical evaluation. Besides, it has the ability to aid the user in understanding and choosing the best possible solution when the result is not obvious through the inspection of the relationships between variables and the correlations between features. Moreover, XESS analyzes its own probability of success, finding different types of solutions, to maximize the objective function value. XESS is a four-component architecture comprising: − An identification of the variables (called features) that have an influence in the cost of learning content development. We identify 38 features related to a generic eLearning solution. A cost and a benefit is associated to each feature; − a mathematical model (called analyst) that represents the problem as a numerical problem. One of the purposes of the mathematical model is to establish interfeature correlations and to compute the benefits related to each relationship; − a solution algorithm (called solver) that finds the unique and optimal solution, if it exists. The solver finds different types of solution: an optimal solution, a suboptimal solution (the optimal solution is not guaranteed), an unfeasible, an unbounded, a degenerative solution. For each solution is given an “objective function value that represents the “goodness” of the solution; − a client-server WEB application (called presenter) that provides the interface between user and XESS, using a common WEB browser via local network or via internet connection. In our previous papers, we deeply discuss about the three last points. In this paper we want to focus the attention on the identification of the variables and the integration with other methods.
218
G. Fenu and M. Picconi
4 Identification of the Features That Influence Learning Content Development The identification of the e-learning features according to an appropriate taxonomy is the first step to the choice of features involved in the e-learning facility. We use 38 features grouped into four categories related to four different aspects of an e-Learning solution as show in Figure1. Educational Model
Bandwidth
Equipment
NFoh
NMoh
NFol
NMol
User Group
HWbase
SWbase
HWal
SWal
Security
USmd
Conf
USmf Integ
NFih
NMih
HWam
SWam
UScsync
NFil
NMil
HWah
SWah
UScasyn
NFiso
NMiso
HWwl
SWwl
UScoll
HWwh
SWwh
UScolh
NFsyn
NMsyn HWempl
SWempl
Avail Auth Nonrep Trace
Fig. 1. Variables of learning content development
All these categories represent only a logical organization. Therefore they don’t affect the final results of the solution algorithm. Moreover the features don’t need a prioritization process like on Wu and Doulai’s method. In fact, each feature has its own cost and importance as shown in Table 2. The importance value, expressed in percentage, represents a quantitative information concerning the impact of the element in the evaluation process. It is important to underline that if the importance assumes a percentage of 100% the feature should be discarder by the solver. Table 2. Example of three features with cost and importance Feature Network Fixed Out High Network Fixed Out High Network Fixed Out High
Cost 5000.00 €€
2000.00 € € 10000.00 € €
Importance 80
60 40
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services
219
A brief analysis of the first category “Bandwidth” is shown in Table 3. This category refers in general to the transport of information in a communication network, and it is one of the primary factors that affect the content design of an eLearning solution. In particular, network communication should be considered in highly interactive eLearning courses, in order to provide good experiences for the learners. Table 3. Feature’s description of the category “Bandwidth” Feature NFoh NF0l NFih NFil NFiso NFsyn
NMoh NM0l NMih NMil NMiso NMsyn
Description wired downstream network connection for high QoS services or best effort services wired upstream network connection for high QoS services or best effort services wired network connection with high QoS for real time and synchronous flows, as instance videoconferencing wired network connection with high bandwidth and low jitter for outgoing streaming point-to-multipoint flows. Synchronous bidirectional communication is not guaranteed wireless downstream network connection for high QoS services or best effort services wireless upstream network connection for high QoS services or best effort services wireless network connection with high QoS for real time and synchronous flows wireless network connection with high bandwidth and low jitter Table 4. Feature’s description of the category “Equipment”
Feature HWbase HWal HWam HWah HWwl HWwh HWempl SWbase SWal SWam SWah SWwl SWwh SWempl
Description costs related to hardware devices costs related to hardware accessories
costs related to hardware warranties costs related to human resources involved in the hardware infrastructure costs related to software costs related to software accessories
costs related to software warranties costs related to human resources involved in the software maintenance
The “Bandwidth” category affects also the second category “Equipment” shown in Table 4, due to the related costs of the network devices, in terms of hardware and software costs and in human resources’ related costs.
220
G. Fenu and M. Picconi
In general, this category refers to all the features involved in the purchase of hardware and software and in the costs of the human resources required to make the e-Learning infrastructure operational. The “User Group” category shown in Table 5 focuses the attention to the organization models related to the relationship between all the involved actors in the e-Learning activities [7]. Teachers and learners’ technical skills, the development of the e-Learning resources and materials, the definition of the competences of the actors involved and the services offer by the e-Learning infrastructure will be considered. In particular, teaching activities with dynamic groups and online activities are less expensive than a solution that involves static workgroups in dedicated places, as instance a real-time videoconference between two far and decentralized sites of an University that involves students from different geographic zones. Besides, this category considers also the aspects of the collaboration between the actors involved, and the methodology used for the development and the publication of the resources and the learning materials. A centralized content management infrastructure, that involves human resources dedicated to the production and the publication of the e-Learning resources is more expensive than a solution where each teacher (or team group) must produce and publish its own e-Learning material. Table 5. Feature’s description of the category “User Group” Feature USmf
USmd UScsync UScasyn UScoll UScolh
Description teaching activities in static workgroups. These activities are made in dedicated rooms with technical personnel and lessons assistance teaching activities with dynamic workgroups or online activities type of communication between the actors involved in the e-learning process, in a synchronous mode like VoIP, or in asynchronous mode like forum or e-mail a centralized content management infrastructure a decentralized content management infrastructure
The last category “Security” shown in Table 6 arises to all the aspect related to the security of the e-Learning infrastructure, like as example the vulnerability to the intrusions on the e-Learning services [3][19]. Table 6. Feature’s description of the category “Security” Feature Conf Integ Avail Auth Nonrep Trace
Description all the security aspects such as authentication, data integrity, availability, traceability
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services
221
5 Examples We now examine a case study of a widely used distributed learning model known as Web-Based Training (WBT), for training and instruction delivered over the Internet. In all the examples of this case study, we use as cost values and importance values for the features the values shown in Table 7. Table 7. Costs and Importance used in the case study Feature Network Fixed Out High Network Fixed Out Low Network Mobile Out High Network Mobile Out Low Network Fixed In High Network Fixed In Low Network Mobile In High Network Mobile In Low Network Fixed Isochronicity Network Mobile Isochronicity Network Fixed Media Sync Network Mobile Media Sync Hardware Base Configuration Hardware Accessories Low Hardware Accessories Medium Hardware Accessories High Software Base Configuration Software Accessories Low Software Accessories Medium Software Accessories High Hardware Warranty Low Hardware Warranty High
Cost
Feature Software Warranty Low Software Warranty High Hardware Employee Cost Software Employee Cost User Membership Dynamic User Membership Fixed User Communication Sync User Communication Async User Collaboration Low User Collaboration High Security Confendiality Security Integrity Security Availability Security Authentication Security Non Repudiability Security Traceability
Cost
5000 €€ 2000 €€ 10000 €€ 6000 €€ 2000 €€ 1000 €€ 4000 €€ 3000 €€ 13000 €€ 21000 €€ 7000 €€ 15000 €€ 10000 €€ 2000 €€ 3000 €€ 4000 €€ 0 €€ 1000 €€ 2000 €€ 3000 €€ 1000 €€ 2000 €€
500 €€ 1000 €€ 15000 €€ 15000 €€ 1000 €€ 10000 €€ 2000 €€ 1000 €€ 7000 €€ 2000 €€ 1000 €€ 1000 €€ 1000 €€ 500 €€ 500 €€ 500 €€
Importance 80 60 40 30 10 5 4 3 10 5 5 2 90 10 20 30 90 10 20 30 50 60 Importance 50 60 40 40 60 75 40 30 60 40 90 90 90 40 40 40
222
G. Fenu and M. Picconi
Educational Model
Bandwidth
Equipment
NFoh
NMoh
NFol
NMol
User Group
HWbase
SWbase
HWal
SWal
USmd
Security
Conf
USmf Integ
NFih
NMih
HWam
SWam
UScsync
NFil
NMil
HWah
SWah
UScasyn
NFiso
NMiso
HWwl
SWwl
UScoll
HWwh
SWwh
UScolh
NFsyn
NMsyn HWempl
SWempl
Avail Auth Nonrep Trace
Fig. 2. Result of €€ 60.000 as maximum cost (in dark grey the features chosen) Educational Model
Bandwidth
Equipment
NFoh
NMoh
NFol
NMol
User Group
HWbase
SWbase
HWal
SWal
USmd
Security
Conf
USmf Integ
NFih
NMih
HWam
SWam
UScsync
NFil
NMil
HWah
SWah
UScasyn
NFiso
NMiso
HWwl
SWwl
UScoll
HWwh
SWwh
UScolh
NFsyn
NMsyn HWempl
SWempl
Avail Auth Nonrep Trace
Fig. 3. Result of €€ 20.000 as maximum cost (in dark grey the features chosen)
We assume that a generic open source platform is used (like for example Moodle), with a fee for a few additional services (for example customer service and costs for additional modules). We consider the cost of hardware devices, such as for instance
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services
223
network devices and their related warranties, and the presumed costs of human resources associated to hardware and software maintenance. We show the results of two instances using two different values for the maximum cost. The result of the analysis made by XESS assuming the value of € € 60.000 as maximum cost is shown in Figure 2. It is an optimal (and unique) solution. The result of the analysis assuming the more restrictive value of € € 20.000 as maximum cost is shown in Figure 3. It is an optimal (and unique) solution.
6 Extensions and Integrations XESS should be used after a project plan in order to have clearly in mind the type of infrastructure needed. As example, using technologies like the Learning Objects it is possible the planning of the type and the cost of the production of the online material. A Learning Object (LO) is a “entity, digital or non-digital, that may be used for learning, education and training” [17]. Some learning contents can be used as small chunks to be reused in larger learning units (they are called Reusable Learning Objects, RLO), minimizing the cost of learning content development. Our model can be used in combination with other different models. In the following example, we will make an integration of the previously explained Wu and Doulai’ s model (Table 1). In Figure 4 is shown an integration between XESS’ model and Wu and Doulai’ s model (In bracket are exposed the variables in the Wu and Doulai’ s model). Educational Model (1) (2) (8) (9) (10)
Bandwidth (5)
NFoh
NMoh
NFol
NMol
Equipment (3) (4) (6)
HWbase
SWbase
HWal
SWal
User Group (7)
USmd
Security
Conf
USmf Integ
NFih
NMih
HWam
SWam
UScsync
NFil
NMil
HWah
SWah
UScasyn
NFiso
NMiso
HWwl
SWwl
UScoll
HWwh
SWwh
UScolh
NFsyn
NMsyn HWempl
SWempl
Avail Auth Nonrep Trace
Fig. 4. Mixed variables between XESS’model and Wu and Doulai’ s model
224
G. Fenu and M. Picconi
If the Wu and Doulai’ s model is used, there is the possibility to input the collected information in XESS, using our solver to find an optimal solution if a maximum cost is given. Moreover, the importance of each feature can be derived from the prioritization of the variables in the Wu and Doulai’ s model.
7 Conclusions Universities are using new forms of communication techniques to offer new services to students and teachers’ activities. These services offers different approaches, skills and technical infrastructure, so the evaluation and the comparison between different e-Learning solutions is often problematic. Different results are reached by many authors, that involve the use of different methodology of classification of the variables that affect the cost of an e-Learning service. We propose our own methodology of identification of the variables involved in an e-Learning solution, using a cost-benefits analysis of each variable. In addition, we propose a solution algorithm able to find the better combination between the variables, using the cost-benefit analysis previously described. With this cost-benefits analysis, decision makers are able to decide the better choice, combining their objectives and their budgets. It is a flexible system, suitable also for comparing different e-learning solutions. The solution algorithm meets requirements to all the instances of the problems we submit. XESS application is also very fast and user friendly, and it can be used in devices with limited computational capacity, like PDA or smartphones, via a common WEB interface.
References 1. Ahmad, H., Udin, Z.M., Yusoff, R.Z.: Integrated process design for e-learning: a case study. In: The Sixth International Conference on Computer Supported Cooperative Work in Design, July 12-14, pp. 488–491 (2001) 2. Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms, and Applications. Prentice Hall, Englewood Cliffs (1993) 3. Aimeur, E., Hage, H., Onana, F.S.M.: Anonymous Credentials for Privacy-Preserving Elearning e-Technologies. In: 2008 International MCETECH Conference, January 23-25, pp. 70–80 (2008) 4. Bazaraa, M., Jarvis, J., Sherali, H.: Linear Programming and Network Flows. Wiley, Chichester (1994) 5. Colace, F., De Santo, M., Pietrosanto, A.: Evaluation Models for E-Learning Platform: an AHP approach. In: 36th Annual Frontiers in Education Conference, October 27-31, pp. 1– 6 (2006) 6. Dujmovic, J.J.: A Method for Evaluation and Selection of Complex Hardware and Software System. Department of Computer Science, San Francisco State University (1996) 7. Feldmann, B.: Group Types in E-Learning Environments, Study Team, Working Team and Learning Team, Information Technology Based Higher Education and Training. In: ITHET 2006 7th International Conference, July 10-13, pp. 376–380 (2006)
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services
225
8. Fenu, G., Picconi, M., Surcis, S.: XESS, Sistema di Supporto alle Decisioni per la valutazione di soluzioni e-Learning. In: Didamatica 2009 Informatica per la Didattica, Università degli Studi di Trento, Facoltà di Economia, Giurisprudenza, Sociologia, April 22-24, pp. 1–10 (2009) 9. Fenu, G., Picconi, M., Surcis, S.: XESS - Extended E-learning Support System. In: NDT 2009, The First International Conference on “Networked Digital Technologies”, Technically Co-sponsored by IEEE Communication Society. VSB-Technical University of Ostrava, Czech Republic (2009) 10. Global Industry Analysts Inc.: E-Learning - Global Strategic Business Report. Technical report, U.S., pp. III-1 (June 2006) 11. Fetaji, B., Fetaji, M.: E-Learning Indicators Methodology Approach in Designing Successful e-Learning, Information Technology Interfaces. In: 29th International Conference on ITI 2007, June 25-28, pp. 307–312 (2007) 12. Ga-jin, I.: Developing Evaluation Tool for e-Learning, Management of Engineering and Technology. In: Portland International Center, August 5-9, pp. 1526–1537 (2007) 13. Jia, J., Fischer, G.W., Dyer, J.S.: Attribute Weighting Method and Decision Quality in the Presence of Response Error: A Simulation Study. Journal of Behavioral Decision Making 11(2), 85–105 (1997) 14. Luo, J., Li, W., Cao, J., Ge, L.: Integrating Heterogeneous E-learning Systems, Telecommunications. In: AICT-ICIW 2006, International Conference on Internet and Web Applications and Services/Advanced International Conference, February 19-25, p. 9 (2006) 15. Leghris, C., Mrabet, R.: Cost Comparison of E-Learning Solutions, Information Technology Based Higher Education and Training. In: 7th International Conference on ITHET 2006, July 10-13, pp. 817–824 (2006) 16. E-LEN: a network of e-learning centres, Implementing an institutional e-learning centre: guiding notes and patterns (2004) 17. IEEE-LTSC: Draft Standard for Learning Object Metadata. IEEE 1484.12.1-2202, July 15, p. 6 (2002) 18. Pruengkarn, R., Praneetpolgrang, P., Srivihok, A.: An evaluation model for e-learning Websites in Thailand University, Advanced Learning Technologies. In: Fifth IEEE International Conference on ICALT 2005, July 5-8, pp. 161–162 (2005) 19. Raitman, R., Ngo, L., Augar, N., Zhou, W.: Security in the online e-learning environment. In: IEEE International Conference on Advanced Learning Technologies, ICALT 2005, vol. 5, pp. 702–706 (2005) 20. Softic, S.K., Bekic, Z.: Organizational Aspects of Supporting E-Learning at University Level. In: Proceedings of the ITI 2008 30th Int. Conf. on Information Technology Interfaces, Cavtat, Croatia, June 23-26 (2008) 21. Wu, Z., Doulai, P.: Identification and Prioritization of Variables that Influence Learning Content Development in e-Learning Platforms. In: 2nd IEEE International Conference on ICCSIT 2009, August 8-11, pp. 444–449 (2009)
Analysis on the Characteristics of Electroencephalogram (EEG) and the Duration of Acupuncture Efficacy, Depending on the Stimulation at the Acupuncture Points Jeong-Hoon Shin and Dae-Hyeon Park Dept. of Computer & Information Communication Eng. Catholic University of Dae-Gu, Korea {only4you,ttnsoo}@cu.ac.kr
Abstract. Acupuncture, one of the crucial areas of the Oriental Medicine, has been used for some thousand years in China, Korea, Japan to treat various diseases. Recently, the application of acupuncture to the therapy of cerebral disorder, such as stroke, Alzheimer’s disease, has come to the limelight as it causes no side effect resulting from the surgery and intake of drug in the Western medicine. However, the acupuncture of the Oriental medicine, a medical technique based on the experience and theory, has not been validated scientifically. Thus, the efficacy of acupuncture in the treatment of disease needs to be supported scientifically like the Western medicine that is based on the scientific ground. To seek the measures that can cope with those requirements, the characteristics of electroencephalogram (EEG) were analyzed depending on the change in the nerve cell and the cerebral blood flow by applying the acupuncture to 10 spots of the palm, the area of hand stimulated (pricked by acupuncture needle) to treat the cerebral disorder in the Oriental medicine, through the BCI (Brain Computer Interface) technology. On that basis, the efficacy of acupuncture and the duration of acupuncture efficacy based on the stimulation with acupuncture needle at acupuncture points were intended to be analyzed in relation to the stimulation of the acupuncture point [2],[3],[4]. Keywords: electroencephalogram (EEG), acupuncture point, duration of the acupuncture efficacy, BCI (Brain Computer Interface).
1 Introduction Oriental medicine is the traditional medical technique used only in China, Korea, and Japan which form the culture sphere of Chinese Characters, and still exist in those three countries as one medical system. The Oriental medicine has attained constant advancement along with the exchange with China, and various medical books were produced in Korea to treat the diseases of Korean people, such as Hyang-yak-jip-seong-bang-ga, Dongui Bogam which is a F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 46–59, 2010. © Springer-Verlag Berlin Heidelberg 2010
Analysis on the Characteristics of Electroencephalogram
47
Korean medical book compiled by the royal physician, Heo Jun (1546 - 1615) and was first published in 1613 during the Joseon Dynasty of Korea. Dongui Bogam, Dong-ui-su-se-bo-won, Sasang typology (a traditional Korean medical typology which divides people in four types based on their traits such as TaeYang, So-Yang, Tae-Eum and So-Eum type), etc, in Korea symbolizes the creative medicine of Korea which has distinctively unique tradition and have been recognized as the embodiment of a highly advanced medical technology for both prevention and treatment. [5] Oriental medicine, however, has not gained the recognition in the Western medicine rooted in the scientific ground, considering the oriental medicine is being dismissed as a superstitious phenomenon that is not scientific, hygienic, or effective, not founded on scientific ground. In response to that, there has been a growing demand for the Oriental medicine which is systematic and founded on scientific evidence for the treatment of diseases and improvement of the public health in the country. The scientific evidence-oriented medicine may help set the stepping-stone to increase the trust with patients and provide the platform for students and the clinical doctors of Oriental medicine to take the approach based on the ground of treatment and therapy, so that the Oriental medicine can develop into the scientific evidenceoriented medicine, not the one based on the experience. To pave the way for that, scientific researches of the Oriental medicine have been carried out vigorously, and the acupuncture which is one of the therapies in the Oriental medicine has more advantages in treating the cerebral disorder than the Western medicine. Therefore, as part of efforts to meet those requirements, this study intends to analyze the characteristics of electroencephalogram(EEG) depending on the change in the nerve cell and the cerebral blood flow by applying the acupuncture on 10 spots of the palm, the area of hand stimulated – pricked by acupuncture needles - to treat the cerebral disorder in the Oriental medicine, through the BCI(Brain Computer Interface) technology, and on that basis, the duration of the acupuncture efficacy based on the stimulation at acupuncture points with acupuncture needle is to be analyzed.[6] The analysis on the electroencephalogram (EEG) and the duration of the efficacy of the acupuncture stimulating the acupuncture points can present the scientific ground for the existing Oriental medicine, and on that basis, the effective acupuncture points can be identified for the treatment and therapy of cerebral disorder which use the tactile sense stimulation feedback. This study is structured as follows: Chapter II provides an overview on the trend of research pertaining to the effect that the stimulation at the acupuncture points have on the electroencephalogram (EEG). Chapter III provides the introduction related to the test environment and the progress of the test which is performed to analyze the change in the characteristics of the electroencephalogram (EEG) and the duration of acupuncture efficacy, depending on the stimulation with the acupuncture needle at the acupuncture points. Chapter IV presents the results of analyses which were carried out in this study. Chapter V presents the conclusion and set the direction for future studies. [7]
48
J.-H. Shin and D.-H. Park
2 Related Works Recently, In Acupuncture medicine has been actively to establish the scientific basis of a scientific basis for the research center and an increase in the demand for medical. Also, it is taken into account the reliability and variety of analysis of using the brain wave in these researches. We gathered some related issues about brain wave by acupuncture feedback research. The following subsections describe these related studies. 2.1 Spectral Analysis on the Microcirculatory Laser Doppler Signal of the Acupuncture Effect [1] 2.1.1 Objective In this study, we aim to analyze the frequency content of skin blood flow signals simultaneously recorded on Hoku and two nearby non-acupoints following AS. Differences in spectrum may be taken as an indication of the characteristic frequency of blood flow oscillations at the acupoints, and may therefore help us to understand more about the underlying mechanism of AS. 2.1.2 Configuration Subjects include 5 healthy volunteers (4 males and 1 female; n=8) aged 24.6±1.5 (mean ± SD). All subjects were asked not to take any medication three days before experiments. The experimental setup is shown in Figure. 1. Heart rate (HR) was continuously monitored by R-peak of ECG signal measured by surface leads, and acquired by a bioelectrical signal pre-amplifier (lead II, RA-LL; 6600-series, Gould, USA). LDF (MBF3, Moor Instruments, UK) was used for the microcirculatory flux measurement with a sampling frequency of 40 Hz. Both ECG and LDF signals were recorded and sampled simultaneously and synchronously. Both signals were connected to an analog-to-digital converter card (PCI-9111DG, ADLINK Technology) at a sampling rate of 1024 Hz.
Fig. 1. Experimental setup ECG and LDF signals were recorded and sent to a personal computer for further analysis
2.1.3 Experimental Results The basic physiological parameters (HR, SBP and DBP) are shown in Figure. 2. There were no significant changes in SBP and DBP before and after the AS; however, the HR was significantly decreased after the AS (p stanzas with his server. Now, Bob need to send his initial presence to his server (step three) that broadcast it to all of his contacts. When online, Bob’s contacts return presence stanzas to him (step fourth). If Bob wants to exchange messages with his contacts, he can send and receive an unbounded number of < message/ > stanzas (step fifth). During the session Bob can send additional stanzas to update his presence information and edit his contact list (for more details about this process see [24], [25], and [26]). Finally the third standardized protocol is IMPS, which was designed to exchange presence information between mobile devices. However, this protocol can also be used to exchange presence information between fixed devices. It was originally conceived by three important companies: Motorola, Ericsson and Nokia [27]. The IMPS includes four primary features: presence, instant messaging, groups and shared content. It defines a set of specifications for mobile IM and presence services. These services are implemented via client-server architecture, which is designed mostly for wireless environments. One IMPS disadvantage is that its architecture is not fully IMPP
312
P.E. Figueroa and J.A. P´erez
Fig. 4. Architecture of IMPS
compliant, in other words, IMPS follows just a few of the principles dictated by IMPP working group. However, IMPS’s architecture bears some resemblance to IMPP specifications. The IMPS’s architecture and its elements are depicted in Fig.4. This architecture is composed by several elements: IMPS server, IMPS client and the Mobile Core Network. The IMPS server is the central point in a IMPS system, it is composed by the Application Service Elements that have four functional elements: 1) presence service element (provides presence information management), 2) instant messaging service element (provides functionalities for sending or receiving messages), 3) group service element (use and management of groups) and 4) content service element (functionality for sharing content such as images and documents). These application service elements are accessible via Service Access Point (SAP) which serves as the interface between the IMPS server and its environment; it has other functionalities (for more details see [27]). The IMPS client includes but is not limited to mobile devices and fixed terminals. These clients are interoperable with each other via SAP using the Client Server Protocol (CSP). The interaction with the IMPS server is performed through Server to Server Protocol (SSP). IMPS is also a XML based protocol; it has more functionalities than the others two protocols described above. Its mechanisms are more complex and more appropriates for mobile devices.
3 3.1
Middleware-Base Architecture for Interoperability between Presence Protocols Description of the Middleware-Base Architecture
Here is presented the proposed architecture for interoperability between the standardized presence protocols. This architecture is designed to work as a
Architecture for Interoperability between IM and Presence Protocols
313
Fig. 5. Architecture for Interoperability between Presence Protocols
middleware that provides a complete solution for interoperability following the requirements dictated by IETF’s IMPP working group. This architecture is shown in the Fig.5. In Fig.5 is observed the architecture proposed for interoperability between the three standardized presence protocols. This architecture follows a client-server communication model and is composed by several elements: Presence Global Server (1), middleware (2a), (2b), (2c), presence servers, such as XMPP server (3), SIMPLE server (4) and IMPS server (5) that are interconnected with their respectively domains, presence clients (6), (7), (8) or better known as presence user agents (PUA), and finally users or principals. Presence Global Server (1) interconnects presence clients (6). (7), (8) with its own presence protocol. The main functions of this server are to store, distribute, management client’s presence information and interconnect clients using different presence protocols. This server collects client’s presence intercepting it. This process is done through a middleware (2a), (2b), (2c) that execute special functions, such as intercept client’s presence information, transform this to a common standardized format, such as PIDF and send it to the Global Presence Server (1). This middleware represented by (2a) to (2c) in Fig.5 is composed by several modules that have specific functions. For more detailed information about these modules and functions see Section 3.1. The presence clients previously establish a session with their server, such as XMPP server (3), SIMPLE server (4) and IMPS server (5). The clients share their presence information with their servers; this is done in conventional manner (i.e. they authenticate and establish a session with their domains according to the requirements specified by their presence protocols). End to end examples of how this architecture works see Fig.5 following the black arrows. Black arrows depict the exchange of information between a XMPP client and a SIMPLE client. First of all, The XMPP client (6) was already authenticated and registered with its XMPP server (3). After that, the XMPP client may begin activities of IM and presence. Now, in the first step the XMPP client (6) publishes
314
P.E. Figueroa and J.A. P´erez
its presence information to its XMPP server (3) using the XMPP protocol. This process is performed through a < presence/ > stanza of the XMPP protocol. The information published by the principal’s presence client is intercepted by the middleware, specifically by a middleware’s module called Signal Intercept Module (SIM), which its main function is to intercept all information generated by the principal’s presence client. After that, this module sends the intercepted information to other module called Presence Transformation Module (PTM) which transforms the intercepted presence information to a PIDF data format in order to have the information in a standardized format. After transforming the presence information to PIDF, this module sends this information to other module called Receive Presence Module (SRPM) that translates the information in PIDF to the correspondent protocol used by the end user. In this example it is not necessary because SIMPLE supports by default the PIDF format, so this module simply passes the information to the Presence Global Server’s Communication Module (PGSCM) that sends the information processed previously to the Presence Global Server, it broadcasts it to the client using the Transmission Control Protocol (TCP). Before this information arrives in the principal’s presence client using SIMPLE, it is intercepted again by the middleware which only passes the information to a module called Presentation Module (PM) which presents the information to the client, this process is performed through the method NOTIFY of SIP and is added to the PIDF document with the presence information of the sender. It is necessary to explain how the SIM module detects the presence protocol used by the presence client of the sender’s presence information. SIM through a syntactical analysis recognizes the protocol used by the presence clients via its presence (“pres”) URL. Each one of this protocol uses a tag in the format of their address which identifies the protocol (see Table.1). Table 1. Format Address of Presence Protocols Presence Protocol Format Address SIMPLE sip:
[email protected]:port XMPP
[email protected]/resource IMPS wv:
[email protected] In Table.1, is observed that SIMPLE and IMPS uses a tag “sip” for SIMPLE and “wv” (from Wireless Village) for IMPS. XMPP does not use a tag; however, it is indentified by the “resource” identifier from the format address, which is a unique characteristic of XMPP. It is necessary to clarify that the example previously presented illustrates the minimal function of this architecture because this process of interoperability implies other process depending of each one of the presence protocols. All of the methods for transmitting and receiving presence information and instant messages are contemplated in the functions of the middleware. These functions are divided in modules. The next section shows a detailed explanation of these modules and their functionalities. This architecture also provides unique characteristics such as conversion between different
Architecture for Interoperability between IM and Presence Protocols
315
data types. This data types include instant messages, SMS, e-mail and voice (e.g. SMS to voice, instant messages to e-mail, etc.). This functionality allows sending the information according to the preferences and capabilities of the end user. 3.2
Structure and Functioning of the Proposed Middleware
The proposed middleware represented by (2a) to (2c) in Fig.5, it is placed between the application layer and transport layer of the TCP/IP stack protocol. This middleware is composed by several modules (see Fig.6). Each one of these modules has a specific function that allows interoperability between the standardized presence protocols. The modules of this middleware are: Signal Interception Module (SIM), which is always activated to intercept all information generated by the presence client using a specific presence protocol. It classifies the intercepted information in two categories: 1) presence information and 2) instant messages. After that, it sends the information to the corresponding module. If the intercepted information is presence information this module sends it to the Presence Transformation Module (PTM) that receives the presence information with its respective XML document and transforms it to PIDF. This process can be performed through tools, such as XSLT templates. With these XSLT templates rules can be established for the transformation of the original presence document to PIDF. Finishing the process of transformation to PIDF the modules sends it to the Send and Receive Presence Module (SRPM) which must send this information in an adequate format to the sender’s contact, in other words, this module takes and translates the intercepted information to the protocol used by the end user. After that, the information is sent to the Presence Global Server’s Communication Module (PGSCM) that establishes the communication between the presence clients and the Presence Global Server (1) in Fig.5. This is done in order to provide the necessary information to the middleware for achieving interoperability between presence protocols. If the information is not needed to be converter to other data type it is sent to the Presentation Module (PM) which is responsible for delivering this information to the end user. Now, if the information intercepted by the SIM is an instant message, it sends it to the Message Transformation Module (MTM) which main function is to convert all attributes of any type of instant messages (e.g. normal, chat, group chat, headline, error) to a common format in XML, and then, these attributes are mapped to its counterpart in other presence protocols. After that, the instant message is sent to the Send and Receive Messages Module (SRMM), which is responsible for adapting the message to the appropriate format for the end user. For example, if a presence client using SIMPLE protocol wants to send a message to a friend that is using the IMPS protocol with its mobile, this module adapt the message sent through SIMPLE protocol to the message format required for the IMPS protocol in order to be interpreted in correct manner by the end user. Now, if this message is not needed to be converter to other data type it is sent to the Presentation Module (PM).
316
P.E. Figueroa and J.A. P´erez
Fig. 6. Middleware placement in the TCP/IP protocol stack
If the presence information and instant messages need to be converter to another data type, then these are sent to the module called Data Type Conversion Module (DTCM), which provides functions for converting several data types to another, such as instant messages to voice message, instant messages to SMS, SMS to voice and instant messages to e-mail. The communication between these modules is executed through XML documents and conversions performed by these modules are done through XML tools, such as XSLT. The use of a common data format such as PIDF is very important because it is standardized data format for presence technologies. This architecture follows all IMPP specifications. Following these specifications is possible to achieve interoperability between these presence protocols.
4
Implementation Feasibility
The architecture proposed in this paper for interoperability between presence protocols, can be implemented using several APIs and libraries that are defined for presence and instant messaging services. For SIMPLE there is a JSR (Java Specification Request) that provides a standard portable and secure interface to exchange messages between SIMPLE clients. This specification is defined in JSR 165, which can coexist with JSR 32, which provides a standard portable interface to share information between SIP clients and SIP servers [28]. Other APIs for these services are OSA/Parlays that represent a family of standard interfaces that abstract the whole functionality in a telecommunication network, which are not just limited to SIP. For presence services this API is defined in 3GPP technical specification 29.998-14. A derivate API is the Parlay X, it intents resolve some existing problems in Parlays APIs for presence. This API provides a very high level set of interfaces for presence
Architecture for Interoperability between IM and Presence Protocols
317
that are based on web services [7]. For XMPP there is a library called “Jabber Net Library”, which is defined for the .NET environment. This library provides a high level API that insolates the programmer from details of the Jabber XML protocol [29]. The APIs and libraries described above are some of the existing APIs, however, there are many others APIs for presence and IM services.There are some differences between these APIs, this is way, in a future work of this research such APIs will be analyzed and selected for the implementation n of the presence client used with this architecture. The middleware will be implemented using JAVA SE Platform with XML tools like XSTL, and so on.
5
Related Works
Some research has been done about interoperability between standardized protocols. The majority of these researches have been done by IETF’s working groups. These researches provide methods for intent to achieve interoperability mainly between XMPP and SIMPLE. In [30] is described a method for mapping the SIMPLE presence and instant messages to CPIM, which describes the semantics of a presence and instant messaging services in order to interoperate with other CPIM compliant systems. This work proposes to use a gateway that converts SIMPLE to other presence protocol through the conversion of the SUBSCRIBE and NOTIFY request to CPIM and vice versa. This work was written in 2001 and is still an IETF draft. It only provides guidelines for performing this process, but not provides guidelines for other protocols, such as XMPP and IMPS. Other similar research is proposed for mapping XMPP to CPIM and vice versa, it is described in [31]. This work is a method to follow in the attempt for achieving interoperability between XMPP and CPIM compliant systems. It describes two algorithms for mapping XMPP to CPIM and CPIM to XMPP respectively. This is done by the use of a gateway, which performs al required process for achieving this interoperability between XMPP services and non-XMPP services. The mapping process proposed in this work applies for instant messages and presence information. It is one of the most important researches in this topic, however, this work is limited to basic functionalities of the presence protocols and one disadvantage is the use of a gateway for each domain. This implies high costs of implementation and management (for more details about this work see [31]). Other researches in this topic are [7], [8] and [9], which propose methods to provide interoperability between SIP and XMPP protocols. In the first work is presented a method for mapping addresses and error conditions between these two protocols. In the second work is established a protocol for mapping the exchange of single instant messages between SIMPLE and XMPP protocols. It is necessary to remember that there are three types of messages handled by instant messaging and presence protocols, such as single messages, one-to-one chat messages, and messages of the type group chat, so this work focuses on the first type of these messages (single messages). The third work mentioned above focuses on one-to-one chat messages. It provides a protocol for the exchange of instant messages in the context of one-to-one chat session between a user of the
318
P.E. Figueroa and J.A. P´erez
SIP protocol and a user of the XMPP protocol. There is not a solution for the exchange of messages in the context of group chat between different instant messaging and presence protocols. These works mentioned above mainly are focused to instant messaging, for presence services there are still a few solutions. Other work that implements a gateway for the interoperability between SIMPLE and IMPS is [10]. In this work is defined a minimal interoperability between SIMPLE and IMPS. This work implements a gateway-base architecture. The gateway comprises one IMPS interface with at least one IMPS domain and a SIMPLE interface for communicating with the SIMPLE infrastructure. It specifies an interworking function linking the interfaces and comprising a transaction mapping module for converting an interworking subset of IMPS transactions received by the IMPS interface to the corresponding SIMPLE transaction. After that, this module relays the corresponding SIMPLE transactions to the SIMPLE interface for transferring them into the SIP/SIMPLE infrastructure. This work describes the attributes that are mapping between these protocols, however is observed that these are the minimal attributes of each protocol. With this research is evident the lack of a general solution for achieving interoperability between all of these standardized presence protocols. For this reason in this paper was presented a middleware-base architecture that provides a solution to this problem. Also, this proposed architecture is free of gateways. This minimizes the high cost of implementation and management of them and also provides a full functionality between these protocols, which is achieved thanks to the mapping of all of the attributes of these three standardized presence protocols.
6
Conclusions and Future Work
In this paper we propose a middleware-based architecture to provide a full interoperability between three standardized presence protocols: XMPP, SIMPLE and IMPS. The architecture proposed is based in a middleware that has unique functionalities. So far, this architecture is unique and an integral solution for resolving the interoperability’s problems between presence protocols. We have investigated the research efforts on the presence service which are empathized by both internationals standard bodies, such as IETF and OMA. By employing the IETF’s standardized model for presence and instant messaging, the architecture proposed can provide the interoperability between different instant messaging and presence protocols. As well, this research will provides a full mapping of all attributes specified in these three standardized protocols. This investigation contributes with all researches in this topic. It provides a standardized data format in PDF of all attributes and functionalities existing. In future work we will specify all correspondences between attributes of these protocols, which will be done using PIDF and the extensions to it (mentioned in the Section 2). Also, we will specify the communication protocol, definition of interfaces and formats to be used in the communication between modules of the middleware. The future work also includes the implementation of this middleware-based architecture and its performance evaluation.
Architecture for Interoperability between IM and Presence Protocols
319
Bibliography [1] Rishi, L., Kumar, S.: Presence and its effect on network, pp. 368–372 (January 2005) [2] Wu, F.: Presence technology with its security and privacy implications, pp. 1–6 (June 2007) [3] Lucenius, J.: Use of presence and location information for situational awareness, pp. 117–125 (29 2008-July 5 2008) [4] Lei, H., Ranganathan, A.: Context-aware unified communication, pp. 176–186 (2004) [5] Day, M., Rosenberg, J., Sugano, H.: A Model for Presence and Instant Messaging. RFC 2778 (Informational) (February 2000), http://www.ietf.org/rfc/rfc2778.txt [6] Perea, R.M.: Internet Multimedia Communications Using SIP: A Modern Approach Including Java Practice, 4th edn. Morgan Kaufmann, San Francisco (2008) [7] Hildebrand, J., Houri, A., Saint-Andre, P.: Interworking between the session initiation protocol (SIP) and the extensible messaging and presence protocol (XMPP): Core. IETF Internet Draft (work in progress) (March 2009), http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-core-01.txt [8] Hildebrand, J., Houri, A., Saint-Andre, P.: Interworking between the session initiation protocol (SIP) and the extensible messaging and presence protocol (XMPP): instant messaging. IETF Internet Draft (work in progress) (March 2009), http://tools.ietf.org/html/draft-saintandre-sip-xmpp-im-01 [9] Saint-Andre, P., Hossain, N., Loreto, S., Gavita, E.: Interworking between the session initiation protocol (SIP) and the extensible messaging and presence protocol (XMPP): One-to-One text chat. IETF Internet Draft (work in progress) (March 2009), http://tools.ietf.org/html/draft-saintandre-sip-xmpp-chaIngimundarson [10] Ingimundarson, J.I., Regnier, J., Thorkelsson, H., Vachon, G.: Interworking gateway and method, United States Patent (April 2009) [11] Day, M., Aggarwal, S., Mohr, G., Vincent, J.: Instant Messaging / Presence Protocol Requirements. RFC 2779 (Informational) (February 2000), http://www.ietf.org/rfc/rfc2779.txt [12] Peterson, J.: Common Profile for Presence (CPP). RFC 3859 (Proposed Standard) (August 2004), http://www.ietf.org/rfc/rfc3859.txt [13] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., Peterson, J.: Presence Information Data Format (PIDF). RFC 3863 (Proposed Standard) (August 2004), http://www.ietf.org/rfc/rfc3863.txt [14] Schulzrinne, H., Gurbani, V., Kyzivat, P., Rosenberg, J.: RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF). RFC 4480 (Proposed Standard) (July 2006), http://www.ietf.org/rfc/rfc4480.txt [15] Schulzrinne, H.: CIPID: Contact Information for the Presence Information Data Format. RFC 4482 (Proposed Standard) (July 2006), http://tools.ietf.org/search/rfc4482 [16] Peterson, J.: A Presence-based GEOPRIV Location Object Format. RFC 4119 (Proposed Standard) (December 2005), http://www.ietf.org/rfc/rfc4119.txt (updated by RFCs 5139, 5491)
320
P.E. Figueroa and J.A. P´erez
[17] Lonnfors, M., Kiss, K.: Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF). RFC 5196 (Proposed Standard) (September 2008), http://www.ietf.org/rfc/rfc5196.txt [18] Schulzrinne, H.: Timed Presence Extensions to the Presence Information Data Format (PIDF) to Indicate Status Information for Past and Future Time Intervals. RFC 4481 (Proposed Standard) (July 2006), http://www.ietf.org/rfc/rfc4481.txt [19] Rosenberg, J.: A Presence Event Package for the Session Initiation Protocol (SIP). RFC 3856 (Proposed Standard) (August 2004), http://www.ietf.org/rfc/rfc3856.txt [20] Niemi, A.: Session Initiation Protocol (SIP) Extension for Event State Publication. RFC 3903 (Proposed Standard) (October 2004), http://www.ietf.org/rfc/rfc3903.txt [21] Schulzrinne, H.: The simple presence and event architecture, pp. 1–9 (2006) [22] Rosenberg, J.: The Extensible Markup Language (XML) Configuration Access Protocol (XCAP). RFC 4825 (Proposed Standard) (May 2007), http://www.ietf.org/rfc/rfc4825.txt [23] OpenXCAP - Free XCAP server for SIP SIMPLE (RFC 4825) Trac, http://openxcap.org/ [24] Saint-Andre, P.: Extensible Messaging and Presence Protocol (XMPP): Core. RFC 3920 (Proposed Standard) (October 2004), http://www.ietf.org/rfc/rfc3920.txt [25] Saint-Andre, P.: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence. RFC 3921 (Proposed Standard) (October 2004), http://www.ietf.org/rfc/rfc3921.txt [26] Saint-Andre, P.: Streaming xml with jabber/xmpp. IEEE Internet Computing 9(5), 82–89 (2005) [27] Aliance, O.M.: OMA Instant Messaging and Presence Service v1.3. Standard (January 2007) [28] JSR-000165 SIMPLE Instant Messaging 1.0 - Final Release, http://jcp.org/aboutJava/communityprocess/final/jsr165/index.html [29] Wright, W., Moore, D.: Jabber Developer’s Handbook, 1st edn., Sams (July 2003) [30] Campbell, B., Rosenberg, J.: CPIM Mapping of SIMPLE Presence and Instant Messaging. IETF Internet Draft (work in progress) (2002) [31] Saint-Andre, P.: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM). RFC 3922 (Proposed Standard) (October 2004), http://www.ietf.org/rfc/rfc3922.txt
Artificial Neural Network Based Technique Compare with "GA" for Web Page Classification Ali Alarabi and Kamta Nath Mishra Department of Computer Science, Science Faculty Sebha University, Sebha, Libya
[email protected],
[email protected] Abstract. The web international is one of the main sources of knowledge. This knowledge can be texts, images, and photos etc. The experts are always looking for the best way to find the exact information and they want to retrieve it as quickly as possible. But, this information is available on different servers in the form of web pages in different languages. Now, we need to find the most efficient technique which can collect and display the web pages which have similar information within a fraction of a second. The only and easy solution is to do this work in automated way. From this automated method we get many systems of knowledge which are called hypertext, or hypermedia. These methods are used in different domains. Many statistical and mathematical techniques are used to group the web pages which have similar information. In this paper we have proposed an Artificial Neural Network based mathematical model to find the similarity between web pages. Keywords: Classification, Similarity, Artificial Neural Network, Genetic Algorithm.
I
Introduction
The idea to collect the any things in groups is seemed to be interesting. So here are a lot of rules are used to keep some objects together. One of the important things that make objects together is the existence of some common properties like the similarity where this property are used in the majority of researchers related to the classification of the documents as in the domain of informatics. The classification could do depend on similarity between the documents. Or can do depend on the existence of identical words. Another model to find similarity is the weighted keyword vector model. The weighted keyword vector model is common place in Information Retrieval [L. Goffinet*, M. Noirhomme-Fraiture]. The main variations in the model are mainly what words will serve as keywords, how to weight those keywords and how to compute the similarity functions between two vectors. Here we try to take another way, to use another technique which we imagine its use as a way of presenting the documents together in a visualized way for the classification of documents. Here we have chosen the artificial Neural to be the techniques for this purpose where it was applied in many fields. So we think that this technique can be applied on this aria. We going to F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 699–705, 2010. © Springer-Verlag Berlin Heidelberg 2010
700
A. Alarabi and K. Nath Mishra
compare the result from this technique with another technique has used for the same propose. It's the cellular automate. Also we are going to use the Zip file low to calculate the similarity between the files by looking for the important terms that can present a file.
2 Classification Methods In this field a lot of methods are used for the one purpose which is a good regroups of the documents. One goal of theses classification is the creation of the links between these documents. For the classification some of these methods have used the logical name which is a destination of the link between two documents [Alberto et al, 1995]. In this method the document writer can assign logical names to destination links with his document. The logical names provide a consistent view of the document as changing info structure. Even the info structure is a change, but this problem is solved by presenting each info structure as a logical entity. It denotes a specific point within the info structure. The advantage of this method is that the fragment will always point to the correct point in the info structure. We have observed also some other methods which used the IR (information retrieval) technique, since IR has always dealt with the construction of the relationships between objects mutually relevant [Agosti et al, 1996]. This method requires the initial input to be fragmented. The phase here is the identification of the fragments of the original documents that will be constitutes the nodes. The IR technique is used to define more used terms or the fragments in each document. Still we presents part of classification methods where, we indicate the use the theory of the argumentation which used to chose part of information from each document or regroup the documents together. In this method, the reasoning has been described as “metal activity that consists of transforming given information in order to reach conclusion. So, an argument, thus, from point of view of logic consists of zero or more premises, and conclusions [Gary & Steven, 1998]. 2.1 Artificial Neural An Artificial Neural Network (ANN), often just called a "Neural Network" (NN), is a mathematical model or computational model based on biological neural networks. It consists of an interconnected group of artificial neurons and processes information using a connectionist approach to computation. In most cases an ANN is an adaptive system that changes its structure based on external or internal information that flows through the network during the learning phase. A. Definition There is no precise agreed-upon definition among researchers as to what a neural network is, but most would agree that it involves a network of simple processing elements (neurons), which can exhibit complex global behavior, determined by the connections between the processing elements and element parameters. The original inspiration for the technique was from examination of the central nervous system and the neurons (and their axons, dendrites and synapses) which constitute one of its most significant information processing elements (see Neuroscience). In a neural network
Artificial Neural Network Based Technique Compare with "GA"
701
Output
Input cell
Fig. 1. A neural network is an interconnected group of nodes, akin to the vast network of neurons in the human brain
model, simple nodes (called variously "neurons", "neurodes", "PEs" ("processing elements") or "units") are connected together to form a network of nodes — hence the term "neural network." While a neural network does not have to be adaptive per se, its practical use comes with algorithms designed to alter the strength (weights) of the connections in the network to produce a desired signal flow. These networks are also similar to the biological neural networks in the sense that functions are performed collectively and in parallel by the units, rather than there being a clear delineation of subtasks to which various units are assigned (see also connectionism). Currently, the term Artificial Neural Network (ANN) tends to refer mostly to neural network models employed in statistics, cognitive psychology and artificial intelligence. Neural network models designed with emulation of the central nervous system (CNS) in mind are a subject of theoretical neuroscience (computational neuroscience). B. Models of Neurals Neural network models in artificial intelligence are usually referred to as artificial neural networks (ANNs); these are essentially simple mathematical models defining a function . Each type of ANN model corresponds to a class of such functions. C. The Networks in Artificial Neural The word network in the term 'artificial neural network' arises because the function f(x) is defined as a composition of other functions gi(x), which can further be defined as a composition of other functions. This can be conveniently represented as a network structure, with arrows depicting the dependencies between variables. A widely used type of composition is the nonlinear weighted sum.
702
A. Alarabi and K. Nath Mishra
, Where K is some predefined function, such as the hyperbolic tangent. It will be convenient for the following to refer to a collection of functions gi as simply a vector .
Fig. 2. ANN dependency graph
This above Fig 2. depicts such a decomposition of f, with dependencies between variables indicated by arrows. 2.2 Genetic Algorithm Based on the theory of Darwin about the revolution of the nature. According to this theory the best individuals can survive and they can stay to give the next generation. The weaker individuals will disappears. The genetic technique was developed on the basis of Darwin’s technique. This technique is the search algorithm developed by Holland on 1975, which is based on the mechanics of the natural selection and genetics to search through decision space for optimal solutions [Cheng, Feng 2003]. This technique uses three important operators: the selection, the crossover and the mutation.. G(t=0)
Fig. 3. Schema of GA
Artificial Neural Network Based Technique Compare with "GA"
703
A. Similarity Our purpose is to get a good classification where we have a number files. Therefore, we are going to apply some static’s techniques which we choose for treating the documents to get a good classification. So, during the steps used for neural application, we will use this measure as shown by the following steps: Step I: The first step in this job is to determine the important terms in the document or in the file by the calculation of their frequencies where we can get this by using the low of Zip file.
idf i = log 2 (
N ………… ) df j
(1)
wij = tf i , j × idf j = tf i , j × log Where
N ………. df j
(2)
(W ) the weight of the term in the document, ij
N is the total number of documents and
id f is the frequency of the term in the sec-
ond document. Finally we represent every file by one vector which includes the important terms in the file. Step II: Calculation of the similarity between the files by using the distance Euclidian
S (d1 , d 2 ) =
∑d d
1 2
∑ d1 * 2
∑ d 22
………….
(3)
From this formula we get all the distance which separates further which is represented by matrix of similarity. Step III: We use the matrix of similarity to get another matrix which we call binary matrix. This matrix represents the first real individual. Step IV: From the first individual we create the rest of the individuals by the artificial way. On these two individuals we apply our technique to get the best individual during a number of iteration.
3 Application In this work we are going to apply the following steps:Step I: The creation of an artificial binary matrix. On this matrix we are going to apply our algorithm to create the rest of the matrix. Step II: Calculate the similarity between the files presented by the matrix Step III: After a number of iteration we will get an ideal matrix which classifies the files.
704
A. Alarabi and K. Nath Mishra
We use the measure of the similarity to be sure that the files classified by the algorithm are closed. Also we do a test about the quality of the final matrix which we got from the application of the algorithm. 3.1 Result Comparison In this work we have use processor Intel centrino Duo 1.8MHz. We have applied this technique for different groups of files. Both technique we have applied on 10, 50, 500, 1000 and 1500 files for every corpus as shown in the following Table 1. Table 1. Result Comparison of Artificial Neural Technique with other techniques Number of Files
Time for Artificial Neural
100 200 300 500
1 second 2 seconds 2.5 seconds 5 seconds
Time for Genetic Algorithm 10 Minutes 30 Minutes 1 Hours 1 Hour & 30 Minutes
We got groups of files where every group contains the files which are closed. This classification we have got, we going to use as a base to create a links between theses. After comparing this work for the same files by using an Genetic Algorithm, we have found that this technique can classify a big number of files in a very short time. But some groups of files are not well organized. After comparison of this result with the Genetic algorithm simple, we found that the Neural technique is more powerful. But in every case it’s a good result.
4 Conclusion and Future Work As we have a positive action from the application of the simple rules of this technique comparing with GA where we have observed that this technique spend to much time for the classification of the same files, in the approach future we will use another types of these technique which may give best result.
References 1. Schmitt, L.M.: Theory of genetic algorithms II: models of genetic operators over the string-tensor representation of populations and convergence to global optima for arbitrary fitness function under scaling. Theoretical Computer Science 310, 181–231 (2004) 2. Denoyer, L., Gallinari, P.: Bayesian network model for semi-structured document classification. Information Processing and Management 40, 807–827 (2004) 3. Pohl, M., Purgathofer, P.: Hypertext authoring and visualization. Int. J. Human-Computer Studies 53, 809–825 (2000) 4. Myka, A., Argenton, H., Guntzer, U.: Towards Automatic Hypertextual Representation of linear Texts, IST-copyright Penn State and NEC, pp. 103–121 (1996)
Artificial Neural Network Based Technique Compare with "GA"
705
5. Brusilovsky, P., Rizzo, R.: Map-Based Horizontal Navigation in Educational Hypertext. Journal of digital information 3(1), 31–37 (2002) 6. Steinberger, R., Pouliquen, B., Hagman, J.: Cross-lingual Document Similarity Calculation Using the Multilingual Thesaurus Eurovoc. In: Gelbukh, A. (ed.) CICLing 2002. LNCS, vol. 2276, pp. 415–424. Springer, Heidelberg (2002) 7. Wilkinson, R., Smeaton, A.F.: Automatic Link Generation. ACM Computing Surveys 31 (December 1999) 8. Van Dulken, S.: Free Patent databases on the internet: a critical view. World Patent Information 21(4), 253–257 (1999) 9. Cheng, T.-m., Feng, C.-w.: An effective simulation mechanism for construction operation. Automation in construction 12(3), 227–244 (2003) 10. Venturini, G.: Apprentissage adaptatif et apprentissage supervise par algorithme génétique, thèse de doctorat, Janvier, Université Paris XI, Orsay (1994) 11. http://www.schatten.info (visited February 2009)
Ali Alarabi received a Ph.D. in Computer Science from Tours University, France in 2006, Master of Science(Computer Science) from AGH University, Crackof, Poland in 1997, and Bachelor of Science (Physics) degree from Sebha University, Libya in 1989. His research interest includes Algorithms for web applications. He is working as a lecturer in Computer Science department of Sebha University LIBYA
Kamta Nath Mishra received a Master of Technology (M.Tech., Computer Science) degree from Birla Institute of Technology and Science (BITS) at Pilani, INDIA in 2003, and Master of Computer Application (MCA) degree from Madan Mohan Malviya Engineering College at Gorakhpur, INDIA in 1996. He is a Ph.D. student at Birla Institute of Technology Mesra, Ranchi, INDIA. His research interest includes Software Metrics for Object Oriented System, Testing Metrics, and Web Metrics. He is a faculty member in Computer Science Department of Sebha University, LIBYA.
Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation Khaled E. Al-Qawasmi1, Adnan M. Al-Smadi2, and Alaa Al-Hamami1 1
Depatrment of Computer Science, College of Information Technology, Amman Arab University for Graduate Studies, Amman, Jordan
[email protected],
[email protected] 2 Depatrment of Computer Science, College of Information Technology, Al Al-Bayt University, Al-Mafraq, Jordan
[email protected] Abstract. This paper presents a new algorithm for the determination of the Autoregressive Moving Average (ARMA) model order based on Artificial Neural Network (ANN). The basic idea is to apply ANN to a special matrix constructed from the Minimum Eginevalue (MEV) criterion. The MEV criterion is based on a covariance matrix derived from the observed output data only. The input signal is unobservable. The proposed algorithm is based on training the MEV covariance matrix dataset using the back-propagation technique. Our goal is to develop a system based on ANN; hence, the model order can be selected automatically without the need of prior knowledge about the model or any human intervention. Examples are given to illustrate the significant improvement results. Keywords: Artificial Neural Networks, ANN, ARMA, Back-Propagation, Simulation, Eginevalue, System Identification, Signal Processing, Time Series.
1 Introduction Model order estimation of a general ARMA process has been of considerable interest for some time and it has along and continuity history. ARMA models play an important role in modeling the Internet traffic of a network, financial market forecasting, biomedical signals analysis, speech modeling, radar, sonar, linear prediction, system identification, and spectral analysis. Chen and Chou [1] modeled the Internet traffic of a sub-network by using ARMA process. ARMA model is one of the most important and general purpose modeling types. Selecting the proper ARMA model order is difficult and has never been solved satisfactorily [7,8,15]. Several methods have been reported in literature to solve the problem of ARMA model order estimation. Some of these methods are Akaike’s Information Criterion (AIC) [4], the Final Prediction Error (FPE) criterion [2,3], the Minimum Description Length Criterion (MDL) [16,18]. The MDL ability to produce consistent estimates of model order has been proved [15]. MDL has much better reputation than AIC and FPE methods and it gives consistent estimates of the order of ARMA process [13,16]. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 184–192, 2010. © Springer-Verlag Berlin Heidelberg 2010
Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation
185
Liang et al. [15] proposed a Minimum Eigenvalue (MEV) Criterion, which is derived from the MDL criterion. The MEV is based on the minimum eigenvalue of a covariance matrix computed from the observed data. It is shown to provide accurate estimates of the true model orders that have never before achieved [6,8]. In this paper, a new technique for estimating ARMA model orders is proposed. The new method is based on modelling and designing Artificial Neural Network (ANN) architecture for a special matrix constructed from the MEV criterion to estimate the ARMA model orders. ANN has been widely used in different scientific disciplines to solve a variety of problems in pattern recognition, prediction, optimization, associative memory, clustering, categorization, medicine, speech recognition, control and business [11,14,17].
Fig. 1. The proposed artificial neural network architecture with back-propagation for ARMA model order estimation
Multilayer neural networks is a feed-forward neural network which consists of an input layer of source neurons, at least one middle or hidden layer of computational neurons, and an output layer of computational neurons. Multilayer neural networks have more than one hundred different learning algorithms, but the most popular method is back-propagation [12]. BPN is chosen to solve the problem of estimating the ARMA model order because it is the most popular learning algorithm. It is supervised networks which is suitable for ARMA model order. In addition, it produces accurate result because back-propagation training algorithm attempts to minimize the sum of the squared error criterion which is useful indicator of the networks performance and convergence [14,17]. Fig. 1, shows the proposed BPN which is used for ARMA model order estimation.
186
K.E. Al-Qawasmi, A.M. Al-Smadi, and A. Al-Hamami
In Fig. 1, IW1,1 is the input weight matrix for connection from input to layer 1, and LW is the layer weight matrix for connection from layer 1 to layer 2, b1 and b2 are the input bias hidden and output layers, respectively; s is the number of neurons in layer 1, and M is the number of neurons in layer 2. 2,1
2 Problem Formulation Consider the general ARMA process s(t) described by the linear difference equation [5]: ∑
∑
.
(1)
where , , are the parameters of the AR(p) model and the , , are the parameters of the MA(q), while s(t) is the observed output data and x(t) is the excitation input time series. The time series s(t) is normally observed in a disturbance with Gaussian white noise, υ(t). We model the noisy output as: (2)
.
The linear system in Equation (2) for the N terms can be written in a matrix form as in follows: 0
0
.
0
0
0
.
0
1
0
.
0
1
0
.
0
2
1
.
0
2
0
.
0
1
(3)
1
2 .
1
1
2 .
1
where υ t is the observation noise or the modeling error vector with size N 1 which is assumed to have zero-mean and white Gaussian noise. The system in (3) can be written in compact form as: Dpq θ = v.
(4)
where θ is the parameter vector with size p q 2 1 . Dpq is an N p q 2 matrix built from a composition of observed data matrix and the input data matrix, i.e.: .
(5)
the data covariance matrix is obtained as follows: .
(6)
where C is p q 2 p q 2 covariance matrix, and it is symmetrical matrix [6]. MEV [15] method is based on the MDL [18] and leads to the criterion: ,
/
.
(7)
Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation
187
where λ is the minimum eigenvalue of C , p is the number of AR parameters, q is the number of MA parameters, and N is the length of the observed noisy sequence. Then:
,
1,1 2,1
1,
,1
,
,1
1, 0
0
.
(8)
0
and q 0,1, , q , where pmax and qmax are the maximum for p 0 ,1, , p possible orders. The JMEV (p,q) matrix is arranged in decreasing order, where rows represent the q order, the columns represent the p order. The MEV method searches for the corner that drops sharply in the JMEV(p,q) matrix. The search method utilizes the row/column ratio tables.
3 Order Estimation via ANN A MATLAB code was written for generating the dataset which is composed of several JMEV matrices. Feed-forward network architecture is used with BPN learning algorithm. Levenberg-Marquardt learning algorithm [10] has the fastest convergence. This advantage is especially noticeable if an accurate training is required. This learning algorithm is able to obtain lower Mean Square Errors (MSE) than any other learning algorithms. The training process follows in four basic steps. First, assemble the training data; second, design and model the network architecture; third, train the network; finally simulate the network for new inputs [12]. 3.1 Data Design We teach the neural network to recognize the ARMA model order pair, for example (3, 3). To train the network to produce error signal, we use any other model order pairs, for example (6, 4), (5, 3), etc. To check weather the network has learned to recognize the errors, we generate the model (3, 3) order pairs at different seeds and different signal-to Noise-Ratio (SNR). Each model order pair is to be estimated using the JMEV(p,q) matrix with 10 and 10. This represents the maximum orders to be used as in Liang et al. [15]. Hence, the model order (3, 3) is given using (11×11) grid with different SNR. The dataset was built by concatenating the order pairs' matrices into one matrix with size (121×11) to prepare it for the input layer. The target is provided as binary vector with values, target = [0 0 1 1, 0 0 1 1]. Notice that 3=0011 and 3=0011). 3.2 Network Architecture Neural network is composed of three layers; the input, the hidden, and the output layers. The input layer consists of 11 columns and 121 rows, so the network needs
188
K.E. Al-Qawasmi, A.M. Al-Smadi, and A. Al-Hamami
121 neurons for the input layer. The input data set to the ANN was obtained from the JMEV matrix in Equation (8). Different SNRs were used to obtain several JMEV matrices. The proposed algorithm starts learning from SNR=1 and generates the first JMEV matrix. The next one is generated after incrementing the SNR by 2 until we reach 11 JMEV matrices. We noticed that the network was able to recognize the estimated model order after SNR=23 for any SNR. This means that we take samples for SNRs ranging from 1 to 23 out of 100 matrices. The process of determining the number of the hidden layers and the number of their neurons is based on the concept (trial and error). It was found that the hidden layer consists of seven neurons. The output layer consists of eight neurons which represents the targeted ARMA model order pair (p, q). These pairs vary between 1 and 10 for each order p or q. The network output appears in binary format. Since we need 4-bit word to represent any decimal number in this range, we need a total of 8 bits. The first 4 bits are used for the order p and the second 4 bits are used for the order q. Fig 2 shows the network layers diagram. For example, if the true order to be estimated is p=3 and q=3, then the target will be represented in binary digits as p=0011, q=0011.
Fig. 2. Artificial neural network layers diagram
In Fig. 2, the number 121 is the number of elements in the input vector, lW is the weighted matrix, b is the bias vector, the number 7 is the number of neurons in the hidden layer. Each neuron represents the transfer function tan-sigmoid [10,14]. The sum of the weighted inputs and the bias form the input to the tan-sigmoid transfer function. The number 8 is the number of neurons in the output layer with transfer function pure-line [9] - [11]. The sum of the weighted outputs of the hidden layer and the bias form the input to the pure-line transfer function. The tan-sigmoid transfer function is used to obtain the values for the hidden layer neurons. The mathematical representation for tan-sigmoid is given by: 1
exp
2
1
exp 2
.
(9)
The pure-line transfer function is used to obtain the values for the output layer neurons. The mathematical representation for pure-line is given by: ,
.
(20)
3.3 Network Training Back-propagation training algorithm is a supervised learning algorithm, which deals with a set of parameters to make the network results reasonable. A threshold was set to be α=0.0 as the difference between the targeted order and the network outputs; that
Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation
189
Fig. 3. ARMA(3,3) neural network performance evaluation
is, the estimated order is considered to be correct if α ≈ 0.0 for both outputs of the network p and q. The initial learning rate η was experimentally set to 0.05. The learning algorithm tried to run for 200 epochs (iterations). The η parameter was used to enhance the network performance and to make the convergence faster. Fig. 3 shows the network performance for the next example. From this figure, we can see that the algorithm converges at epoch = 27 when α approaches 0. Training stops when the condition of the maximum number of epochs is reached or when the performance has reached the threshold α. 3.4 Network Simulation The proposed new algorithm has been tested on a number of simulated examples to determine the ARMA model orders. The computation was performed in MATLAB. Different levels of SNRs on the output sequence were used in the simulation of both the MEV method and the proposed ANN algorithm. The length of the data sequence was 1500. The number of samples used in the testing process was 100 for each model order. A comparison has been made between the performance of the MEV and the proposed ANN methods at different levels of SNRs. The following example demonstrates one case of ARMA model but the algorithm was trained for all varsities of orders through making subnet for each model order. When unknown model order is entered into these neural subnets; all of their results will pass to a decision layer which
190
K.E. Al-Qawasmi, A.M. Al-Smadi, and A. Al-Hamami
is responsible for giving the proper model order by checking each subnet results, all failed subnets will give zeros except the winner subnets. The proposed ANN was able to estimate the proper ARMA order from unknown inputs of an ARMA orders. Example: The time series to be considered (the true model) is given by: 0.32869 0.14741
1 1
0.63145 0.37376
2 2
0.4259 0.23653
3
3 .
(11)
This model has three poles and three zeros. The poles are located at 0.1156 0.8646 and 0.5598. The zeros are located at 0.4526 0.3276 and 0.7578. Fig. 3 shows the best performance for training, validation and testing datasets. The MSE for the validation error 9.58316 and the training error 6.2108 . The input signal was drawn using Gaussian distribution. The range of ARMA model orders to be considered is selected for 0,1, , and 0,1, , . In this example, 10. The ANN was applied to Equation (11) to estimate the ARMA model orders. Simulation with noise realizations based on different seeds values was performed 100 times using the proposed ANN algorithm and the MEV methods. The estimated ARMA orders are displayed in Table 1. Table 1. The number of 'correctly' estimated orders for the Example
SNR (dB)
ANN with BP
MEV
-5
0%
0%
-1
3%
0%
0
3%
0%
5
34%
0%
15
100%
49%
20
100%
82%
50
100%
100%
80
100%
100%
100
100%
100%
Different ARMA systems with different model orders such as (6, 4), (5, 3) were tested on the (3, 3) model order network. As expected, the network recognized that the orders are not (3, 3). Table 1 can be represented graphically as shown in Fig. 4.
Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation
191
Fig. 4. Comparison between the ANN algorithm and the MEV criterion at different SNRs
4 Conclusion Neural networks have been widely used in different scientific disciplines to solve a variety of problems in engineering and science. In this paper, a new technique for estimating ARMA model order has been proposed. The new method is based on modeling and designing ANN architecture for a special matrix constructed from the MEV criterion to estimate the ARMA model order. The new ANN-based algorithm has been tested on a number of simulated examples to determine the ARMA model order. A comparison has been made between the performance of the MEV and the proposed ANN methods at different SNRs. The simulation results showed that the proposed algorithm gives more accurate results than the MEV method. Also the algorithm is able to identify the model order accurately even when the observed data is heavily corrupted by Gaussian noise. The proposed algorithm was able to estimate unknown ARMA model order automatically, from the observed outputs data only, without any information about its true order.
References 1. Chen, Y.W., Chou, C.-C.: Correlation based Traffic Modeling of Sub-networks. Journal of Internet Technology, 277–283 (October 2003) 2. Akaike, H.: Fitting autoregressive models for prediction. Ann. Inst. Stat. Math. 21, 243– 247 (1969) 3. Akaike, H.: Statistical Predictor Identification. Ann. Inst. Statist. Math., 203–217
192
K.E. Al-Qawasmi, A.M. Al-Smadi, and A. Al-Hamami
4. Akaike, H.: A new look at statistical model identification. IEEE Trans. Automat. Contr. AC-19, 716–723 (1974/1970) 5. Al-Qawasmi, K., Al-Smadi, A., Al-Hamami, A.: A Robust ARX and ARMA Model Order Estimation via Pivot-Neighbors Comparisons. Recent Patents on Computer Science 3, 33– 38 (2010) 6. Al-Smadi, A.: A least-squares-based algorithm for identification of non-Gaussian ARMA models. Cir. Sys. Sig. Proc. 26(5), 715–731 (2007) 7. Al-Smadi, A.: Automatic identification of ARMA processes. Inter. J. Gen. Sys. 38, 29–41 (2009) 8. Al-Smadi, A., Wilkes, D.M.: Robust and accurate ARX and ARMA model order estimation of non-Gaussian Process. IEEE Trans. Signal Process. 50(3), 759–763 (2002) 9. Cigizoglu, H.K.: Incorporation of ARMA Models into Flow Forecasting by Artificial Neural Networks. Environmetrics 14, 417–427 (2003) 10. Demuth, H., Beale, M.: Neural Network Toolbox For Use with MATLAB, Version 5. The Math. Works, Inc. (2007) 11. Fausett, L.: Fundamentals of Neural Networks: Architectures, Algorithms and Applications. Prentice Hall, New Jersey (1994) 12. Groupe, D.: Principles of Artificial Neural Networks, 2nd edn. World Scientific Publishing, New Jersey (2007) 13. Hannan, E.J.: The estimation of the order of an ARMA process. Ann. Stat. 8 (1980) 14. Khashei, M., Bijari, M., Ardali, G.A.: Improvement of Auto-Regressive Integrated Moving Average Models Using Fuzzy Logic and Artificial Neural Networks (ANNs). Neurocomputing 72, 956–967 (2009) 15. Liang, G., Wilkes, D.M., Cadzow, J.A.: ARMA model order estimation based on the eigenvalues of the covariance matrix. IEEE Trans. on Signal Proc. 41(10), 3003–3009 (1993) 16. Rissanen, J.: Modeling by shortest data description. Automatica 14, 465–471 (1978) 17. Rojas, I., Valenzuela, O., Rojas, F., Guillen, A., Herrera, L.J., Pomares, H., Marquez, L., Pasadas, M.: Soft-computing techniques and ARMA model for time series prediction. Neurocomputing 71, 519–537 (2008) 18. Schwarz, G.: Estimation of the dimension of a model. Ann. Stat. 6(2), 461–464 (1978)
Benefits of Semantics on Web Service Composition from a Complex Network Perspective Chantal Cherifi1,2, Vincent Labatut1, and Jean-François Santucci2 1
Galatasaray University, Computer Science Department, Ortaköy Istanbul, Turkey 2 University of Corsica, UMR CNRS, SPE Laboratory, France
[email protected] Abstract. The number of publicly available Web services (WS) is continuously growing, and in parallel, we are witnessing a rapid development in semanticrelated web technologies. The intersection of the semantic web and WS allows the development of semantic WS. In this work, we adopt a complex network perspective to perform a comparative analysis of the syntactic and semantic approaches used to describe WS. From a collection of publicly available WS descriptions, we extract syntactic and semantic WS interaction networks. We take advantage of tools from the complex network field to analyze them and determine their properties. We show that WS interaction networks exhibit some of the typical characteristics observed in real-world networks, such as short average distance between nodes and community structure. By comparing syntactic and semantic networks through their properties, we show the introduction of semantics in WS descriptions should improve the composition process. Keywords: Web Services, Service Composition, Complex Networks, Interaction Networks, Semantic Web.
1 Introduction A Web Service (WS) is an autonomous software component which can be published, discovered and invoked for remote use. For this purpose, its characteristics must be made publicly available, under the form of a so-called service description. This file comparable to interfaces defined in the context of object-oriented programming lists the operations implemented by the service. Currently, production WS use syntactic descriptions expressed with the WS description language (WSDL), which is a W3C (World Wide Web Consortium) recommendation. Such descriptions basically contain the names of the operations and their parameters names and data types, plus some lower level information regarding the network access to the service. WS were initially designed to interact with each other, in order to provide a composition of WS able to offer higher level functionalities [1]. Current production discovery mechanisms support only keyword-based search in WS registries and no form of inference nor flexible match can be performed [2]. More advanced research (non-production) F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 80–90, 2010. © Springer-Verlag Berlin Heidelberg 2010
Benefits of Semantics on WS Composition from a Complex Network Perspective
81
approaches rely on comparing structured data such as parameters types and names, or analyzing unstructured textual comments [3-5]. This is generally not enough to distinguish WS in terms of functionality, and consequently makes it difficult, or even impossible, to use these methods to automate WS composition. Indeed, syntactically discovered WS must be manually validated to ensure they implement the desired behavior, leading to static, a priori compositions. To solve this limitation, the WS research community introduced semantics in WS descriptions, through the use of new semantic description languages. Different formats exist, among which we can distinguish purely semantic descriptions (OWL-S, a W3C recommendation), from annotated WSDL descriptions (WSDL-S and SAWSDL). Although those languages allow to associate ontological concepts with various elements of the description, the research community has been focusing only on the concepts qualifying the operations inputs and outputs. Retrieving semantic information is far more costly than collecting syntactic descriptions, even when considering only parameters. The latter can be performed quickly and completely automatically. The former is a long task, requiring human intervention to label each parameter with the proper concept. Annotation tools exist to help, but they are clearly not mature yet, and often defined for specific collections or languages [6, 7]. Maybe for these reasons, no semantic annotation language emerged as an industry standard. Although they appeared more than five years ago, all production WS still rely on WSDL. Even at a research level, very few publicly available significant collections of semantically annotated WS exist, making it very difficult to test new algorithms. This situation leads to one question: is describing WS semantically worth the cost? To our knowledge, no one did ever compare the information underlying syntactic and semantic WS descriptions. In this work, we try to tackle this problem from the service composition perspective, through the use of complex networks. We consider a set of WS as a broad interaction space, in which WS are related if they can be chained up in a composition process. We model this space by building so-called interaction networks, based on syntactic and semantic descriptions of a given WS collection. We assume that the information conveyed by the two different kinds of descriptions appears in the corresponding interaction networks. We then compare the syntactic and semantic descriptive approaches through the networks topological properties. Our main contributions are the formal definition of three types of semantic networks, an extended investigation of the WS networks topology and the comparison of syntactic and semantic networks. In section 2, we present complex networks and their main topological properties. Section 3 introduces interaction networks and explains how they can be extracted from WS descriptions. Section 4 is dedicated to the presentation and discussion of our experimental results, i.e. the obtained networks, their topological properties and how they compare. Finally, in section 5, we emphasize the original points of our work, discuss its limitations and their possible solutions.
2 Complex Networks Properties Complex networks are a specific class of graphs, characterized by a huge number of nodes and non trivial topological properties. Used in many different fields to model real-world systems [8], they have been intensively studied both theoretically and practically [9]. Because of their complexity, specific tools are necessary to analyze
82
C. Cherifi, V. Labatut, and J.-F. Santucci
and compare them. This is usually performed through the comparison of several wellknown properties, supposed to summarize the essential of the network structure. The distance between two nodes is defined as the number of links in the shortest directed path connecting them. At the level of the whole network, this allows to process the average distance and the diameter. The former corresponds to the mean distance over all pairs of nodes [9]. This notion is related to the small world property, observed when this distance is relatively small. The classic procedure to assess this property consists in comparing the average distance measured in some network of interest to the one estimated for an Erdős–Rényi (ER) network [10] containing the same numbers of nodes and links, since this random generative model is known to produce networks exhibiting the small world property [9]. In terms of dynamic processes, the existence of shortcuts between nodes can be interpreted as propagation efficiency [11]. Most real-world networks have the small world property. The diameter is the greatest distance over all pairs of nodes in the network. A network transitivity (also called clustering) corresponds to its density of triangles, where a triangle is a structure of three completely connected nodes. It is measured by a transitivity coefficient, which is the ratio of existing triangles to possible triangles in the considered network [11]. The higher this coefficient, the more probable it is to observe a link between two nodes which are both connected to a third one. A real-world network is supposed to have a higher transitivity than the corresponding ER network by an order of magnitude corresponding to their number of nodes, meaning their nodes tend to form densely connected groups. The degree of a node corresponds to the number of links attached to it. In a directed network, one can distinguish in and out degrees, i.e. the numbers of incoming and outgoing links, respectively. Nodes with a high in (resp. out) degree are called authorities (resp. hubs). The degree distribution of a network is particularly revealing of its structure. Most real-world networks have a power law degree distribution [9, 12, 13], resulting in the so-called scale free property. In other words, real-world networks contain a very few nodes with extremely high degree, and a massive number of nodes with very small degree. A component is a maximal connected sub graph, i.e. a set of interconnected nodes, all disconnected from the rest of the network. The component distribution and, more specifically, the size of the largest component are important network properties. Indeed, depending on the context, the fact the network is split in several separated parts with various sizes can be a direct representation of the modeled system effectiveness at doing its job. For example, in a communication network like the Internet, the size of the largest component represents the largest fraction of the network within which communication is possible [9]. Most real-world networks have a so-called giant component, whose size is far greater than the other components. A community is defined as a subset of nodes densely interconnected relatively to the rest of the network. Unlike components, communities are not necessarily disconnected from each other (and generally, they are significantly connected). Specific community detection algorithms must be used to identify them, leading to a partition of the overall nodes set. Most of them are dedicated to undirected networks, and only a very few recent tools can use the information conveyed by directed links. We chose to use a well tested program, and therefore focused on undirected links. We selected the Walktrap algorithm which exhibits good performances according to
Benefits of Semantics on WS Composition from a Complex Network Perspective
83
recent benchmarks [14]. To assess the quality of a network partition, the standard measure is Newman’s modularity [15], whose value also depends on the considered network structure. Consequently, its theoretical maximal value of 1 (perfect community structure and partition) is rarely reached, and in practice values between 0.3 and 0.7 are considered high [16]. A value of 0 represents a random partition or the absence of community structure. Many real-world networks have a community structure [9].
3 Interaction Networks Generally speaking, we define an interaction network as a directed graph whose nodes correspond to interacting objects and links indicate the possibility for the tail nodes to act on the head nodes. They can be considered as complex networks, and few authors used similar approaches to model collections of WS, using different granularity levels [17] and based on syntactic [17, 18] or on semantic [19-23] descriptions. In this work, we focused on networks of operations, because operations are the main point of interest when it comes to WS composition. We used both syntactic and semantic descriptions, since our goal is to compare the two types of WS descriptions. As stated before, a WS interface is defined under the form of a set of operations. An operation represents a specific functionality, described independently from its implementation, for interoperability purposes. Besides its functionality, it is characterized by two sets of input and output parameters, noted and , respectively. In a syntactic description, each parameter has a name and a type. This type is also defined independently from any implementation, again for interoperability reasons. Most of the time, the XML schema definition language (XSD) is used. In a semantic description, name and type are also generally specified, and an additional ontological concept is associated to the parameter, in order to give it a precise meaning. The most popular language used to describe these concepts is OWL, which also generally uses an XML representation. To represent a collection of WS description under the form of an interaction network of operations, we first define a node to represent each operation in the collection. Then, a link is drawn from an operation towards another operation iff for each input parameter in , a similar output parameter exists in . In other words, the link exists if and only if operation can provide all the information requested to apply operation . In Fig. 1, the left side represents a set of considered operations (numbers) and their input and output parameters (letters), whereas the right side corresponds to the associated interaction network of operations. All the second operation inputs ( , ) are included in the first operation outputs ( , , ), i.e. , so a link exists between these operations in the interaction network. On the contrary, neither the first nor second ( , ) operations provide , , ), which is why there is no all the parameters required by the third one ( link pointing towards the third operation in the interaction network. In the interaction network, a link between two operations therefore represents the possibility to compose them. Determining if two parameters are similar is a complex task which depends on the nature of the considered parameters (syntactic vs. semantic description) and on how the notion of similarity is defined. These factors are implemented under the form of a so-called matching function.
84
C. Cherifi, V. Labatut, and J.-F. Santucci
1
1
2
2
3
3
Operations
Parameter
Interaction Network
Fig. 1. Example of interaction network extraction
A matching function takes two parameters and , and determines their level of similarity [24], generally under the form of a value in 0,1 . It can be either symmetrical ( , , ) or asymmetrical, and its output can be either binary or real. When comparing two parameters, a real output allows representing various levels of similarity, which is a good thing because it conveys a more subtle information than a raw binary value. But it also results in a more complex processing during network generation, and possibly in a network containing weighted links. Yet, most of the standard tools we decided to use to compare networks are defined for unweighted networks only, so we selected only binary matching functions in order to avoid this situation. Because of the different nature of the concerned information, we used different matching functions to compare syntactically and semantically described parameters, resulting in syntactic and semantic interaction networks, respectively. For syntactic descriptions, we compare parameters names: two parameters are said to be similar if their names are the exact same strings. The semantic matching is performed using the ontological concept associated to the parameters. We selected the three operators classically used in previous WS-related works to compare ontological concepts [25]: exact (symmetrical), plug-in and subsume (both asymmetrical). The first corresponds to a perfect matching, i.e. both concepts belong to the same ontology and are exactly identical. The second means the concept associated to the first parameter is more specific than the other one; the third represents the fact the first concept is more general than the second one. Note more flexible matching functions can be defined, both for syntactic [26] and semantic [27-30] descriptions. Our main goal is to compare syntactic and semantic descriptions, not matching functions. We opted for standard and simple tools. In summary, we can extract four , and semantic exact , plug-in and distinct networks: syntactic equal subsume .
Benefits of Semantics on WS Composition from a Complex Network Perspective
85
4 Results and Discussion We extracted interaction networks from the SAWSDL-TC1 collection of WS descriptions [31, 32]. This test collection provides 894 semantic WS descriptions written in SAWSDL, and distributed over 7 thematic domains (education, medical care, food, travel, communication, economy and weapon). It originates in the OWLSTC2.2 collection, which contains real-world services descriptions retrieved from public IBM UDDI registries, and semi-automatically transformed from WSDL to OWL-S. This collection was subsequently resampled to increase its size, and converted to SAWSDL. An SAWSDL file describes a service both syntactically and semantically. This allowed us to extract our syntactic and semantic networks from the same collection, and to compare them consistently. Other publicly available collections exist, but they do not suit our needs for different reasons. The collection must be composed of a large number of real WS, described both syntactically and semantically. The ASSAM fulldataset and OPOSSum SWS-TC [33, 34] collections are only syntactic for the first and semantic for the second. The ICEBE05 test set (not available on line anymore) is a huge collection, but its descriptions have been artificially generated. SWS-TC and Jena Geography Dataset collections from OPOSSum [34, 35] are too small to be studied through our complex networks approach.
Fig. 2. Trimmed exact semantic network
. The giant component is located on the right side.
All the extracted networks contain many isolated nodes. They represent 44% of the total nodes in the syntactic network ( ), whereas this proportion is approximately 49% in the semantic networks ( , and ). All networks exhibit a giant , it contains 90% of the remaining nodes component. In the syntactic network,
86
C. Cherifi, V. Labatut, and J.-F. Santucci
and 99% of the remaining links. The others 5 components are much smaller ranging is separated in 8 distinct components, from 2 to 22 nodes. The semantic network the giant one containing 85% of the nodes and 98% of the links in the trimmed and ) present very network (see Fig. 2). The other semantic networks ( similar proportions. The fact distinct components exist reflects the decomposition of the collection into several non-interacting groups of operations. The presence of a giant component is a good property, because it means the number of possible interactions is high, allowing a large proportion of operations to participate in a composition. In the rest of this section, we focus on the giant components properties, discarding isolated nodes and smaller components. As shown in Table 1, the number of nodes and links is globally higher in the syntactic network, , than in the semantic networks. This is mainly due to the fact some operation parameters have exactly the same name and are therefore considered as equal in terms of syntactic matching, whereas they do not have the same meaning. For instance, two parameters can be both named parameter and represent completely different data. In terms of interaction, this kind of false positive matching results in inappropriate compositions. Using semantic information is supposed to decrease this ambiguity and improve the composition process. Table 1. Properties of the giant components Property Nodes Links Average distance Diameter Transitivity Communities Modularity
Syntactic
Semantic 395 3666 2.19 8 0.032 16 0.52
341 3426 1.87 4 0.022 12 0.50
369 2446 1.32 3 0.002 7 0.13
329 3864 1.39 3 0.027 4 0.07
As shown in Table 1, both syntactic and semantic networks exhibit small average distances: 2.2 and 1.3~1.9, respectively. By comparison, this distance is approximately ranging from 2 to 3 in ER random networks of comparable size, which means the interaction networks possess the small-world property. In other words, many short cuts exist in the networks, indicating one can find compositions implementing a requested functionality using a relatively small number of operations. The component diameter is a good indicator of the largest possible composition, which leads here to surprisingly small values (3~8) regarding the network size. This may be due to the fact the considered collection was initially designed to assess matchmaking functions, and not really composition processes. One may also observe the significant difference between syntactic (8) and semantic networks (3~4), which confirms our previous remark regarding how their connectivity differs. More than the syntactic/semantic opposition, this seem to be related to the matching function flexibility, since both average distance and diameter are smaller for plug-in ( ) and subsume ( ) than for exact network ( ).
Benefits of Semantics on WS Composition from a Complex Network Perspective
87
Unlike most real-world networks, the measured transitivity is relatively low for both syntactic and semantic networks. Indeed, as shown in Fig.2, operations are organized hierarchically, resulting in a network structure dominated by trees rather than triangles. This favors the apparition of hubs and authorities, the former corresponding to operations possibly usable by many other operations and the latter to operations possibly using many other operations. They play a central role in the composition process, and their failure can be critical. If some operation is a hub, its output is needed by many other operations. If it becomes unavailable, all these operations cannot be composed anymore, unless other operations providing them equivalent parameters exist. If some operation is an authority, it can be composed from many other operations, which makes it less sensitive to their failure. We fitted the networks degree distributions to the power law using the method proposed in [36]. We obtained almost zero p-values and therefore rejected this hypothesis, for all 4 networks. Even when analyzing these distributions empirically, it was difficult to interpret them, because no pattern seemed to emerge. We propose two explanations for this. First, power law fitting tests requires much data, and the size of the considered collection might be too small to allow a consistent analysis. Second, an important bias might have been introduced when the collection was resampled to increase its size, since this was certainly performed without any regard concerning the preservation of the degree distribution. However this is difficult to assess since we do not have access to this information, but only to the resulting collection. Of course, it is also possible our networks simply do not possess the scale free property. The Walktrap algorithm detected communities with a good modularity for equal and exact networks. This community structure seems to reflect the collection domains, i.e. there is a partial correspondence between the groups of operations retrieved from the network structure and those defined thematically. Indeed, it makes sense to observe denser relationships between operations belonging to the same application field, because it is likely they were designed to be complementary and interact with each other. The low modularity observed for plug-in and subsume networks ( , ) is certainly due to the looser matching function, leading to more links between operations from different domains.
5 Conclusion In this paper, we compared the information conveyed by syntactic and semantic WS descriptions, through the use of complex networks. For this purpose, we extracted 4 different interaction networks (1 syntactic and 3 semantic) from one collection of descriptions, using different matching functions. We processed, discussed and compared their topological properties. All four networks exhibit some properties observed in most real-world complex networks: small average distance, presence of a giant component and community structure. This globally reflects a large number of potential compositions. Some other properties expected from a real-world network are missing: transitivity is low and degrees are not power law distributed. We suppose this is due to the properties of the collection we analyzed, more precisely its hierarchical nature and the fact it was partially constituted by resampling.
88
C. Cherifi, V. Labatut, and J.-F. Santucci
When comparing syntactic and semantic networks, we observed the syntactic giant component was slightly larger, which might be due to the presence of false positives, i.e. operations irrelevantly connected. Although semantic giant components contain less links, their interconnection structure is more efficient, leading to a smaller average distance between operations (in terms of composition) and a smaller diameter (maximal composition size). We can conclude the introduction of semantics in WS description allows a more accurate representation of their potential interactions, and should consequently result in a more efficient search for composition processes, at least for the considered collection. When comparing only the three semantic networks, a clear distinction appears between the loose matching functions and the exact one. They lead to networks with even smaller diameters and average distances, corresponding to a larger proportion of links between the domains, which in turns result in a weaker community structure. This highlights the importance of the selected matching function. The approach of representing a WS collection with an interaction network is generally used in the context of composition mining, i.e. to find the best composition relatively to some criteria of interest [17-23]. Oh studied some of their topological properties, but only for syntactic networks, and did not consider the directed nature of the interaction networks nor their communities [17], which are of utmost importance in the context of WS composition. Additionally, this is the first time, to our knowledge, an analysis is conducted on the topology of semantic networks, and consequently on the comparison with syntactic networks. We can see two main limitations to our study, which we hope to solve in the near future. First, the collection we used is based on a set of real-world WS descriptions, but half of them were generated through resampling, so it cannot be considered as perfectly realistic. As a matter of fact, no other publicly available collection provides both syntactic and semantic descriptions for the same services, which is an indispensable prerequisite to a consistent comparison. The only solution we can see is to constitute our own collection, by semantically annotating a set of real syntactic descriptions. Second, we used a selected set of matching functions to extract the interaction networks. Many other functions exist, in particular more flexible syntactic distances [37] can be used to perform less strict comparisons of the parameters names. For semantic matching, more subtle subsume- and plug-in-based functions can also be derived, for instance by considering the geodesic distance between two concepts located on the same branch of an ontology. This could have significant implications on the resulting network properties, since it is directly related to the amount of false positives (nodes irrelevantly connected) and false negatives (nodes irrelevantly disconnected). Besides these improvements on data and matching functions, we plan to extend our work in two ways. First, we want to analyze in greater details the partial overlapping observed between communities and domains. It may correspond to operations shared between domains, which could be of great interest for a provider as they may be highly demanded. A related point is to test whether properties observed for the whole network are also valid for domains or sets of domains. Second, to confirm the observations we made on the network of operations, it is possible to extract and study equivalent networks at two other granularity levels [38]. We already performed the analysis of dependency networks at the parameters level [39], and plan to focus on interaction networks of whole WS very soon.
Benefits of Semantics on WS Composition from a Complex Network Perspective
89
References 1. Benatallah, B., Dumas, M., Fauvet, M.-C., Rabhi, F.A.: Towards patterns of web services composition. In: Patterns and Skeletons for Parallel and Distributed Computing, pp. 265– 296. Springer, Heidelberg (2003) 2. Sycara, K., Paolucci, M., Ankolelar, A., Srinivasan, N.: Automated Discovery, Interaction and Composition of Semantic Web Services. J. Web Semantics 1, 27–46 (2003) 3. Ma, J., Zhang, Y., He, J.: Web Services Discovery Based on Latent Semantic Approach. In: International Conference on Web Services, Beijing, CN, pp. 740–747 (2008) 4. Stroulia, E., Wang, Y.: Semantic structure matching for assessing Web-service similarity. In: International Conference on Service Oriented Computing, Berlin, DE (2003) 5. Wu, J., Wu, Z.: Similarity-based Web service matchmaking. In: Conference on Services Computing, Orlando, FL, vol. 1, pp. 287–294 (2005) 6. Hess, A., Johnston, E., Kushmerick, N.: ASSAM: A Tool for Semi-Automatically Annotating Semantic Web Services. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 320–334. Springer, Heidelberg (2004) 7. Gomadam, K., Verma, K., Brewer, D., Sheth, A.P., Miller, J.A.: Radiant: A tool for semantic annotation of Web Services. In: International Semantic Web Conference, Galway, IE (2005) 8. da Fontura Costa, L., Oliveira Jr., O.N., Travieso, G., Rodrigues, R.A., Villas Boas, P.R., Antiqueira, L., Viana, M.P., da Rocha, L.E.C.: Analyzing and Modeling Real-World Phenomena with Complex Networks: A Survey of Applications (2008), arXiv 0711.3199 9. Newman, M.E.J.: The structure and function of complex networks. SIAM Review 45, 167–256 (2003) 10. Erdos, P., Renyi, A.: On random graphs. Publicationes Mathematicae 6, 290–297 (1959) 11. Watts, D.J., Strogatz, S.H.: Collective dynamics of small-world networks. Nature 393, 440–442 (1998) 12. Albert, R., Jeong, H., Barabasi, A.-L.: The diameter of the world wide web. Nature 401, 130 (1999) 13. Boccaletti, S., Latora, V., Moreno, Y., Chavez, Y., Hwang, D.: Complex networks: Structure and dynamics. Physics Reports 424, 175–308 (2006) 14. Orman, G.K., Labatut, V.: A Comparison of Community Detection Algorithms on Artificial Networks. In: Gama, J., Costa, V.S., Jorge, A.M., Brazdil, P.B. (eds.) DS 2009. LNCS (LNAI), vol. 5808, pp. 242–256. Springer, Heidelberg (2009) 15. Newman, M.E.J., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69, 026113 (2004) 16. Newman, M.E.J.: Modularity and community structure in networks. PNAS USA 103, 8577–8582 (2006) 17. Oh, S.-C.: Effective Web Services Composition in diverse and large-scale services networks. Thesis, Pennsylvania State University (2006) 18. Liu, J., Liu, J., Chao, L.: Design and Implementation of an Extended UDDI Registration Center for Web Service Graph. In: International Conference on Web Services, Salt Lake City, UT, pp. 1174–1175 (2007) 19. Talantikite, H.N., Aissani, D., Boudjlida, N.: Semantic annotations for web services discovery and composition. Comput. Stand. Interfaces 31, 1108–1117 (2009) 20. Gekas, J., Fasli, M.: Employing Graph Network Analysis for Web Service Composition. In: Alkhatib, G.I., Rine, D.C. (eds.) Agent Technologies and Web Engineering (2008)
90
C. Cherifi, V. Labatut, and J.-F. Santucci
21. Shiaa, M.M., Fladmark, J.O., Thiell, B.: An Incremental Graph-based Approach to Automatic Service Composition. In: International Conference on Services Computing, Hawaii, HI (2008) 22. Kwon, J., Park, K., Lee, D., Lee, S.: PSR: Pre-computing Solutions in RDBMS for FastWeb Services Composition Search. In: International Conference on Web Services, Salt Lake City, UT (2007) 23. Hashemian, S.V., Mavaddat, F.: A Graph-Based Approach to Web Services Composition Symposium on Applications and the Internet, Trento, IT (2005) 24. Shvaiko, P., Euzenat, J.: A Survey of Schema-Based Matching Approaches. J. Data Semantics IV, 146–171 (2005) 25. Paolucci, M., Kawamura, T., Payne, T.R., Sycara, K.P.: Semantic Matching of Web Services Capabilities. In: International Conference on Web Services, Sardinia, IT, pp. 333– 347 (2002) 26. Kil, H., Oh, S., Lee, D.: On the Topological Landscape of Semantic Web services Matchmaking. In: Proc. of 1st International Workshop on Semantic Matchmaking and Resource Retreival (SMR 2006), Seoul, Korea, pp. 19–34 (2006) 27. Keller, U., Lara, R., Lausen, H., Polleres, A., Fensel, D.: Automatic Location of Web Services. In: Gómez-Pérez, A., Euzenat, J. (eds.) ESWC 2005. LNCS, vol. 3532, pp. 1–16. Springer, Heidelberg (2005) 28. Küster, U., König-Ries, B.: Evaluating Semantic Web Service Matchmaking Effectiveness Based on Graded Relevance. In: International Semantic Web Conference/Workshop on Service Matchmaking and Resource Retrieval in the Semantic Web, Karlsruhe, DE (2008) 29. Li, L., Horrocks, I.: A Software Framework for Matchmaking Based on Semantic Web Technology. In: International Conference on World Wide Web, Budapest, HU (2003) 30. Lecue, F., Delteil, A., Leger, A.: Applying Abduction in Semantic Web Service Composition. In: International Conference on Web Services, pp. 94–101 (2007) 31. Klusch, M., Kapahnke, P.: Semantic web service selection with SAWSDL-MX. In: International Semantic Web Conference, pp. 3–16 (2008) 32. SAWSDL-TC, http://projects.semwebcentral.org/projects/sawsdl-tc 33. ASSAM, http://www.andreas-hess.info/projects/annotator/index.html 34. SWS-TC OPOSSum Web Services Collection, http://hnsp.inf-bb.uni-jena.de/opossum 35. Jena Geography Dataset OPOSSum, http://hnsp.inf-bb.uni-jena.de/opossum 36. Clauset, A., Shalizi, C.R., Newman, M.E.J.: Power-Law Distributions in Empirical Data. SIAM Review 51, 661–703 (2009) 37. Cohen, W.W., Ravikumar, P.D., Fienberg, S.E.: A Comparison of String Distance Metrics for Name-Matching Tasks. In: Proceedings of IJCAI 2003 / IIWeb 2003, Acapulco, MX (2003) 38. Oh, S.-C., Lee, D., Kumara, S.R.T.: Effective Web Services Composition in Diverse and Large-Scale Services Networks. IEEE Transactions on Services Computing 1 (2008) 39. Cherifi, C., Labatut, V., Santucci, J.-F.: Web Services Dependency Networks Analysis. In: International Conference on New Media and Interactivity, Istanbul, TR (2010)
Clustering Analysis for Vasculitic Diseases Pınar Yıldırım1, Çınar Çeken2, Kağan Çeken3, and Mehmet R. Tolun1 1
Çankaya University, Faculty of Engineering and Architecture, Department of Computer Engineering, Ogretmenler Cad, No.14, 06530, Ankara, Turkey
[email protected] 2 The Ministry of Health of Turkey Antalya Education and Research Hospital, Department of Physical Medicine and Rehabilitation, Kazım Karabekir Cad, Soğuksu, Antalya, Turkey 3 Akdeniz University, Faculty of Medicine, Department of Radiology, Arapsuyu, 07070, Antalya, Turkey
Abstract. We introduce knowledge discovery for vasculitic diseases in this paper. Vasculitic diseases affect some organs and tissues and diagnosing can be quite difficult. Biomedical literature can contain hidden and useful knowledge for biomedical research and we develop a study based on co-occurrence analysis by using the articles in MEDLINE which is a widely used database.The mostly seen vasculitic diseases are selected to explore hidden patterns. We select PolySearch system as a web based biomedical text mining tool to find organs and tissues in the articles and create two separate datasets with their frequencies for each disease. After forming these datasets, we apply hierarchical clustering analysis to find similarities between the diseases. Clustering analysis reveals some similarities between diseases. We think that the results of clustered diseases positively affect on the medical research of vasculitic diseases especially during the diagnosis and certain similarities can provide different views to medical specialists. Keywords: Biomedical text mining, data mining, clustering analysis, vasculitic diseases.
1 Introduction The current biomedical databases such as MEDLINE contain massive wealth of knowledge in the form of scientific articles. Thus there is a great need for text mining techniques to process these texts in order to extract knowledge and to make discovery that is significant for the advancement of science [1]. Data mining on text has been designated at various sources as statistical text processing, knowledge discovery in text, intelligent text analysis, or natural language processing, depending on the application and methodology that is used [2]. In this paper, we introduce a clustering analysis technique for knowledge discovery of similarities between several vasculitic diseases. Vasculitis is an inflammation of the blood vessels, arteries, veins, or capillaries. Vasculitic diseases can result in organ and tissue damage, which can even lead to death. Signs and symptoms of these diseases F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 36–45, 2010. © Springer-Verlag Berlin Heidelberg 2010
Clustering Analysis for Vasculitic Diseases
37
vary widely in type and severity. Some are specific to a particular organ and others are non specific causing general aches, pains and fatigue [3]. Despite the difficulty making a definitive diagnosis of vasculitis, early diagnosis is important as these diseases do respond to appropriate treatments. For example, untreated Wegener’s disease has 100% mortality with an average survival of only 5 months. However, treatment of this disease achieves remission in 80-90% of patients, and with treatment the 5-year survival is around 75%. This illustrates the importance of being persistent to get a definitive diagnosis in patients with possible vasculitis [4]. Organs and tissues are important concerns for diagnosing vasculitic diseases. Thus, we develop a study to explore some undiscovered co-occurrence based disease-organ and disease-tissue associations for vasculitic diseases from MEDLINE articles.
2 Methods Our approach used for discovering similarities between vasculitic diseases consists of these steps: • • • •
Selecting 12 most common vasculitic diseases by interviewing a medical specialist and searching specific web sites such as American College of Rheumatology and Canadian Rheumatology Association (Table 1) Extracting organs and tissues and getting their frequencies from MEDLINE articles by using PolySearch biomedical text mining tool Converting MEDLINE articles to quantitative data and creating two separate datasets Applying hierarchical cluster analysis to find similarity between diseases Table 1. Number of articles for selected vasculitic diseases in MEDLINE
Diseases
Number of Articles
Behcet’s disease Wegener’s granulomatosis Polyarteritis nodosa Giant cell arteritis Kawasaki’s disease Henoch-Schönlein purpura Takayasu’s arteritis Goodpasture’s syndrome Churg-Strauss syndrome Drug-induced vasculitis ANCA-associated vasculitis Relapsing polychondritis
6,965 6,126 5,700 4,853 3,782 3,674 2,753 2,058 1,642 1,628 1,161 1,069
2.1 MEDLINE Bibliographic Database MEDLINE is a collection of biomedical documents and administrated by the National Center for Biotechnology Information (NCBI) of the United States National Library
38
P. Yıldırım et al.
of Medicine (NLM) [5]. The documents are available on PubMed web site. PubMed is a service of the National Library of Medicine that include over 18 million bibliographic citations from MEDLINE and other life science journals for biomedical articles back to 1950s. The full text of articles are not stored; rather, links to the provider’s site to obtain the full text of articles are given [6,7]. Each article in MEDLINE is indexed according to multiple fields, including title, abstract, author name, journal name, language of publication, year of publication and Medical Subject Headings (MeSH) thesaurus. The MeSH thesaurus is controlled vocabulary produced by the National Library of Medicine and used for indexing, cataloging and searching for biomedical and health related information and documents. A list of entry terms (synonymous or closely related terms) is given for each descriptor. In the MeSH thesaurus, descriptors are related by parent/child relations: each descriptor has at least one parent and may have several. The arrangement of MeSH descriptors from other hierarchies is intended to serve the purpose of indexing and information retrieval and does not always follow strict classificatory principles. The set of MeSH terms is manually assigned by biomedical experts who scan each article [6]. 2.2 Biomedical Text Mining Tools There are many types of web based tools for exploring and analyzing the biomedical literature. Most of them rely on the analysis of co-occurrences between biomedical entities such as diseases, drugs, genes, proteins and organs. In this study, PolySearch text mining tool is used to extract organ and tissue names from the articles. PolySearch can produce a list of concepts which are relevant to the user’s query by analyzing multiple information sources including PubMed, OMIM, Drugbank and Swiss-Prot. It covers many types of biomedical concepts including organs, diseases, genes/proteins, drugs, metabolities, SNPs, pathways and tissues [8]. Systems that provide similar functionality include XplorMed [9], MedlineR [10], LitMiner [11] and Anni [12, 13]. A distinguishing feature of PolySearch over other biomedical text mining tools is the fact that it extracts and analyses not only PubMed data, but also text data from multiple databases (Drugbank, SwissProt, HGMD, Entrez SNP, etc.). This integration of current literature text and database ‘factoids’ allows PolySearch to extract and rank information that is not easily found in databases alone or in journals alone [8]. PolySearch allows users, in an initial step, to select two basic types of biological entities of interest (e.g., genes, pathways, metabolities, or diseases), and then provides the option to retrieve and rank not only informative abstracts or sentences from the literature but also information from a set of multiple databases (e.g., Drugbank, SwissProt, HGMD and Entrez SNP) [13]. 2.3 Hierarchical Clustering Techniques Cluster analysis is one area of machine learning of particular interest to data mining. It provides the means for the organization of a collection of patterns into clusters based on the similarity between these patterns, where each pattern is represented as a
Clustering Analysis for Vasculitic Diseases
39
vector in a multidimensional space. Let us assume that X is a pattern. X typically consists of m components, represented in multidimensional space as: X=(X1,X2,…,Xm) Hierarchical cluster methods produce a hierarchy of clusters from small clusters of very similar items to large clusters that include more dissimilar items. Hierarchical methods usually produce a graphical output known as a dendogram or tree that shows this hierarchical cluster structure. Some hierarchical methods are divisive; those progressively divide the one large cluster comprimising all of the data into smaller clusters and repeat this process until all clusters have been divided. Other hierarchical methods are agglomerative and work in the opposite direction by first finding the clusters of the most similar items and progressively adding less similar items until all items have been included into a single large cluster [15]. In numeric clustering methods, the Euclidean distance is one of the common similarity measures and it is defined as the square root of the squared discrepancies between two entities summed over all variables (i.e., features) measured [16]. The basic agglomerative hierarchical clustering algorithm is as follows: 1. 2. 3. 4. 5.
Compute the proximity matrix Repeat Merge the closest two clusters Update the proximity matrix to reflect the proximity between the new cluster and the original clusters Until only one cluster remains
Figure 1 shows the result of applying the single link technique to data set comprising of six points. Figure 1 also shows the nested clusters as a sequence of nested ellipses, where the numbers associated with the ellipses indicate the order of the clustering. Figure 2 shows the same information, but as a dendogram. The height at which two clusters are merged in the dendogram reflects the distance of the two clusters [17].
Fig. 1. Single link clustering
40
P. Yıldırım et al.
Fig. 2. Single link dendogram
3 Results and Discussion All the datasets obtained from MEDLINE database are created by using PolySearch text mining tool. We create two datasets for organs and tissues. The system is used to extract organ and tissue names. After finding organ and tissue names and their frequencies and top ranked 10 of them are selected for each disease to form a dataset. One of the two dataset consists of 12 most common vasculitic diseases and the frequencies of 43 organs and the other dataset consists of same diseases and 40 tissues. The hierarchical clustering algorithm is applied on the datasets in order to find similarity between diseases and Cluster 3.0 software is used. Cluster 3.0 is an open source software and it performs a variety of types of cluster analysis and other types
Table 2. Clustered diseases by organs
Cluster1
Cluster2
Cluster3
Cluster4
Giant cell arteritis
Churg-Strauss syndrome Drug-induced vasculitis ANCA-associated vasculitis Behcet’s disease Wegener’s granulomatosis Relapsing polychondritis Takayasu’s arteritis
Kawasaki’s disease
Henoch-Schönlein purpura Goodpasture’s syndrome Polyarteritis nodosa
Clustering Analysis for Vasculitic Diseases
41
of processing on large microarray datasets. The software was originally developed by Michael Eisen while at Stanford University and modified by Human Genome Center in University of Tokyo [18]. After applying the hierarchical cluster algorithm on the datasets, two dendograms are produced by Cluster 3.0. The results of clustering are graphically browsed by TreeView software. TreeView supports tree-based and image based browsing of hierarchical trees [18].
Fig. 3. Dendogram showing clustered vasculitic diseases by organs
42
P. Yıldırım et al. Table 3. Clustered diseases by tissues
Cluster1
Cluster2
Churg-Strauss Behcet’s disease syndrome ANCA-associated Kawasaki’s vasculitis disease Drug-induced vasculitis Goodpasture’s syndrome Relapsing Polyarteritis polychondritis nodosa Takayasu’s arteritis
Cluster3
Cluster4
Giant cell Henoch-Schönlein arteritis purpura Wegener’s granulomatosis
The output of hierarchical clustering is a binary tree and not a set of clusters. It is usually not obvious how to define clusters from tree since clusters are derived by cutting the branches of the tree at more or less arbitrary points [19]. Since there is no explicit partition into clusters, we defined the clusters at the higher levels of the trees and we get general clusters. There are some nested clusters in the dendograms (Figure 3 and Figure 4) but we interpret them generally and we get Table and Table 3 which show clustered diseases. According to results, it is interesting that similarities between diseases vary on organs and tissues. Some diseases affect similar organs and tissues. For example, Churg-Strauss syndrome, ANCA-associated vasculitis, Druginduced vasculitis and Relapsing polychondritis are seen in same cluster in both of dendogram. This reveals that they have common features. Henoch-Schönlein purpura has its own cluster on the tissue based dendogram but considering the affected organs, it has some similarities with Goodpasture’s syndrome and Polyarteritis nodosa. Kawasaki’s disease and Giant cell arteritis have own clusters but they have some tissue similarities with other diseases. The other issue in this study, some organ and tissue names are identical. For example, lymphocyte is seen on both of dendograms showing organ and tissue clusters. There is no certain discrimination between organ and tissue names. This reveals that uncertainty usually exists in medical domain and the views of the medical specialist becomes important. In the literature, since the first classification of vasculitis by Zeek in 1952, many other classification systems have been proposed, but the lack of pathognomonic clinical and laboratory features, uniform histopathological expression, and unknown or incompletely understood etiology and pathogenesis for the majority of the disorders make it virtually impossible to achieve one classification with universal acceptance [20]. A variety of classification schemes have been proposed over the past 50 years, many predicated upon the size of the primary type of vessel involved in a given disease, as well as other considerations that include demographic features, organ tropism, the presence or absence of granulomatous inflammation, the role of immune complexes in pathophysiology and the association of autoantibodies with some forms of vasculitis [21].
Clustering Analysis for Vasculitic Diseases
Fig. 4. Dendogram showing clustered vasculitic diseases by tissues
43
44
P. Yıldırım et al.
According to some classification schemes, vasculitic diseases can be classified by the size of the predominant vessel affected [22]. Some diseases such as Behcet’s disease, Giant cell arteritis and Takayasu’s arteritis are classified in diseases affecting large vessel. Polyarteritis nodosa affects medium vessels and on the other hand, Churg-strauss syndrome, Henoch-Schönlein purpura and Wegener’s granulomatosis affect small vessels. If we compare these classes with our results, we can see some similarities. For example, Behcet’s disease and Takayasu’s disease are seen in same clusters in both of analyses of organ and tissue clustering. In this study, we use a web based text mining tool to extract organ and tissue names from MEDLINE abstracts. Most of the current text mining systems are based on processing MEDLINE records. Despite its practical relevance, only a few methods are able to process full text articles, in part because of difficulties related to the automatic retrieval of full text articles and copyright issues. Some recent initiatives based on collaboration with publishers could facilitate the future use of full text articles [13]. Considering this drawback, our study is not performed with the fulltexts of articles but can be applied to them as well.
4 Conclusion The goal of biomedical research is to discover new knowledge and put it to practical use in the form of diagnosis, prevention and treatment. Clearly with the current rate of growth in published biomedical research, it becomes increasingly likely that important connection between individual elements of biomedical knowledge [23]. In this study, we present knowledge discovery for disease-organ and disease-tissue associations. We use a web based text mining tool to extract organ and tissue names from MEDLINE abstracts and applied hierarchical clustering analysis to find similarities between diseases. In biomedical domain, vasculitic diseases affect many organs and tissues and thus several disciplines are involved with these diseases. In real life, biomedical researchers or physicians cannot read all the articles relevant to specific concept in the literature and cannot analyze them to explore hidden patterns. Our results reveal some similarities between the diseases and we hope that this can be useful for biomedical researchers and physicians for the diagnosis and treatment of vasculitic diseases.
References 1. Al-Mubaid, H., Singh, R.K.: A new text mining approach for finding protein-to-protein associations. American Journal of Biochemistry and Biotechnology 1(3), 145–152 (2005) 2. Solka, J.L.: Text Data Mining: Theory and Methods. Statistics Surveys 2, 94–112 (2008) 3. Vasculitis Foundation Canada, http://www.vasculitis.ca/ 4. Vasculitis Foundation, http://www.vasculitisfoundation.org/node/1589 5. Uramoto, N., Matsuzawa, H., Nagano, T., Murakami, A., Takeuchi, H., Takeda, K.: A text-mining system for knowledge discovery from biomedical documents. IBM Systems Journal 43(3), 516–533 (2004) 6. Zhou, W., Smalheiser, N.R., Yu, C.: A tutorial on information retrieval: basic terms and concepts. Journal of Biomedical Discovery and Collaboration 1(2) (2006)
Clustering Analysis for Vasculitic Diseases
45
7. United States National Library of Medicine (NLM), http://www.nlm.nih.gov/databases/databases_medline.html 8. Cheng, D., Knox, C., Young, N., Stothard, P.: PolySearch: a web-based text mining system for extracting relationships between human diseases, genes, mutations, drugs and metabolites. Nucleic Acids Research 36, 399–405 (2008) 9. Perez-Iratxeta, C., Pérez, A.J., Bork, P., Andrade, M.A.: Update on XplorMed: a web server for exploring scientific literature. Nucleic Acids Research 31(13), 3866–3868 (2003) 10. Lin, S.M., McConnell, P., Johnson, K.F., Shoemaker, J.: MedlineR: an open source library in R for Medline literature data mining. Bioinformatics 18(20), 3659–3661 (2004) 11. Maier, H., Döhr, S., Grote, K., O’Keeffe, S.: LitMiner and WikiGene: identifying problem-related key players of gene regulation using publication abstracts. Nucleic Acids Research 33, 779–782 (2005) 12. Jelier, R., Schuemie, M.J., Veldhoven, A., Dorssers, L.C., Jenster, G., Kors, G.J.A.: Anni 2.0: a multipurpose text-mining tool for the life sciences. Genome Biology 9(6) (2008) 13. Tsuruoka, Y., Tsujii, J., Ananiadou, S.: FACTA: a text search engine for finding associated biomedical concepts. Bioinformatics Applications Note 24(21), 2559–2560 (2008) 14. Krallinger, M., Leither, F., Valencia, A.: Analysis of Biological Processes and Diseases Using Text Mining Approaches. Bioinformatics Methods in Clinical Research Series: Methods in Molecular Biology 593, 341–382 (2009) 15. Holland, S.M.: Cluster Analysis. Depatrment of Geology, University of Georgia, Athens, GA 30602-2501 (2006) 16. Beckstead, J.W.: Using Hierarchical Cluster Analysis in Nursing Research. Western Journal of Nursing Research 24(307), 307–319 (2002) 17. Tan, P.N., Steinbach, M., Kumar, V.: Introduction to Data Mining. Addison Wesley, Reading (2006) 18. Open Source Clustering Software, overview, http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/cluster/ 19. Astikainen, K., Kaven, R.: Statistical Analysis of Array Data:-Dimensionality Reduction, Clustering. Research Seminar on Data Analysis for Bioinformatics 20. Sato, E.I., Coelho Andrade, L.E.: Systemic vasculitis: a difficult diagnosis. Sao Paulo Med. J. 115(3) (1997) 21. Saleh, A.: Classification and diagnostic criteria in systemic vasculitis. Best Practice& Research Clinical Rheumatology 19(2), 209–221 (2005) 22. Merck, http://www.merck.com 23. Cohen, A.M., Hersh, W.R.: A survey of current work in biomedical text mining. Briefings in Bioinformatics 6(1), 57–71 (2005)
Data Mining Technique for Medical Diagnosis Using a New Smooth Support Vector Machine Santi Wulan Purnami1,2, Jasni Mohamad Zain1, and Abdullah Embong1 1
Faculty of Computer System and Software Engineering, University Malaysia Pahang, Lebuh Raya Tun Abdul Razak 26300, Kuantan Pahang, Malaysia 2 Department of Statistics, Institut Teknologi Sepuluh Nopember (ITS) Surabaya Keputih, Sukolilo, Surabaya 60111, Indonesia Abstract. In last decade, the uses of data mining techniques in medical studies are growing gradually. The aim of this paper is to present a recent research on the application of data mining technique for medical diagnosis problems. The proposed data mining technique is Multiple Knot Spline Smooth Support Vector Machine (MKS-SSVM). MKS-SSVM is a new SSVM which used multiple knot spline function to approximate the plus function instead the integral sigmoid function in SSVM. To evaluate the effectiveness of our method, we carried out on two medical dataset (diabetes disease and heart disease). The accuracy of previous results of these data still under 90% so far. The results of this study showed that MKS-SSVM was effective to diagnose medical dataset, especially diabetes disease and heart disease and this is very promising result compared to the previously reported results. Keywords: data mining technique, classification, medical diagnosis, smooth support vector machine, multiple knot spline function.
1 Introduction One of the most commonly used data mining techniques is Support Vector Machine (SVM). Firstly, Support vector machines have been introduced by Vapnik [17] for solving pattern recognition and nonlinear function estimation problems. SVM is a new algorithm of data mining technique, recently received increasing popularity in machine learning and statistics community. SVM have become the tool of choice for fundamental classification problem of machine learning and data mining. Although many variants of SVM have been proposed, it is still an active research issue to improve them for more effective classification. Smoothing methods have been extensively used for solving important mathematical programming problems [1]. Lee, et al [8] has proposed a new formulation of support vector machines with linear and nonlinear kernels for pattern classification using smoothing methods. It is called Smooth Support Vector Machines (SSVM). In this study, we propose a new SSVM which used multiple knot spline function to approximate the plus function instead the integral sigmoid function in SSVM. We called Multiple Knot Spline Smooth Support Vector Machine (MKS-SSVM). To achieve high accuracy results, we used uniform design method [4] for selection parameter. In order to demonstrate the advantages of our approach, we carried out on two medical dataset, i.e. diabetes disease dataset and heart disease F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 15–27, 2010. © Springer-Verlag Berlin Heidelberg 2010
16
S.W. Purnami, J.M. Zain, and A. Embong
dataset. These dataset were obtained from UCI machine learning repository [10]. We chose these dataset because the accuracy of previous results fewer than 90%. So, a new method is proposed to increase the classification accuracy in this study. The rest of the paper is organized as follows: In section 2, we describe material and methods. Firstly, we describe two medical datasets, and then a brief introduction of SSVM, finally multiple knot spline smooth support vector machines is presented. In section 3, the experiment and results are provided. Finally, discussion and conclusions is given in section 4.
2 Material and Methods 2.1 Medical Datasets For the applications taken place in this study, two different datasets were used. There were medical datasets that consist of Pima Indian Diabetes and Statlog Heart Disease. Pima Indian Diabetes. The first medical dataset which used in our works is Pima Indian Dataset. This dataset is commonly used among researchers who used machine learning method for diabetes disease classification, so it provides us to compare the performance of our method with that of others. The dataset contains 768 samples and two classes. All patients in this database are Pima-Indian women at least 21 years old and living near Phoenix, Arizona, USA. The class distribution is: -
Class 1: normal (500) Class 2: Pima Indian diabetes (268)
All samples have eight features. These features are: 1. 2. 3. 4. 5. 6. 7. 8.
Number of time pregnant. Plasma glucose concentration a 2 h in oral glucose tolerance test. Diastolic blood pressure (mm Hg). Triceps skin fold thickness (mm). 2-h serum insulin ( μ U/ml). Body mass index (weight in kg/(height in m)2). Diabetes pedigree function. Age (years).
A brief statistical analyze is given in table 1 [13]. Table 1. Brief statistical analyze of diabetes disease dataset Attribute number 1 2 3 4 5 6 7 8
Min 0 0 0 0 0 0 0.078 21
Max 17 199 122 99 846 67.1 2.42 81
Mean 3.8 120.9 69.1 20.5 79.8 32 0.5 33.2
Standard deviation 3.4 32.0 19.4 16.0 115.2 7.9 0.3 33.2
Data Mining Technique for Medical Diagnosis
17
Heart disease. The second medical dataset which used in our works is Heart Disease Dataset. The Statlog Heart Disease dataset was obtained from V.A Medical Center, Long Beach and Cleveland Clinic Foundation from Dr. Robert Detrano. This dataset contains 270 samples with 13 attributes which are: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Age Sex Chest pain type (four values) Resting blood pressure Serum cholesterol in mg/dl Fasting blood sugar > 120 mg/dl Resting electrocardiographic results (values 0, 1, 2) Maximum heart rate achieved Exercise induced angina Old peak = ST depression induced by exercise relative to rest The slope of the peak exercise ST segment Number of major vessels (0-3) colored by fluoroscopy Thal: 3 = normal; 6 = fixed defect and 7 = reversible defect
The problem dataset is to predict the presence or absence of heart disease given of the attributes above. The statistic descriptive of this dataset can be presented in table below. Table 2. Brief statistical analyze of heart disease dataset Attribute number 1 2 3 4 5 6 7 8 9 10 11 12 13
Min 29 0 1 94 126 0 0 71 0 0 1 0 3
Max 77 1 4 200 564 1 2 202 1 6.2 3 3 7
Mean 54.43333 0.677778 3.174074 131.3444 249.6593 0.148148 1.022222 149.6778 0.32963 1.05 1.585185 0.67037 4.696296
Standard deviation 9.109067 0.468195 0.95009 17.86161 51.68624 0.355906 0.997891 23.16572 0.470952 1.14521 0.61439 0.943896 1.940659
2.2 Smooth Support Vector Machine (SSVM) In this session, we describe the outline of reformulation standard SVM [17] to SSVM. SSVM is proposed by Lee and Mangasarian at 2001 [8]. We begin with the linear case which can be converted to an unconstrained optimization problem. We consider n
the problem of classifying m points in the n-dimensional real space R , represented by the m x n matrix A, according to membership of each point Ai in the classes 1 or -1 as specified by a given m x m diagonal matrix D with ones or minus ones along
18
S.W. Purnami, J.M. Zain, and A. Embong
its diagonal. For this problem the standard SVM is given by the following quadratic program:
min
( w ,γ , y )∈ R n + 1 + m
1 w ′w 2
ve ′y +
s.t. D( Aw − eγ ) + y ≥ e
y≥0
(1)
Where, ν is a positive weight, y is slack variable and e is column vector of one of arbitrary dimension. Here w is the normal to the bounding planes:
x ′w − γ = + 1 x′w − γ = − 1
(2)
γ determines their location relative to the origin. The linear separating surface is the plane:
x ′w = γ
(3)
If the classes are linearly inseparable, the bounding plane as follows:
x′w − γ + yi ≥ +1, for x′ = Ai and
Dii = +1,
x′w − γ − yi ≤ −1, for x′ = Ai and
Dii = −1,
(4)
These constraints (4) can be written as a single matrix equation as follows:
D( Aw − eγ ) + y ≥ e
(5)
In the SSVM approach, the modified SVM problem is yielded as follows:
min
( w,γ , y)∈Rn+1+m
v 1 y′y + (w′w + γ 2 ) 2 2
s.t. D( Aw − eγ ) + y ≥ e y≥e
(6)
The constraint in equation (6), can be written by y = (e − D ( Aw − e γ ))+
(7)
Thus, we can replace y in constraint (6) by (7) and convert the SVM problem (6) into an equivalent SVM which is an unconstrained optimization problem as follows:
min v ( w ,γ )
2
(e − D( Aw − eγ ))+
2 2
1 + ( w′w + γ 2 ) 2
(8)
Data Mining Technique for Medical Diagnosis
19
The plus function ( x ) + , is defined as
( x ) + = max {0, xi } , i =1,2,3…n
(9)
The objective function in (8) is not twice differentiable. Therefore, it cannot be solved using conventional optimization method, because it always requires that the objective function’s Hessian matrix. Lee and Mangasarian [8] apply the smoothing techniques and replace x + by the integral of the sigmoid function:
(
)
1 p(x,α) = x + log1+ ε −αx , α > 0
α
(10)
This p function with a smoothing parameter α is used here to replace the plus function of (8) to obtain a smooth support vector machine (SSVM):
min
( w , γ )∈ R n + 1
v p(e − D( Aw− eγ ),α ) 2
2 2
1 + (w′w + γ 2 ) 2
(11)
For nonlinear un-separable problem requires choosing kernel function K to reflect the input space into another space. This model was derived from Generalized Support Vector Machines [9]. So the problem (6) can be approximated as following:
min
( u ,γ , y )
(
v 1 y' y + u'u + γ 2 2
2
)
s.t. D(K ( A, A' )Du − eγ ) + y ≥ e
y≥0
(12)
Same as previous, it is obtained the SSVM for inseparable problem:
(
)
v 1 2 (13) p(e − D(K( A, A')Du − eγ ),α ) 2 + u' u + γ 2 2 2 Where K ( A, A') is a kernel map from RmxnxRnxm to Rmxm . We use Radial Basis Function kernel as follows:
min ( u ,γ )
e
− μ Ai − A j
2 2
,
i,j = 1,2,3….m
(14)
2.3 Multiple Knot Spline Smooth Support Vector Machine (MKS-SSVM) SSVM which has been proposed by Lee, et al [8] is very important and significant result to SVM because many algorithms can be used to solve it. In SSVM, the smooth function in objective function (13) is the integral of sigmoid function (10) to approximate the plus function. In this paper, we propose a new smooth function which called multiple knot spline function instead the integral of sigmoid function. The formulation and performance analysis of new smooth function and how to construct to new SSVM will be described as follows: Formulation of Multiple Knot Spline (MKS) Function. The multiple knot spline function is modification of the three order spline function introduced by Yuan, et al [16]. We recall the three order spline function as follows:
20
S.W. Purnami, J.M. Zain, and A. Embong
⎧ ⎪ ⎪ t ( x, k ) = ⎨ ⎪− ⎪⎩
if x < − k1
0, 2
k 6 2
k 6
x 3 + k2 x 2 + 12 x +
x + x + x+ 3
k 2
2
1 2
1 6k 1 6k
, if −
,
x,
1 k
≤x 0)) Then drTemp = dtTemp.Select(String.Format("To_Node_ID={0}", lngToNodeID)) For Each dr As Data.DataRow In drTemp Try Dim lngFromNodeIDTmp As Long = dr("From_Node_ID") dtTemp.Rows.Remove(dr) intSteps += 1 strPath = strPath & "," & lngFromNodeIDTmp boolBuildConnectionPath(dtTemp, lngFromNodeID, lngFromNodeIDTmp, strPath, False, intSteps) Catch ex As Exception Return False End Try Next Else 'compare with previous path length ReDim Preserve intPathSteps(intPathIndex) If intPathIndex > 0 Then For Each intTemp As Integer In intPathSteps If intTemp > intSteps Then strPublicPath = strPath End If Next Else strPublicPath = strPath End If intPathSteps(intPathIndex) = intSteps intPathIndex += 1 End If End Function
450
M. Beydoun and R.A. Haraty
We have two functions strFetchConnectionPath and boolBuildConnectionPath that will be explained next. The strFetchConnectionPath as mentioned earlier will consume the returned result set and check if it contains the destination node. If the destination node exists in the result set then a call to the function boolBuildConnectionPath will be done to build the actual shortest path between the two nodes. The boolBuildConnectionPath will build all different paths between the given two nodes. The path steps are stored in an array and the comparison is done at the end of each path creation. At the end, a comma separated string will be returned to indicate the shortest path between two given node if it exists or a “Those nodes are not connected” message if they are not. Additional methods can easily be added to encapsulate a full graph class, those methods are: boolAddNode (intFirstNodeID, intSecondNodeID, boolStatus, boolAppear, dtDate, bool2way) as Integer.This method will add a node to the graph and link it to a previous node. It is good to note that adding an orphan node ‘O’ will be done using the following syntax: boolAddNode(‘O’,NOTHING,1,1,Now(),True). This will create a node called ‘O’ that is not linked to any other node in the graph. The bool2way parameter will instruct the function to create the directed paths from the first node to the second node and vice versa. If it is set to true, or a one way direction from the first node to the second if it is set to false. The boolAddNode will return a Boolean flag value presenting the success/failure of the method back to the calling function. To delete a node link or a node completely we will implement the following methods: boolDeleteNodeLink (Auto_ID) as Boolean boolDeleteNodeLink (Node_ID) as Boolean The first method will delete a row in the graph table according to its Auto_ID value. This is useful to delete a single path between two nodes. The second method is an overload of the first method that will delete all the paths that the specified node is a partner in; hence, deleting the node and all its paths. Similar methods can be added to accommodate for updating the nodes. A point of interest would be to replace the current implementation with nested sets, nested sets means that a whole sub tree or a sub graph can be easily retrieved without looping or recursion but of course this will add upkeep cost to inserts, updates and deletes. Also updating our algorithms a bit we can use it to find ‘reach-ability’, or where we can go from a certain node. In our specific case, find all friends of a certain individual.
Directed Graph Representation and Traversal in Relational Databases
451
In the next section, we will present an example of a social network. The nodes in the graph represent people, the paths between these nodes represent that those two individuals are friends or ‘connected’. For the sake of simplicity we will assume that our graph is not directed; however, our method takes into consideration directed graphs since we represent each direction of a path in a separate row. Simple Example Assume the following graph depicted in figure 1:
Fig. 1. A small friend’s network
The above graph describes a small friends’ network and who each person has access to in terms of direct friends. For example, Moe is friend with Mary, Lara, John and Rola. Rola in turn is friend with Lama, Joe and Moe. For the sake of simplicity we will assume that each path is bi-directional. However, our approach will also work with directional paths since those are represented differently in the database; i.e. Rola friend with Lama but Lama is not friend with Rola. The above graph represented in a tabular format in the DBMS would look like Table 2. This graph is built by calling the boolAddNode function: boolAddNode (‘John’, ‘Moe’, True, True, ‘1/1/2009’, True) Æ INSERT INTO FriendsList (First_Node_ID, Second_Node_ID, Status_ID, Appear) VALUES (‘John’, ‘Moe’,1,1) Æ INSERT INTO FriendsList (First_Node_ID, Second_Node_ID, Status_ID, Appear) VALUES (‘Moe, ‘John’,1,1)
452
M. Beydoun and R.A. Haraty Table 2. Friends network
Auto_ID First_Node_ID Second_Node_ID Status_ID Appear
Time_Date
1
John
Moe
1
1
1/1/2009 0:00
2
John
Lama
1
1
1/2/2009 0:00
3
Mary
Moe
1
1
1/3/2009 0:00
4
Mary
Walid
1
1
1/4/2009 0:00
5
Moe
Mary
1
1
1/5/2009 0:00
6
Moe
John
1
1
1/6/2009 0:00
7
Moe
Rola
1
1
1/7/2009 0:00
8
Moe
Lara
1
1
1/8/2009 0:00
9
Rola
Lama
1
1
1/9/2009 0:00
10
Rola
Moe
1
1
1/10/2009 0:00
11
Rola
Joe
1
1
1/11/2009 0:00
12
Lama
John
1
1
1/12/2009 0:00
13
Lama
Rola
1
1
1/13/2009 0:00
14
Joe
Rola
1
1
1/14/2009 0:00
15
Joe
Lara
1
1
1/15/2009 0:00
16
Lara
Moe
1
1
1/16/2009 0:00
17
Lara
Joe
1
1
1/17/2009 0:00
18
Lara
Omar
1
1
1/18/2009 0:00
19
Omar
Lara
1
1
1/19/2009 0:00
20
Omar
Walid
1
1
1/20/2009 0:00
21
Walid
Mary
1
1
1/21/2009 0:00
22
Walid
Omar
1
1
1/22/2009 0:00
Now we would like to test if there exist a path between two nodes, Walid and Joe as an example. By observing the graph we notice that Joe can be reached from Walid using three different routes Route 1: Walid Æ Mary Æ Moe Æ Role Æ Joe Route 2: Walid Æ Omar Æ Lara Æ Joe Route 3: Walid Æ Mary Æ Moe Æ John Æ Lama Æ Rola Æ Joe First we need to build the Reached heap, we do this by calling the following MySQL stored procedure defined earlier: SP_Fetch_Adjacency Using the following syntax: SP_Fetch_Adjacency (‘Walid’,’Joe’,10) The result will be a table (Table 3) listing all different routes from ‘Walid’ to ‘Joe’ called Reached:
Directed Graph Representation and Traversal in Relational Databases
453
Table 3. The Heap
First_Node_ID
Second_Node_ID
Root
Walid
Walid
Mary
Walid
Omar
Mary
Moe
Mary
Walid
Omar
Lara
Omar
Walid
Moe
Mary
Moe
John
Moe
Rola
Moe
Lara
Lara
Moe
Lara
Joe
Lara
Omar
The function strFetchConnectionPath called with the proper argument will build the following heap: strFetchConnectionPath(‘Walid’,’Joe’,10) will iterate thru the heap to identify if there exist a path between Walid and Joe using a linear seek (see Table 4). Table 4. Paths Array
Path Steps
Path
5
Walid, Mary, Moe, Role, Joe
4
Walid, Omar, Lara, Joe
7
Walid, Mary, Moe, John, Lama, Rola, Joe
If a path is found – if the node Joe is found in the heap – then a call to boolBuildConnectionPath is carried out. boolBuildConnectionPath will recursively build all possible paths between the two given node and give priority to the shortest in each iteration. The result will be the shortest path between two given node.
4 Results and Discussion Graph problems were always computationally heavy, and the proposed method in this paper is not that different. However, our method is built using an existing foundation (the DBMS), and this foundation has been well-established in what relates to fast query execution and fast data access. This gives it the edge over its counterparts and
454
M. Beydoun and R.A. Haraty
hopefully will help orient future investment in that direction. In order to evaluate the efficiency of the proposed method, we will split it into the different algorithms used: Algorithm 1 or the MySQL Stored Procedure used to create the adjacency list (HEAP). Algorithm 2 or the .NET method: strFetchConnectionPath. Algorithm 3 or the .NET method: boolBuildConnectionPath. Algorithm 1 is the MySQL stored procedure in listing 3.2. This procedure will recursively fetch all adjacent nodes of a given starting node, and then the adjacent nodes of all the nodes fetched in the first iteration and so on. This is executed till either the required node is found or till the maximum depth specified is reached. Since the first encounter of the target node is guaranteed to produce one of the shortest paths available the algorithm will stop at that stage. If we want to return all the possible paths between two different nodes we can easily omit this section and the procedure will run till it reaches the maximum depth specified. Analysis of this algorithm is straightforward, with each step the amount of work is growing exponentially. Depending on the graph type (sparse or dense) this maps to an O(n2) notation. n being the number of nodes in the graph. Algorithm 2 will traverse the heap linearly. This maps to an O(n) notation. n being the number of nodes in the graph. Finally, algorithm 3 will build the connection path in the heap. Also this traversal is linear and at the end another linear comparison will be performed on the result set to find the shortest path. This also maps to an O(n) notation. n being the number of nodes in the graph. The major performance issue is in algorithm 1. This algorithm is recursive by nature. It is the core of the proposed traversal algorithms and it shares its computational complexity with most of its traversal counterparts. However, since this method relies heavily on SQL fetch mechanisms which are optimized methods for fast data retrieval then it has a slight advantage over simple file read operations. Also the fact that the heap will be stored in memory and directly accessed by the SQL engine is an additional performance boost to the algorithm.
5 Conclusion Those proposed algorithms are a great start and a first step in identifying future trends of graph usage in relational databases. The world of relational databases and graphs are slowly merging into one. Hence, we see the growth of some graph engines that are used to store relational database information and vice-versa [9]. This growth is starting to materialize in everyday’s business problems. On one hand most data-mining systems rely heavily on crawling and traversal from one bit of information to the other. On the other hand data storage systems (DBMS) are here to stay since they provide a resilient and accessible system for fast data retrieval and safe data storage. That is why most of the commercial database management systems are adopting the new trend by implementing proprietary functions into their existing engines. Some of the vendors have scheduled native support for hierarchical data into future releases of their engines. Not forgetting the rise of new data-oriented systems. Such systems focus entirely on data values and representing this data in an optimal manner. Most of
Directed Graph Representation and Traversal in Relational Databases
455
such data is hierarchical or relational and requires extensive use of tree-like structures and graphs [10]. While definitely crude, the proposed method will help orient future progress in this domain, especially when it comes to representing a directed graph easily and traversing it to find the shortest path between two distinct nodes stored in a MySQL database engine. Acknowledgements. This work was funded by the Lebanese American University.
References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Tripbot. Tripbot Friends, http://www.tripbot.com Mulliuns, C.: The Future of SQL. IDUG Solutions Journal (1998) Graph Theory, http://en.wikipedia.org/wiki/Graph_Theory Microsoft. MSDN - Microsoft Developer Network, http://www.msdn.com Oracle Communities, http://www.oracle.com/us/community/index.htm Celko, J.: Joe Celko’s Trees and Hierarchies in SQL for Smarties. Morgam Kaufmann, New York (2004) IBM DeveloperWorks, http://www.ibm.com/developerworks/ MySQL Reference Manual, http://dev.mysql.com/doc/mysql/en/ Team, N. Neo4J Graph Database, http://neo4j.org/ Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. John Wiley & Sons, Chichester (2003)
Dynamic Properties of Knowledge Networks and Student Profile in e-Learning Environment Radoslav Fasuga, Libor Holub, and Michal Radecký VŠB Technical University of Ostrava, Department of Computer Science, 17. Listopadu 15, 708 33 Ostrava-Poruba, Czech Republic {radoslav.fasuga,labor.holub,michal.radecky}@vsb.cz
Abstract. Goal of this article is to describe relevant data structures that can be used for future adaptation of study materials. This Article provides discussion about three basic e-learning areas of interest. First part describes material structure by adding descriptive attributes and behaviors through Explanation and Tests. Second part is oriented to Student. Student profile, which represents virtualized profile of student requirements, its preferences, actual knowledge, requested knowledge etc., is produced in background In third part there are discussed possibilities of usage of Student objective and subjective response to find optimal explanation for particular student. Last part is oriented to implementation of the knowledge network structure and the model scheme of requested modules. Article discuses benefits of the automatic study material adaptation in opposite to the adaptation based on rules defined by authors.
1 Introduction E-learning is relevant part of education process. Lot of student activities and education can be produced through multimedia in a virtual education environment. In blended learning the most frequently used education form is distance learning where Tutor has the important role as a consultant for student. Many student face similar problems during the study process and Tutor provides them with similar or the same support [1.]. An interesting approach for adaptation process is oriented to semantic web [2.]. In opposite point of view there is a practical problem connected with creating ontology etc. Authors of study materials have some issues with understanding semantic web principles. Our approach is oriented to non-informatics teachers that have no idea about theory of artificial intelligence, semantic web, or Petri nets. First we start with traditional theory of Bloom taxonomy for cognitive knowledge. [3.] [4.] Basing on this theory we are able to respect traditional pedagogical approach for the study material construction and also we are able to create transparent data structures that can be used as a background for study material description. [5.] Best part of the solution is fact, that authors are not limited by technology. They can create study content with own style with adding some simply content descriptors. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 203–214, 2010. © Springer-Verlag Berlin Heidelberg 2010
204
R. Fasuga, L. Holub, and M. Radecký
2 Study Material Content Description A knowledge base is a fundamental part of intelligent education system. Basing on this we can give to a student the best content prepared for his actual knowledge and skills. The basic requirements are producing simple and transparent approach without any special requirements for building a set of term, their external relationship and internal content description (Fig. 1.). [7.] [8.]
Term Internal structure Test module Term header (set of available metadata)
Explanation module Explanation – Variant 1 (link to content + descritptive attributes)
Explanation – Variant 2 (link to content + descritptive attributes)
Pre-Test Input test 1 (link to content + descritptive attributes)
Input test N (link to content + descritptive attributes)
Final-Test Final test 1 (link to content + descritptive attributes)
Final test N (link to content + descritptive attributes)
Post-Test Explanation – Variant N (link to content + descritptive attributes)
Feedback modul
Longtime test 1 ((link to content + descritptive attributes)
Longtime test N (link to content + descritptive attributes)
Progress log (store information about actvivities uppon given term and their internal structure)
Study results protocol (with coordination to test module are stored summary information from test and other evaluation)
Feedback elements (include whole intention, oriented to given term received from students, tutors, and author team members. Sources are also quizis and ancetas results, questinos and responses. Also is included links to communication tools such as discusion, chat, email, video lectures etc.
Fig. 1. Internal content description / Term description
For interconnections between terms we can use a set of possible relationships, which can be divided into several dimensions (Fig. 2). We can describe antecedent and consequents, preamble and conclusion, specialization and generalization, and equivalent terms. The most interesting possibility is producing interdisciplinary relationships. Here we can produce, for example, relation between mathematic principles of physic theory. By this way of explanation we can produce a set of requested terms. Now we can start using a large set of adaptive algorithms which can find the best explanation method for particular student and requested criteria. If our (suggested) explanation is not accepted we can use the different one (if available). After all of possible explanations for specific term have been used, and our student still doesn’t understand given information, we can try to investigate if he knows all requested preamble for this term. For example we explain elementary multiplication for basic school. We try to
Dynamic Properties of Knowledge Networks and Student Profile
205
use all possible explanation methodology without any sense. Now we’re trying to test their prerequisites for this term, such as elementary addition and exception. By this way we can answer non-common question only that’s not possible to solve by our knowledge network and the available algorithms. [10.] As a last step we can suggest to student contact with (human) Tutor who can help him with his unique problems. These situations can be accumulating into knowledge network for future use. [9.]
Preambule 1
nebo
Preambule 2
Collected preamble
Preambule N
Direct Preambule Generalization
Common Term
Detailed Term
Specialization Ekvivalentní Term
Eqivalent term
Actual Term
Podtermy Sub-Term 1
Term X Part conclusion Direct conclusion Conclusion
Colclusion
Sub-Term N
Fig. 2. Relationships between terms
Based on the going through methods [6.] we can setup the knowledge network into several states: • Passing without restriction – knowledge network is full available, without ability for content adaptation. • Problem oriented passing – represented in graph network as an optimal way for fast understanding all required problems. Because it is possible to define them into levels of relevancy, it is available to find few explanation ways in units based on problems: show just necessary terms, show all terms, show terms from previous units for repetition, etc. • Passing defined by author – this position is a sequential explanation list manually defined by the authors, based on their experiences represented in the best way in the actual teaching unit • Individual optimal passing – next explanation variant that contains human factor from the student point of view. Based on statistical evaluation of passing through the process for individual student we can observe an optimal explanation way that cannot be identical with supported explanation ways (authors experiences, or paths generated by system) This process can be affected by previous groups of students and cannot be correctly used for the current student. For the actually logged student we can design
206
R. Fasuga, L. Holub, and M. Radecký
optimal path using his/her own previous success, failures, study score, and inspected modules (units). This way is called as: • Education based on previous knowledge – accepted and unaccepted terms • Education based on individual skills – memory skills, education styles, and other possibility provided. These variants of explanation can be combined together. When the “correct system” is used, then it is possible to combine and produce statistical evaluation of these methods
Building teaching units
Knowledge base
Comunication
Global scheme
Virtual teacher
Protocol of activity Jump prediction
Explanation approach
Inter-unit approach
Dialog Element explanation
Colision detection
Fig. 3. Scheme for knowledge base building and usage
3 Student Profile In order to provide for each student his optimal knowledge interpretation, it is necessary to know the student's characteristics. Each personality can be characterized by too many features, and many of them have an impact on the learning process. But for using them for managing the adaptation process of teaching, they need to be detected and recorded. Generally, all types of student characteristics differ by identification information, basic characteristics, habits, learning environment, knowledge and description of the behavior of the student. The basic characteristics of the student related to study, as follows: • type of intelligence • type of memory • learning style • sensory abilities • and more Among the study habits can be classified as: • study the systematic, continuous batch, or vice versa, at the last minute • the use of additional resources, or just basic textbook
Dynamic Properties of Knowledge Networks and Student Profile
207
• learning by heart without the need for understanding the content • and much more Studying the environment includes: • family background • Social Environment • motivation to learn • and more It deals with the methods for their identification, their records, and their use for adaptation. Adaptation to these "static" characteristics plays an important role, especially at the beginning of study until when system still does not know the student's behavior and knowledge. Other, "dynamic" characteristics, such as knowledge or learning behavior relate not to students only, but to the study subjects and learning process too. Student profile as we understand contains: first his static properties registered in the subsystem student, the dynamic properties, obtained by analyzing its behavior during the study and, finally, about his knowledge. Particular subject is defined by a set of target knowledge and skills that students should obtain after successful completion of the course. In our case, an ideal set has been entered. 3.1 Acquired Knowledge and Skills The required knowledge of terms is the state-managed, a student can forget. So, to record these facts and turn them into a state of lost the repeated testing is possible to conduct. At the same time you can determine the curve of forgetting student knowledge. It may be further used to work with priority terms, consolidate their position in the process of remembering. This data also give us information on the dynamic characteristics of the student, so he can be advised on the further development of his professional personality (Fig. 4.). Student Profile
Knowledge base
Image of terms of the knowledge network for a particular student Misunderstood terms Target terms
Student indetification
Student profile
Term Term
b
Term
Term
Term
Term Term
Term Term
d a
Understanding, adoption, cached Terms
Sensitive abilities
Prefered = Dedicated skills
Temporary Knowledge Common properties
Term Term
Term
e
Long-time knowledge Term Term
Term Term
Term
Term
Term
Study style
Term
Lost terms
Term mapping
Term
Term
c Term Term Term
Term
Term Term
Term Term
Fig. 4. Profile of a student with a detailed breakdown of knowledge representation (description of terms of admissible states in the profile of the student and their possible transitions)
Image of terms of a particular student's knowledge networks – it is a set of concepts whose mastery is required, or is already acquired. Each term, transferred to the profile of the student, can take the following conditions:
208
R. Fasuga, L. Holub, and M. Radecký
• Target terms - a set of terms, which the student has been acquired during the study, this set includes both the newly added terms and the forgotten terms, which recovery requires repeated knowledge. • Misunderstood term - a set of terms, which students do not understand, and studying of the term should be successfully mastered to the subsequent testing. • Understanding, adoption, cached terms - a set of terms that students understand and handle the final review of the required level of knowledge successfully. Temporary a term - it is a set of secondary (support) skills that are necessary for understanding the primary substance, but they have less importance in the long run and may be forgotten with time. • Long term – a set of primary (important) skills that will be used for a long time, and thus their continuous repetition, strengthening and complementing, extending and responding to new ideas, changes and requirements are needed. • Lost term - a set of terms of primary and secondary skills that student forgot with time and did not pass the verification knowledge test. Possible transition states of terms in the student profile - such a mapping may be reasonable among the above-mentioned sets of terms. • Assignment of terms - The process of inclusion of terms in the student profile. The term is also given on the definition of interpretative procedures used for a given term, which have been successful or unsuccessful, and testing procedures to verify formal knowledge. Mapping can be dynamically updated based on changes in knowledge or changes in network requirements of a particular student • Acquisition of terms [A] - The process of study selected by term variations in the interpretation process and its subsequent verification by the appropriate test procedure • Misunderstanding term [B] - This is a set of terms that a student was not able to understand through all the processes of interpretation, and therefore their adoption through a live tutor is recommended. • The process of forgetting [C] – term when the chapter author sets the significance of the subject - primary and secondary terms. The primary terms usually require periodic recurrence of the acquired knowledge and skills. If student fails the repeated test (with different specified time interval), the term is considered to be forgotten. • Request re-learning forgotten term [D] - Lost terms may be reinstated to the required set of terms, so the student will have to be re-examined and demonstrate their knowledge. • Reclassification of significance term [E] - Distinction whether the term is primary or secondary. The term significance may be dynamically re-evaluated during the study, where increasing its relevance moves it to the primary set of terms and a reduction of significance to the secondary one. 3.2 Profile of Student Knowledge The profile contains the knowledge which the student has got entering the school and it has been assessed at the very beginning of the learning process. As a basic profile of
Dynamic Properties of Knowledge Networks and Student Profile
209
knowledge, we can understand the type of high school at the commencement of study at university. According to the obtained knowledge (secondary school curriculum with its structure significantly different) it is subsequently determined the terms which the student needs to handle before he starts to study the chosen subject. There will be complete knowledge in order to start studying the desired object. Author, studied the content of the course, and is not being forced to substitute the high school curriculum, only define the test, which will include information about relevant preparation of the content for the student. The knowledge profile can be added manually by the tutor when the student has got acquired knowledge outside the system (e.g. laboratory exercises, physical activity, etc.). It represents not only cognitive, but also affective and psychomotoric areas. The knowledge profile is able to record all of its structure. Such information can be used any time when the student begins to study (lifelong learning), or can be exported to an electronic or printed form, and may serve to the students as an evidence of the acquired knowledge. We create a virtual profile of a student on the basis of adaptation can be carried out and selection of appropriate interpretation techniques.
4 Dynamic Properties of Knowledge Networks and Student Profile Among the most important elements that can be used for adaptation and simulation of the behavior of virtual tutor it is the log of study activities over the said terms. Based on the values obtained, we can extract and add the dynamic properties of knowledge network and the student. With progress of teaching these features can be used as dynamic and responsive to the current situation. An important condition is to have possibility to add manually (or automatically) all activities conducted in a virtual learning environment. Incomplete information may cause inaccurate evaluation of information. These can then lead to a poor response to the virtual learning environment resulting from conflict situations (Fig. 5.). In terms of monitoring and recording of the dynamic properties of knowledge networks, we distinguish two groups of feedback information. Objective feedback is represented by the Protocol of the student activities in a virtual learning environment, the results of tests and trials. Protocol includes Information on passages of knowledge networks, which terms, relations between terms, interpretation and testing procedures were used and with what success. Such information shall show the results of studies and student success. Subjective feedback (evaluation) is obtained by using student surveys and evaluation questionnaires, which can be automatically or manually evaluated. For the purposes of the virtual learning environment it is appropriate to choose automatic evaluation of the questionnaires. Information obtained from a student contains his/ her personal views and opinions influenced by educational achievement, surroundings and many other recognizable and difficult described phenomena. By contrast, subjective evaluation brings to the learning process human factor, neglected sometimes,
210
R. Fasuga, L. Holub, and M. Radecký objective Study materials and self-testing textbooks
audio/video
self-testing
Study Activities Tasks Projects Tutorials Student Prerequisities
tests (testing process) Initial (input)
continuous
Long-time
final
begin
end questionnaires (for repeated runs of course)
Before start
After start
In progress
Before exam
After exam
Longtime
Polls subjective
Fig. 5. Objective and subjective feedback
that is essential for maintaining social ties and good reception presented by the study material.
5 Design and Implementation Structure of Knowledge Networks The chapter contains a modular scheme of the system, Entity-Relationship Diagrams in the form prepared for implementation in the database, a list of functions for different parts of the system. 5.1 Modular Virtual Learning Environment The entire educational system can be divided into five modules. The first one is the student profile and the Knowledge Network. Monitoring at the feedback module is
Dynamic Properties of Knowledge Networks and Student Profile
211
intended for logging events. The executive decision-making part of the module addresses the Virtual tutor. The last part is the user interface, which communicates with the student. (Fig. 6.). [11.] Model virtual teacher and tutor In te
e rc pr es es fo en r a ta da ti o p n tat m io od n el by
th
e iv at rn l te , , a i on s es tat ne ur r e el i ed rp id oc te gu pr i n of e of n ti v s i o ta od tat re th re rp me rp te in
Evaluation activities and results Interpretative interpretative procedures
Education process / User interface
Student properties
en ud st s g ie in it at tiv er ac en ng r g ri fo nito nd o ou , m gr ile c k r of Ba p
Use Protocol
Adapting instruction to individual student
Knowledge base Presented interpretative substance testing, adoption, attachment
Protocol events and activities Retention of learning activities and learning outcomes
t
Repository of knowledge and skills aggregated values
Study material description Explanation and testing approach
Th kn e b ow as l e es dg fo e r th ne c on e tw s o in or li te ks da rp , re th ting ta e tio su cro n cc ss es i n s gs of
Student profile Knowledge and skills
Logging activities
Suggestion
Decission
R
es ou
Adaptive interpretative procedures
Fig. 6. Modular Chart virtual learning environment
The Virtual Learning Environment is divided into four modules: • Knowledge Base - a set of learning materials, copyright, structured as terms and its variants, includes the complete term metadata, variations and relationships. • Student profile - characteristics of the student identification, his personal characteristics and pre-acquired knowledge, the information gained from the process of learning as the preferred learning styles, the curve of forgetting, and other relevant factors. • Log events and activities - the protocol that registers in details all the activities of students of knowledge networks, individual interpretation processes knowledge networks. • Module Virtual Tutor - represents a set of adaptive techniques that can assist or even to navigate the teaching process. • User Interface - a set of functions enabling the author to meet the knowledge base, students to study with an automatic adaptation of teaching or with their own selection procedure for the interpretation and use of variations of interpretation, tutors to communicate with students, experts to enter pedagogue rules about the behavior of a virtual tutor.
212
R. Fasuga, L. Holub, and M. Radecký
5.2 Data Structure of Knowledge Networks Static attributes of knowledge networks are teaching materials and their metadata entered by the author. Static information about the student is addressed into the subsystem Student. Dynamic information about his knowledge and activities in the learning process are addressed also into subsystems for Author and tutor. Event Log primarily contains information on all activities of all students of all variants of interpretation and testing, or other activities. The protocol is then the collected and processed information on individual terms and their variants as well as about individual students and structures stored in their data. Detailed data structures are given on (Fig. 7., Fig. 8.). Explanation variant
Theme group
Term
Term relationship
Matadata group
Metadat value
Metadata
Testing
Fig. 7. ER-Diagram author database
Storage of metadata is described by the implementation of the tables: • Group metadata - including the definition of group characteristics, and determines which element of knowledge networks, this feature is designed (term, interpretation, testing, feedback) • Metadata - a particular attribute, a list of permitted property, the obligation to fill, etc. • The value of metadata - a particular selected (specified) value for the selected metadata From the pedagogical point of view it would be appropriate to comply with certain didactic and formal rules on the organization of terms such as: interpretation of the respect - from simple to complex, from general to detailed, graph does not contain cycles. Keeping the principle of helping the first author defined path, which is first proposed the outline of the course, then propose the structure of terms of the knowledge network and then processed terms. Compliance with the principles of the second cycle will be tested or addressed appropriately in the control program.
Dynamic Properties of Knowledge Networks and Student Profile
Fig. 8. Visualization of knowledge base structure
213
214
R. Fasuga, L. Holub, and M. Radecký
6 Conclusion The presented solutions have been implemented into the educational system Barborka 2 and have been practically verified in real practice. The advantage of this solution is focusing on the teacher (author) and student learning materials for which is an adaptation primarily intended. The solution is based on pedagogical and didactic principles, which are supported by information technology. Experiment reduces the work of the tutor (a consultant) by approximately 45%. In the event of a prolonged operation the data collected in the log of activities passing through further in-depth analysis, where we can monitor behavior at the level of social networking, data mining methods for further decisions oriented to author to find new methods and explanation forms for actual problems. Addressing the support of the ESF project - OP VK CZ.1.07/2.2.00/07.0339.
References 1. McPherson, M., Baptista Nunes, M.: The Role of Tutors as an Integral Part of Online Learning Support. European Journal of Open, Distance, and E-Learning (2004), ISSN 1027-5207 2. Anderson, T., Whitelock, D.: The Educational Semantic Web: Visioning and Practicing the Future of Education. Journal of Interactive Media in Education 2004(1) (2004); Special Issue on the Educational Semantic Web, ISSN:1365-893X 3. Bloom, B.S.: Taxonomy of Educational Objectives. In: Handbook I: The Cognitive Domain. David McKay Co Inc., New York (1956) 4. Dave, R.H.: Developing and Writing Behavioural Objectives. In: Armstrong, R.J. (ed.). Educational Innovators Press (1975) 5. Ho, T.P.W., Lee, T.Y.: Teaching Thinking Skills In E-Learning - Application of the BLOOM’S TAXONOMY. In: ITE Teachers Conference (2004) 6. Bober, M., Fasuga, R., Šarmanová, J.: Adaptive Mechanisms in Virtual Education Environment. In: ICEE 2007 Coimbra. University of Coimbra, Portugal (2007), ISBN 978-9728055-14-1 7. Fasuga, R., Bober, M., Šarmanová, J.: Knowledge and Skills representation in Virtual Education. University of Coimbra, Coimbra (2007), ISBN 978-972-8055-14-1 8. Bober, M., Fasuga, R., Holub, L., Šarmanová, J.: Student activity protocol oriented to questions, their evaluation, define correct and wrong solutions, optimalization. In: Erika (ed.) ICTE 2007. Přírodovědecká fakulta Ostravské univerzity (2007), ISBN 978-80-7368388-7 9. Fasuga, R.: Intelligent education: Making decision based on objective and subjective student response. In: Wofex 2006. VŠB - Technical University of Ostrava, pp. 315–320 (2006), ISBN 80-248-1152-9 10. Holub, L., Fasuga, R., Šarmanová, J.: Possibilities of application of artificial intelligence techniques to learning styles. In: Jakab, F., Fedák, V., Sivý, I., Bučko, M. (eds.) ICETA 2005, pp. 151–156. Technical University Kosice (2005), ISBN 80-8086-016-6 11. Fasuga, R.: Using artificial intelligence in education process, CVUT Praha 2004, technology for e-education (2004)
Efficient Substructure Preserving MOR Using Real-Time Temporal Supervised Neural Network Othman M.K. Alsmadi1, Zaer. S. Abo-Hammour2, and Adnan M. Al-Smadi3 1 Department of Electrical Engineering, University of Jordan, Amman, Jordan Department of Mechatronics Engineering, University of Jordan, Amman, Jordan 3 Department of Computer Science, Al Al-Bayt University, Mafraq, Jordan
[email protected],
[email protected],
[email protected] 2
Abstract. This paper addresses a novel model order reduction (MOR) technique with dominant substructure preservation. This process leads to cost minimization of the considered physical system which could be of any type from motors to circuitry packaging to software design. The new technique is formulated based on an artificial neural network (ANN) transformation along with the linear matrix inequality (LMI) optimization method. The proposed method is validated by comparing its performance with the following wellknown reduction techniques Balanced Schur Decomposition (BSD) and state elimination via balanced realization. Keywords: Neural networks; model order reduction.
1 Introduction Model order reduction MOR is a branch of systems and control theory that deals with the behaviour of dynamical systems in application for reducing their complexity; meanwhile trying to preserve their input-output relation. Many of LTI systems have frequencies that do not have much influence on the system behaviour response. Neglecting such frequencies gives the advantage of working with lowerdimensionality models, which in return makes the analysis and design of such systems easier [1], [2]. During the last fifteen years, considerable progress has been achieved in model order reduction of a linear system of ordinary differential equations [3]. For example, VLSI circuits contain a number of highly structured components such as bus and power ground grid. These components can be modeled by passive networks with tremendous amount of circuit elements and large numbers of ports. Due to the fact that feedback controllers do not usually consider all the dynamics of the system and to analyze such network efficiently, model order reduction has been studied extensively [4]. Even though MOR techniques for linear dynamical systems are developed rather properly, there are still quite a lot of issues to be considered. Fujimoto and Scherpen [5] proposed a singular perturbation type-balanced realization and model reduction for discrete nonlinear dynamical systems based on Hankel singular value analysis, which preserves the related controllability and observability properties. Hedari and F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 193–202, 2010. © Springer-Verlag Berlin Heidelberg 2010
194
O.M.K. Alsmadi, Z.S. Abo-Hammour, and A.M. Al-Smadi
Pedram [6] proposed a spectrally-weighted balanced truncation technique for tightly coupled integrated circuit (IC) interconnects, when the interconnected circuit parameters change as a result of statistical variations in the manufacturing process. Rabiei and Pedram [7] proposed a method that uses the truncated balanced realization technique as well as the Schur decomposition to develop an efficient numerical method for the order reduction of linear time invariant (LTI) systems. In this paper, a new technique for model order reduction of a dynamical control system is proposed using both the ANN and the LMI tools. The proposed technique has been compared to the well-known balance realization technique [5], and the Schur decomposition technique [7], [8].
2 Problem Formulation Consider the following nth-order LTI system:
x = Ax + Bu
(1)
y = Cx + Du
(2)
where x ∈ ℜ n is a state vector, u and y contain the inputs and outputs, respectively. A, B, and C are matrices with appropriate dimensions. The objective of the reduction is to obtain an nrth-order reduced model ( n r < n ) which can mimic the behavior of the original full model order. A two-time-scale class of model reduction methods can be interpreted as performing a similarity transformation P yielding the partitioned forms [9]: −1 ⎤ ⎡x ⎤ ⎡ −1 x =⎢ 1⎥, ⎢ P AP P B ⎥ := D ⎦⎥ ⎣x2⎦ ⎣⎢ CP
⎡ A11 ⎢ ⎢ A 21 ⎢ ⎣⎢ C 1
A12 B 1 ⎤ ⎥ A 22 B 2 ⎥ ⎥ C 2 D ⎦⎥
(3)
as a projection-based method, by considering the states in vector x2 unimportant (explicitly set to zero), the reduced model is defined as:
( Ar , B r , C r , D r ) = ( A11 , B1 , C1 , D)
(4)
when writing the similarity transformation P as [9]: ⎡L⎤ P := [T U ] , P −1 := ⎢ ⎥ ⎣V ⎦
(5)
then the projection on T along L is TL and the reduced model is given by: ( Ar , B r , C r , D r ) = ( LAT , LB, CT , D)
(6)
where L and T are called truncation matrices. The partitioned forms in Equation (3) can also be used to construct the singular perturbation approximation (SPA), also known as the state residualization. As a nonprojection method, the state residualization method sets the derivatives of the states in
Efficient Substructure Preserving MOR
195
vector x2 to zero. After eliminating the vector x2, a reduced-order model can be obtained. For better model reduction, the state residualization method may use the gramianbased balancing technique. The balancing process is achieved by obtaining the gramians of the state space and performing state space transformation. This transformation is required in order to obtain the gramians with r small diagonal entries. The reduced model is obtained by eliminating the last r states. An important similarity transformation can be obtained using the Schur decomposition or Schur triangulation [7], [8]. This form of transformation states that if the matrix A is an n × n square matrix with complex entries, then A can be expressed as: A = PAˆ P −1
(7)
where P is a unitary matrix ( P −1 = P * ) and Aˆ is an upper triangular matrix, which is called the Schur form of A. Since Aˆ is similar to A, it has the same multi-set of eigenvalues and those eigenvalues are the diagonal entries of Aˆ . Balancing and using the unitary matrix P, complete system transformation and model reduction maybe obtained.
3
Estimation and Model Transformation
The following sections will illustrate the ANN estimation, LMI transformation, and the state residualization for model order reduction. 3.1 ANN Estimation
The system transformed matrix Aˆ of Equation (7) is estimated using a recurrent neural network. The estimation is based on an approximation of the method of steepest descent. The network tries to match the output of certain neurons with the desired values of the system output at specific instant of time [10]. Now, consider the discrete system given by: x(k + 1) = Ad x(k ) + Bd u (k ) y (k ) = x(k )
(8) (9)
which can be represented for a system with two eigenvalue categories (slow and fast) as: ⎡x(k +1)⎤ ⎡ A11 A12 ⎤ ⎡x(k )⎤ ⎡ B11⎤ ⎥⎢ ⎢ ⎥=⎢ ⎥ + ⎢ ⎥ u(k ) ⎣ξ (k +1)⎦ ⎣ A21 A22⎦ ⎣ξ (k )⎦ ⎣B21⎦
⎡ x (k ) ⎤ y (k ) = ⎢ ⎥ ⎣ξ ( k ) ⎦
(10)
(11)
Using the recurrent neural network, as illustrated in Figure 1 for a 3rd order model, the system in (10) and (11) can be estimated.
196
O.M.K. Alsmadi, Z.S. Abo-Hammour, and A.M. Al-Smadi
y ( k ) Outputs:
Neuron
x1 ( k ) B11
B21
A 11
B31 A 12 A13
x 1 ( k + 1) Z-1
Internal inputs
Z-1
Z-1
g1: System external inputs
System dynamics
Fig. 1. Recurrent neural network architecture
As a general case, consider a network consisting of a total of N neurons with M external input connections, as shown in Figure 1 for a 3rd model order. Let the variable g(k) denotes the (M x 1) external input vector applied to the network at discrete time k and the variable y(k + 1) denotes the corresponding (N x 1) vector of individual neuron outputs produced one step later at time (k + 1). The input vector g(k) and output vector y(k) ,one-step delayed, are concatenated to form the ((M + N)x1) vector u(k), whose ith element is denoted by ui(k). If Λ denotes the set of indices i for which gi(k) is an external input, and β denotes the set of indices i for which ui(k) is the output of a neuron (which is yi(k)), the following is true: ⎧⎪ g i (k ) , if i ∈ Λ (12) ui (k ) = ⎨ ⎪⎩ y i (k ) , if i ∈ β the (N x (M + N)) weight matrix of the network is represented by the variable w. The net internal activity of neuron j at time k is given by:
v j (k ) =
∑
w ji ( k )u i ( k )
(13)
i∈Λ∪ β
at the next time step (k + 1), the output of the neuron j is computed by passing vj(k) through a piecewise linear function φ(.) obtaining:
y j (k + 1) = φ(v j (k ))
(14)
The derivation of the recurrent algorithm maybe obtained by using dj(k) to denote the desired response of neuron j at time k, and ς(k) to denote the set of neurons that are chosen to provide externally reachable outputs. A time-varying (N x 1) error vector e(k) is defined as: ⎧⎪ d j (k ) - y j (k ), if j ∈ ς (k ) e j (k ) = ⎨ (15) ⎪⎩ 0 , otherwise The objective is to minimize the following cost function: 1 (16) E total = ∑ E (k ) = ∑ [ ∑ e 2j (k )] k k 2 j∈ς
Efficient Substructure Preserving MOR
197
where E total is the total error. Using the method of steepest descent, this cost function will be minimized by estimating the instantaneous gradient, namely ∇ w E (k ) . Hence, the gradient matrix is obtained as [10]:
∇ w E total =
∂E total ∂E (k ) =∑ = ∑ ∇ w E (k ) ∂w ∂w k k
(17)
For the case of a particular weight wmA (k), the incremental change ΔwmA (k) made at time k is defined as: ΔwmA (k ) = - η
∂E (k ) ∂wmA (k )
(18)
where η is the learning-rate parameter. Hence: ∂e j (k ) ∂y i (k ) ∂E (k ) = ∑ e j (k ) = - ∑ e j (k ) ∂wmA (k ) j∈ς ∂wmA (k ) ∂wmA (k ) j∈ς To determine the partial derivative ∂y j (k )/∂wmA (k ) , let π mj A (k ) = ∂y j (k )/∂wmA (k ) and
derive the network dynamics using the chain rule which eventually leads to the following equation:
⎡ ⎤ πmj A (k +1) = φ(v j (k))⎢ ∑wji (k)πmi A (k) + δmjuA (k)⎥ ⎣⎢i∈ß ⎦⎥
(19)
with initial conditions πmj A (0) = 0 and δ mj = 1 for j = m and i = A and "0" otherwise. It is to be noted that the ANN provides estimation of the Ad and Bd in Equation (8) given as:
[
]
w = [ Aˆ d ] [ Bˆ d ]
(20)
The ANN will only estimate the transformed matrix Aˆ . The transformed matrix shall have the eigenvalues categorized as: complex eigenvalues, dominant eigenvalues, and non-dominant eigenvalues. In the case of all real eigenvalues, the continuous transformed system state matrix Aˆ has the following format:
⎡ λ1 ⎢0 Aˆ = ⎢ ⎢# ⎢ ⎣0
a12 " a1n ⎤ λ2 " a 2 n ⎥⎥ 0 % # ⎥ ⎥ " 0 λn ⎦
(21)
where the original system eigenvalues preserved in the diagonal, seen as λi, i = 1, 2, … n, and the elements to be predicted, seen as (aij), where j = 1, 2, … n-1.
198
O.M.K. Alsmadi, Z.S. Abo-Hammour, and A.M. Al-Smadi
In this estimation, the goal is to estimate the Aˆ d only without the estimation of the Bˆ d matrix, where this Bˆ d matrix is automatically predicted by the recurrent network
as seen in Figure 1 and Equation (20). In order to achieve this objective, the zero input (u(k) = 0) response is obtained where the input/output data is basically generated based on the initial state conditions only. Hence, the system of Equations (10) and (11), with initial state conditions x(0) = x0 , becomes: x(k + 1) = Ad x(k ),
x ( 0) = x 0
y (k ) = x(k )
(22) (23)
Based on Equations (22) and (23), where the initial states are the system input and the obtained states are the system output, a set of input/output data is obtained and the neural network estimation is applied. 3.2 Transformation and MOR
Based on the LMI technique [11], the transformation in Equation (7) can be achieved by the optimization formulated as follows: −1 min P − Po Subjectto P AP − Aˆ < ε1
(24)
P
which maybe written in an LMI equivalent form as: S P − Po ⎤ ⎡ min trace(S ) Subject to ⎢ > 0, T ( ) P P I ⎥⎦ − S o ⎣ ⎡ ε I P −1 AP − Aˆ ⎤ ⎥>0 ⎢ −1 1 ˆ T I ⎦⎥ ⎣⎢( P AP − A)
(25)
where S is a symmetric slack matrix. The LMIs are applied to the A and Aˆ matrices in order to obtain the permutation matrix P. Then, a complete system transformation can be achieved as shown in Equation (3) yielding: xˆ = Aˆ xˆ + Bˆ u
(26)
yˆ = Cˆ xˆ + Dˆ u
(27)
where the transformed system matrices are: Aˆ = P −1 AP , Bˆ = P −1B , Cˆ = CP , and Dˆ = D . Performing MOR, the system in Equations (26) and (27), which has the format:
⎡ xˆ rt ⎤ ⎡ Art ⎢ ⎥=⎢ ⎢⎣ ξˆo ⎥⎦ ⎣ 0
Ac ⎤ ⎡ xˆ rt ⎤ ⎡ Brt ⎤ ⎥ ⎢ ⎥ + ⎢ ⎥u Ao ⎦ ⎣ ξˆo ⎦ ⎣ Bo ⎦
(28)
Efficient Substructure Preserving MOR
yˆ = [C rt
199
⎡ xˆ ⎤ C o ] ⎢ ˆrt ⎥ + Dˆ u ⎣ ξo ⎦
(29)
can be reduced to any proper desired order. Notice that the dominant eigenvalues are presented in Art and the non-dominant eigenvalues are presented in Ao . Hence, for model order reduction, the system in Equation (28) is written as [3]: xˆ rt = Art xˆ rt + Ac ξˆo + Brt u
(30)
ξˆo = Ao ξˆo + Bo u
(31)
By setting ξˆo = 0, the coupling term Ac ξˆo is evaluated by solving for ξˆo in Equation (31). That is, ξˆ = − A −1 B u and the reduced model is obtained with A = A , o
o
o
r
−1
rt
−1
B r = B rt − Ac Ao Bo , C r = C rt , Dr = D − Co Ao Bo .
4 Simulation Results To demonstrate the proposed method of model order reduction, we will consider the dynamical model of a two area power system presented by Iracleous and Alexandridis [12]. The system matrices of Equations (1) and (2) are given by: 6 0 ⎡ − 0.05 ⎢ 0 − 3 . 33 0 ⎢ ⎢ 0 0 − 0.05 ⎢ A = ⎢ 0.45 0 − .545 ⎢ 0 0 0 ⎢ − 0 . 521 0 0 ⎢ ⎢ 0 0 − 0.521 ⎣
−6 0 6 0 0 0 0
0 ⎤ 0 ⎥⎥ 6 0 0 ⎥ ⎥, 0 0 0 ⎥ − 3.33 0 3.33 ⎥ ⎥ 0 − 12.5 0 ⎥ 0 0 − 12.5⎥⎦ 0 0
0 3.33
⎡0 0 0 0 0 12.5 0 ⎤ B=⎢ ⎥ ⎣0 0 0 0 0 0 12.5⎦ 0 0 0⎤ , ⎡0.178 0 0 1 C=⎢ 0 0 0 − 1 − 0 . 6 0 0⎥⎦ ⎣
T
, D = 0.
The system eigenvalues are:
λ = [-0.553 ± 3.134i
-0.870 ± 1.372i
-3.048 -12.588 -13.277]
with two categories: Fast : λ = [-3.048 -12.588 -13.277 ] Slow : λ = [-0.553 ± 3.134i -0.870 ± 1.372i] Now, the ANN is applied to the discrete model of Equations (8) and (9) (as illustrated in Figure 1), and trained with a sampling period Ts = 0.1s and a learning rate η = 1 x
200
O.M.K. Alsmadi, Z.S. Abo-Hammour, and A.M. Al-Smadi
10-4. Then, the LMI-based system transformation is applied using the P matrix to obtain the matrices Bˆ , Cˆ , and Dˆ in Equations (26) and (27). Focusing on the fast category (for elimination), we will use the MOR to replace the 7th-order model by a 4th-order model. Other well-known techniques are used to compare with the proposed technique. Table 1 shows the MOR results of eigenvalue preservation for the proposed method along with the Schur transformation and balanced SPA methods. Table 1. Model order reduction with eigenvalue preservation comparison results
Original 7th order
Schur Reduction
SPA Reduction
Proposed Method
λ
λˆ
λˆ
λˆ
-0.569 ± 3.139i -0.860 ± 1.373i
-0.553 ± 3.134i -0.869 ± 1.372i
-0.553 ± 3.134i -0.553 ± 3.134i -0.870 ± 1.372i -0.870 ± 1.372i -3.048 -12.588 -13.277
0.2 System Second Output
System First Output
0.6
0.4
0.2
0
-0.2
0
2
4
-0.2
-0.4
-0.6
8
0.02
0.1
0.01
0.05
0
-0.01
-0.02
0
2
4
6 Time(sec)
8
4
6 Time(sec)
8
(b)
Error (Output2)
Error (Output1)
(a)
6 Time(sec)
0
0
-0.05
0
2
4 (c)
6 Time(sec)
8
-0.1
0
2 (d)
Fig. 2. System output pulse responses. (a) first output, (b) second output, (c) error of the first output: (____ zero error, ---- Proposed ANN-LMI, -.-.-. SPA), (d) error of the second output: (____ zero error, ---- Proposed ANN-LMI, -.-.-. SPA).
Efficient Substructure Preserving MOR
201
As it can be seen in Table 1, the Schur and the proposed ANN-LMI-based reduced models outperformed the other methods in retaining the exact dominant eigenvalues of the original model. In addition, the output responses of the reduced models using the above techniques have been investigated and compared. The output responses of the reduced models based on the compared techniques for a pulse input are shown in Figure 2 (a) and (b). The output response error corresponding to those reduction techniques are shown in Figure 2 (c) and (d). It should be noticed that the error of the Schur method is not shown since it is obviously very large. As it can be seen in Figure 2 (a) and (b), the proposed ANN-LMI-based reduction technique performs well as anticipated. It can also be seen in Figure 2 (c) and (d) that the proposed reduction technique transient responses have faster convergence to the original system response than the other techniques. The response error of the proposed method goes to zero faster than the other methods' with less system vibrations.
5 Conclusion A new method for MOR of dynamical systems was presented in this paper. The new reduction technique was achieved based on (i) system state matrix A transformation via ANN training to obtain Aˆ (ii) LMI-based system transformation to obtain the matrices Bˆ , Cˆ , and Dˆ through the permutation matrix P, and (iii) MOR using the state residualization approach. Simulation results show the performance of the proposed ANN-LMI method compared to other well-known methods in terms of preservation of the dominant eigenvalues in the reduced model, providing system response, and robustness performance corresponding to initial conditions. As a result, the proposed technique outperforms the other techniques. Acknowledgments. The authors would like to thank the deanship of the Academic Research at the University of Jordan for supporting this research.
References 1. Rudnyi, E.B., Korvink, J.G.: Model Order Reduction of MEMS for Efficient Computer Aided Design and System Simulation. In: 16th International Symposium on Mathematical Theory of Networks and Systems, Leuven, Netherlands, pp. 1–6 (2004) 2. Ramesh, K., Ayyar, K., Nirmalkumar, A., Gurusamy, G.: Design of Current Controller for Two Quadrant DC Motor Drive by Using Model Order Reduction Technique. International Journal of Computer Science and Information Security 7(1), 17–23 (2010) 3. Antoulas, A.: Approximation of large-scale dynamical systems, advances in design and control. SIAM, Philadelphia (2005) 4. Freund, R.: SPRIM: Structure-preserving reduced-order interconnect macro-modeling. In: IEEE/ACM ICCAD (2004) 5. Fujimoto, K., Scherpen, J.M.A.: Balancing and Model Reduction for Discrete-Time Nonlinear Systems based on Hankel Singular Value Analysis. In: Proc. MTNS 2004, Leuven, Belgium, pp. 343–347 (2004)
202
O.M.K. Alsmadi, Z.S. Abo-Hammour, and A.M. Al-Smadi
6. Haykin, S.: Neural Networks: a Comprehensive Foundation. Macmillan College Publishing Company, New York (1994) 7. Rabiei, P., Pedram, M.: Model-order reduction of large circuits using balanced truncation. In: Proc. IEEE ASP-DAC, pp. 237–240 (1999) 8. Safonov, M., Chiang, Y.: A Schur Method for Balanced-Truncation Model Reduction. IEEE Trans. on Automatic Control. 34(7), 729–733 (1989) 9. Varga, A., Anderson, B.D.O.: Accuracy enhancing method for the frequency-weighted balancing related method reduction. In: Proc. CDC 2001, Orlando, Florida, pp. 3659–3664 (2001) 10. Heydari, P., Pedram, M.: Model-Order Reduction Using Variational Balanced Truncation with Spectral Shaping. IEEE Transactions on Circuits and Systems I 53(4), 879–891 (2006) 11. Boyd, S., El Ghaoui, L., Feron, E., Balakrishnan, V.: Linear Matrix Inequalities in System and Control Theory. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (1994) 12. Iracleous, D., Alexandridis, A.: A simple Solution to the Optimal Eigenvalue assignment Problem. IEEE Trans. Act. Auto. Cont. 9(44), 1746–1749 (1999)
Electronic Health Record (Dossier Médical Personnel) as a Major Tool to Improve Healthcare in France: An Approach through the Situational Semiotic Christian Bourret Université de Paris Est, DICEN Research Team (Devices of Information and Communication in the Digital Era) EA 4420 CNAM (Conservatoire National des Arts et Métiers), Bâtiment Erasme, 5 boulevard Descartes, Champs-sur-Marne, 77454 Marne-la-Vallée Cedex 2 - France
[email protected] Abstract. In France, Electronic Health Record (Dossier Médical Personnel or DMP) is considered as a main tool to improve Healthcare to go beyond “walls” and “curtains” between various professions and organizations having their own logics. In a constructivist and systemic approach, we analyze this sociotechnical object using the methodology of the Situational Semiotic or Sémiotique Situationnelle (A. Mucchielli) to highlight the significance of an activity from different frameworks or contexts: actors (especially General Practioners in the primary care, patients and institutions) and their positions, stakes, standards, quality of relationships, values. We particularly insist on the importance of building trust around the use of this new tool. Keywords: Electronic Health Record, Healthcare System, Improvement, Situational Semiotic, Information and Communication.
1 Introduction We position in a constructivist approach, systemic and holistic, also in reference to the Actor Network Theory (in French Sociologie de l’Acteur Réseau or SAR) defined by M. Callon [1]. We consider the socio-technical devices and therefore the DMP (Dossier Médical Personnel) as "full actors". We propose an approach through the Situational Semiotic (Sémiotique Situationnelle). This methodology proposed by A. Mucchielli analyses activities through different frameworks or contexts: stakes, standards, positioning, quality of relationships, values [2] to bring out meanings for actors, in our case especially for General Practioners (doctors). We particularly insist on the importance of building trust around the uses of this new tool, in reference with the FAcT-Mirror (Fears, Attracts, Temptations) Method [3].
2 A New Tool with Main Societal Stakes 2.1
Two Interconnected Problems: Costs and “Walls”
In all developed countries, Healthcare Systems tackle with strong difficulties, particularly in terms of financing. “Walls” are regarded as main causes of wastage F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 7–14, 2010. © Springer-Verlag Berlin Heidelberg 2010
8
C. Bourret
and avoidable costs. Glouberman and Mintzberg [4] have pointed these “walls” or “curtains” in the hospitals: between cure (doctors), care (nurses), management and trustees. “Walls” or “curtains” are particularly numerous in France: between the Ministry of Health (State) and Health Insurance, between public hospitals and private clinics, between doctors (GP) and other medical professions especially nurses but also with physiotherapists or midwives, between different categories of doctors, and especially between primary care and hospital sector, and also between cure, care and social. 2.2 A Major Response: Using Information and Communication Technology (ICT) Tools According to Grimson and al. [5] "The present inability to share information across systems and between care organizations represents one of the major impediments to progress toward shared care and cost containment". The use of information and communication technologies tools is regarded as a possible solution even as THE solution. The challenge is to improve at the same time the traceability of care (patient’s pathway) and Healthcare System efficiency: to improve quality of care and to control costs. In this outlook, from 1998, in the United Kingdom, the challenge is to develop a specific programme "Information for Health". In France, in 2002 and in 2004 Laws stressed the need to better information uses to improve productivity and efficiency of Health System. In the United States, the U.S. Government Reform Committee outlined in 2005 the introduction of Information Technology in Health as the "last Frontier". 2.3 The Assertion of a New Tool in France Since 2004, France insisted on the almost supernatural tool of DMP or Dossier Médical Personnel (Electronic Health Record). This project is the result of a long process of at least a quarter of a century including the failure of a paper version as soon as 1996 [6]. The Fieschi’s report [7] outlined the weakness of the culture of information sharing in France and of evaluation especially of Healthcare organizations. There is an important technical dimension with issues of interoperability through the use of standards, but for us, the development of DMP is not only a technical problem but also an issue of promoting new uses of this tool and a new culture of data sharing around cooperative work with all the importance of human interactions around professional activities with the main challenge of building trust. 2.4 Questionable Choices in France The implementation of DMP in France coincided with the creation of a dedicated organization: GIP (Groupement d’Intérêt Public) DMP. It was based on questionable choices. The first choice was to define the DMP as the property of the patient: a "personal" record and not a "shared" record. According to critical people, many of these choices may have been imposed by the medical lobby, willing to empty a potential control tool of their activity (and especially the number and the amount of their medical
Electronic Health Record (DMP) as a Major Tool to Improve Healthcare in France
9
prescriptions) out of any substance. Medical record’s owner, the patient is free to exclude embarrassing data (that the patient will can destroy): "right to hide" (droit au masquage). But this embarrassing data could have an important medical value. Which is the medical value of a non exhaustive record? In France, the responsibility is the GP’s individual one. How can be this responsibility considered through a non exhaustive record? And also who fills the record? Who pays for the capture of patients’ data in a French Healthcare system where doctors in the primary care and especially GPs are paid for each medical service given to patients (paiement à l’acte)? It would be also the patient who would decide who can open his medical record. Giving the data storage to Health Insurance was pushed away and a competition between private data storage companies (hébergeurs de données) was decided. Worse, the DMP become an optional and not a compulsory tool. The report of the Interdepartmental Committee about the DMP in November 2007 was particularly severe: "the committee points out a reserved diagnosis on the current project's ability to achieve the expected goals, criticizes the economic analysis that supported the project and stresses the technical, financial and legal risks that the way used implies for the State and for the national community" [8]. At the end of 2007 DMP’s project was also analyzed by the Parliamentary Committee chaired by MP. J.P. Door (report published in January 2008) [9]. After outlining that the computerization of medical data was an inevitable process and that the DMP was central for sharing medical information among stakeholders in French Healthcare system, he questioned whether the DMP was “revealing of delays and brakes in its environment or catalyst of its development”. In our view, the tension between these two levels of conflicting issues (reluctance of the actors and order to innovate in an unrealistic timetable) explained the failure as much as the shortage of resources and the weaknesses in project management. After stressing the importance of interoperability and standards, J.P Door pointed the DMP’s role for coordinating care and its importance to improve health activities. In the Gagneux’s report to “restart the DMP” (April 2008) [10], the idea of “personal” record seems to be given up to focus on a shared DMP to improve coordination of care, putting it at the core of a "national strategy for Healthcare Information Systems or HIS (in French Systèmes d’Information Santé or SIS) [11]. The DMP is in competition with a lot of other medical records. In the last years, in France, we have a proliferation of various computerized patient records: doctors’ records, chemists’ records (a success), patients’ records for special diseases: cancer but also diabetes, gerontology, HIV ... The main risk is to build new “walls” when precisely these electronic medical records are supposed to ensure coordination and traceability and to go beyond “walls”. Everywhere in the world the implementation of Electronic Health Record (EHR) is a difficult problem. But countries like the United Kingdom or Italy and Spain with the key role of regions or autonomous communities seems to have more consistent choices and a better project management. 2.5 What Are the Outlooks? Having reached an impasse in spring 2008, the DMP has been revived by the Gagneux’s report. A main shift occurred: the DMP is progressively becoming a
10
C. Bourret
shared record to ensure continuity of care. With the new law Hôpital, Patients, Santé, Territoires or HPST enacted in July 2009, two new agencies were created and particularly the ASIP (Agence des Systèmes d’Information Partagés en Santé) (absorbing GIP – DMP and other organizations). Its presidency was entrusted to M. Gagneux. The issue of the identifying number remains unsolved, the powerful CNIL (Commission Nationale Informatique et Libertés) is opposed to a unique identifier for each citizen for various daily uses (census, police, health, …). In October 2009, ASIP launched a call for tenders to select a single operator for DMP’s project for the 2010-2012 period, also in charge of storage of patients’data. The change is significant and deserves to be highlighted. The operator’s choice has been effective in February 2010: the consortium La Poste – Atos Origin (ex Santeos) was chosen. Some noted that the ASIP’s director was the former director of Santeos … Then after this new step of DMP’s experiment, in 2012, through a National Portal for Health System (PNSS : Portail National du Système de Santé), the market should be open to other industrials and allow widespread access to patients. To facilitate the revival of DMP (very important in the patient-centered perspective of new Healthcare Information Systems), ASIP develop a new standard for HIS interoperability. It was proposed in October 2009. The interoperability framework is in constant evolution. A new version was proposed in March 2010. Consultations with industrial companies will continue until June 2010 with a planned deployment to healthcare providers at the end of 2010. Interoperability defined by ASIP is primarily a technical one. It refers to recognized standards such as HL7 (HL7 V2.x and HL7 V3) and DICOM. As noted by Pr. Fieschi (2009) [12], interoperability has also a main semantic dimension including the crucial importance of the metadata definition in reference to recognized classifications. Three layers of interoperability are defined in the evolutionary framework proposed by ASIP: 1) a layer "contents": contents specifications for exchanged or shared data 2) a layer "service": service specifications used 3) a layer “transport": specifications of exchange protocols. The security mechanisms of HIS would be based on four criteria: availability, integrity, privacy and assessment possibility [13]. But main uncertainties remain. Some wonder if with the evolution of Internet technologies, the DMP could not take the form of a secured USB key. Some companies such as Applied Digital propose to include health data in chips (VeriChip) inserted under the skin of the patients who so would have them always with them. Many telephone operators want to propose storage of medical records and access to health services as new value added services to their customers (see Orange - France Telecom). Google intents to promote new services and the storage of sensitive health patients data is one of them.
3 Situational Semiotic Approach of the DMP, Especially for General Practitioners In an Information and Communication outlook (Human Sciences), we propose to analyze the implementation of the DMP with the Situational Semiotic Approach, defining analysis frameworks or contexts to highlight the meanings for the actors, especially General Practioners [14].
Electronic Health Record (DMP) as a Major Tool to Improve Healthcare in France
11
3.1 Actors and Positions Different actors are involved in the implementation of the DMP. Physicians, other health professionals, including nurses, chemists, physiotherapists, dentists ... But also, of course, Health Insurance, Ministry of Health, and all their local offices, health organizations such as: hospitals, Health Networks (réseaux de santé), homecare hospitalization organizations (hospitalisation à domicile or HAD) or pluriprofessional healthcare houses (maisons de santé pluriprofessions), local authorities ... For doctors, and especially for GPs it will profoundly change their positioning and their practices from individual to more cooperative. 3.2 Main Stakes The key goal is mastering the patient’s pathway in Healthcare System: DMP is above all a coordination tool in a quality and process approach, to improve the quality of care and to master costs. So we can distinguish two main approaches: offensive and defensive. For Healthcare organizations, the approach is quite offensive. With limited resources now, they want to master costs (traceability, not redundant medical processes, to avoid breaks in patient’s pathways). For patients, the stakes are more neutral. They were highlighted by S. Shortell and al. [15] referring to a patient's point of view: “When I become sick I want to get well as quickly as possible. But I know that costs are also important. So I want to know what's done to me is really needed and is done as efficiently as possible”. For GPs, the stakes are much more defensive and are formulated mostly in terms of fears. First they want to avoid the control of the Ministry of Health and of the Health Insurance on their activity. In France, since 1927, in primary care, we speak of “liberal medicine” i.e. private and not controlled by Health Insurance. Defining their activities as liberal, GPs insist on their freedom of prescription and to be paid directly by the patients. Then the patients are reimbursed by Health Insurance organizations. There is not direct financial relationship between the primary care doctors and Health Insurance: this point is the cornerstone of the “liberal” primary care in France. 3.3 Standards In terms of standards, we have pointed the issue of interoperability standards, especially HL 7 or DICOM. We have also the main question of the evaluation of professional practices or EPP (Evaluation des Pratiques Professionnelles), which is one of the main tasks of the new Haute Autorité de Santé or HAS introduced in 2005 to also assess and certify healthcare organizations (hospitals ...). In terms of standards, we must outline that to produce information for oneself is not the same thing than to produce information in a sharing perspective and it is also different when you know that it may be controlled by a regulator in an assessment’s outlook. The stakes and the standards outline conflicting priorities or logics as between the medical one (quality of care) and the managerial one focusing on effectiveness and also with a technical logic: the obsession of the “tool for the tool”. In other words, we can point a tension between bureaucratic and engineers’ logics against a medical
12
C. Bourret
logic. We have also the business logic of industrial companies to develop new markets in Healthcare field. 3.4 Quality of Relationships The quality of relationships around the DMP is essential to ensure its successful implementation. This is mainly establishing a dynamic of trust around a new tool to foster new cooperative practices. Fear of control is essential, linked to a fear of rationing care by setting a limit to GPs’ freedom of prescription. The establishment of the "gatekeeper" (médecin traitant) since 2007 was a step in the way of the "mastery of the patient’s pathway". The fear that control implies a decrease in their income remains strong. To go beyond the fears is so a key issue. We refer to the Fact-Mirror method proposed by G. Cardinal and al. [3]. Its originality lies in describing all the interpersonal interactions in a complex and systemic situation by making an inventory of the fears, attractions, temptations (FAcT) that the participants could feel in relationship to one another. With a new, common representation of the problem, the stakeholders developed structured recommendations, leading to processes of empowerment and co-operative action. The challenge is building trust in a tool and in its uses, but also to accept main changes in practices, from individual one to cooperative one. First of all the main change is to accept the eyes of other GPs on his activity. The construction of a dynamic of trust will be very gradual, involving great changes in attitudes and representations. All this can be facilitated by the arrival of new physicians less marked by the individual practices and the fear of control by the Health Insurance and any form of assessment. 3.5 Values There is a progressive shift from individual to more cooperative values (exchange, gift, recognition by others and self-esteem). Conditions for success of the DMP are largely linked to go beyond fears by proving to GPs of primary care that DMP will improve their daily work without creating new constraints (especially for catching information). They hope to use for DMP the same data that these of their own personal record about their patients. But we have pointed that producing information for oneself is not the same thing than to produce information in a sharing and controlling outlook. The issue of traceability in general is widely raised with both the interest of better mastering patient’s pathways to improve the quality of care but also with the risks of strong control of citizens: it is the ambivalence of technical progress. In the Health System, the central issue is that of building a dynamic of trust in a new tool and in its uses. But the DMP is only one part, but of course a key part of Information Systems in Health [11], exceeding the divisions between hospital information systems and GPs’ information systems, including also those of organizations such as Healthcare Networks or hospital at home, nursing homes, etc., with specific issues for telemedicine.
Electronic Health Record (DMP) as a Major Tool to Improve Healthcare in France
13
4 Conclusion: A New Approach linked with Territorial Intelligence The Electronic Health Record (HER) or in French Dossier Médical Personnel (DMP) is a "holographic" tool, at the convergence of key issues to improve the Healthcare System (those of the e-health). More broadly, we have global societal challenges in all the developed countries, explained in particular by P. Musso [16] after J. Ellul and L. Sfez around the ambivalence of technical progress in our networked society. The Situational Semiotic Approach helped us to highlight the issues of its implementation for the actors in different frameworks or contexts (stakes, standards, quality relationships, values) especially for GPs. Issues and meanings are equally important for patients. With ICT they became better informed actors. They also deal with new organizations, and also for other professions in health. We must also point out the importance of social networking (forums …) with the development of specialized companies (Doctissimo Website…). We have also the controversies around the “Internet of things”. These issues are largely issues of Competitive Intelligence in its societal dimension and of Territorial Intelligence. In this sense, the title of the July 2009 Law is very significant: Hospitals, Patients, Health and Territories. It stresses the importance of regional level articulated with a dimension of local proximity. Its key measure is the creation of ARS or Regional Health Agencies to "manage risk". The central issue became to develop tools for the efficiency of the new ARS, the DMP being one of this main tools. According to J. Stiglitz [17], the economic crisis beginning in 2008 highlights the limits of liberalism and the need to reassess the role of the State. P. Rosanvallon had already stressed the need to give a new legitimacy to the Welfare State [18]. We must be aware that a tool is only a tool. Above all patients want is to be better cared and at a reasonable cost to rapidly return to work and to better live [15].
References 1. Callon, M.: Sociologie de l’Acteur Réseau. In: Akrich, M., Callon, M., Latour, B., et al. (eds.) Sociologie de la traduction: Textes fondateurs, Presses de l’Ecole des Mines de Paris, pp. 267–276 (2006) 2. Mucchielli, A., Noy, C.: Etude des communications: Approches constructivistes, Paris, Armand Colin, 239 p. (2005) 3. Le Cardinal, G., Guyonnet, J.-F., Pouzoullic, B., Rigby, J.: Intervention Methodology for complex problems: The FAcT-Mirror method. European Journal of Operational Research 132, 694–702 (2001) 4. Glouberman, S., Mintzberg, H.: Managing the Care of Health and the Cure of Disease. Health Care Management Review, 56–84 (2001) 5. Grimson, J., Grimson, W., Hasselbring, W.: The SI challenge in Health Care. Communications of the ACM 43(6), 49–55 (2000) 6. Bourret, C.: Les enjeux de la construction de la confiance autour du dossier médical personnel (DMP). In: Actes du 6e colloque international du chapitre français de l’ISKO (International Society for Knowledge Organization), Organisation des connaissances et société des savoirs: concepts, usages, acteurs, Université Toulouse III – LERASS (MICS), pp. 275–291 (2007)
14
C. Bourret
7. Fieschi, M.: Les données du patient partagées: la culture du partage et de la qualité des informations pour améliorer la qualité des soins. Rapport remis au ministre de la santé, Paris, 55 p. (2003), http://www.asipsante.fr/docs/Rapport_fieschi.pdf 8. Baoretto, Y., Dumas, P., Gagneux, M., Romenteau, P., Cholley, F.: Rapport de la mission interministérielle de revue de projet sur le dossier médical personnel (DMP), Paris, Inspection général des Finances, Inspection générale des Affaires Sociales, Conseil général des technologies de l’information, 66 p. + annexes (2007), http://lesrapports.ladocumentationfrancaise.fr/BRP/ 074000713/0000.pdf 9. Door, J.-P.: Présenté par, Le dossier médical personnel, rapport de la commission parlementaire, Paris, Assemblée Nationale (Janvier 2008), http://www.assemblee-nationale.fr/13/pdf/rap-info/i0659.pdf 10. Gagneux, M.: Mission de relance du projet de DMP: Pour un dossier patient virtuel et partagé et pour une stratégie nationale de système d’information de santé, rapport remis au ministre de la santé (Avril 2008), http://www.sante-jeunesse-sports.gouv.fr/IMG/pdf/ Rapport_DMP_mission_Gagneux.pdf 11. Bourret, C.: The implementation of Information Systems as major stake in the development of innovative organizations of interface to improve the French Healthcare System. In: Proceedings (Full Papers) IADIS (International Association for Development of Information Society) Annual Conference e-Society 2009, Barcelona, pp. 307-315 (2009) 12. Fieschi, M.: La gouvernance de l’interopérabilité sémantique est au cœur du développement des systèmes d’information en santé. Rapport remis à la ministre de la Santé et des Sports, Paris, 66 p. (2009), http://lesrapports.ladocumentationfrancaise.fr/BRP/ 094000394/0000.pdf 13. ASIP, Agence des Systèmes d’Information Partagés en Santé, http://asipsante.fr 14. Sémiotique situationnelle Website (A. Mucchielli), http://www.semio.com 15. Shortell, S.M., Gillies, R.R., Anderson, D.A., Erickson, K.M., Mitchell, J.B.: Remaking Health Care in America. In: Building Organized Delivery Systems, Jossey Bass, San Francisco, 369 p. (1996) 16. Musso, P.: Critique des réseaux, PUF, Paris, PUF, 373 p (2003) 17. Stiglitz, J.E.: Le triomphe de la cupidité, Editions LLL Les Liens qui Libèrent, 474 p. (2010) 18. Rosanvallon P., La nouvelle question sociale. Repenser l’Etat-providence, Editions du Seuil, Points-Essais, Paris, 222 p. (1995, rééd., 2001)
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services Monica Vladoiu1, Jörg Cassens2, and Zoran Constantinescu3 1
PG University of Ploiesti, Bd. Bucuresti 39, 100680 Ploiesti, Romania
[email protected] 2 University of Lübeck, Ratzeburger Allee 160, 23538 Lübeck, Germany
[email protected] 3 Zealsoft Ltd., Str. Targu Neamt 11, Bucharest, Romania
[email protected] Abstract. Technological progress has made it possible to interact with computer systems and applications anywhere and any time. It is crucial that these applications are able to adapt to the user, as a person, and to its current situation, whatever that is. Contextual information and a mechanism to reason about it have demonstrated an important potential to provide solutions in this respect. This paper aims at providing an integrated CBR architecture to be used in context-aware systems. It is the result of our work to develop ePH, a system for building dynamic user communities that share public interest information and knowledge that is accessible through always-on, context-aware services. Keywords: knowledge-intensive case-based reasoning, context-aware services, user modeling, context modeling, knowledge base.
1 Introduction Within our digitized and integrated world, the way we interact with computers has evolved so dramatically that we quite often have the impression that we live in a Star Trek-like environment. From the ugly and heavy computer on our desks to the slick and slim mobile devices that keep us connected all day around, the journey has been and still is quite challenging. Anyone can interact with computer systems and applications anywhere and any time. Though, there are some significant unknowns in this paradigm: what should be done, when, how and why [1]. Case-based reasoning is a problem-solving paradigm that is able to use the specific knowledge of previously experienced cases to solve new problems. A case refers to a concrete problem situation, which has been either previously experienced (past case) or newly occurred (new case). The new problem is solved by retrieving a similar past case from the case base and by reusing it in this new situation [2]. CBR provides for a mechanism of learning from experience, inspired by the way humans solve problems in real world domains [3, 4]. In this context, the term problem solving is utilized in a broader sense that complies with common practice in knowledge-based systems, i.e. problem-solving does not necessarily consist of finding a solution to a given problem and it can refer to any problem put forward by the user (the justification of a F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 533–544, 2010. © Springer-Verlag Berlin Heidelberg 2010
534
M. Vladoiu, J. Cassens, and Z. Constantinescu
user-proposed solution, the interpretation of a problem situation, the generation of a set of possible solutions etc.) [2]. During the last few years, case-based reasoning has proved itself as being one valuable approach for solving problems that occur in context-aware systems. Lee and Lee have developed a music recommendation system, which utilizes demographics, behavioral patterns and context of the user [5]. Kofod-Petersen illustrates the use of CBR problem solving and learning within tourist and hospital ward domains [6]. Corchado et al. [7], and Kofod-Petersen and Aamodt [8] demonstrate the use of CBR in health care environments. Benard et al. investigate the use of CBR as a mechanism that is able to select the appropriate behavior within collaborative and dynamic situations (virtual training environment) [9]. Kofod-Petersen and Mikalsen [1], and Avila and Cox report on their CBR approach of the travel domain [10]. Ma et al. [11] and Nguyen et al. [12] propose CBR approaches to smart home domains. Kwon and Sadeh [13] report on applying CBR and multi-agent systems to context-aware comparative shopping. Cassens and Kofod-Petersen investigate the importance of explanations for both the reasoning process and user communication in ambient intelligent systems [14]. Dong et al. adopt CBR to provide proactive component selection for mobile context-aware applications [15]. Zimmerman uses CBR to generate recommendations on audio to be listened in a mobile environment (art museum) [16]. Coutand et al. [17], and Sadeh et al. [18] use CBR to personalize location-aware services (message filtering). This paper aims at providing an integrated CBR-based architecture to be used in context-aware systems. This architecture is the result of our work to develop the ePH system, which is a framework for building dynamic user communities that share public interest information and knowledge that is accessible through always-on, contextaware services [19, 20]. ePH is built around a user-centered digital library (called ePH-DLib) that stores regional information and knowledge. Its content is accessible through always-on context-aware services. Users can get it or enhance it, according to their location: at home or office by using a computer, on road with a specific GPSbased device in the car (called gipix, developed in-house), or off-line/off-road via mobile phone. The digital library contains public interest information (drugstores, hospitals, general stores, gas stations, entertainment, restaurants, travel and accommodation, weather, routes etc.), historical, touristic, and cultural information and knowledge, users' personal "war stories" (tracks, touristic tours, impressions, photos, short videos and so on), and their additions, comments or updates to the content. This content is available to the ePH’s users based on their context. For example, for a tourist being in a given area, the system may suggest several locations to go to (and actions to execute to reach them): a place to see, a restaurant to have lunch at, a museum or memorial house to visit etc. More, if a user is interested in something in particular, like mural art, and s/he is located near a place where such artifact is accessible and s/he can reach it within a reasonable time frame (having time to get back before dark), the system could show the tasks to be executed to guide her to reach that place. In a scenario that takes place in a remote mountain region, in which the fuel is going down rapidly, ePH shows on the car device where the nearest gas station is. The ePH architecture incorporates the Communications Server, the Location Server, the CBR Engine, the Knowledge Base, the Context Middleware, and the
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services
535
multi-agent action subsystems [20, 21]. The Communications Server (CS) provides for the always-on kind of service, regardless of the location where the user is when s/he needs that service. The Location Server (LS) makes available the correct service according to the location. The CBR engine identifies the current problem situation, retrieves the past case that is the most similar with the one in progress, suggests a solution that uses that similar case, evaluates this solution, updates the system and learns from the current experience. If the new situation cannot be classified above a certain similarity threshold, then a new case is created and stored. The Knowledge Base includes general domain-dependent knowledge and specific knowledge (that is embodied by cases) that are used together to find the solution to a specific user’s problem (therefore the ePH architecture is knowledge-intensive). The Context Middleware provides for context management by gathering and maintaining contextual information, and by freeing the agents and the applications of this chore. When the current context changes, the new context triggers a multi-agent sub-system, which contains various agents that handle the context, the CBR process, the facilitation and decomposition of the task, and the application-specific activities [21]. As ePH-DLib can be used both on- and off-line with ePH, it is not seen as strongly connected within this architecture. The current stage of the project is as follows: the geospatial engine unde.ro provides the basic ePH functionality [19], the GPS car device, gipix, is in current use, and the critical cores of both the CS and the LS are functional as well. Some experimental results are also available [20, 21, 22]. Currently we are working on the development of the following modules: the CBR engine, the knowledge base and the context middleware. The rest of this paper is structured as follows: the next section gives a brief description of how case-based reasoning works. Section 3 illustrates the knowledge-intensive architecture of ePH’s CBR engine. Section 4 presents some typical user scenarios and their related cases. The conclusions’ section briefly summarizes the paper, and points out some future work ideas.
2 How CBR Works The CBR approach covers a large range of methods for organization, retrieval, use, and indexing of the knowledge retained from past cases. Cases can be preserved as concrete experiences or as generalized cases (sets of similar cases). They may be stored as individual knowledge units, or as smaller parts of them that are distributed within the whole knowledge structure. The cases may be indexed by a prefixed or open vocabulary. With regard to the solution from a past case, this may be directly applied to the current problem, or it may be adapted according to the differences between the two cases. The processes of case matching, solution adaptation, and learning from experience may be performed either by checking syntactic similarity or by using a strong model of general and domain knowledge. More, the CBR methods may be autonomous or they may interact heavily with the user, and past cases may be serially or parallel retrieved [2]. The general CBR cycle is usually seen as a dynamic model having four subprocesses: retrieve the most similar case(s), reuse the information and knowledge from that case(s) to solve the given problem, revise the proposed solution, and retain
536
M. Vladoiu, J. Cassens, and Z. Constantinescu
what is useful for future problem solving within the case-base [2, 23]. It all starts with a problem, whose initial description defines a new case. Then, this new case is used to retrieve a case (or more) from the stored previous cases in the case-base (provided that it can be classified above a given similarity threshold - otherwise the new case is stored as such). The solution of the retrieved case is adapted to match the peculiarities of the new case through reuse, and a solved case is obtained, namely a proposed solution to the current problem (suggested solution). During the revise process, this solution is put into test for success, either by being applied to the real world framework, or by being assessed by an expert. If the testing fails, the solution is altered. Useful experiences are retained (as confirmed solutions) for future use either in form of a new learned case or as modifications to already stored cases. To prevent degradation of the performance of the CBR system over time or to enhance it, maintenance has been identified as a key issue. Amongst the solutions that have been put forward is the proposal is to add two more processes into the CBR cycle beside retainment: review (monitoring the quality of the system knowledge) and restore (maintaining the case-base) [24].
3 FACE – A Knowledge-Intensive Reasoning Architecture The main tasks the ePH’s CBR engine has to deal with are as follows: identification of the current problem situation, retrieval of a past case that is similar to the new one, proposal of a solution to this problem, which uses that similar case, assessment of this solution, and update of the system by learning from the current experience. General domain-dependent knowledge and specific knowledge that is embodied by cases are used together in order to find the solution to a specific user problem (that defines the architecture as being knowledge-intensive). General domain knowledge may be combined with case-based reasoning in various ways: it can be used as an alternative problem solving method when the case-based method fails and/or it can be exploited within the case-base method itself [25]. The architecture that provides for this reasoning process is presented in Figure 1. We have called this architecture “FACE” to emphasize our aspirations to provide a knowledge-intensive reasoning process inspired by the way in which humans solve problems. For the rest of this section, we present briefly the main components of this architecture along with considerations with respect to their content. Throughout this work we have considered the context definition from [1]: context is a set of suitable environmental states and settings that concern a user, which are relevant for a situation-sensitive application during the process of adapting the services and the information that is offered to the user. The context term is used dually here: first, it denotes what will be perceived from the real world (via Context Middleware) and will be stored in cases as findings, and, secondly, it refers to the available information when the problem is solved (leaving out what is not relevant to the task to be executed) [6]. More, the context can be seen on two level of abstraction: a base level, where the context that is defined by specific elements (location, objects, persons etc.) resides, and a conceptual level, which focuses on the structure and relationships of the contextual information. It is important to notice that some knowledge may be context in one setting and domain knowledge in another [1, 27].
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services
537
The CBR engine of ePH integrates the classical CBR cycle (Retrieve, Reuse, Revise, Retain) [2] with other reasoning paradigms (rule-based systems, model-based reasoning, deep models – like causal reasoning etc.), as well as other methods of generating knowledge (data-, text- or knowledge-mining). There is still to be evaluated whether ePH can benefit from the two extra-maintenance processes and in what way. The knowledge base incorporates general domain knowledge and case-specific knowledge. The general domain background knowledge can be acquired in a typical way for knowledge-based systems. There is also possible to learn general knowledge from the cases, in a case-based way or by induction [2]. Performance of (not only) context-aware systems could be improved if users were treated as individuals who have distinct personalities, abilities, goals etc. Every interactive computer system has a model of its users, being it implicit or explicit. Making it explicit provides for easier adaptation to different users and change over time. Therefore, before dealing with a person, the application needs to form a model about that person, by collecting a few specific pieces of information and by corroborating that with the knowledge it has about the groups to which the current person belongs. User stereotypes provide a useful mechanism to build such individualized user models. A stereotype is a cluster of characteristics (facets), which are specific to a certain group (of users), along with their specific values. In order to be useful in a computerized environment, stereotypes must be related to a set of triggers, namely “those events whose occurrence signals the appropriateness of particular stereotypes” [26]. Therefore, we need to keep user stereotypes and their specific triggers within the knowledge base, as it can be seen in Figure 1. The knowledge base includes also the initial cases, pre-classified situations that have been acquired prior to first execution, the point cases, which are generated to incorporate a new occurent situation, and the prototypical cases that are generalized cases (aggregation of knowledge from previous point cases) [1, 6]. Once a new context is identified, the CBR engine tries to retrieve a known case and to classify the new situation relying on this case. After the successful classification of the current situation takes place, the new case will be stored in the case-base as a tuple that includes the contextual information that describes the situation, the problem that corresponds to this situation, and the constructed solution. When the ePH system makes a suggestion to its user, it implicitly predicts the user’s behavior in the short term. As time goes by, and the system acquires new cases, it becomes possible to check whether a new case validates or invalidates that prediction. Therefore, the representation of temporal knowledge within the case base is necessary. The contextual model subscribes to a meronomy that articulates various works from the literature [1, 9, 27, 28, 29] and is enriched to fulfill ePH’s specific functionality. Thus, the context can be personal (user’s interests, state of mind, expertise, limitations – time interval, location area etc., preferences, and so on), social (user’s friends, family, colleagues, acquaintances etc.), task (user’s activities, goals, operating mode – static or dynamic, and so on), device (mobile phone, gipix, PDA, laptop etc.), environmental (things, persons, services, weather etc. from user’s surroundings), spatio-temporal (time, user’s location and movement), strategic (something important for a planned effect) and historical (for keeping trace of the past experience). These all relate to where the user is, when s/he is using the service, what s/he is using the service for, who s/he is with, what s/he likes etc. However considerations such as how
Fig. 1. FACE: a Knowledge-Intensive Reasoning Architecture for Context-Aware Services
538 M. Vladoiu, J. Cassens, and Z. Constantinescu
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services
539
young the user is, or whether it is snowing can be equally important. The Context Interpreter is designed to try to predict future intentions and actions of users. It gets one or more contextual entries and provides a single piece of context. The Context Middleware provides an easy to use, generic context management infrastructure that gathers and maintains contextual information, freeing the applications of this responsibility. The middleware implements a context space [1], which is essential to capture both the transient (echoes the environment at a given point in time) and persistent context (represents a recurrent pattern of transient context) [1, 17]. The context space includes the context history, the current context and the context future. The context history helps applications to predict intentions and actions of the user by taking into account their previous contextual information. The results of this deduction process can be stored into the context future. The current context consists of the currently relevant elements. When the current context “expires” it will be stored in the history for possible future reference. Each element of a context is represented by an attribute (physical or abstract object), its correspondent features (particular points of interest of the attribute within the given context) and the most appropriate action to be executed in this context [9]. Both attributes and features are described by a name, a value, a weight and a type (fuzzy, string, compound, exact). The user context is encapsulated within the cases to enable comparison between contexts, learning of user behavior and generation of case similarities–based recommendations. To avoid the potential for infinite definitions of context, aka “a situation where everything is context”, the context representation is restricted to the context patterns that comply with the context templates, which define contextual information in a domain dependent way. The context validation ensures that a given context instance is valid against a context template. More, the context that is gathered from various sources can be amalgamated via the Context Merger provided that the representations have the same structure [1]. The users can be part of some social network or they can be individual users, both types being covered by context widgets that are able to acquire particular context information and to make it available to the context-aware applications [1]. The context widgets operate independently from the applications and hide the distribution of the context sensing devices within the architecture from particular applications. Once the current context changes, the new context activates a multi-agent sub-system, which contains various agents that deal with: the context, the CBR process, the task facilitation and decomposition, and the application-specific undertakings.
4 ePH User Scenarios and Cases As shown briefly in the section that describes our system, ePH has a significant potential to support users in various ways: enhancing tourist experiences [20], enabling learning in multi-dimensional learning spaces [21], increasing traffic safety [22] etc. In this section, we present in more details the way in which a user who is interested in touristic attractions can benefit from interaction with ePH. The idea behind this kind
540
M. Vladoiu, J. Cassens, and Z. Constantinescu
of support has been to help a person who is at a given time in a certain location to experience as most as possible as a tourist, in a personalized and effective way, both in the real world and in the virtual one. There are two significant user scenarios, each of them involving the opportunity to access whatever is relevant to one person’s current interest within a given (real or virtual) area. First one is confined inside almost circular area (with a given radius), while the second one takes place along a particular segment of a track (with a given length). The system can support users to fulfill their specific goals in a context-aware fashion, by making recommendations on what is worth to be seen within the specified area, from a touristic point of view, and by showing the tasks to be executed to guide
Case: Ploiesti 1 … Context.task: 1 day town tour Context.operating_mode: static Context.device: laptop Context.location: 44.9412,26.0213 Context.movement: no Context.time: 2010.03.20 … Context.interests: museum,tradition Context.preferences: lunch,12pm-1pm Context.interval: next day,9am-7pm Context.location-area: around 10km Context.weather: sunny day Context.friends: yes …
Case: Ploiesti 2 … Context.task: 1 day town tour Context.operating_mode: dynamic Context.device: PDA Context.location: 44.9412,26.1345 Context.movement: yes Context.time: 2010.03.21 … Context.interests: buildings Context.preferences: concert,after 8 Context.interval: today Context.location-area: around 10km Context.weather: sunny day Context.state_of_mind: joyful …
Fig. 2. Two possible one-day town tours and the related prototypical cases
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services
541
the user to reach that place. Let us consider two scenarios: first one with a person who is interested in visiting our county’s capital (called Ploiesti) and would like help to organize and undertake a one-day personalized tour. The tour is supposed to take place in the town and in its surroundings (more or less circular area). In the second scenario, the user is interested in either a round-trip excursion or a trip along a main road, both spanning on a one-day period of time and within our county (Prahova). We assume that a distance that can be easily covered during daylight is around 150 km. In the first situation, our user, let’s call her Sofia, will be provided with the main Points Of Interest (POI) within the town area, along with their specific constraints (appropriate time to visit, ticket availability, and special offers). These points are grouped together in several one-day packages, from which Sofia can choose the most appropriate one according to her personalized option. For example, she can visit The Clock Museum, which is unique in Romania, The Art Museum, The History Museum, and the traditional products’ market from the city center (Figure 2, tour 1). In the market she can have a traditional snack, with sheep cheese and smoked mutton (by accessing the available glossary service she can find more about these meals). While moving from the History Museum to the market, Sofia will be passing by the Toma Caragiu Theater and she can get notification that there are still tickets for the evening representation. She can be pointed out that other online ePH friends are in the area and she can ask them if they want to join her for one or more of the undertaken activities. More, the POI specific restrictions are both displayed on her device and considered when ePH builds the one-day package. Another possible package includes The Memorial House of Nichita Stanescu (second major Romanian poet), The Central Market Hall (where she can also eat), and the Saint John Cathedral (Figure 2, tour 2). If she has interest in classical music, she can choose to close the day with a concert at The Paul Constantinescu Philharmonic Orchestra. The cases that are related to these scenarios are presented briefly in Figure 2. In the second scenario, Tudor, another ePH user, is offered more one-day trip packages. Tudor may be planning the trip prior to the journey itself or he might adjust his excursion dynamically, as he gets close to some POIs that are relevant to him. One possible package (3) includes the wisent reservation (European bison) at Bucsani, the Turnu monk monastery (where there are the ruins of five very old churches), and the Vacarescu Calimachi Castle in Manesti. The POIs in this package must be visited in this particular order, in any day but Monday, due to different constraints: the bison eat around 10, therefore is better to be in the reservation before that time, the monastery may be visited after the morning religious service is finished (after 12.30) and the castle is open before 17.00 (except for Monday). Other packages contain: (4) the haunted Iulia Hasdeu Castle, the memorial house of the painter Nicolae Grigorescu, the Peles Castle in Sinaia, and the Dracula’s Castle in Bran (Figure 3, trip 4), (5) the Muddy Vulcanoes in Berca, the Amber Museum in Scortoasa, and The Slanic Salt Mine (Figure 3, trip 5), (6) the Monastery tour: Ghighiu, Zamfira, Suzana and Crasna etc. While on road, the system can let Tudor know that in the vicinity there is a traditional fair taking place and, if he is interested in, ePH can guide him to get to that fair. The related cases are illustrated in Figure 3.
542
M. Vladoiu, J. Cassens, and Z. Constantinescu
Case: Prahova 4 … Context.task: 1 day car trip Context.operating_mode: static Context.device: laptop Context.location: 44.9412,26.0213 Context.movement: no Context.time: 2010.03.20 … Context.interests: castles, haunted Context.preferences: take away food Context.interval: next day,9am-7pm Context.limitations: max 150km Context.weather: good Context.friends: no …
Case: Prahova 5 … Context.task: 1 day car trip Context.operating_mode: dynamic Context.device: gipix,mobile phone Context.location: 44.9331,26.1345 Context.movement: yes Context.time: 2010.03.20 … Context.interests: natural phenomena Context.interval: today Context.limitations: max 150km Context.weather: good Context.friends: yes Context.expertise: geological …
Fig. 3. Two possible one-day trips and the related prototypical cases
5 Conclusions Within this major shift from the desktop computer to the ubiquitous paradigm, the computer systems and applications are expected to adapt to the personality of their users and to the current situation as opposed to the previous paradigm where the users were expected to adapt to the systems. CBR provides the means to solve a new problem by retrieving a previous similar situation and by re-using information and knowledge of that situation. CBR is suitable for open and ill understood domains, as it gains its expertise “through remembering the irregularities” [14], and it has proved its potential to development of context-aware applications. The FACE architecture integrates the basic CBR approach with other reasoning paradigms, and subscribes to the general idea of unifying the problem solving and
FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services
543
learning within one integrated knowledge framework. Future research has to be done into the quality of context information [29, 30], as an important parameter for modeling context, and how to integrate this within our system. Efforts have to be made towards the inclusion of an inference mechanism [31, 32] that enables derivation of context. From the three features of a context-aware application [1, 12], 1) presentation of information and services to the user, 2) automatic execution of services, and 3) tagging of context – FACE provides only presentation of information and services, partially, for the automatic execution of a service for a user. Tagging of context to information to support later information retrieval is still to be achieved. Future work needs to be done for better understanding of the relationship between problem solving and learning, and their integration into an autonomic framework, which provides for the system’s ability to inspect its own behavior and to learn how to change its structure, in order to improve its future performance.
References 1. Kofod-Petersen, A., Mikalsen, M.: Context: Representation and Reasoning. Representing and Reasoning about Context in a Mobile Environment. Revue d’Intelligence Artificielle 19(3), 479–498 (2005) 2. Aamodt, A., Plaza, E.: Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches. AI Communications 7(1), 39–59 (1994) 3. Anderson, J.R.: The Architecture of Cognition. Harvard University Press, Cambridge (1983) 4. Schank, R.: Dynamic memory; a theory of reminding and learning in computers and people. Cambridge University Press, Cambridge (1982) 5. Lee, J.S., Lee, J.C.: Context Awareness by CBR in a Music Recommendation System. In: Ichikawa, H., Cho, W.-D., Satoh, I., Youn, H.Y. (eds.) UCS 2007. LNCS, vol. 4836, pp. 45–58. Springer, Heidelberg (2007) 6. Kofod-Petersen, A.: Challenges in CBR for Context Awareness in Ambient Intelligent Systems. In: Int’l Workshop on CBR and Context Awareness, CACOA 2006 (2006) 7. Corchado, J.M., Bajo, J., de Paz, Y.: A CBR System: The Core of an Ambient Intelligence Health Care Application. In: Soft Computing Applications in Industry, pp. 311–330 (2008) 8. Kofod-Petersen, A., Aamodt, A.: Contextualised Ambient Intelligence Through CaseBased Reasoning. In: Roth-Berghofer, T.R., Göker, M.H., Güvenir, H.A. (eds.) ECCBR 2006. LNCS (LNAI), vol. 4106, pp. 211–225. Springer, Heidelberg (2006) 9. Benard, R., Bossard, C., De Loor, P.: Context’s Modeling for Participative Simulation. In: 9th Int’l Florida Artificial Intelligence Research Soc. Conf. FLAIRS 2006, pp. 613–618 (2006) 10. Muñoz-Avila, H., Cox, M.T.: Case-Based Plan Adaptation: An Analysis and Review. IEEE Intelligent Systems 23(4), 75–81 (2008) 11. Ma, T., Kim, Y.-D., Ma, Q., Tang, M., Zhou, W.: Context-aware implementation based on CBR for smart home. In: IEEE Int’l Conference on Wireless And Mobile Computing, Networking And Communications WiMob 2005 (2005) 12. Nguyen, T.V., Woo, Y.C., Choi, D.: CCBR: Chaining CBR in Context-Aware Smart Home. In: 1st Asian Conf. on Intelligent Information and Database Systems (2009) 13. Kwon, O., Sadeh, N.: Applying case-based reasoning and multi-agent intelligent system to context-aware comparative shopping. Decision Support Systems 37(2), 199–213 (2004)
544
M. Vladoiu, J. Cassens, and Z. Constantinescu
14. Cassens, J., Kofod-Petersen, A.: Explanations and Case-Based Reasoning in Ambient Intelligent Systems. In: Int’l Workshop on CBR and Context Awareness CaCoA 2007 (2007) 15. Dong, F., Li, Z., Hu, D.H., Wang, C.-L.: A Case-Based Component Selection Framework for Mobile Context-Aware Applications. In: IEEE Int’l Symposium on Parallel and Distributed Processing with Applications ISPA 2009, pp. 366–373. IEEE Press, New York (2009) 16. Zimmerman, A.: Context-awareness in user modeling: Requirements analysis for a casebased reasoning application. In: Ashley, K.D., Bridge, D.G. (eds.) ICCBR 2003. LNCS (LNAI), vol. 2689, pp. 718–732. Springer, Heidelberg (2003) 17. Coutand, O., et al.: A CBR Approach for Personalizing Location-aware Services. In: Int’l Workshop on CBR and Context Awareness, CACOA 2006 (2006) 18. Sadeh, N., Gandon, F., Kwon, O.B.: Ambient Intelligence: The MyCampus Experience. Technical Report CMU-ISRI-05-123, Carnegie Mellon University (2005) 19. Vladoiu, M., Constantinescu, Z.: Framework for Building of a Dynamic User Community - Sharing of Context-Aware, Public Interest Information or Knowledge through Always-on Services. In: 10th Int’l Conf. of Enterprise Information Systems ICEIS 2008, pp. 73–87 (2008) 20. Vladoiu, M., Constantinescu, Z.: Toward Location-based Services using GPS-based Devices. In: Proceedings of Int’l Conference on Wireless Network ICWN 2008 - World Congress on Engineering WCE 2008, vol. I, pp. 799–804 (2008) 21. Vladoiu, M., Constantinescu, Z.: Learning with a Context-Aware Multiagent System. In: 9th Romanian Educational Network International Conference RoEduNet (submitted 2010) 22. Vladoiu, M., Constantinescu, Z.: Driving style analysis using data mining techniques. Int’l Journal of Computers, Communications & Control, IJCCC (2010) (to be published) 23. Shokouhi, S.V., Skalle, P., Aamodt, A., Sormo, F.: Integration of Real-time Data and Past Experiences for Reducing Operational Problems. In: Proceedings of International Petroleum Technology Conference, Doha, Qatar (2009) 24. de Mántaras, R.L., et al.: Retrieval, reuse, revision and retention in case-based reasoning. Knowledge Engineering Review 20(3), 215–240 (2005) 25. Sørmo, F., Cassens, J., Aamodt, A.: Explanation in Case-Based Reasoning-Perspectives and Goals. Artificial Intelligence Review 24(2), 109–143 (2005) 26. Rich, E.: User Modeling via Stereotypes. In: Readings in Intelligent User Interfaces, pp. 329–342. Morgan Kaufmann Publishers, San Francisco (1998) 27. Brézillon, P., Pomerol, J.-C.: Contextual knowledge sharing and cooperation in intelligent assistant systems. Le Travail Humain 62(3), 223–246 (1999) 28. Göker, A., Myrhaug, H.I.: User context and personalisation. In: Workshop Proceedings for the 6th European Conference on Case Based Reasoning ECCBR 2002 (2002) 29. Chaari, T., Dejene, E., Laforest, F., Scuturici, V.-M.: A comprehensive approach to model and use context for adapting applications in pervasive environments. The Journal of Systems and Software 80(12), 1973–1992 (2007) 30. Bringel Filho, J., Martin, H.: Towards Awareness of Privacy and Quality of Context in Context- Based Access Control for Ubiquitous Applications. Journal on Digital Information Management 7(4), 219–226 (2009) 31. Qin, W., Suo, Y., Shi, Y.: CAMPS: A Middleware for Providing Context-Aware Services for Smart Space. In: Chung, Y.-C., Moreira, J.E. (eds.) GPC 2006. LNCS, vol. 3947, pp. 644–653. Springer, Heidelberg (2006) 32. Jih, W.-r., Hsu, J.Y.-j., Lee, T.-C., Chen, L.-I.: A Multi-agent Context-aware Service Platform in a Smart Space. Journal of Computers 18(1), 45–59 (2007)
Generating XForms from an XML Schema J´ an Kasarda, Martin Neˇcask´ y, and Tom´ aˇs Bartoˇs Department of Software Engineering, Malostransk´e n´ amˇest´ı 25, 118 00 Prague 1, Czech Republic
[email protected],
[email protected],
[email protected] Abstract. As the usage of classic web forms written purely in HTML rises, their capabilities become insufficient. So the XForms technology, the new forms based completely on the XML format, was created. There are several studies of how to automate the process of creating XForms if there exists a schema against which the form will be validated. This paper presents a new method of semi-automatic transformation from the XML Schema to XForms using the XHTML as the host language for generated forms. The proposed algorithm is based on traversing the input XML schema and generating the XForms form in two phases. We prove the feasibility of this concept with the implemented XForms editor. Keywords: XML Schema, XForms, semi-automatic transformation.
1
Introduction
The alternative to the classic web forms is a new W3C technology called XForms [14]. XForms are the second generation forms that separate the presentation layer from the data layer. Furthermore, the data layer is built completely on top of the XML format, so it is represented as a well-formed XML document with a predefined structure. We describe the structure of the XML documents with various languages such as XML Schema [9] or DTD [2]. XForms use XML Schema as the language that describes the structure. These XML documents might be processed further by other technologies such as XSLT transformations [7] or we can use them as input parameters for a web service. Because we know the structure of the documents, we can validate the forms before sending to a server or other recipients. A common situation is that we have an XML schema describing XML documents that users will edit through a web form. The form usually reflects the structure of the schema. Therefore, it is natural to help a form designer to derive the form from the XML schema. More precisely, it means to derive an XForms code describing the form from the supplied XML schema. It brings better flexibility whenever we create applications specific for a given set of XML schemas or when we maintain big collections of XML schemas and related forms. Therefore we decided to implement an XForms editor [1], [15] that helps designers to transform the given schema to the XForms form; that takes XML F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 706–714, 2010. c Springer-Verlag Berlin Heidelberg 2010
Generating XForms from an XML Schema
707
Schema as the language for the structural description; and that includes the algorithm providing semi-automatic transformation of XSDs to XForms forms in two phases.
2
Related Work
Generating an XForms form from a given XML schema is not a new concept. There exists several transformation methods that we can categorize according to two basic criteria: the degree of automation and the implementation technique of a proposed method. The degree of automation divides the approaches into two groups: – Automatic transformations. These solutions (e.g [2] or the generic XSDto-XForms processor [5]) generate the XForms form automatically from the given XML schema with no user interaction. This concept is useful when the XML schema is quite large, complex, or when there is a big number of XML schemas. The disadvantage is that the form designer cannot influence the transformation process and we must provide a default solution for the case of ambiguity. – Semi-automatic transformations. The process is similar to automatic transformation but the main advantage is that, in case of ambiguity, we can ask the form designer how to solve the situation. The form designer can directly modify the form layout and all form controls during the transformation process. A famous implementation of the semi-automatic transformations is the Visual XForms Designer [12]. On the other hand, the implementation technique means how the solutions access and handle the XML schema languages. The known methods use: – XML-based access. These concepts leverage the fact that both, the XML schema languages (except for the DTD) and XForms, are completely based on the XML format. So the implementations provide just an XSLT script that transforms the given XML schema to the code of the corresponding XForms form. It is effective but the drawback is that the XSLT is not a programming language, so it cannot interact with the form designer. So XSLT is suitable for automatic methods only. We can use this approach for creating Web services interfaces [3]. – Object-oriented technique. We use object-oriented languages based on usual XML parsing technologies, e.g. DOM [16] or SAX [17]. They provide user-friendly API and allow the interaction with the form designer but we must know the language and typically we need more time to implement the solution. Considering the existing solutions, we decided to use a procedural language (leveraging the object-oriented concepts) to create a new algorithm for the semiautomatic transformations (see Section 4). This combination is user friendly, we can easily enhance the performance in the future, and the implementation provides better connection with XSDs (compared to Visual XForms Designer).
708
3
J. Kasarda, M. Neˇcask´ y, and T. Bartoˇs
XML Technologies
Extensible Markup Language or XML was developed primarily as the format for storing the semi-structured data. It became very popular and it proved to be useful also in several different areas such as data modeling (XML Schema) or data transformations (XSLT). 3.1
XML Schema
The XML Schema is one of the languages that define a structure of XML documents and it is completely based on the XML format (see Figure 1). An XML Schema defines several conditions that the XML documents must meet to be valid against this schema, e.g. specific value types or the predefined structure.
Fig. 1. Sample XML Schema
3.2
XForms
XForms are valid XML documents that are intended to replace the existing web forms in the future. To the main advantages belong the dynamic behavior, the support for repeating controls or the validation, and the Model-View-Controller. Even though XForms contain the user interface, we have to supply the host languages into which we insert the XForms form to create a well-formed XML (e.g. HTML or XHTML for viewing in web browsers). To understand the principles of XForms and the algorithm (Section 4), we need to define terms that we will use in the following text. Definition 1. XSD node An XSD node is a 5-tuple N = (name, min, max, nodeType, content) where name is the string identifier of a node, min and max are integers handling minimal and maximal cardinalities of elements in a schema, nodeType ∈ {element, all, choice, sequence, attribute}, and content is a set of XSD nodes.
Generating XForms from an XML Schema
709
Definition 2. XForms attribute An XForms attribute is a pair A = (name, attrType) where name is the string identifier of an attribute and attrType ∈ {string, integer}. Definition 3. XForms instance node An XForms instance node is a 4-tuple I = (name, type, children, attrs) where name is the string identifier of a node, type is an XSD node, children stands for an ordered set of XForms instance nodes, and attrs is a set of XForms attributes. Definition 4. XForms input control An XForms input control is a user interface element in XForms. It corresponds to a single Core Form Control Element [14]. Definition 5. XForms binding An XForms binding is a pair B = (instance, control) where instance is an XForms instance node and control is an XForms input control. Definition 6. XForms model An XForms model is a pair M = (instance, bindings) where instance is an XForms instance node and bindings is a set of XForms bindings. Definition 7. XForms tree An XForms tree is a pair T = (model, UI) where model is an XForms model and UI is a set of XForms input controls. Example 1. The sample XForms form (Figure 2) represents an XForms tree. The logical structure of the first XML element is divided into two parts, namely instance and the binding part. The instance is represented by the XML element and it keeps the data edited by form users while the binding part contains several elements which specify relationships between the data and components of the following UI part. Simply speaking, they assign XML schema types to the UI components which allows validation of data values filled by the user in the form. The UI specifies the user interface expressed by various XForms elements such as which specifies an input field label or which specifies a single-line text input field.
4
Algorithm
In this section, we introduce a new semi-automatic algorithm that translates the input XML schema expressed in XSD to a corresponding XForms form. The algorithm can interact with the form designer who can influence which element and attribute declarations from the XML schema will be reflected in the form and how they will be grouped together, validated or visualized. The aim of the algorithm is to assist the form designer rather than do all the work automatically. The algorithm has two phases. Firstly, it traverses the XML schema and derives the instance part of the resulting form. Secondly, it generates the UI
710 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
J. Kasarda, M. Neˇcask´ y, and T. Bartoˇs contact name ...
Fig. 2. Sample XForms form
part of the form. It generates some default UI components for each part of the instance but the form designer is able to influence this behavior. Together with the UI components, the algorithm automatically creates the binding part. 4.1
Creating the Instance
We simply traverse the given XML schema from the root to the leaves (top-down approach) and we generate an XML document with XML elements corresponding to the element declarations (see Algorithm 1). As the result, we generate an XForms instance node, a “complete” instance with all possible XML elements and attributes that can be derived from the given XML schema. We can extend this instance only by processing the repeating nodes. For our sample XML schema the result is the element with all subelements (lines 3–9) in Figure 2. The created instance does not contain any information about types, values, or any other data that we could obtain from the source XML schema. We will append these details in the next phase which derives the UI and binding parts. 4.2
Creating the XForms Tree
Algorithm 2 describes the second phase of the algorithm. We traverse the XForms instance created in the first phase from its root to the leaves. In each step we create a new binding in the binding part and usually also a new input control component in the UI part of the form using the information from the input XML
Generating XForms from an XML Schema
711
Algorithm 1. CREATEINSTANCE(S, D) Require: XSD source node S; destination XForms instance node D 1. if S.nodeType = element then 2. N ← new XForms instance node(S.name) 3. N .type ← S 4. D.addChild(N ) 5. for all child ∈ S.content do {for complex types only} 6. if child.nodeType = attribute then 7. createinstance(child, D) 8. else 9. createinstance(child,N ) 10. end if 11. end for 12. else if S.nodeType ∈ {choice, all, sequence} then 13. for all child ∈ S.content do 14. createinstance(child,D) 15. end for 16. else if S.nodeType = attribute then 17. A ← new XForms attribute (S.name) 18. D.addAttribute(A) D.type ← S 19. 20. end if
Schema. The way of processing an XForms instance node depends on the type of the corresponding XSD node (the node in the input XML Schema) whether it is a simple or a complex type. The simple types include attributes and XML Schema simple types such as string or integer. All other types are complex. Now we discuss the steps of the second phase in terms of all possible cases of processing an XForms instance node and creating the corresponding UI control. Simple Types. XForms define a wide collection of built-in types. For each element of a simple type we create an UI control and bind it to this element. We must choose the most appropriate control for a given simple type. The basic implementations might use the default control for each simple type while the advanced solutions might use the suggested UI controls. Choice nodeType. The basic idea of processing the element is to create the element for each possible choice and let the user choose which part should be applied. We allow the user to choose exactly one option via triggers or another type of input controls. We store the selected choice in a temporary XML attribute that we create at the beginning of processing the element. Then, we assign this attribute to the parent element of all choices (e.g. the element in the sample XForms form). The createPlaceHolder function ensures all these actions and it also generates input controls needed after a change of the choice.
712
J. Kasarda, M. Neˇcask´ y, and T. Bartoˇs
Algorithm 2. CREATEUI(S, D) Require: source XForms instance node S; destination XForms tree D 1. parent = new xf:group {default parent is a new group} 2. if (S.type.min > 1) or (S.type.max > 1) then 3. parent = new xf:repeat 4. end if 5. D.U I.addControl(parent) 6. if isSimpleType(S.type) then {attribute or XML Schema simple type} 7. E ← createUIElement(S) 8. D.U I.addControl(E) 9. createBinding(E, S) 10. else {complex types} 11. if S.type.nodeT ype = choice then 12. createPlaceHolder() {updates the XForms instance} 13. for all child ∈ S.children do 14. createUI(child, parent) 15. parent.setRelevancy(child) 16. end for 17. else 18. for all child ∈ S.children do createUI(child, parent) 19. 20. end for 21. end if 22. end if
The temporary attribute is not a part of the XML schema, so we mark it as irrelevant. We assign the relevance as an attribute to the binding element (line 12 in Figure 2):
Afterwards, we continue with processing all child elements of the choice by applying the same principles of creating the UI. Because each choice is encapsulated in its own element, the function setRelevancy makes these groups visible but only in case that the user choose them. We set the visibility by creating a correct reference to these groups as attributes in the binding element (lines 13–16 in Figure 2):
We know that element seems to be better alternative but there were some technical issues with processing it in some XForms framework implementations (e.g. problems with inside element). Repeat nodeType. Processing of any with changed cardinality is one of the most complex part of the algorithm. XForms 1.0 do not check
Generating XForms from an XML Schema
713
minimal and maximal occurrences of a repeating element. If user decides to remove the very last element, XForms cannot add more such elements in the future. To fix this, we add a special node into an XForms instance (one extra instance of the XSD node that is irrelevant to XML Schema) and few XPath expressions into binding elements. We generate the binding element in the usual way and then we extend it with the relevant attribute. The XPath expression only counts the siblings and compares it to zero. We add the element to the UI which will change the context for all nested elements that we need to update. The last thing is that we create the triggers for the add or the delete events. Depending on the choice of users, we might need to generate different XPath expressions in order to address appropriate elements correctly. 4.3
Binding Elements
We create bindings for each XML node in the XForms instance. The main purpose of a binding is to specify the relationship between an XML node and the corresponding type in the input XML schema. We create these bindings as the elements. In any binding element, there must be an XPath expression which addresses the XML node in the XForms instance. In the algorithm, we build the XPath expression by traversing the already generated XForms instance bottom-up, from the current XML node to the root. Although the context might be changed when adding a new element, we are able to recover the XPath expressions. Moreover, we might include additional conditions or criteria for the bindings. For example we can add a certain XPath expression to check the number of elements (for repeating elements and their bounds) or to provide a type control.
5
Conclusion and Future Work
Generating XForms forms for a huge number of different documents might be time-consuming, so we focus on the topic of generating XForms forms from a given schema. We took the XML Schema as the input schema that describes the structure of documents, and we proposed a new semi-automatic transformation of the given XML Schema to XForms. The implemented XForms editor provides very good connection with the XML Schema and it might be useful also in the business environment for easy development of different forms. We understand that generating XForms is only the first step in the process of managing forms and for the future work, we would like to enhance the transformation and implement the reverse modification of the generated XForms forms. Furthermore, we would like to consider and develop our approach as a part of an XML technology space [4].
714
J. Kasarda, M. Neˇcask´ y, and T. Bartoˇs
Acknowledgments ˇ This research has been partly supported by Czech Science Foundation (GACR) project Nr. P202/10/0573.
References 1. Kasarda, J. (ed.): XForms. Thesis. Faculty of Mathematics and Physics. Charles University, Prague (2007) 2. Lee, E., Kim, T.-H.: Automatic Generation of XForms Code Using DTD. In: Fourth Annual ACIS International Conference on Computer and Information Science (2005), 0-7695-2296-3 3. Song, K., Lee, K.-H.: IEEE International Conference on Web Services (2007), 07695-2924-0 4. Kurtev, I., B´ezivin, J., Aksit, M.: Technological Spaces: An Initial Appraisal. In: International Symposium on Distributed Objects and Applications, DOA 2002, Irvine, USA, October 30-November 1 (2002) 5. Garvey, P., French, B.: Generating User Interfaces from Composite Schemas, http://www.idealliance.org/xmlusa/03/call/xmlpapers/ 03-03-04.994/.03-03-04.html 6. Pemberton, S.: XHTML 1.0 The Extensible HyperText Markup Language, 2nd edn., http://www.w3.org/TR/xhtml1/ 7. World Wide Web Consortium XSL Transformations (XSLT), Version 1.0, http://www.w3.org/TR/xslt 8. Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (WSDL) 1.1, http://www.w3.org/TR/wsdl 9. World Wide Web Consortium XML Schema, http://www.w3.org/XML/Schema 10. Raggett, D.: HTML 4.01 Specification, http://www.w3.org/TR/html401 11. World Wide Web Consortium The Extensible Stylesheet Language Family (XSL), http://www.w3.org/Style/XSL 12. IBM Visual XForms Designer, http://www.alphaworks.ibm.com/tech/vxd 13. Flanagan, D.: The definitive Guide. O’ Reilly Media, Sebastopol (2006), 0-59610199-6 14. Boyer, J.M.: XForms 1.1, http://www.w3.org/TR/xforms11 15. Kasarda, J. (ed.): XForms, http://www.ms.mff.cuni.cz/~ kasaj4am/xforms.html 16. World Wide Web Consortium Document Object Model (DOM) Level 2 Core Specification, http://www.w3.org/TR/DOM-Level-2-Core/ 17. Brownell, D.: SAX, http://www.saxproject.org/
GSM-Based Notification System for Electronic Pigeon Hole Mohd Helmy Abd Wahab1, Ahmad Al’ Hafiz Riman1, Herdawatie Abdul Kadir1, Rahmat Sanudin1, Ayob Johari1, Roslina Mohd Sidek2, and Noraziah Ahmad2 1
Universiti Tun Hussein Onn Malaysia 86400 Pt. Raja, Batu Pahat, Johor, Malaysia {helmy,watie,rahmats,ayob}@uthm.edu.my 2 Universiti Malaysia Pahang Kuantan, Malaysia {roslinams,noraziah}@ump.edu.my
Abstract. This paper presents the design and development of Electronic pigeon hole integrated with GSM network to send a notification of any upcoming loaded. The electronic pigeon hole is able to send notification message via short message service (SMS) to the designated user if any new letter is placed in it. The innovation of the electronic pigeon hole could give immediate response for any urgent request for busy people. The system was developed by integrating a detection circuit to acknowledge the existing of new post items with the GSM modem to transmit SMS to specific user. It is found that the developed system is able to provide immediate notifications to intended users for further action. Keywords: GSM Notification System, Microcontroller, Short Message Services, Pigeon Hole.
1 Introduction The wireless technology revolution is increasing rapidly in routine applications. It is regarded as one of the solutions to ease the communication either among people or between people and devices. This technology also enables the information imparts and communication process done in short time interval anywhere and anytime. One of the applications offered by wireless technology is GSM/GPRS which is commonly used in mobile phone. GSM system offers SMS that is being utilized to send a short, simple text message. By utilizing SMS technology to transmit notification for acknowledgement of upcoming loading through SMS, the PH-e is proposed. In general, each staff in most big organization has his/her own pigeon hole to receive any important letter or memo related to the official duty. In the case of Universiti Tun Hussein Onn Malaysia, each academic staff has been allocated a pigeon hole for any letters or memos from within or inter faculty. Unfotunately, the current conventional pigeon hole system is unable to inform the staff on any urgent letter and this lead to significant delay in responding the letter. The main weakness of the current system is that staffs need to check their respective pigeon hole everyday F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 619–630, 2010. © Springer-Verlag Berlin Heidelberg 2010
620
M.H.A. Wahab et al.
but due to the routine commitment or unforeseen circumstances the pigeon hole cannot be possibly checked everyday. In order to overcome this problem, the Electronic Pigeon hole is introduced as an innovation from conventional pigeon hole to notifiy user through SMS. Figure 1 shows the block diagram of the PH-e system.
Fig. 1. Block diagram of PH-e
2 Related Work This section discussed in brief what is Mobile Computing and Wireless Communications, survey on the application of SMS-based notification system in various areas. 2.1 Mobile Computing and Mobile Communication Wireless networking has experienced an active growth during last few years and it has great influence to human life. Existing mobile communications make information delivery much easier and effective than before and now driving data traffic roughly increased double every two years [1]. Mobile computing yet has limitation and its own problems. The inherent limitations of mobile computing reduce CPU performance, small secondary storage, heightened battery consumption sensitivity and unreliable low-bandwidth communication [7]. Other issues should be considered about mobile computing are about security and miss function, weak terminal and network [2][8]. Most networks were designed for stationary users. Each user of stationary network has fixed address which used to transfer information to them. Instead of with user movement, addressing becomes a problem. But for some network such as cellular networks still keep the same address for mobile users in information transfer even though the users have movement [9]. Although the mobile computing and communication have their own problems, but they still be the main choice and seems like to be a trend for most social hierarchy, because by using these technologies, people can impart and receive information anywhere and anytime.
GSM-Based Notification System for Electronic Pigeon Hole
621
According to [21], people need easy access to the resource everyday to solve their life problems including social, academic and financial. But constrain such as financial, physical, geography and culture factors almost can cause obstructions for people to get information. So, for an anytime, anywhere computing flexible system design should be considered based on users capability [3]. Then, by combining the advantages of those technologies, mobile communications-based applications were created. With manipulation and integration of cellular networks and electronic circuits, many useful applications such as controlling electrical devices using SMS have been developed [5]. 2.2 Mobile Application Notice Board is an important medium in communication when conducting a meeting [8]. There have already some examples of traditional boards being enhanced with digital interactions [4]. Such as in [8] and [4] stated that board that uses magnetic pucks for organizing conference papers. Mohammad and Norhayati [10] developed an SMS service system for campus wide information delivery to communicate with the group of students to deliver important message quickly. However, the system was developed using Visual Basic connected through dedicated network but not a web-based system. Simplewire Wireless Message Protocol and ActiveX SMS Software Development Kit for Visual Basic were used as tools to support SMS system. Meanwhile, Mikleia et. al. [17] had used SMS as supporting tools in Research Methods Class which delivers information related to particular subject such as deadlines, time management, research process and other organizational issue regarding the class. The system used to send information regarding the preprogrammed message such as paper format and guidelines to students. Markett. Et. al [16] had used SMS low threshold technology to support interactivity in the classroom. The students use their personal mobile phones during class to send SMS in real-time. A modem interfacing with customized software to produce text and spreadsheet files of SMS to enable the lecturer views the SMS. Lecturer can develop the interaction further with student during class, by verbally addressing the SMS content. The SMS is published to the class website and then the lecturer and all students develop the interaction via online thread comments. The same application developed by [16], which uses PDA in a wireless network to build an environment that, emulates sending of Short Message Services with mobile phones. This kind of technology applied to enhance the collaboration in Literature Course. The system was implemented using Java application with Graphical user Interface that very closely mimics the user a real mobile phone on a Compaq iPaq running a linux-based operating system. Curran and Craig [21] developed a web-based annoucement system for delivering urgent information are closely related with the Mobile Notice Board project. The development of the system using Java language that can deliver a message from webbased interface (electronic form) and send it to a group of students. Previous study discussed above shows the utilization of SMS technology in education domain. But the technology does not limit only in the education domain itself. It is also used as notification system in area of location information, credit cards authentication, computer-based messaging and remote monitoring [14] However, [15] defined an architecture between Internet/ Intranet and services provided by
622
M.H.A. Wahab et al.
telecommunication network to notify exchanges between different system running on difference platforms. Mobile application supports the architecture such as Internet mail to Short Message Services (Mail-SMS), University Information System Mobile Interface, Remote Control and Monitoring of Industrial processes. Papadoglou and Stipidis [12] and [21] mentioned on the used SMS to report vehicle location reporting. The system used to periodically transmit vehicle location and control/ status information with the aid of controller area network (CAN) and GPS and [14] using GPS and Rabbit Processor as interfacing to request the vehicle location from mobile phone and receive notification through mobile phones. The same application implemented by [11] which use SMS to locate the current public transport between point to point locations. By keying in the desired destination, a point-to-point bus travel solution will be provided to the sender. Similar work also developed by Hapsari, Syamsudin and Pramana [22] which designed a system that can provide information on vehicle position using FPGA while Johari et. al [19] developed a SMS system for monitoring vehicle location using integrated GSM-GPS systems. However, there is a different approach applied by Rashid et. al [23] and Thompson and Sheat [24] which utilize GPRS to provide public information system on departure and arrival time at central terminal on users’ mobile phone. Obea et. al [18] provide a SMS tool to exchange information in medical area which related in Radiologocal Information System (RIS) which mobile phone used by physician on call. RIS system can be configures to send SMS when the examination is scheduled and to send another SMS later to remind the patient of the appointment. Research done by [27] used Rabbit Core Module used as a main board to control a child using SMS. The system works by sending SMS to parent when a child is crying. The child’s voice was as an input to the system to trigger the SMS system. A.R Al-Ali, M.A. Rausan [25], developed a system to monitor and control house equipment using GSM technology via mobile phone. It executes by just sending an order by SMS and receives the house equipment status. This system consists of two parts, hardware and software. The hardware uses 8 bit microcontroller, interface and driver circuit for connection between device and microcontroller, LCD display and GSM modem. The system was developed using C language. In conjunction of [26], the same SMS technology has been applied to develop patient monitoring system to control body temperature and blood pressure. The system used temperature sensor and signal conditioning circuit, microcontroller, LCD display and GSM modem. Microprocessor used to operate temperature and pressure, display it to LCD and send that value to modem. Mohd Helmy Abd Wahab et. al [28] designed and developed an integrated e-parcel management system using GSM network which notify user regarding the upcoming parcel reach at university. The increasing number of SMS system in any various area has gained a high attention to all organization to update and re-innovate the system to support the SMS module. This facility could assist a busy user by sending in a notification directly to the mobile phones. The various modules of SMS could be integrated in order not to support only class organization but others activity such as course fee, extra-curriculum activities, book circulation notification system, and examination results, and etc.
GSM-Based Notification System for Electronic Pigeon Hole
623
3 Implementation The This section describes an analysis and results of the developed prototype. 3.1 Voltage Regulator The voltage regulator is very important to the hardware system. It is because all unit using only 5V supply. If the voltage exceed, it may damage the IC. The IC LM7805 is used. It produces output voltage of 5V from 9V supply .Firstly; the measurement was done at the output (Vo) of the L7805.
Fig. 2. Schematic Diagram of Voltage Regulator
Figure 2 shows the schematic diagram of voltage regulator circuit used in the system. This circuit converts the input voltage after passing the step down transformer from AC to DC. LM 7805 IC is chosen since all components in the system operate with 5V supply. Figure 3 depicts the complete voltage regulator circuit.
Fig. 3. Voltage regulator circuit
624
M.H.A. Wahab et al.
The LED turns ON to indicate the circuit operates normally. Heat sink is used as cooling system for LM7805 IC. 3.2 Infrared Sensor This module is used to detect any loading income into drawer and located at the bottom of every drawer. It operates at 5V voltage supply and connected directly to the PIC board.
Fig. 4. Detector circuit
As shown in Figure 4, the IR circuit consists of two LEDs which are black and white. One of the LEDs is transmitter (black) and the other is receiver (white). The purpose of the LED is to transmit signal in detecting area. Different range of detecting area is interchangeable by adjusting the variable resistor manually. The green LED will rapidly blink to indicate that sensor has detected any load. The op-amp has 2 inputs, the +ve input, and the -ve input. If the +ve input's voltage is higher than the ve input's voltage, the output goes High (5V, equivalent to the supply voltage), otherwise the output of the op-amp goes to Low (0V). The op-amp is very sensitive in detecting the difference, even a 0.0001 volts difference will be detected, and the output will swing to either 0V or 5V whichever input is higher. 3.3 Project Testing 3.3.1 Hardware Testing Hardware testing has been done to make sure that all of the hardwares are in good condition and fully functional as expected. One unit prototype model of PH-e is built up to perform as physical pigeon hole as shown in Figure 5. Figure 7 shows the top view of the drawer. Each drawer is 220mm wide x 310mm long and 30mm high, This size is enough to accommodate paper of A4 size, which is commonly used in office. The casing is made of alluminium to ensure it will last longer. PIC 16F873 is used as a controller and MAX232 as the interface between main circuit and GSM modem. Figure 8 shows the schematic diagram of the main circuit and the complete mount is shown in Figure 9.
GSM-Based Notification System for Electronic Pigeon Hole
Fig 5. PH-e housing
Fig. 6. Drawer’s bottom view
Fig. 7. Drawer’s top view
625
626
M.H.A. Wahab et al.
Fig. 8. Schematic diagram of main circuit
Fig. 9. Main circuit
3.3.2 Message Setting The default message is stored in a SIM card which used for the GSM modem. GSM modem is used to forward the stored message for user notification. The reason for storing the message in a SIM card rather than in a PIC program is to provide flexibility in changing the message.
GSM-Based Notification System for Electronic Pigeon Hole
627
3.3.3 System Function Testing System function testing consists of two phases. There are open test phase and fully installed testing. The system is tested to check its functionality as specified. The system was expected to transmit text massage to user when the sensor respond with detection. Before all circuit is mounted to the PH-e, an open test is done to ensure all system run smoothly. An open test is done to see the response of sensor when a letter is inserted in the tray. First, the button is pushed once the drawer is opened. Next, put a hand in the drawer and then the button is pushed once again to close the drawer and the hand stays in drawer. The sensor will detect the presence of object inside drawer and one text message will be sent to inform user that the drawer is loaded. Next test is to see if the sensor responds when object is removed from drawer. Then button is pushed to eject CD-ROM and pull the hand out of drawer. It mimics the action of the letter is being removed from drawer. The sensor will detect the movement of the object and one text massage will be sent to inform the drawer is empty. Figure 10 shows all the circuit connection.
Fig. 10. Circuit connection
Fig. 11. PH-e unit
628
M.H.A. Wahab et al.
After the open test is successfully done, the circuit and device are installed in the PH-e housing. Figure 11 depicts the complete installation system to the PH-e housing. Second test is done and the result is the same as open test, in which a text message is sent either when drawer is loaded or empty. System will transmit text message once when drawer received the first letter, however it does not transmit more messages although more letters are being put into the drawer as long as the first letter remains in drawer. The same goes if the drawer is opened more than once when the drawer remains empty, only one notification message will be sent. Based on both testing, the overall system functions successfully.
4 Conclusion The Electronic Pigeon Hole integrated with SMS has been successfully developed and tested in this work. It provides a mean to notify user if there is a letter being put in the pigeon hole. It is expected that the user can take immediate action whenever being notified by the system. Even though the implementation of the system may look plain and simple, this prototype can provide basic idea on how to upgrade the current pigeon hole into electronic with SMS capabilities. This prototype can be further improved by adding some advanced features such as intelligent technology to make more interactive rather than responsive.
References 1. Agrawal, P., Famolari, D.: Mobile Computing in Next Generation Wireless Network. In: Proceeding of the 3rd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications, pp. 32–39 (1999) 2. Capra, L., Blair, G.S., Mascolo, C., Emmerich, W., Grace, P.: Exploiting Reflection in Mobile Computing Middleware. Mobile Computing and Communication Review 6(4), 34– 44 (2002) 3. Jason. My PIC Projects (1999), http://www.ke4nyv.com/picprojects.htm (Date Accessed: 2 Ogos 2005) 4. Ng, K.H., Benford, S., Koleva, B.: PINS Push and POUTS Pop OUT: Creating a Tangible Pin-Board that Ejects Physical Documents. In: CHI 2005 Extended Abstracts on Human Factors in Computing Systems, pp. 1–4 (2005) 5. Khalid, N.A.b.: Appliance Control VIA Wireless Application Protocol. Kolej Universiti Teknologi Tun Hussein Onn, Tesis (2003) 6. Rekimoto, J.: A Multiple Device Approach for Supporting White Board-Based Interactions. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM Press, New York (1998) 7. Phan, T., Huang, L., Dulan, C.: Challenge: Integrating Mobile Wireless Devices Into the Computational Grid. Distributed and Parallel Database 10(2), 271–278 (2001) 8. Upkar Varshney, U.: Networking Support for Mobile Computing. Tutorial Article. Communications of the Association for Information System, Article 1, 1 (1999)
GSM-Based Notification System for Electronic Pigeon Hole
629
9. Hui, G.L.S., Hock, G.H.: The Acceptance of SMS Text Notification Services Among College Students In Malaysia. In: Proceeding of MMU International Symposium of Information and Communication Technologies 2004 (M2USIC 2004), pp. 5–8 (2004) 10. Mohammad, M.A., Norhayati, A.: A Short Message Service for Campus Wide Information Delivery. In: Proceeding of 4th National Conference on Telecommunication Technology, pp. 216–221 (2003) 11. Ching, L.T., Garg, H.K.: Designing SMS Applications for Public Transport Service System in Singapore. In: Proceeding of ICCS, pp. 706–710 (2002) 12. Papadoglu, N., Stipidis, E.: Short Message Service Link for Automatic Vehicle Location Reporting. Electronic Letters 35(11), 876–877 (1999) 13. Collesei, S., di Tria, P., Morena, G.: Short Message Service Based Applications in the GSM Network. In: Proceeding of ICCC in World Congress on Networking, pp. 939–943 (1994) 14. Ghini, V., Pau, G., Salomoni, P.: Integrating Notification Services in Computer Network and Mobile Telephony. In: ACM Proceeding of SAC 2000, pp. 549–553 (2000) 15. Bollen, L., Eimler, S., Hoppe, H.U.: SMS-based Discussions – Technology Enhanced Collaboration for a Literature Course. In: Proceeding of 2nd IEEE I’ntl Workshop on Wireless and Mobile Technologies in Education, WMTE 2004 (2004) 16. Markett, C., Sanchez, I.A., Weber, S., Tangney, B.: Please Turn Ur Mobile On: Short Message Services (SMS) Supporting Interactivity in the Classroom (2005) 17. Mikleia, E.: Mobile Devices to be Applied as Supporting Tools in Research Method Class for Undergraduate Students. In: Proceeding ICLS, pp. 918–919 (2006) 18. Obea, J.V., Pardo, I., Villa, I., Masoliver, E., Boix, X., Lopez, A., Andujar, S., Fernandez, J.: SMS, A New Tool in the Radiological Information System Information Exchange (2004) 19. Johari, A., Ling, K.J., Nor, D.M., Ayob, M.E., Wahab, M.H.A., Abas, M.N.A.: Development of an Integrated Embedded Global System For Mobile Communication (GSM), and Global Positioning Systems (GPS). In: Monitoring Application. Proceeding of 1st National Conference on Malaysian University College on Engineering and Technology 2006, MUCET 2006 (2006) 20. BoonDog Automation PIC16F84 Fundamentals (2004), http://www.boondog.com/%5Ctutorials%5Cpic16F84%5Cpic16f84. html (Date Accessed: 2 Ogos 2005) 21. Curran, K., Craig, R.: A Short Message Service Online Application for Delivering Urgent Information to Students. In: 1st Joint IEI/IEE Symposium on Telecommunications Systems Research (2001) 22. Hapsari, A.T., Syamsudin, E.Y., Pramana, I.: Design of Vehicle Position Tracking System using Short Message Services and Its Implementation on FPGA. In: Proc. ASP-DAC 2005. Asia and South Pacific Design Automation Conference, Shanghai, China, January 18-21 (2005) 23. Rashid, O., Coulton, P., Edwards, R., Fisher, A., Thomson, R.: Mobile Information Systems Providing Estimated Time of Arrival for Public Transport Users. In: Proc. of 61st of Vehicular Technology Conference, May 30-June 1 (2005) 24. Thomson, S.M., Sheat, D.E.: Exploiting Telecommunications to Deliver Real Time Transport Information. In: Proc. of International Conference on Road Transport Information and Control, April 21-23 (1998)
630
M.H.A. Wahab et al.
25. Al-Ali, A.R., Rousan, M.A., Mohandes, M.: GSM-Based Wireless Home Appliances Monitoring and Control System. In: International Conference on Information and Communication Technologies: From Theory to Applications, Damascus, Syria, April 19-23, pp. 237–238 (2004) 26. Al-Ali, A.R., Rousan, M.A., Al-Shaikh, M.: Embedded system-based mobile patient monitoring device. In: Proceedings of 16th IEEE Symposium Computer-Based Medical Systems 2003, New York, USA, June 26-27, pp. 355–360 (2003) 27. Fadzilah bt Kusin. SMS Based Child Monitoring System, Kolej Universiti Teknologi Tun Hussein Onn: Thesis (2005) 28. Wahab, M.H.A., Nor, D.M., Mutalib, A.A., Johari, A., Sanudin, R.: Development of Integrated e-parcel Management System through GSM Network. In: 2nd International Conference on Interaction Science 2009, Seoul, Korea, November 24-26 (2009)
Hierarchical Model of Trust in Contexts Jan Samek and Frantisek Zboril Brno University of Technology, Faculty of Information Technology, Bozetechova 2, 612 66 Brno, Czech Republic {samejan,zborilf}@fit.vutbr.cz http://www.fit.vutbr.cz
Abstract. Trust may be an important part of agent’s reasoning when resources, services or information are sought inside a multiagent system. Decision which agent to contact when more acceptable possibilities is naturally done with respect to expected outcome of forthcoming cooperation, so the partner with the best quality should be probably contacted first. Typically for one agent or device a trust may be evaluated in many contexts. Particular kinds of trust need not to be independent and trust in one aspect could influence trust in another aspect. We present a model of trusts as a multilevel computational graph where trusts are computed in conjunction on some trusts at preceding levels.
1
Introduction
When a trust pays important role in a decision process it should be properly evaluated on the bases of previous experience of agent with particular subjects of matter. Studies and applications on trust and reputation principles usually use uniform context environment [5,7], which is a simplified model of classical sociologist trust concept known from human societies. In a uniform context environment, entities trust in system is evaluated into one dimensional value, when trust is a number from an interval < 0, 1 > (for example), when the lower value from interval (0) means that entity is fully untrustworthy and the upper value (1) means that entity is fully trustworthy. This uniform context environment concept is sufficient for many models [6,5,10] and applications [9,14,16,2] and it is well studied. In our research, we concentrate to multiple context trust environment [5], which is more complex in trust evaluating and it is closer to real word trust concept. In a multiple context environment, entities trust is always associated with some context [3,4,12]. In the multiple context environment we can’t simply say that entity is good or bad (0 or 1) in providing such services, we have to say that some entity in providing some service is good/bad (trustworthy/untrustworthy), in another service is good/bad and so on. Our hierarchical model of trust in contexts (HMTC) approach addresses some open questions in context sensitive trust scenario like context transference [13,5], incomplete information [8] or side effects [15]. With using multilevel context graph, we are able to model relation between different contexts and make decision about agent qualities in different aspects of his/her future behaviour. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 356–365, 2010. c Springer-Verlag Berlin Heidelberg 2010
Hierarchical Model of Trust in Contexts
357
This HMTC concept is based on our previous research [11], where trust-based models for multiagent system were studied from different aspects. In [13] we introduced agent reasoning framework based on trust and reputation principles and in [12] we dealt with trust and reputation evolution in multiple context scenario. In this paper we present a model of trust hierarchy as a multilevel graph, which we specify in Section 2. Computations on this model that are performed when some particular trusts are modified are issue of Section 3. In section 4 we present some experimental results and in section 5 we provide conclusions and future work directions.
2
Hierarchical Model of Trust in Contexts
Structure, behaviour and properties of the model will be introduced during the following sections. First of all we state some premises. This model is intended to be used for agent’s reasoning which is based on some beliefs about some qualities of other elements in the system. Our concept supposes that each element in the system has different qualities which are not completely independent and these qualities are correlated together with using specification and generalisation – some qualities or attributes in lower abstraction level can create one or more common qualities in higher abstraction level. Entities in the system can be rated in these different qualities and agent’s reasoning is done by combination of different beliefs in different qualities with using connections in such qualities. In this paper, we do not describe how a hierarchical model of qualities for different entities is made and how qualities are connected. We suppose that model is created empirically from knowledge of the real system of interest. 2.1
Usage of MHTC for Trust Modeling
The HMTC is primary designed for usage when agents are reasoning with respect to their beliefs about trust to some elements in the system. It is supposed that the highest layer stands for trust to the agent or the system element itself. Then follows layers which bring more and more specific trust domains from upside down. The last layer contains contexts that are most specific and usually measurable or observable form the trust point of view. HMTC is especially used in interpretation and evaluation phases of trust reasoning in multiagent systems [13]. After some interaction or monitoring other entities (agents) in system, we need to evaluate result of interaction. In multiple context environments requires this evaluation requires at least two decisions: 1. outcome of interaction (positive/negative), 2. context of interaction. The HMTC graph should be very useful in decision about context of interaction because each interaction or observation may belong to many different contexts.
358
J. Samek and F. Zboril
This can be described on example, where two different agents (agent A and agent B) in a system communicate together: A asks B for information about temperature in his/her environment, B response that his/her ambient temperature is 20 degrees Celsius. At first, there is context communication, second context is provide temperature data, next context should be quality of providing temperature data which can be deduced from precision of received temperature data and latency of response. There are many contexts, which can be recognized in this interaction event; however some of these are irrelevant for trust model purposes. After decision in which context of interaction was made and which context is relevant, we can update node trust in MTC graph in most relevant contexts and improve trust interval in their neighbours. 2.2
Model Basics
Hierarchical model of trust in contexts (HMTC) is a graph where N is a set of nodes and E is a set of edges. HTMC is a multilevel graph and there exist division of the node set into disjunction non-empty sets N1 , N2 . . . Nn so that N = N1 ∪ N2 · · · ∪ Nn , which define n levels of graph. As well as for the node set there exist division of the edges set to the sets E1 , E2 . . . En−1 , then E = E1 ∪ E2 · · · ∪ En−1 Edge connects pair of nodes from the node set and we denote edge between nodes u, v ∈ N as (u, v) = eu,v . Edges are allowed only between two nodes in neighbour levels: ∀(u, v) : (u, v) ∈ Ei →(((u ∈ Ni ) ∧ (v ∈ Ni+1 )) ∨ ((u ∈ Ni+1 ) ∧ (v ∈ Ni )))
(2.1)
The graph is bidirectional so if there is a edge eix then there is a edge in opposite i+1 −i i+1 i i i direction e−i x . In our case edges ea,b = (na , nb ) and eb,a = (nb , na ) both belong to the set Ei and because Ei ⊂ E then they also belong to the edge set E. 2.3
Structure and Behaviour of the Model
The structure of the model consists of the following components: set of nodes N , set of edges E, set of time moments T , trust function ρ and weight function w. HM T C = (N, E, T, ρ, w)
(2.2)
Our model is a discrete system which behaviour is defined in some time moments which constitute a time set T . We denote particular time moments as T = {t1 , t2 . . . ti }. Trust function maps every node to the interval < 0, 1 > from with respecting time: ρ : N × T →< 0, 1 > .
(2.3)
Hierarchical Model of Trust in Contexts
359
Weight function maps every edge to the interval < 0, 1 > from : w : E →< 0, 1 > .
(2.4)
Definition of these functions includes restriction that weight of edges in forward direction is equal to weight of vertex in opposite direction: ∀eix : w(eix ) = w(e−i x ).
(2.5)
Also there is a restriction, than for all non-leaf nodes is valid that node’s incoming edges weights sum is equal to 1: ∀nix ∈ N − Nn :
w((nl , nl+1 )) = 1.
(2.6)
∀nl+1
Trust function is defined using the weight function in such a way that for every non-leaf node the trust is computed as a sum of multiplications of children nodes trusts and corresponding weights. Information of the trust is brought when a leaf node is evaluated with a value. So we suppose that the ith leaf nodes are set to a constant value at time t : ti < t < ti+1 that we denote as τ (i, t). So the trust assignment function is defined as: ρ(nla , t)
=
∀ela,b ,nl+1 b τ (nla , t)
w(ela,b )ρ(nl+1 b , t) 1 ≤ l < n otherwise
(2.7)
Figure 1 describes simple HMTC graph with three levels, six nodes and six edges: N = N1 ∪ N2 ∪ N3 where N1 = {n1 }, N2 = {n2 , n3 }, N3 = {n4 , n5 , n6 }; E = {en1 ,n2 , en1 ,n3 , en2 ,n4 , en2 ,n4 , en3 ,n5 , en3 ,n6 }. Set N3 denote leaf nodes set, these nodes are evaluated by function τ , other nodes are computed by trust function ρ as shown in figure 1.
Fig. 1. Simple HMTC graph example
360
3
J. Samek and F. Zboril
Extended Behavior and Trust Evaluation
Basic model structure suppose that every leaf nodes trust is updated directly from the environment (denoted by function τ ) and non-leaf nodes’ trust can be only updated indirectly with computation by equation (2.7). This computation is called up-direction toward to that only parent nodes can be computed on the bases of child nodes’ values. In some cases it would be useful to update non-leaf nodes directly, for example on the basis of observed knowledge about another agent from the environment. It brings extended trust computation which can be made in down-direction which is based on knowledge about parent and neighbours nodes trusts. In this paper, we do not address how and why such thing happens, but we will study what possible change causes to the trust model. We study situation when a trust of a ith node nli of the lth layer is changed. We begin with description of an extended trust interval and after this we illustrate example of down-direction and up-direction re-computation of trust intervals for a parent and a children node. 3.1
Extended Trust Interval
The above mentioned model would be sufficient when trust in every context is known exactly. Next model will use an interval which is an inclusion on the interval < 0, 1 >. In this case the trust function is defined as ρ : N × T → 2 . Such mapping uses power set of the interval, but in fact the mapping is done only to an interval with some minimum and maximum. For this reason we better define two more trust evaluation functions ρmin : N × T →< 0, 1 > and ρmax : N × T →< 0, 1 > that determines minimum and maximum of the interval for each node. Also, the formulae ∀n ∈ N : ρmin (n) ≤ ρmax (n) must be fulfilled. At the start of the model run each node is set to the most general interval: ∀n ∈ N : ρmin (n, t1 ) = 0, ρmax (n, t1 ) = 1. Each trust phenomena is unknown at the very beginning and the agent has no idea about the real trust value. As the agent system is executed, information about particular trust can be specified. 3.2
Up-Direction Computation
Up-direction computation is used in a case, when parent node trust is computed based on knowledge about all child nodes trusts. Example of this computation direction is described in figure 2. A1 ’s trust is computed as his/her previous trust is intersected with a new computed trust via all his child nodes B1 . . . Bn by the equations: n ρmin (A1 , tj+1 ) = wi ρmin (Bi , tj ) i=1
ρ
max
(A1 , t
j+1
)=
n
(3.1) wi ρ
max
j
(Bi , t )
i=1
ρ(A1 , tj+1 ) = max(0, ρmin (A1 , tj+1 )), min(1, ρmax (A1 , tj+1 ))
(3.2)
Hierarchical Model of Trust in Contexts
361
Fig. 2. Part of context graph for “up-direction” computation
3.3
Down-Direction Computation
Down-direction computation is used in a case when child node trust is computed based on knowledge about parent and neighbours nodes trusts. Example in figure 3 illustrates situation, where trust in node B1 is computed via parent node A1 and all A1 children (B2 . . . Bn ) in the next level without the node itself. For these example, we compute extended interval limits ρmin (B1 , tj+1 ) and ρmax (B1 , tj+1 ) as follows: ρmin (B1 , tj+1 ) = ρ
max
(B1 , t
j+1
)=
ρmin (A1 , tj ) − ρmax (A1 , tj ) −
n
i=2
wi ρmax (Bi , tj )
i=2
wi ρmin (Bi , tj )
w n1
(3.3)
w1
ρ(B1 , tj+1 ) = max(0, ρmin (B1 , tj+1 )), min(1, ρmax (B1 , tj+1 ))
(3.4)
In a case when a computed node has more then one parent, computation is done via all his/her parents by equations 3.3 and 3.4. All the partial results are aggregated by intersection. In the example in figure 3, when the trust of node C1 is needed to be re-computed, it is done by the parents B1 and B2 . The re-computed partial results ρ(C1B1 , tj+1 ) and ρ(C1B2 , tj+1 ) are consequently intersected: (3.5) ρ(C1 , tj+1 ) = ρ(C1B1 , tj+1 ) ∩ ρ(C1B2 , tj+1 )
4
Experimental Results
The goal of our experiments is to determine how many nodes of our model are impacted (re-computed from their previous values) with a direct node updating
362
J. Samek and F. Zboril
Fig. 3. Part of context graph for “down-direction” computation
Fig. 4. Example of HMTC graph for WSN node
event from an environment in different graph levels. For this re-computation, we use recursive update algorithm, where child and parent nodes (of node Ni ) trust have to be re-computed when node trust (Ni ) was directly updated. For this experiment, we construct HMTC graph for a scenario, where sensor nodes in wireless sensor network (WSN) are evaluated in different contexts. Setup of our HMTC graph shown in figure 4. Our HMTC contains a root node, 10 non-leaf nodes and 4 leaf nodes. Level of graph is 4 (n = 4). All nodes trusts are initialized to interval < 0, 1 >. In our experiments, we split all nodes into three sets by their level (L): root node (L = 1), non-root and non-leaf nodes (1 < L < n), leaf-nodes (L = n). For this three sets, we simulate node
Hierarchical Model of Trust in Contexts
363
Fig. 5. Experimental results
trust direct updating (for each node from set) from 0.0 to 1.0 (respectively from < 0.0, 0.0 > to < 1.0, 1.0 > with using the interval representation) by step 0.05. We observers how many nodes are re-computed with using up/down direction recursive computation. For each nodes set and each simulation step we compute average value of re-computed nodes. Graph in figure 5 shows result of our experiments. This result uncovers some interesting characteristics of HMTC: 1. Direct trust update in leaf nodes always causes the same number of nodes re-computation irrespective to amount of trust change. 2. Updating of non-leaf node trust into values near extreme values (0 and 1) causes the greatest number of nodes re-computation. The number of recomputations depends on edge weight configuration. On the other hand, updating trust of node into middle value of possible trust interval (trust about 0.5, which can be described as ignorance in fuzzy trust modeling [1]) causes minimal number of nodes re-computation. 3. In corresponding to item 2. above, we state that updating of root node trust into values which are near to extreme values (0 and 1) causes re-computation of all the other nodes in graph irrespective to edge weights configuration.
5
Conclusion and Future Work
In this paper we propose Hierarchical Model of Trust in Contexts which is primary used for agent reasoning in multiple context trust scenario. This model is represented by multilevel graph, where each node of graph represents different context of trust and each edge models correlation between different contexts. Structure, behaviour and computations in this model were also presented. We suppose that HMTC is useful for modelling trust and reputation principles more precisely with respect to contextualization. HMTC allows us to improve
364
J. Samek and F. Zboril
agent decision making and reasoning in large scale multi-agent societies, where selection of competent agents for interaction and communication may be difficult. In our future work we will concentrate to extended trust computation when different sources or events updates the nodes, where collision of trust intervals can arise (intersection is an empty set). This requires determining types of events which can update contexts in graphs and define how different events can be handled. There is also open question how to deal with history of update events and their impact to node trusts.
Acknowledgment This work was partially supported by the grants GACR 102/09/H042, BUT FIT-10-S-1 and the research plan MSM0021630528.
References 1. Almenarez, F., Marin, A., Campo, C., Carlos Garcia, R.: Ptm: A pervasive trust management model for dynamic open environments. In: First Workshop on Pervasive Security, Privacy and Trust PSPT 2004 (2004) 2. Gomez, F., Martinez, G.: Providing trust in wireless sensor networks using a bioinspired technic. In: Networking and Electronic Commerce Research Conference, NAEC 2008 (2008) 3. Grandison, T., Sloman, M.: Trust management tools for internet applications. In: Nixon, P., Terzis, S. (eds.) iTrust 2003. LNCS, vol. 2692, pp. 91–107. Springer, Heidelberg (2003) 4. Kinateder, M., Baschny, E., Rothermel, K.: Towards a generic trust model - comparison of various trust update algorithms. In: Trust 2009, pp. 177–192 (2009) 5. Mui, L.: Computational Models of Trust and Reputation: Agents, Evolutionary Games, and Social Networks. PhD thesis, Massachusetts Institute of Technology (2003) 6. Mui, L., Mohtashemi, M., Halberstadt, A.: A computation model of trust and reputation. In: Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS 2002), vol. 7, p. 188 (2002) 7. Netrvalova, A.: Modelovani duvery. PhD thesis, University of West Bohemia (2009) 8. Ramchurn, S.D., Hunyh, D., Jennings, N.R.: Trust in multi-agent systems. Knowledge Engineering Review 19(1), 1–25 (2004) 9. Resnick, P., Zeckhauser, R.: Trust among strangers in internet transactions: Empirical analysis of ebays reputation system. In: NBER Workshop on Emperical Studies of Electronic Commerce (2000) 10. Sabater, J., Sierra, C.: Review on computational trust and reputation models. Artificial Intelligence Review 24(1), 33–60 (2005) 11. Samek, J.: A trust-based model for multi-agent systems. In: Proc. EUROSIM 2007, p. 6 (2007) 12. Samek, J., Zboril, F.: Multiple context model for trust and reputation evaluating in multi-agent systems. In: Proceedings of CSE 2008, Faculty of Electrical Engineering and Informatics, pp. 336–343. University of Technology Kosice (2008)
Hierarchical Model of Trust in Contexts
365
13. Samek, J., Zboril, F.: Agent reasoning based on trust and reputation. In: Proceedings MATHMOD 2009 Vienna - Full Papers CD Volume, ARGE Simulation News, pp. 538–544 (2009) 14. Sen, S., Sajja, N.: Robustness of reputation-based trust: boolean case. In: AAMAS 2002: Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 288–293 (2002) 15. Staab, E., Engel, T.: Combining cognitive and computational concepts for experience-based trust reasoning. In: Proc. of the 11th Int. Workshop on Trust in Agent Societies (TRUST 2009), pp. 41–45 (May 2009) 16. Weifang, C., Xiangke, L., Changxiang, S., Shanshan, L., Shaoliang, P.: A TrustBased Routing Framework in Energy-Constrained Wireless Sensor Networks. In: Cheng, X., Li, W., Znati, T. (eds.) WASA 2006. LNCS, vol. 4138, pp. 478–489. Springer, Heidelberg (2006)
Learning-Based Call Admission Control Framework for QoS Management in Heterogeneous Networks Abul Bashar1, Gerard Parr1, Sally McClean1, Bryan Scotney1, and Detlef Nauck2 1
School of Computing and Engineering, University of Ulster, Coleraine BT52 1SA, UK {bashar-a,gp.parr,si.mcclean,bw.scotney}@ulster.ac.uk 2 Research and Technology, British Telecom, Adastral Park, Ipswich IP5 3RE, UK
[email protected] Abstract. This paper presents a novel framework for Quality of Service (QoS) management based on the supervised learning approach, Bayesian Belief Networks (BBNs). Apart from proposing the conceptual framework, it provides solution to the problem of Call Admission Control (CAC) in the converged IPbased Next Generation Network (NGN). A detailed description of the modelling procedure and the mathematical underpinning is presented to demonstrate the applicability of our approach. Finally, the theoretical claims have been substantiated through simulations and comparative results are provided as a proof of concept. Keywords: Quality of Service (QoS), Call Admission Control (CAC), Bayesian Belief Networks (BBNs), Next Generation Network (NGN).
1 Introduction In a telecommunication network, the Network Management System (NMS) plays a key role in maintaining the network infrastructure, assuring smooth running of services, controlling the operational costs of the network and providing increased revenue to the service provider. As networks evolve in terms of their architecture, variety of services and application demands, the functions of NMS are constantly under pressure to perform efficiently. In recent times, the ability of providing quadruple services (voice, video, data and mobility) by bringing together the fixed and mobile network infrastructure and creation of novel applications has led to the emergence of the Next Generation Network (NGN). In essence, NGN is an IP-based packet switching dedicated network with special emphasis on guaranteed QoS support to multimedia services. The International Telecommunication Union (ITU-T) has defined the NGN to be “a packet-based network able to provide telecommunication services and able to make use of multiple broadband, QoS-enabled transport technologies and in which service related functions are independent from underlying transport-related technologies”[1]. The key challenges of managing such a network have been aptly summarized in [2] and they form the basis of our motivation to propose a novel solution. Call Admission Control (CAC) is a most effective technique to provide the required QoS by limiting the traffic into the network [3]. However, it has to deal with F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 99–111, 2010. © Springer-Verlag Berlin Heidelberg 2010
100
A. Bashar et al.
two conflicting objectives of maximizing resource utilisation and minimising traffic congestion. Decision-making is a key function of any CAC technique, where it has to decide whether a new call be admitted into the network or blocked from entry, keeping in view the required QoS criteria. It is to be emphasised here that the QoS of both the ongoing calls and the new (or requested) call should be taken into account, while making the decision. We believe that apart from the existing CAC schemes, there is a need for another class of scheme, which we term as learning-based CAC. The major driving forces for this proposal are – the utilisation of network measurement data and real-time decision making. The first objective is met by harnessing the huge volumes of network management data collected by network management protocols (e.g. SNMP). The second objective is met by using machine learning techniques which learn from the available data and also provide intelligent decisions which improve with time and experience. As such we propose the CAC framework based on the Bayesian learning technique for QoS optimization in heterogeneous networks. The remainder of this paper is structured as follows. In Section 2 we provide a background and related work in this research domain. Section 3 presents the conceptual architecture developed for the study. Section 4 emphasizes the capabilities of Bayesian Belief Networks (BBNs) in terms of managing dynamic systems. Section 5 presents a case study and comparative results using the BBN to model a typical CAC scenario in a NGN. Section 6 concludes the paper by suggesting possible future work.
2 Background and Related Work Network management systems collect the status of the network elements which are present in the network. Two major protocols which support this task are - SNMP for TCP/IP networks [4] and CMIP for OSI-based networks [5]. SNMP has been widely used for internet data collection. It uses the polling procedure to access the Management Information Base (MIB) objects present on each of the managed elements. To draw meaningful knowledge from this collected data, researchers have applied machine learning methods, which employ offline and online procedures to capture trends and identify anomalous conditions. We examine the literature related to this area in the following paragraph. Decision trees are one such approach, which has been used to achieve proactive network management by processing the data obtained from the MIB objects of an SNMP managed network [6]. Fuzzy logic has been studied to assess its suitability for network management tasks like bandwidth brokering [7]. Bayesian Belief Networks (BBNs) have been used for providing proactive network fault detection in a telecommunication network [8]. Dynamic Bayesian Networks (DBNs) have been used to model the communication network, considering the temporal dimension which manifests itself in the case of highly dynamic networks [9][10]. Bayesian network modelling has been applied to the SNMP MIB variables to achieve network fault management, employing intelligent software agents [11]. Combined use of Bayesian Belief Networks and Genetic Algorithms for fault management in telecommunication systems suggests better performance [12]. The above literature suggests that machine learning techniques can assist in carrying out network management tasks and provide improved performance. But majority of the research concentrates on fault management. Therefore we now choose
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
101
Bayesian Belief networks (BBNs) to help in performance management by implementing the learning-based CAC.
3 Conceptual Architecture The domain under consideration for our work is shown in Fig. 1. A typical router in the core of the IP network is used to extract the Network Management data (e.g., SNMP MIB variables).
Fig. 1. Conceptual architecture
This monitored data provides status regarding the routing protocols, flow control, link utilization, QoS level, etc. In fact the volume of this collected data is huge and mining it is key to extracting intelligent information for aiding proactive management. Hence, the NM data is fed into the BBN model to extract intelligence. The procedure of building the BBN model and generating predictive information is described in Section 5. A feedback (e.g., prediction of congested link) from the BBN to the router helps to initiate proactive actions. This could mean signalling the ingress router to adjust the Call Admission Control algorithm or informing the neighbouring core routers of impending congestion. Proper execution and timing of these actions would then be instrumental in guaranteeing the QoS levels as prescribed in the SLAs, thus resulting in efficient utilization of the network resources, customer satisfaction and improved revenues. We concentrate on the CAC proactive action and describe it in detail in Section 5. The following section lays the foundation for the theory of BBN and its features which can be applied to our problem.
4 BBNs and Influence Diagrams A BBN is a graphical structure that allows us to represent and reason about an uncertain domain [13]. It consists of nodes (representing domain random variables)
102
A. Bashar et al.
connected by directed arcs (representing causal dependencies). The nodes and arcs form a Directed Acyclic Graph (DAG). An example BBN, representing the effects (Delay and Packet_Loss) of Buffer_Status at a particular router in a network, is shown in Fig. 2. To quantify the strength of relationships among the random variables, conditional probability tables (CPTs) are associated with each node. For a typical node A , with parents B1 , B2 ,....Bn , there is attached a CPT as given by
P( A | B1 , B2 ,....Bn ) . For root nodes, the CPT reduces to prior probabilities.
Fig. 2. An example of BBN
The main principle on which BBNs work, is Bayes’ rule, P ( H | e) =
P (e | H ) P ( H ) P (e)
(1)
where P(H ) is the prior belief about a hypothesis, P(e | H ) is the likelihood that evidence e results given H , and P( H | e) is the posterior belief in the light of evidence e . This implies that belief concerning a given hypothesis is updated on observing some evidence. In response to evidence, the beliefs of all the nodes in the BBN are updated except the observed node(s). This is called belief propagation, which can be achieved by applying efficient algorithms [14]. This belief updating provides the latest status about the domain under study. To incorporate decision making capabilities, the BBN is converted to an influence diagram (ID), by adding decision nodes and utility nodes. A decision node represents the decision being made at a particular point in time. The values taken by the decision nodes are the actions which must be chosen by the decision maker. A utility node quantifies the usefulness of the outcomes resulting from the actions of decisions. To achieve this, the utility node assumes a utility table with one entry for each possible instantiation of its parents. In our example, we have added a decision node (Signal_Alarm) which decides either to indicate Safe or Danger level of packet drops by the router. Also, a utility node (Utility) is added, which will have a utility table with 4 entries (indicating usefulness of a particular decision) representing the combinations of Signal_Alarm and Packet_Loss states. The resulting ID is shown in Fig. 3. The ID is a useful tool in quantifying our decisions based on some observations. This capability will be used for making intelligent decisions for CAC.
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
103
Fig. 3. Influence diagram for the BBN of Fig. 2
5 CAC Case Study Let us assume that we are interested in managing the performance of a dynamic network (e.g. NGN), which primarily supports converged multimedia services. From the service provider’s point of view, one would like to maximize the number of incoming calls into the network (which means a proportional increase in revenue). But from the management point of view, this could result in traffic congestion at some point in the network (e.g., at a router). To strike a balance between the two conflicting processes, we can make use of the probabilistic inference feature of the BBN. 5.1 Call Admission Control and Congestion Avoidance
Congestion is the major cause of network performance degradation, which negatively affects the Quality of Service (QoS) of the applications running over it. Congestion in any part of the network (typically, a router) may be caused by bursty traffic patterns, multiple sources and single destination, insufficient memory, slow processor, low bandwidth of the link or unbalanced upgrades of lines/equipment [15].Various control schemes have been developed to deal with congestion [16]. A preventative approach to deal with congestion is termed Call Admission Control (CAC) [3]. The CAC scheme deals with the question of whether to accept a new call, based on whether this new call can be supported with the desired QoS. 5.2 Simulation Setup
For the purpose of simulation and data collection, we have used OPNET Modeler [17]. A typical core router (as conceptualized in Fig. 1) was modelled by extending the generic M/M/1 FIFO queue to support multiple sources (n=7), as shown in Fig. 4. The traffic patterns of the sources were modelled as Poisson processes, with varying
104
A. Bashar et al.
Fig. 4. A typical model of a core router
Inter Arrival Times (IAT). The queue size was fixed at 100 packets and the service rate to 2,500 bits per second. Bursty traffic (which is a feature of NGN) was simulated by choosing sources as shown in Table 1. The simulation was carried out for a network simulation time of 6 hours. Table 1. Parameters used for a sample simulation
Source
Packet IAT
Start Time (s)
End Time (s)
0 1 2 3 4 5 6 7
exp(1) exp (0.1) exp (0.1) exp (0.1) exp (0.1) exp (0.05) exp (0.1) exp (0.077)
10 170 7310 9099 12700 14450 16250 18017
182 7323 9107 12711 14457 16258 18024
∞
5.3 Building the BBN
The first step is to identify the variables of interest in the domain which is being modelled. This means choosing network statistics (nodes of BBN) which are indicative of causes and effects of congestion in a router. In our case, we derived the nodes (from OPNET data) as shown in Table 2. It must be noted that the number of values (or levels) which a node can take is a trade off between accuracy level desired by the domain modeller and computational complexity in updating the posterior probabilities in CPTs. This study assumes the nodes to be discrete having two or three values, as described in Table 2. Table 2. BBN nodes and their values
Node Name
Type
Values
Traffic_Volume Buffer_Status Delay Packet_Loss Congestion
Ordered Ordered Ordered Ordered Boolean
{low, med, high} {low, med, high} {low, med, high} {low, med, high} {true, false}
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
105
One of the challenges faced was the discretisation of continuous variables which were measured from the OPNET simulations. It should be emphasized that Bayesian Networks do face some constraints when dealing with continuous variables [18]. Hence, the sophistication in discretisation has an impact on the BBN structure and the CPTs. The next step is building the network structure using the nodes and directed arcs. The direction of the arc is from the causal node to the effect node. The dependencies among the nodes can either be known (e.g., from the domain expert) or can be learnt from the data (e.g., historic data of the domain). In this study we have learnt the structure from the historic data collected from the OPNET simulations. Fig. 5 shows the BBN structure obtained by using the structure learning feature of Hugin Lite 6.9 which uses the Necessary Path Condition (NPC) algorithm [19]. It should be mentioned here that the NPC algorithm provides an opportunity to the system modeller to incorporate domain knowledge about the variable dependencies, in the case of uncertain relationship information due to limited data.
Fig. 5. BBN for congestion control
Further a quantitative measure is specified for each node by defining conditional probability tables (CPTs) (when dealing with discrete domains). The size of the CPT for a particular node is determined by the number of parents it has. The probabilities can be based on the observed historical data about the events in the past or can be provided by the Subject Matter Expert (SME). In this study the ExpectationMaximization (EM) algorithm of Hugin Lite 6.9 has been used to derive the CPT values from the historic data obtained through OPNET simulations. Table 3 shows the CPTs for each node of the BBN shown in Fig. 5. As an example, the probability of Buffer_Status being in low state, given that the Traffic_Volume is in high state, denoted by P(Buffer_Status=Low| Traffic_Volume=High)=0.769
106
A. Bashar et al. Table 3. CPTs for the nodes of the BBN
Traffic_Volume Low Med High
0.398 0.586 0.016
Buffer_Status Traffic_Volume Low Med High
Low 0.001 0.101 0.898
Buffer_Status Low Med High
Low 0.036 0.112 0.852
Med 0.007 0.489 0.504
High 0.769 0.127 0.104
Med 0.006 0.972 0.022
High 0.497 0.501 0.002
Med 0.995 0.002 0.003
High 0.998 0.001 0.001
Med 0.801 0.199
High 0.717 0.283
Delay
Packet_Loss Buffer_Status Low Med High
Low 0.273 0.596 0.131
Congestion Packet_Loss True False
Low 0.002 0.998
5.4 Evidence and Belief Updating
The process of observing/monitoring a node gives new information about that particular node. This evidence is used to update the belief (posterior probabilities) and propagate this new belief from the evidence nodes to the query nodes (nodes which do not have any evidence). BBNs support two types of reasoning: predictive and diagnostic reasoning. In predictive reasoning the causal nodes act as evidence nodes and the beliefs of the effect nodes are updated, whereas in diagnostic reasoning the effect nodes become the evidence nodes and the beliefs of causal nodes are updated. There are various algorithms (e.g. Kim and Pearl’s Message Passing Algorithm [14], Lauritzen Speigelhalter Algorithm [20]) to carry out inference in Bayesian Networks. A combined use of both types of reasoning is very helpful in managing highly dynamic systems. Let us look at the steps involved in belief updating for singly connected networks, such as Fig. 5. For a detailed analysis of the algorithm, the reader is referred to [14]. Consider a typical node X having m children, Y1 ,...., Ym , and n parents, U1 ,....,U n , as shown in Fig. 6. Three groups of parameters are required for distributing the belief of variable X . 1) Current causal support π from incoming links U i → X :
π X (ui ) = P(ui | eU+ X ) i
where the ‘+’ sign indicates evidence(s) observed in the ancestor nodes of X .
(2)
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
107
Fig. 6. A typical node X with parents and children
2) Current diagnostic support λ from outgoing links X → Y j : − | x) λY ( x) = P(eXY j
(3)
j
where the ‘-‘ sign indicates evidence(s) observed in the descendant nodes of X . 3) The fixed conditional probability matrix P( x | u1 ,...., un ) relates the variable X to its parents. Using these parameters the local belief updating is done using the following three steps in any order. Step 1 – Belief updating: The node X simultaneously inspects the π messages from its parents and λ messages from its children and updates its belief measure to BEL( x) = αλ ( x)π ( x),
(4)
λ ( x) = ∏ λY ( x),
(5)
where j
j
∑
π ( x) =
u1 ,....,u n
P( x | u1 ,...., un )∏ π X (ui ), i
and α is a normalising constant to make
(6)
∑ BEL( x) = 1. x
Step 2 – Bottom-up propagation: The node X computes new λ messages to send them to its parents:
λ X (ui ) = β ∑ λ ( x) ∑ P ( x | u1 ,...., u n )∏ π X (u k ) x
uk :k ≠i
k ≠i
(7)
108
A. Bashar et al.
Step 3 – Top-down propagation: The node X computes new π messages to send them to its children: ⎡
⎤
∑
π Y ( x ) = α ⎢∏ λY ( x ) ⎥ j
⎢⎣ k ≠ j
k
⎥⎦ u ,...., u 1
=α
P ( x | u1 ,...., u n )
∏π
X
(u i )
(8)
i
n
BEL( x) λY ( x)
(9)
j
5.5 Influence Diagram
Now we convert our BBN (Fig. 5) to an Influence Diagram (Fig. 7). We add a decision node (Admission_Control) and a utility node (Utility) to make a decision (whether to admit a call into the network or not) on the status of the Congestion node.
Fig. 7. Influence diagram for CAC
Table 4 shows the utility table (associated with the Utility node) which will be used in making the decision. The utility values (chosen on an intuitive basis in our case) indicate the decision maker’s preferences with respect to a particular decision being taken in a given situation. When evidence is observed at any node, the belief updating process is performed (which uses both predictive and diagnostic supports, as described in section 5.4). Hence, the decisions made by the ID can be passed to the performance management functions to initiate proactive actions to deal with the congestion situation. This probabilistic support achieves proactive performance management by facilitating the network management functions, as shown below. Table 4. Utility table for the ID of Fig. 7
Utility Admission Control Congestion Utility
True -100
Admit False 50
True 100
Block False -50
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
109
Now, let us see a sample decision (based on predictive reasoning) made based on the evidence of Traffic_Volume node having a high value. This means that the router is under an influence of bursty input traffic. Now, the ID decides to not admit any further calls into the network (with a utility factor of +16.2 in deciding to Block a call), as depicted in Fig. 8. Note that the monitor windows beside the nodes display the updated probabilities for each state. Based on this result we conclude that BBNbased CAC can provide support to network manager to choose appropriate actions in case of congestion and implement a better CAC system.
Fig. 8. A sample decision to block a call when Traffic_Volume is high
5.6 Congestion Prediction Using BBN
One crucial point which can be inferred from the above detailed procedure is that, it is necessary to accurately estimate the state of Congestion node and then use it to make the decision to either block a call or admit it. Such a situation can occur where it can be difficult (or costly) to measure the status of Congestion node on a frequent basis. So we evaluated the accuracy of this prediction by validating our BBN model on various test data (TD) by changing parameters of the network elements like queue size, service rate, number of sources, etc. These results are presented in Table 5. We compared the predictions of our approach NPC-EM (described in section 5.3) with an existing approach called Tree Augmented Naïve Bayes (TAN) training method. The accuracy of the prediction of the Congestion node is represented as percentage of correct estimates (based on the observation of other BBN nodes) and it was found that our approach performed consistently better than the TAN method and provided prediction accuracy of more than 95%. This means that in the absence of direct Congestion information, it is still possible to make correct admission decisions based on the learned BBN model. Thus our simulation results have shown that our proposed framework can model the router behaviour and provide intelligent admission decisions for improved QoS management in situations where there is lack of some observations or unavailability of measurement data.
110
A. Bashar et al. Table 5. Prediction accuracy comparisons for different test data for Congestion node
Test data (TD) used
NPC-EM
TAN
TD1 (same as training data) TD2 (changed simulation seed) TD3 (service rate = 1200 bps) TD4 (queue size = 80 packets) TD5 (no. of sources = 4) TD6 (sources shifted by 100s)
99.8 % 96.2 % 95.8 % 97.5 % 98.8 % 97.1 %
100 % 94.6 % 93.7 % 94.2 % 94.1 % 95.0 %
6 Conclusions and Future Work This paper demonstrated that BBNs are capable of modelling the behaviour of a router and implementing a learning-based CAC scheme for improved QoS management. As far as we know, there does not exist a similar solution with which we could compare our approach. However, we successfully showed that BBNs can predict congestion (with more than 95% accuracy) and help the CAC scheme to make accurate decisions in the absence of sufficient data. The case study presented in this paper provides a foundation for performing exciting future research work. As a possible extension to this work, a detailed performance evaluation of BBNs is planned with regard to processing time, CPU utilisation and memory requirements. It would be interesting to compare the BBN based CAC in a centralized and distributed environments and also to see the performance of BBNs when the network scales up to include multiple routers. Also we plan to transform our current setup into an online learning system, which can then make real-time decisions.
Acknowledgments The authors would like to acknowledge the support of the University of Ulster for funding this research work through a Vice Chancellors Research Studentship.
References 1. ITU-T Y.2001: General overview of NGN. ITU-T Recommendation (2004) 2. Pras, A., et al.: Key research challenges in network management. IEEE Communications Magazine, 104–110 (2007) 3. Wright, S.: Admission control in multi-service IP networks. IEEE Communications Surveys Tutorials, 72–86 (2007) 4. Harrington, D., Presuhn, R., Wijnen, B.: An architecture for describing SNMP management frameworks. RFC 3411, IETF (2002) 5. ITU-T X.711: Open systems interconnection (OSI) common management information protocol: specification. ITU-T Recommendation (1997) 6. Kulkarni, P.G., McClean, S.I., Parr, G.P., Black, M.M.: Deploying MIB data mining for proactive network management. In: Proc. 3rd Intl. IEEE Conference on Intelligent Systems, pp. 506–511 (2006)
Learning-Based CAC Framework for QoS Management in Heterogeneous Networks
111
7. Sohail, S., Khanum, A.: Simplifying network management with fuzzy logic. In: IEEE Itnl. Conf. on Communications, pp. 195–201 (2008) 8. Hood, C.S., Ji, C.: Proactive network fault detection. IEEE Transactions on Reliability, 333–341 (1997) 9. Ding, J., Kramer, B., et al.: Predictive fault management in the dynamic environment of IP network. In: Proc. IEEE International Workshop on IP Operations and Management, pp. 233–239 (2004) 10. Sterritt, R., Marshall, A.H., Shapcott, C.M., McClean, S.I.: Exploring dynamic Bayesian belief networks for intelligent fault management systems. In: Proc. IEEE International Conference on Systems, Man and Cybernetics, pp. 3646–3652 (2000) 11. Ekaette, E.U., Far, B.H.: A framework for distributed fault management using intelligent software agents. In: Proc. IEEE Canadian Conference on Electrical and Computer Engineering 2003, vol. 2, pp. 797–800 (2003) 12. Sterritt, R., Bustard, D.W.: Fusing hard and soft computing for fault management in telecommunications systems. IEEE Transactions on Systems, Man and Cybernetics 32(2), 92– 98 (2002) 13. Korb, K.B., Nicholson, A.E.: Bayesian Artificial Intelligence. Chapman & Hall /CRC Press (2003) 14. Pearl, J.: Probabilistic reasoning in intelligent systems. Morgan Kaufmann, San Mateo (1988) 15. Tanenbaum, A.S.: Computer Networks. Prentice Hall, India (2003) 16. Yang, C., Reddy, A.V.S.: A taxonomy for congestion control algorithms in packet switching networks. IEEE Network, 34–45 (1995) 17. Opnet Modeler, http://www.opnet.com 18. Jensen, F.V.: Bayesian networks and decision graphs, p. 69. Springer, New York (2001) 19. Hugin Lite 6.9, http://www.hugin.com 20. Lauritzen, S.L., Spiegelhalter, D.J.: Local computations with probabilities on graphical structures and their application to expert systems. Journal of the Royal Statistical Society, Series B (Methodological) 50(2), 157–224 (1988)
Integration of Similar Location Based Services Proposed by Several Providers Roula Karam1, Franck Favetta1, Rima Kilany2, and Robert Laurini1 1
INSA-Lyon, LIRIS CNRS UMR5205, Université de Lyon F-69621 Villeurbanne, France {roula.karam,franck.favetta,robert.laurini}@insa-lyon.fr 2 Université Saint Joseph, ESIB, B.P:11-514, Beirut, Lebanon {
[email protected]}
Abstract. Due to the fact that mobile devices are in widespread use, many applications including Location Based Services (LBS) had been involved to deliver relevant information to customers anywhere at any time and thus based on their profile and geographical position. However, with the increasing number of geographical data and distributed geospatial applications with heterogeneous databases, many problems may arise related to 1) the interoperability of geographical databases, 2) the integration of geospatial data / metadata of services and 3) the development of user friendly visual portals on mobiles. As many LB standards like OGC and applications were demonstrating the feasibility of portals from a unique provider, the objective of this paper is to pursue further in the approach of generating visual portals by allowing many providers to commercialize their services overlaid on a unique base-map. Furthermore, we have implemented this approach via our prototype MPLoM (Multi-Providers LBS on Mobile Devices). Keywords: GIS, LBS, Cartography Graphic Semiology, Ontology, OWL, GML, XQuery, GUI on PDA, WMS, WFS, Web Services, Integration.
1 Introduction The field of LBS, which emerged a few years ago, presents many challenges in terms of research and industrial concerns. We mean by Location-based services (LBS), a particular type of web services used via web browsers, but those LBS’s are efficiently used in applications integrating services data/metadata based on the user’s location(spatial coordinates LLA: Longitude, Latitude, Altitude). Examples of such applications include: tracking (device oriented) or information entertainment /navigation and many others (person oriented). [1] Let us take the application to look at the nearest restaurant in your area with the navigation instructions to get there: First of all, we might encounter the answer of an Italian restaurant listed by two different providers, not exactly located at the same place (50 meters of difference) F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 136–144, 2010. © Springer-Verlag Berlin Heidelberg 2010
Integration of Similar Location Based Services Proposed by Several Providers
137
Fig. 1. Example of the same LBS objects from two different Providers (Candidates for integration)
due to the inaccurate precision from Satellite or Radio Mobile positioning systems. The same Italian restaurant is named “Carlo’s Pizzeria” in the first one and “Da Carlo trattoria” in the second one, visualized by different cartographic symbols. The goal is to consider them as the same object. Many techniques should be studied to solve these issues and ensure the integration of homologous objects among all the heterogeneous ones overlaid on the same map. This paper will discuss in Section 1, the state of the art related to our subject. Section 2 will be dedicated for the service location integration and the adopted techniques, Section 3 will discuss the cartographic symbol integration and the mapping output, Section 4 will detail the architecture and the functionality of our developed platform MPLoM and finally, we will conclude and present our future work in Section 5.
2 Related Work Currently, we can find visual portals (background map and geographic object) that can be textual, iconic or cartographic maps. Fake screenshots are given below as examples to explain the scenario we are considering: Another visual representation is based on a 3D perspective Street view. Facing the problem of place names’ overlap in 3D and cognitive difficulties, the usage of icons instead of place names could have more accurate impact. Based on what was proposed in the history of portals as described above and their problems [3] , visualizing a unique map whose components will come from various LBS providers, becomes a real challenge.
138
R. Karam et al.
Fig. 2. PDA linked to several service providers, assigns one window per provider if no portal interoperability is envisioned
Fig. 3. Services are ranked by alphabetical order on the left and by user’s profile order on the right. (Problem if long list)
Fig. 4. Example of services in which reference locations are mapped with icons, shapes corresponding to services and colors to providers. (Problem if more services)
Integration of Similar Location Based Services Proposed by Several Providers
139
Fig. 5. Using street-view as a way of presenting services for a pedestrian. (Problem of place name’s overlap in 3D).
3 Location Integration Connecting several geospatial databases for the LBS providers in charge and facing their heterogeneity in design or content could not be considered an easy job. We need what we call “Interoperability“. It has been generally defined as the ability of heterogeneous systems to communicate and exchange information and applications in an accurate and effective manner. [4] In the scope of Geographical Databases (GDB) interoperability, we can define five different types of conflicts: [5] and [6] • Conflicts related to the data source used to constitute the geographical databases (ex. satellite images, raster, etc.) • Conflicts based on the models and metadata • Conflicts of class and attribute definition • Conflicts of data, measures • Conflict of positioning • Etc. Open Geospatial Consortium (OGC) is a standardization body for GIS to improve interoperability between applications by creating some common interchange languages through common standards [Tyler Mitchell, Web Mapping Illustrated].These standards are related to: 1) mapping functionality using Web Mapping Services (WMS) and 2) Retrieving Geo data using Web Features Services (WFS).[2] In spite of successful initiatives and widespread use of standards, today’s solutions do not address yet multi providers LBS integration somehow as per the visual fake portals above and their visualization’s problems. Integration is the process used to match the correspondences between geographical objects from different databases that are representing the same phenomena in real world. In this paper, we will focus on solving the conflict of data/metadata of LBS among many providers at the application layer. We can distinguish three types of integration related to the location of objects: geographic, place name and semantic.
140
R. Karam et al.
3.1 Geographic Integration It consists of matching the geographical components by their position and representation. Suppose that services are retrieved from the providers as points with a difference in location due to Global Positioning Systems (GPS) tracking device precision and in coordinates due to the conflict in positioning. How to ensure that these two points belong to the same restaurant for example and should be visualized once to avoid duplication on the screen? To answer this question, three types of geographic integration could be adopted: • By defining an integration zone (Epsilon zone) [5] • By calculating the distance between the objects • By using other geometrical characteristics for the shape of the object. The above types could be applied separately or together. To define whether two objects are the same or not, the distance between the two should be less than a chosen threshold by “Stricher technique" [6] (successive thresholds to eliminate so far the candidates points). In the proposed MPLoM implementation, to decide if two objects are the same, we choose a threshold of 5 meters between the candidates. For the integration of two punctual objects; the Euclidian distance dE is used. To integrate two linear objects, three types of distances could be used (average distance, Hausdorff distance [29], and Fréchet distance [30]). So as far as the distance between object 1 and object 2 is less than the threshold 5 m, a highest assumption should be set that the two objects are homologous. 3.2 Place Name Integration The fusion technique uses the Levenshtein distance dL [26] and [27] (Levenshtein 1965) to compare the place name (string of characters) of two objects from two different providers. This distance will increase if the number of differences between characters increases as well. 3.3 Semantic Integration The third type of integration between these two objects is related to their metadata/data. To avoid duplication of the services details from two different providers, a matching scenario had been used in the application and a semantic ontology– driven approach via Protégé and Jena API. For example, if a navigator wants to know what restaurants can offer “Hamburger”, the platform should list all the restaurants’ type American or fast food, etc. Many solutions had been proposed in the code and via Ontology creation in Protégé [28]. Finally, Belief Theory had been applied to confirm the highest weight for two homologous objects based on their separated weights from the geographic, place name and semantics reasoning.[5]
4 Cartographic Symbols Integration After the discussion related to location integration, map symbols integration via a spatial ontology matching approach is proposed and will be elaborated in this section.
Integration of Similar Location Based Services Proposed by Several Providers
141
Since the use of many LBS providers implies several maps , one for each, our purpose is to visualize the symbols of a common LBS service mashed up and overlaid on a user-friendly background map and thus by taking into consideration some selection rules, user’s preferences and knowledge of graphical semiology. A well harmonized integrated visual portal on mobile devices should be our goal. To ensure this, we proposed to build a domain spatial ontology that will match all the local ontologies of the service providers (services, correspondent symbols /attributes and maps). Based on this domain ontology, another selection criteria will be enrolled as per: 1) The user’s preferences for maps and icons, 2) The devices’ limitations, 3) The geographical /coverage zone to visualize and 4) The graphical semiology constraints. [24] In order to achieve our proposal, a call flow is to be implemented as listed below: 1. Collection of each LBS provider’s icons from its legend 2. Saving the image of each background map for 2D/3D visualization 3. Pursuing a psycho-cognitive test via a web application including random icons and collecting the correct answers for each icon. Priorities will be assigned to the most understood ones in all cultures and nations (Icons’ Ranking) 4. Creating a common library of user friendly icons for all the services in the LBS domain used by our application and their attributes (color, size, number, shape, abbreviation, texture, font type, etc.); these icons could be used as work around solution to solve any conflict. 5. Developing an ontology matching application to insert local spatial ontologies (cartographic symbols and maps) for each provider and the matching relations between them towards an LBS domain ontology (relations like equivalence, inclusion more general, and inclusion more specific). This application should have the capabilities to export the ontologies and import any new ontology from a new added provider in an OWL language with some extension (OWL, c-OWL) called CartOWL (Cartographic contextualized Web Ontology Language) that should list the classes, subclasses, relations and cartographic symbols attributes.[8] 6. The domain ontology could be checked in the application to generate and visualize the correspondent cartographic symbols for any specific service mashed up and overlaid on a unique background map chosen based on user’s preferences and geographical zone of coverage (2D, 3D, perspective street view, hybrid, etc.) 7. Graphical semiology studies should be well respected in color schema and other adaptation/generalization techniques for a clear visual portal. [9] (i.e. keep trademark icons and colors, use each provider’s proper icons in case of different objects or aggregation macro icon in case of integrated homogenous objects, common library of icons in case of conflicts, etc.)
5 Architecture and Functionalities of the Prototype MPLoM The platform MPLoM is developed to test the feasibility of the location and map symbols integrations into a unique visual portal on mobile devices. Phase 1 covers the location integration from two providers offering pull services (hotel and restaurant finders) and push service (weather forecast) while phase 2
142
R. Karam et al.
covers the cartographic integration especially with other suggestions related to web application and geo web services standards for multi providers’ interoperability. A pull service is any location based one listing its details based on a user’s query linked to his profile and geographic position. A Push service is any service offering to the user prior to his/her consent based as well on his profile and position. [1, 3] The pull services (restaurant and hotel) are visualized on a 2D background Google map downloaded via API key and the components are overlaid as Google markers(R for restaurants and H for hotels). The access to the providers was done directly via servlets to the concerned tables. [10] Both of them are created in Postgresql with PostGIS feature for spatial usage. However, push service (weather forecast) is delivered as textual output to user interface via web service WSDL SOAP connection. The User interface is shown on a S60 Nokia emulator with LBS middleware; the platform code is done in JAVA and XQuery is used to parse cGML files (compact geographic Markup Language), to integrate the details of the objects in a unified cGML file before visualizing the results on the screen. cGML is an extension of GML used for mobile devices that can minimize up to 60% of storage capacity due to its compressed tags( i.e. GML tag=(Coordinates) v/s cGML tag= (cds) ). [11, 12, 13] A mediator database handled by the administrator is used to store the user’s preferences, and the unified cGML file output that should contain all the unified details of the objects answering hotel and restaurants request from both providers. Two scenarios describing Restaurant/Hotel finders and Weather Forecast services were developed with some of the corresponding screenshots. The user should start by entering his preferences and log in via a User Textual Interface: 5.1 Scenario 1: Restaurant-Finder Pull LBS service An improvement on phase 1 is currently running to ensure the implementation of a catalog in the mediator database to list all the metadata about the providers and their services so we can prefilter based on user’s request before accessing the database.
Fig. 6. User Preferences /Restaurants Markers overlaid on a 2D map / List of Details
Integration of Similar Location Based Services Proposed by Several Providers
143
APIs and Geo Web Services should be developed to ensure access to the services worldwide either by contacting heterogeneous databases via specific APIs or via their web services. Furthermore, the cartographic map symbols integration should be tested by applying an application to match all spatial providers’ ontologies through an LBS domain one and presenting all the components on a unique map. Some extension could be proposed as well for cGML standards to include the attributes of each symbol (icon, visual variables, etc.) [14]
6 Conclusion and Future Work In conclusion, our contribution can be identified at two main issues: • The proposed MPLoM platform itself where push and pull LBS services can be integrated on a unique visual portal; this is done by defining and using ontology and other reasoning to ensure interoperability at the application layer among many LBS service providers. • The spatial domain ontology matching application used to integrate the cartographic symbols of many providers with some extensions to be done for cOWL and/or cGML standards from the XML family to include the attributes of the map symbols with the spatial and non-spatial data. As a future work, we will: 1) improve the MPLoM platform as described in this article, 2) propose XML extensions to describe LBS meta data(map symbols attributes, service price, SPAM, etc.), 3) advocate the creation of new geo web services based on multiple providers as the ones discussed in OGC (WMS, WFS and WCS) and 4) create dedicated APIs to ensure the retrieval of necessary information in case we don’t have full access to the providers’ GDB.
Acknowledgments The authors would like to thank Nadine Chemaly and Betty Jardak at the SaintJoseph University for their efficient contribution in the platform development that helped a lot our project.
References 1. Spiekermann, S.: General Aspects of Location Based Services. In: Voisard, A., Schiller, J. (eds.) Location Based Services. Morgan Kaufmann, San Francisco (2004) 2. Open Geospatial Consortium OGC, http://www.opengeospatial.org/standards/ 3. Gordillo, S., Laurini, R., Mostaccio, C., Raffort, F., Servigne, S.: Towards Mutli- Provider LBS Visual Portals (2008) 4. Sboui, T., Bédard, Y., Brodeur, J., Badard, T.: A Conceptual Framework to Support Semantic Interoperability of Geospatial Data cubes (2007)
144
R. Karam et al.
5. Olteanu, A.: Fusion des connaissances imparfaites pour l’appariement de données géographiques, proposition d’une approche s’appuyant sur la théorie des croyances (2008) 6. Devogèle, T.: Processus d’Intégration et d’Appariement de Bases de Données Géographiques - Application à une base de données routières multi-échelles, thèse de doctorat de l’Université Marne-la-Vallée, laboratoire COGIT, IGN-SR 97-025-S- THE-TD (1997) 7. Institut Géographique National, Laboratoire COGIT, http://www.ign.fr 8. Euzenat, J., Shvaiko, P.: Ontology Matching, Springer edn. (2007) 9. Bertin, J.: Sémiologie graphique: Les diagrammes -Les réseaux -Les cartes (1999) 10. Brown, M.: Hacking Google Maps and Google Earth (2006) 11. De Vita, E., Piras, A., Sanna, S.: Using compact GML to deploy interactive maps on mobile devices (2003) 12. Lu, C.-T.: Advances in GML for Geospatial Applications (2007) 13. Ye, S., Xuezhi, F., Yuan, S., Juliang, L.: Visualization GML with SVG (2005) 14. Cullot, N., Parent, C., Spaccapietra, S., Vangenot, C.: Des SIG aux Ontologies géographiques (2003) 15. Cardoso, J., Rocha, A., Lopes, J.: M-GIS: Mobile and Interoperable Access to Geographic Information (2004) 16. Kurkovsk, S., Harihar, K.: Using ubiquitous computing in interactive mobile marketing (2005) 17. Gesbert, N.: Étude de la formalisation des spécifications de bases de données géographiques en vue de leur intégration (2005) 18. Badard, T.: Propagation des mises à jour dans les bases de données géographiques multireprésentation par analyse des changements géographiques, thèse de doctorat de l’Université de Marne-la-Vallée, laboratoire COGIT, IGN-SR 00-026-S-THE-TB (2000) 19. Mustière, S., Gesbert, N., Sheeren, D.: Unification des bases de données géographiques (2003) 20. Francois Hangouët, J.: Approche et méthodes pour l’automatisation de la généralisation cartographique: application en bord de ville (1998) 21. Pierkot, C.: Gestion de la Mise à Jour de Données Géographiques Répliquées (2008) 22. Sheeren, D.: Etude de la cohérence entre représentations, approche à base d’apprentissage automatique (2005) 23. Ali, A.: Etude de la qualité des données surfaciques (analyse de la qualité et un outil d’appariement surfacique (2001) 24. Dominguès, C., Christophe, S., Jolivet, L.: Connaissances opérationnelles pour la conception automatique de légendes de cartes (2009) 25. ADRIN Department of Space, Government of India, http://gisdevelopment.net/proceedings/mapworldforum/2009/ EnterpriseBusinessGIS/mwf09_VenkataLakshmi.pps 26. Davala, J.: Distance de Levenshtein, http://pagesperso-orange.fr/ jean-paul.davalan/lang/algo/lev/index.html 27. Gilleland, M.: Levenshtein Distance, in Three Flavors 28. Horridge, M., Knublauch, H., et al.: A Practical Guide to Building OWL Ontologies Using the Protégé-OWL Plug in and CO-ODE Tools (2004) 29. Grégoire, N., Bouillot, M.: Hausdorff distance between convex polygons (1998) 30. Wikipedia: Fréchet distance, http://en.wikipedia.org/wiki/Fr%C3%A9chet_distance
Integrity Check for Printed Binary Document Images Dave Elliman, Peter Blanchfield, and Ammar Albakaa School of Computer Science, The University of Nottingham, the UK {dge,pxb,ata}@cs.nott.ac.uk
Abstract. Following the digital revolution, many documents have been converted to the digital format and saved in computers. Documents are usually printed using black and white printers when converted to hardcopy documents. The printed documents may be scanned to computers as a binary text images. However, hard copy documents are subject to forgery. Also, a scanned document cannot be an exact replica of its original version because of the additional noise caused by D⁄A conversion. Therefore, it has been essential to check the integrity of scanned documents to detect and locate alternations in forged documents and validate unaltered scanned images. It is unreasonable to keep records of original copies for each printed document for authentication purposes. Thus, it is better to embed information about the document contents into the document itself. In this paper, a self-validating binary document images to validate hardcopy black and white text image. Keywords: Document Integrity, Information Hiding, Barcodes, Binary Image Verification.
1 Introduction Many documents are created or converted and then stored in digital format such as Portable Document Format (PDF) or Microsoft Word Document (DOC) files or any other digital format. Digital documents are so often converted to hardcopy documents when required. Printed documents with significant information such as birth certificates, recommendation letters, prescriptions, contracts, and sale receipts are subject to forgery. Document forgery has been made effortless by using one of the widelyspread image editors such as Photoshop. Images can be easily faked by cropping some regions and substituting them for other parts with undesirable features such as changing a name in passports, university certificates, provincial health cards, or driving licences [5]. However, it is not likely to validate hardcopy versions of documents unless they are already printed as machine readable documents. The technology to create a machine readable document is expensive and used only to protect documents with high importance and financial value such as bank notes and passports. The price of using high cost technology to protect ordinary documents such as a letter of recommendation would not be paid off [14]. The simplest way to check the integrity of a printed document is to compare it with the original copy. However, the requirement for an original copy of each document F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 523–532, 2010. © Springer-Verlag Berlin Heidelberg 2010
524
D. Elliman, P. Blanchfield, and A. Albakaa
during the verification process is unreasonable. Therefore, it is better to embed information digest about the whole document or parts of document which may be a subject of counterfeiting into the document itself. A data hiding method is needed to make the document carry this information digest. Most of documents are printed in black and white rather than colours due to the wide use and availability of black and white printers in offices and work place [17]. Hiding information in binary document images is a very challenging and most of the data hiding techniques available are designed for greyscale and binary images because of the fact that any alternation in the binary image grid can easily cause perceptual artefacts in the modified image. In addition, the data hiding capacity in binary images is low compared to that in colour or greyscale images. Furthermore, data hiding methods are very sensitive to D⁄A conversion which can easily remove or corrupt the embedded data [2],[6],[9],[11], [12],[16]. The aim of this work is to provide a mechanism to determine the validity of black and white printed documents. This mechanism must be cost effective compared to the value of the documents. The degree to which the validity can be verified will depend on an intrinsic/extrinsic value of the binary documents. This validation will be of documents which cannot already be guaranteed by security methods. To create a verification system which is able to check the integrity of document images after print-scan operation, the following points should be taken in consideration in order to detect tampering in document images. 1234-
The significance of alternations in the document to be considered as a forgery. The locations of the altered parts. The representation of the preservative data extracted from the original document. The information hiding or insertion method to embed the preservative data into the document. 5- The sensitivity measure of the method against minor changes which may occur to the document before and during the print-scan operation.
2 Literature Review The major difficulty in implementing a reliable authentication technique for printed documents is the trade-off between the robustness of the inserted authentication label and the ability to avoid false verification as the print/scan operation could cause noise to the scanned document which results in false-negative detection [14]. Low et al proposed a method to watermark document images by shifting words in the original document slightly left or right or by shifting a whole line up or down insignificantly as well as to identify the embedded watermark in those images by using centroid detection. The watermark in this method can be easily removed by retyping the text or using scanners with Optical Pattern Recognition (OCR) [11]. Mei et al proposed a method to watermark binary document images by inserting data in the 8-connected boundary of each letter. Data can be embedded, in this technique, by matching and replacing a selected set of connected boundaries with a predefined pattern stored in a lookup table to indicate 0 or 1. The data can be easily extracted by using the same method without referring to the original document image. The substantial level of imperceptibility has been achieved as data are inserted in
Integrity Check for Printed Binary Document Images
525
non-smooth border edges. The capacity of data hiding depends on the resolution of the image and it can be increased by using the inner boundaries in addition to the outer lines. It can be useful for adding short labels to document images [13]. Lu et al proposed a watermarking technique using the Distance Reciprocal Distortion Measure (DRDM) which is used to select the pixels to hold a watermark with the lowest visual distortion in the watermarked image. The method also uses a 2D shifting technique and odd-even scheme in the embedding process. The 2D shifting is essential to make the tampering detectable in extraction. The experiments show a high rate of imperceptibility and easy extraction of the watermark [12]. Zhu et al proposed a novel print signature technique to embed unique signature in each printed copy alongside embedding information about document contents. The method includes registration and authentication procedures [17]. In registration, the digital signature is extracted from some certain features in the document as well as a unique document identifier which is derived from critical information about the document to be protected. Then, both signature and identifier are added to a blank area of the document as a barcode; In addition, some supplementary landmarks must also be printed for the purpose of alignment. Only documents which contain inserted signature and identifier can be circulated. The authentication procedure is used to determine whether the printed document has been tampered with or not. It extracts the signature and the identifier from the scanned document as done in the registration process and then compares them with the information attached to the same scanned document as a barcode. The document is accepted as genuine if the extracted features are alike while it is considered as a forgery if not. Data Hiding by Self Toggling (DHST) is a simple data hiding technique suitable for half-tone images. It is based on creating an unduplicated set of pseudo-random numbers representing random locations in the image (I), and then replacing the value of this location in the image I with a bit of the watermark. The probability of changing a bit from 0 to 1 and vice versa is 50%. In extraction, the pseudo random numbers are needed to extract the embedded message. Salt-and-pepper noise will result when DHST is used [7],[8]. Liu et al in [10] suggested a content-based watermarking algorithm for binary image authentication. It divides the image into 2 parts P1 and P2 using a random mask K. The Zernike Moments Magnitude (ZMM) is used to extract a feature vector Z1 from the first part P1 of the divided image and Z1 is then quantized and embedded in the other part as a watermark. Most of them have not shown enough robustness against print/scan attack. Therefore, those techniques can be used only to protect digitally transmitted and manipulated binary images.
3 The Proposed Method In this method, document images need to pass through the creation and verification stages. To create a self-validating document, the preservative data is derived from the area of interest in the document, encoded to a barcode, and then the barcode is attached to the document itself. In the verification stage, the preservative data is
526
D. Elliman, P. Blanchfield, and A. Albakaa
extracted from both the document contents and the attached barcode and a comparison between those extracted preservatives will decide whether the scanned document has been significantly altered or not. 3.1
The Creation of Self-validating Documents
To generate a self-validating document, a digital document has to pass through several stages. First, the area counterfeiters may aim to alter in order to achieve illegitimate benefits needs to be manually chosen. The selection of this area has to be done by the creator of the document. This area may contain the signature of a person, the stamp of an organisation, or any numbers, text, or a combination of both that symbolize a name, a date, an amount of money, or any valuable information in a document. The selected area of the document image is then converted to the binary format if the creator has mistakenly chosen an image not in black and white format. The binary text image is then scanned horizontally in order to detect the number of lines in the image. If there is more than one line, the image is then split into separate lines. The detection of lines is based on finding at least a white line (i.e. without any single black pixel) between any two set of rows containing black pixels and separating those two sets of rows into individual images. Afterwards, each line is divided vertically into separate sub-images. Unlike the connected component analysis in [15] which divides only lines into separate parts if they are connected, this method divides lines into equal in size blocks. The number of sub-images per line can be decided by equation (1). No. of parts⁄line = ܴ݀݊ݑሺ
ௐௗ௧ሺሻ
ு௧ሺሻ
ሻ
(1)
The value Rb has a range between 0 and 100%. If the image is totally white (i.e. there is no object in the image), Rb=0. But if it is totally black, Rb=100. Otherwise, Rb can be any number ranging from 1 and 99%. As Xc & Yc represent the location of the centroid of an object or set of objects in an image, the values of Xc & Yc must be in the range 1 to 100% because the centroid point has to be inside the image itself. If the centroid is in the top right corner, then (Xc=1% and Yc =1%). If the centroid is the last pixel in the right bottom corner, then (Xc=100%, Yc=100%) and those are the maximum values of Xc & Yc.
Fig. 1. The Self-validating Document Creation Process
Integrity Check for Printed Binary Document Images
527
Therefore, it requires at least 7 bits to represent each value of Xc, Yc, and Rb in a binary stream. In this method one byte is used to represent each value. This binary stream representing Xc, Yc, & Rb values is the preservative data of the area of interest in the document. Each sub-image requires 24 bits of data to be represented in that stream. This data stream is then encoded into a 2D barcode. The barcode that carries the preservative data is then attached to the document image in a blank white area to generate a self-validating document and only documents with barcodes can be printed and distributed. Figure (1) shows the process of creating selfvalidating documents. 3.2 The Verification of Self-validating Documents The verification and creation procedures have some stages in common. In verification, the distributed hard copy document needs to be converted to the digital format first using any optical scanner. After that, the scanned document image (I‘) is converted to the binary format in the same way during the creation stage because the verifying user may scan the document as a colour or a gray-scale image. The area of interest which might be forged is then chosen by the user. Afterwards, the selected part is scanned horizontally line by line in order to detect undesirable minor noise such as dots caused during printing, transmission, or scanning. A noise threshold Tn for the noise must be pre-determined and any rate of noise lower than this threshold will be eliminated from the document. The value threshold can be set by measuring the maximum possible number of lines in a document to determine the average height of the line. Tn has to be significantly less than the average height of lines. In the horizontal scan, if the height of a line is lower than Tn, it will be considered as noise and consequently removed from the document. If there is a single dot or a small number of added dots in the scanned document caused by some dirt on the glass of the flatbed scanner, they will be erased by this noise removal process. Afterwards, the same line splitter applied in the creation stage is used to divide the selected parts into separate lines. In addition, the vertical scanner used during creation is also applied to divide each line to separate sub-images and to save each new portion as an individual binary sub image. The centroid point (X‘c, Y‘c) of each sub image as well as the rate of black pixels (R‘b) are then computed. Afterwards, the data stream previously encoded in the 2D barcode attached to the scanned document is extracted using a 2D Data Matrix barcode reader. If the size of the generated stream (S‘) from the scanned document and the size of the other stream (S) extracted from the barcode are different, the document image is considered as a forgery. There are two main reasons for this variation in streams size: 1- One or more undesirable character has been added to the document. In this case, the size of (S‘) is larger than the size of (S). 2- Some details have been eliminated from the document. The size of (S‘) in this case must be smaller than the size of (S). The malicious add/remove operation could be done by a counterfeiter after the document was printed out and distributed and before scanning it back to the computer for verification.
528
D. Elliman, P. Blanchfield, and A. Albakaa
Fig. 2. The Verification Process of a Scanned Document
Once the difference in size between (S) and (S‘) is detected, the verifier will reject the scanned document and there is no need to take further actions in the verification process. However, a sequential byte-by-byte comparison between the two data streams can be applied to locate the position of the added/removed data in the scanned document. If (S) and (S‘) have are equal in size, the extracted values of Xc, Yc, & Rb of each sub-image in the data stream stored in the barcode (S) are consecutively compared with the values X‘c, Y‘c, & R‘b calculated earlier from the scanned document image I‘ Two pre-determined thresholds (Tcentroid & Tblack) are needed during the comparison to verify the authenticity of the scanned document. Tcentroid is used to measure the difference between centroid values while Tblack is used to compare the rates of black pixels. If (|Xc - X‘c| ≥ Tcentroid) or (|Yc - Y‘c| ≥ Tcentroid) of a particular sub image, it means the content of this sub image in the scanned document has been tampered with and its centroid point has been significantly shifted in a vertical, horizontal, or diagonal way. In addition to the centroid points comparison, the difference between each rate of black pixels (R‘b) in S‘ & (Rb) in S needs to be computed to measure how significant the change in the number of black dots in the sub image is. The comparison of black rate is essential in case the centroid comparison fails to detect any changes in the image and vice versa. The Tdiff threshold is used to decide whether the content of the scanned sub-image has been significantly altered or not. If |Rb - R‘b| ≥ Tdiff, it means that there is a large number of black pixels have been added to/removed from the scanned sub-image. As a result this part of the document will be considered as forgery and consequently the whole document will be rejected.
Integrity Check for Printed Binary Document Images
529
There must be at least one or more significant differences exceeding the predetermined thresholds between the values of S and S‘ in order to consider the scanned document as a forgery. Otherwise, the content of the scanned document is considered as authentic. The verification process is shown in figure (2). 3.3 Experimental Results The methods proposed has been tested to measure the efficiency and the reliability of those methods to verify unaltered scanned documents and detect forgery in modified images. In experiments, 55 test document images with different font types and font sizes have been printed out using an hp LaserJet 8150 printer. Copies of all printed documents have been forged and scanned to the computer. Unaltered copies have also been scanned as monochrome bitmap images using an hp ScanJet 2200c scanner with 300dpi (Dots per Inches) resolution. The verification systems checked the scanned documents whether they were viciously modified or not. The verification system frequently fails to verify genuine scanned documents because it is sensitive to print-scan operation. 28 out of 55 genuine scanned documents have been rejected by the system. The failure of the verifier is due to the fact that scanned images are subject to rotation, additional noise, and skew. Those applied modifications can mislead the verifier in detecting lines in the scanned images. The verifier can detect a wrong width size of each line in the scanned image if there is any level of rotation. Consequently, the lines will be divided in a different way from how they were divided during the creation process. The number of generated sub-images from lines will be not equal to the number stored in the attached preservative data. As a result, a false positive error rate will be extremely high. In real life application, innocent clients can lose trust in the organization that uses a document verification system which rejects their genuine documents. On the other hand, the verifier can easily detect small forgery in intentionally altered documents even if the forged images are perfectly scanned without rotation and noise by comparing the rates of black pixels and the centroid points of the generated sub-images with those stored in the preservative data. Manipulating the thresholds Tcentroid and Tblack can adjust the sensitivity of the verifier. The smaller Tcentroid & Tblack, the more sensitive the verifier is. In our experiments, both thresholds were set to 7. Forgery has been detected in 109 out of 110 altered documents. Only one document with a single forged character among 441 characters were verified and considered as a genuine copy. The reason why the verifier failed to detect forgery is that the number of added black pixels was accidently equivalent to the removed black Table 1. The statistical error of the verifier Document Condition
Test Results
Scanned (unaltered)
Forged
Verified
True Positive 49.1%
False Negative 0.9 %
Rejected
False Positive 50.9%
True Negative 99.1%
530
D. Elliman, P. Blanchfield, and A. Albakaa
pixels which did not change the rate of black pixels in the image. Also, the new distribution of black pixels in the forged image did not make a significant change in the location of the centroid point. Therefore, the modified image was accepted by the system. Table (1) shows the statistical error of the verification system of Method 1.
4 Conclusion and Future Work A method to create self-validating document has been proposed in this paper. The verification system of the method shows high rate of false-positive error because of the high sensitivity of the verifier to print-scan operation. However, the verifier successfully detected forgery in text images even when a small change made to the contents of a document. In conclusion, print-scan operation has a significant impact on document images and it is a challenge to create software which is able to recognize between malicious alternation and unintentional noise caused by scanner. More investigation is needed to improve the proposed document integrity system. In order to improve the proposed methods, it is important to add one or more of the following techniques to the document creation and validation algorithms: 4.1 Noise Removal Noise can occur in documents when they are printed, sent, and scanned to the computer again because of the inconsistencies of printers, unclean flatbed glass of scanners, humidity, or the exposure to direct sunlight for long time. Also, the careless handling of documents by their holders can be another reason to cause noise to documents, for example if documents were slightly torn or bent. If the amount of the noise was significant, the verifier would count this noise as additional unwanted elements in the scanned document which leads to false detection and the document will be considered as a forgery and rejected by the system. Therefore, it is essential to apply a noise removal method for binary images to that recognizes the difference between the original texts of the document and the extra noise and eliminates this undesirable noise [1]. The challenge in the noise removal is that the real text of the imaged document should not be eliminated no matter what the size of the text. In this research, Method 1 used a simple noise removal technique to eliminate isolated dots or lines from the document image. However, a more accurate and efficient noise reduction technique is recommended to be used in future. 4.2 De-skewing Documents can be rotated clockwise or anticlockwise during printing and scanning operations. In printers, if the paper tray inaccurately feeds the printer, the text lines will be irregularly oblique on the printed paper. On the other hand, if the document is not well placed in the flatbed glass of the scanner, the scanned text will be slanted in the document image. This rotation in the printed/scanned document can deceive the verifier. As a result, the document will be considered as a falsified paper whilst it is authentic. For that reason, it is necessary to identify the orientation of the scanned image and compute its rotation degree in order to deskew and straighten the text lines before validating the document [3].
Integrity Check for Printed Binary Document Images
531
4.3 Imperceptible Data Hiding The preservative data of a document can be invisibly embedded into the document image itself by using any invisible data hiding method for binary images provided that it does not visually affect the binary images to the extent it leads to different preservative data. The Dots-shifting data hiding technique can be implemented to embed a binary stream of data into a bi-level document image. The main idea of the dotsshifting technique is to shift the dots of the letters (i & j) in the document image slightly (up, down, left, right, or diagonally) to encode 3 bits as a maximum amount of data per dot. The capacity differs from language to another because texts in some languages have more dots than other languages, for instance there are more dotted letters in the Arabic language than those in English. On the other hand, some languages like Chinese or Hebrew do not have dotted letters which makes this technique not applicable on those languages. Therefore, this data hiding techniques could be useful only for some languages. More experiments are needed to prove this hypothesis.
References [1] Agrawal, M., Doermann, D.: Clutter Noise Removal in Binary Document Images. In: ICDAR 2009 (2009) [2] Arnold, M.: Techniques and Applications of Digital Watermarking and Content Protection. Artech House, Norwood (2003) (incorporated) [3] Baird, H.S.: The skew angle of printed documents. In: Document Image Analysis. IEEE Computer Society Press, Los Alamitos (1995) [4] Chen, M., Memon, N., Wong, E.K.: Data Hiding in Document Images. In: Lu, C. (ed.) Multimedia Security: Steganography and Digital Watermarking Techniques for Protection of Intellectual Property, pp. 231–247. Ideal Group Publishing, Hershey (2004) [5] Fridrich, J., Goljan, M.: Protection of Digital Images Using Self Embedding. In: Symposium on Content Security and Data Hiding in Digital Media (1999) [6] Furht, B., Muharemagic, E., Socek, D.: Multimedia Encryption and Watermarking. Springer, New York (2005) [7] Kim, H.Y., Afif, A.: Secure Authentication Watermarking for Binary Images. In: SIBGRAPI 2003, p. 199 (2003) [8] Kim, H.Y., Afif, A.: A Secure Authentication Watermarking for Halftone and Binary Images. International Journal of Imaging Systems and Technology 14(4), 147–152 (2004) [9] Kim, Y., Oh, I.: Watermarking text Document images using edge direction histogram. Pattern Recognition Letters 25(11), 1243–1251 (2004) [10] Liu, H., Rui, W., Huang, J.: Binary Image Authentication using Zernike Moments. IEEE, ICIP 1, 385–388 (2007) [11] Low, S.H., Maxemchuk, N.F., Lapone, A.M.: Document Identification for Copyright Protection Using Centroid Detection. IEEE Transactions on Communications 46(3), 372– 383 (1998) [12] Lu, H., Kot, A.C., Cheng, J.: Secure data hiding in binary document images for authentication. In: Proceedings of the 2003 International Symposium on Circuits and Systems, ISCAS 2003, May 25-28, vol. 3, pp. III-806–III-809 (2003)
532
D. Elliman, P. Blanchfield, and A. Albakaa
[13] Mei, Q.G., Wong, E.K., Memon, N.D.: Data hiding in binary text documents. In: Proc. of SPIE Security and Watermarking of Multimedia Contents III, vol. 4314, pp. 369–375 (2001) [14] Sun, Q.B., Feng, P.R., Deng, R.: An optical watermarking solution for authenticating printed documents. In: Proceedings of International Conference on Information Technology: Coding and Computing, pp. 65–70 (2001) [15] Tan, C.L., Huang, W., Yu, Z.: Imaged Document Text Retrieval Without OCR. IEEE Transaction on Pattern Analysis and Machine Intelligence 24(6), 838–844 (2002) [16] Yang, H., Kot, A.C.: Data hiding for bi-level documents using smoothing technique. ISCAS (5), 692–695 (2004) [17] Zhu, B., Wu, J., Kankanhalli, M.S.: Print signatures for document authentication. In: Conference on Computer and Communications Security, Proceedings of the 10th ACM Conference on Computer and Communications Security, pp. 145–154 (2003)
Locality Preserving Scheme of Text Databases Representative in Distributed Information Retrieval Systems Mohammad Hassan1 and Yaser Hasan2 1
Zarqa Private University, Jordan
[email protected] 2 Zarqa Private University, Jordan yasirlhm @zpu.edu.jo
Abstract. This paper proposes an efficient and effective "Locality Preserving Mapping" scheme that allows text databases representatives to be mapped onto a global information retrieval system such as Peer-to-Peer Information Retrieval Systems (P2PIR). The proposed approach depends on using Locality Sensitive Hash functions (LSH), and approximate min-wise independent permutations to achieve such task. Experimental evaluation over real data, along with comparison between different proposed schemes (with different parameters) will be presented in order to show the performance advantages of such schemes.
1 Introduction Finding relevant information to a user request with higher probability in any global information retrieval system such as P2PIR [1, 2, 3, 4, 5], requires the databases representatives (vectors of index terms) which generated by different nodes, should be mapped to a same node, or to a set of nodes that have closer identifier(s) in a P2P identifier space. To achieve this goal, the mapping method should preserve the locality of the index terms vectors key space; i.e. relevant index terms' vectors should have closer keys in the target identifier space. Generally, mapping is the criteria used to determine images (of elements in a given space or the domain) into another target space (or the range). The type of mapping is determined by the relation between two images of two related elements; i.e. if two related elements are mapped into two related images, then the mapping is locality preserving, otherwise it is a random mapping. In this paper we proposed a locality preserving mapping scheme that maps similar vectors of terms to closer keys (or points in the identifier space). In order to achieve this objective, we will use a variant of the Locality Sensitive Hash (LSH) functions such that groups of hash functions generated as approximate minwise independent permutations. In our scheme, a representative is converted (encoded) into a binary code of fixed length. This binary code is slotted into equal-length chops. The resulted chops form F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 162–171, 2010. © Springer-Verlag Berlin Heidelberg 2010
Locality Preserving Scheme of Text Databases Representative
163
an ordered set (referred to as subsequence) on which the "approximate independent min-wise permutations" is applied. The result is a set of keys each corresponds to a group of hash functions. Empirical examinations show that the proposed LSH scheme gives closer keys (smaller Hamming distance) for vectors of terms that have similarity greater than some threshold. Several approaches of locality preserving mapping that are used by different P2PIR proposals are introduced, for example: Spectral Locality Preserving Mapping [6, 7], addresses the problem of mapping closer multi-dimensional data representative vectors into closer images in a one dimensional space (mainly the field of real numbers). Points in the multidimensional space are viewed as vertices of a graph (G), and there is an edge between two nodes iff (if and only if) there is a direct connection between them in the fully connected network of nodes. This type of mapping involves extensive matrix computations, and all of the points (and the distance from all their neighbors) must be known in advance. This information is not always available in P2PIR systems. Space filling curves (SFC) [8], or Fractal Mapping (Peano, Gray, and Hilbert Space Filling Curves), is a continuous mapping from d-dimensional to 1-dimensional space. The d-dimensional cube is first partitioned into nd equal sub-cubes (or fragments), where n is the partition length. An approximation to a space-filling curve is obtained by joining the centers of these sub-cubes by line segments such that each cell is joined to two adjacent cells. A problem arises because once a fractal starts visiting a fragment no other fragment could be visited until the current session is completely exhausted. Other problem is the boundary effect problem; i.e. points that are far from borders are favored [7]. This means that two d-dimensional points, each of which belongs to a different fragment (and each is close to the border), does not have the chance to map to closer images in the 1-dimensional space. Locality Sensitive Hashing (LSH) [9], a family of hash functions (H) is locality preserving if a function (h) is randomly selected from H, then the probability of two objects to having equal images under (h), equals the similarity between those two objects. LSH has become popular in a number of fields, and it has been used for mapping in P2PIR for example in [1, 2, 3, 4, 5]. The rest of the paper is structured as follows: Section 2 presents a background about LSH and Minwise independent permutations. We present the proposed scheme for Locality Preserving Mapping in Section 3. Section 4 introduces the implementation and evaluation over real-world data sets that showed efficiency. Finally, Section 5 concludes the paper.
2 Background In this section, more details about LSH (section 2.1) and min-wise independent permutations (section 2.2) will be presented.
164
M. Hassan and Y. Hasan
2.1 Locality Sensitive Hashing (LSH) Locality sensitive hashing functions [1-5, 9,10] (LSH) was defined as a locality preserving hash function family used in order to maximize the probability (p1) of collision of two closer points (laying within the same circle (B) of radius r1), and minimize the probability of collision to be less than a smaller value (p2) when the two points are not within any circle of radius r2. In our context, the term ‘closer’ means ‘similar’, so we need similar points to ‘collide’ with higher probability. A similarity measure (D) could be used to determine the closeness of points. D could be the cosine similarity, or the distance function. The circle (B) of similarity measure (D) is defined as: B(q, r)={p: D(p, q)≥r}, or all points that have similarity ≥ r with a point q. The existence of such a locality sensitive hash function family, as defined above, admitted by a similarity measure whose distance function: D =1-sim(A,B), satisfies the triangle inequality: D(A,B)+D(B, C) ≥ D(A,C), for the points A, B, and C [3]. The next definition of LSH is sufficient to meet the mapping objective needed for this study. The implication of the definition 2.1 is that it uses similarity as an indicator of locality preservation; this definition has been introduced by Charikar [3] and adopted by Gupta et al [5]. Definition 2.1. Locality Sensitive Hashing (LSH) If A, B are two sets of values from domain D then a family of hash functions H is said to be locality preserving if for all h ∈ H we have: Pr
h∈H
(h(A) = h(B)) = sim(A,B)
(2.1)
Where sim(A,B) is a measure of similarity between the sets A and B. 2.2 Min-Wise Independent Permutations Hash function in 2.1 above could be replaced by min-wise independent permutations [4]. Definition 2.2. Min-wise independent permutations Given an integer n, let the set of all possible permutations of [n] is Sn , where [n] is the set of integers: {0,1,…,n-1}, a family of permutations F⊆ Sn , and for a subset X⊆[n], if a permutation π∈F is selected uniformly at random from F, and x∈X, and: Pr(min{π(X)}=π(x))=1/|X|, then the family of permutations F is said to be min-wise independent. The definition suggests that all the elements of X have the same chance to be the minimum under the permutation π [4]. In [5], the min-wise independent permutations of two range sets (Q, and R) are equal with probability equal to the Jaccard set similarity [4] between Q and R:
Prπ [hπ (Q) = hπ ( R)] =
|Q∩R| |Q∪R|
(2.2)
Locality Preserving Scheme of Text Databases Representative
165
So, min-wise independent permutations hashing scheme is a particular instance of a locality sensitive hashing [3]. We can observe (from equation 2.2) that as the similarity between objects increased, the chance for them to have closer keys became more probable. For a subset of the universe of interest; say S⊆U, a number of hash functions (or permutations) are each applied on the elements of S, and each time the minimum among all images is recorded. In the case of choosing k functions; i.e. h1, h2, …, hk from the family F uniformly at random, the set S is then represented as a vector , two subsets S1, S2⊆U are said to be similar if they share more matched elements among their vectors [3]. It was found that the (exact) min-wise independent permutations are inefficient (time consuming), and so for the purpose of this research we will use an approximate min-wise independent permutations, such that the probability for any element to be the minimum permutation is approximated by a fraction: Pr(min{π ( X )} = π ( x )) −
ε 1 ≤ X X
(2.3)
3 The Proposed Locality Preserving Mapping Scheme In a P2PIR system, and in order to find relevant information to a user request with higher probability, similar database representatives that are generated by different nodes, should be mapped to the same node, or to a set of nodes having close identifiers in the P2P identifier space. Formally a function f : C→K, maps the set of database representatives C to the set of keys, f is locality preserving if, for any x, y, z, e ∈ C, and a distance function D defined on both C and K, where D(x, y)threshold. If the resulted keys of both similar elements are closer than other farther elements, then the locality is better achieved.
Locality Preserving Scheme of Text Databases Representative
169
The bit selection methods (in sec 3.4) were applied on elements of both (D1 and D2) as described above. Each experiment is repeated by using different values for the following parameters: • First: the selection method, such that each time it is applied on binary codes that are generated by using one of the following three slotting criteria: 1. No slotting of the digest space; i.e. each subsequent (32 bits) represents one term. 2. Digest space is divided into 16 slots; each index term is represented by 4 bits, and so each subsequent can represent (32/4=8) terms. 3. 256 slots; each term is represented by 8 bits, so each subsequent represents 4 terms. • Second: the number of permutation groups (k), or hash function groups. • Third: the number of permutations in each group (t), or number of hash functions in a group. • Fourth: the shingle width (w). Hamming distance between two keys is used to evaluate the closeness between the generated keys. It is calculated for each pair of keys generated for two similar database representatives. Finally, the average Hamming distance is calculated. - The first experiment: examines the number of hash function groups, and the number of hash functions in each group. The average Hamming distance is calculated for each parameter, such that a fixed number of hash function groups is used, versus variable number of hash functions. The average Hamming distance is plotted in Figure 4.1. We can notice the locality preserving is enhanced when using more hash groups, as shown in Figure 3(a), where the locality preserving degrades as the number of hash functions increased. This was the case for all of the three selected slotting schemes, as shown in Figure 3(b). - The second experiment: examines the bit selection method where the four methods are implemented by using three parameters: (no slotting, 16, and 256 slots), the results presented in Figure 4 show that the ‘random bit selection’ is the worst, and the fixed chunk selection method produces the minimum average Hamming distance for all parameters. But this is not the right case, since this method generates closer keys for both similar and dissimilar database representatives, for example, in the case where the selected chunk is the left most chunk, the probability of having zero values for the most significant bits of a key becomes higher, since a key is the minimum of a hash function value among all generated integers. Consequently the fixed chunk bitselection method is not significant for mapping similar database representatives to closer keys in the target space. Empirically, the best method is the random selected chunk. - The third experiment: examines the effect of the shingle (w) on locality preservation. Using greater value of w is shown to enhance the locality of two similar samples, since the average hamming distance between the keys, which was generated by using more shingles, is smaller; see Figure 5. The enhancement of keys’ locality preservation is justified as successive subsequent overlapping increases as the number of shingles increases.
170
M. Hassan and Y. Hasan 15 grps no slotting 10 grps no slotting
7.8
average hamming distance
average hamming distance
7.8 7.6 7.4 7.2 7 6.8 6.6 6.4 6.2 6 5.8
10 grps no slotting 10 grps 256 slots
10 grps 16 slot
7.6 7.4 7.2 7 6.8 6.6 6.4 6.2 6 5.8 5.6
h=1
h=2
h=4
h=8
h=1
hashing functions
h=2
h=4
h=8
hashing functions
(a) (b) (a) Compares different number of groups (b) Compares different slotting methods. Fig. 3. Average hamming distance for different number of hash functions
average hamming distance
8 random bit chunks
7 6
Fixed chunk for all hashing functions
5 4
chunk idex = hash function order
3 2
random chunk selected for each hashing function
1 0 no slotting
16 slots
256 slots
average hamming space
Fig. 4. Comparison between the four methods of selecting chunks of t bits
7 6.8 6.6 6.4 6.2
1 hash func 4 hash funcs
2 hash funcs 8 hash funcs
16 slots
256 slots
6 5.8 5.6 5.4 5.2 16 slots
256 slots
2 shingles
4 shingles
Fig. 5. The effect of using shingles for binary code generation
5 Conclusion In this paper a locality preserving mapping scheme is presented, such that a database representative vector is encoded into a binary number, split as a subsequence, and a
Locality Preserving Scheme of Text Databases Representative
171
set of hash function groups are applied on each subsequent. The key is generated by selecting a chunk of bits from the result of each function in a group. Many methods (of bit selection) are tested, and empirically, the best method is the random chunk selection. Each database representative could have a number of keys equal to the number of hash function groups. The locality preservation could be enhanced by using a larger number of hash groups, and wider shingle width, but this increases the time cost.
References 1. Bawa, M., Condie, T., Ganesan, P.: LSH forest: self tuning indexes for similarity search. In: Proceedings of the 14th International on World Wide Web (WWW 2005), New York, NY, USA, pp. 651–660 (2005) 2. Bhattacharya, I., Kashyap, S.R., Parthasarathy, S.: Similarity Searching in Peer-to-Peer Databases. In: The 25th IEEE International Conference on Distributed Computing Systems (ICDCS 2005), Columbus, OH, pp. 329–338 (2005) 3. Charikar, M.S.: Similarity estimation techniques from rounding algorithms. In: The 34th ACM Symposium on Theory of Computing, pp. 380–388 (2002) 4. Datar, M., Immorlica, N., Indyk, P., Mirrokni, V.S.: Locality-Sensitive Hashing Scheme Based on p-Stable Distributions. In: The Twentieth Annual Symposium on Computational Geometry (SCG 2004), Brooklyn, New York, USA, pp. 253–262 (2004) 5. Gupta, A., Agrawal, D., Abbadi, A.E.: Approximate Range Selection Queries in Peer-toPeer Systems. In: The CIDR Conference, pp. 254–273 (2003) 6. Cai, D., He, X., Han, J.: Document Clustering Using Locality Preserving Indexing. IEEE Transactions on Knowledge and Data Engineering 17(12), 1624–1637 (2005) 7. Mokbel, M.F., Aref, W.G., Grama, A.: Spectral LPM: An Optimal Locality-Preserving Mapping using the Spectral (not Fractal) Order. In: The 19th International Conference on Data Engineering (ICDE 2003), pp. 699–701 (2003) 8. Sagan, H.: Space-Filling Curves. Springer, Berlin (1994) 9. Indyk, P., Motwani, R.: Approximate Nearest Neighbors: towards Removing the Curse of Dimensionality. In: The Symp. Theory of Computing, pp. 604–613 (1998) 10. Indyk, P.: Nearest neighbors in High-Dimensional Spaces. In: CRC Handbook of Discrete and Computational Geometry. CRC, Boca Raton (2003) 11. Motwani, R., Naor, A., Panigrahy, R.: Lower bounds on Locality Sensitive Hashing. In: The ACM Twenty-Second Annual Symposium on Computational Geometry SCG 2006, Sedona, Arizona, USA, pp. 154–157 (2006) 12. Lv, Q., Josephson, W., Wang, Z., Charikar, M., Li, K.: Efficient Filtering with Sketches in the Ferret Toolkit. In: The 8th ACM International Workshop on Multimedia Information Retrieval (MIR 2006), Santa Barbara, California, USA, pp. 279–288 (2006) 13. Qamra, A., Meng, Y., Chang, E.Y.: Enhanced Perceptual Distance Functions and Indexing for Image Replica Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence 27(3), 379–391 (2005) 14. Broder, A.Z., Charikar, M., Frieze, A.M., Mitzenmacher, M.: Min-Wise Independent Permutations. Journal of Computer and System Sciences 60, 630–699 (2000) 15. Broder, A.Z.: On the resemblance and containment of documents. In: Proceedings of Compression and Complexity of Sequences, p. 21 (1997)
Lot-Size Planning with Non-linear Cost Functions Supporting Environmental Sustainability Markus Heck1 and Guenter Schmidt2 1
SAP AG, Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
[email protected] 2 University of Liechtenstein, Institute for Business Information Systems, Fuerst-Franz-Josef-Strasse, 9490 Vaduz, Liechtenstein
Abstract. This paper proposes the consideration of non-linear cost function based on ecological considerations for lot-size planning. The classical approaches of lot-size optimization, the Wagner-Whitin algorithm and the PartPeriod Balancing heuristic, are enhanced with so called eco-factors. These ecoenhanced approaches combined with eco-balancing help to reduce overall production costs. Simultaneously the environmental impact is reduced. Keywords: industrial ecology, production planning, lot-size planning, LSP, environmental sustainability, non-linear costs.
1 Introduction Production planning and scheduling (PPS) is crucial for industrial enterprises. An important part of production planning is material requirements planning (MRP) and in particular lot-size planning. Beyond the cost-perspective, ecological consideration is mostly unobserved. Legal guidelines, rising prices for energy, and customer demand for environmental transparent products affect the industries. This provides the basic motivation for all activities related to sustainable process improvements and reduction of environmental impacts. The manufacturing industry has by nature an environmental impact on the ecology of this planet. Against the background of the Kyoto Protocol it is not hard to acknowledge that there is a crisis when fossil fuel energy costs are at an all-time high and the emissions from processing and using this energy are getting into the atmosphere. This affects all energy consumers, especially the energy-intensive manufacturing and heavy industries. Careful resource management is fundamental to the success of every enterprise and becomes increasingly critical for the planet. In consideration of these facts a rethinking within industries is needed in order to focus on more environmentally friendly concepts and sustainable strategies. The basics for the new approaches and methods affecting business decisions come from the relatively young environmentally sound practices of Green-IT [4], Sustainability, Cleaner Production (CP) [2], and Environmental Management Accounting (EMA) [5], [6]. In this paper these approaches are adapted in the area of PPS, in particular lot-size planning. This results in enhanced lot-size planning where ecological cost F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 1–6, 2010. © Springer-Verlag Berlin Heidelberg 2010
2
M. Heck and G. Schmidt
factors beside the classical ones are introduced. This leads to a significant environmental impact via mathematical algorithms in the manufacturing industry sector. Key element is the modification of classical lot-sizing problems (LSP) algorithms so that they are enabled to include non-linear eco-factors.
2 Models Considering Eco-factors Ecological impacting factors – eco-factors – both contribute to global environmental friendliness and ecology and can be quantified and charged with costs in order to be included into mathematical models for production planning. Ecological friendliness means in this case that the carbon footprint [4] can be reduced or rather the environmental impact can be improved with the optimization of the eco-factors. Quantification means that the eco-factors can be assigned a monetary value based on the lot-size that is allocated to a specific production period. The following eco-factors are identified as relevant within production planning: • • •
Power Usage – Depends on production’s degree of utilization and has to be purchased. Power generation affects the environment based on the respective power plants. Carbon Dioxide Emission – Allows cap and trade on emission markets. Therefore carbon dioxide reduction implies financial opportunities. Water Consumption – Depends on production’s degree of utilization and has to be purchased. Water has the potential to catch up or even replace fossil fuels as core resource in the future.
It is important to note that these cost factors behave in a non-linear way. This is based on the assumption that with an increase in the degree of utilization of a production machine the related eco-factors increase above-average (e.g. power consumption, carbon dioxide emission, etc.). The existing models and approaches for solving LSP are enhanced with ecofactors. The Wagner-Whitin algorithm (WWA) and the Part-Period Balancing heuristic (PPB) [3] have been selected for generating lot-sizing schedules. The three identified eco-factors power usage, carbon dioxide emission, and water consumption are dependent on the lot size q of a production period t and affect the total costs of a planning horizon T. The term e(qt) is introduced in order to enhance the LSP models with an environmental impacting cost factor. The eco-term e(qt) determines besides inventory costs, setup costs and variable production costs the total costs of a LSP. The term e(qt) is illustrated in the following: e(qt) = PowerCosts(qt) + CO2EmissionCosts(qt) + WaterCosts(qt) .
(1)
Integrating the eco-term into the classical mathematical model of the single-level uncapacitated lot-sizing problem (SLULSP) results in the following:
Minimize Z = ∑t =1 ( s ∗ γ t + h ∗ yt + pt ∗ qt + e(qt )) . T
(2)
With the apparent modification the new eco-enhanced model covers four parameters: lot-size-independent setup costs, lot-size-independent inventory costs, lot-size-dependent
LSP with Non-linear Cost Functions Supporting Environmental Sustainability
3
linear variable production costs, and lot-size-dependent non-linear eco-costs. Applying the eco-term e(qt) to WWA results in the following objective functions: T
Minimize Z = ∑ ( s ∗ γ t + h ∗ yt + e(qt )) .
(3)
t =1
With the respective cost function: j ⎛ ⎞ ⎛ j ⎞ cτj = ( s ∗ γ t ) + ⎜⎜ h ∗ ∑ (t − τ ) ∗ dt ⎟⎟ + e⎜⎜ ∑ di ⎟⎟ . ⎝ t =τ +1 ⎠ ⎝ i =τ ⎠
(4)
The optimal costs fi of a lot size policy are described in the following recursive relation:
f i = min { fτ −1 + cτi } . 1≤τ ≤ i
(5)
Applying the eco-term e(qt) to PPB results in the following decision rule:
⎧⎪ ⎛ τ ⎛ j ⎞ ⎫⎪ ⎞ Maximize ⎨ j e⎜ ∑ di ⎟ + h ∗ ⎜⎜ ∑ (t − τ ) ∗ dt ⎟⎟ ≤ s ⎬ . ⎪⎩ ⎝ i = t ⎠ ⎝ t =τ +1 ⎠ ⎪⎭
(6)
3 Eco-balancing The target of eco-balancing is to allow a trade-off between high eco-costs and lower inventory costs. To achieve this, the eco-balancing algorithm iterates through all production periods τi and checks if lot size qi is smaller than the lot size of the successor production periods τi+k. If this is true (if not the heuristic moves to τ+1) a specific amount of the lot size qτ+k is transferred to qτ of the previous production period. This specific amount of a lot size to be transferred is based on the difference of qτ+k - qτ multiplied with the factor λ. The factor λ depends on the ratio of the additional generated inventory costs in τi and the saved eco-costs in qi+k. After iterating through all production periods the eco-balancing stops. Within the eco-balancing the factor λ is determined as follows:
(7)
There exist two types of eco-balancing. The first type (eco-balancing I) ignores periods with zero batches and reschedules parts of lot sizes between production periods only. The second type (eco-balancing II) considers periods with zero batches and therefore allows to switch a period with zero lot size into a production period.
4
M. Heck and G. Schmidt
4 Numeric Example of Eco-enhanced LSP Algorithms In the following an example is given how an eco-enhanced algorithm including ecobalancing is applied on a LSP. A six period planning horizon with demands is given, furthermore inventory costs of h=1 per unit per period, eco-costs of e(q)=((q3)/ 1000)+1, with e(0)=0, and setup costs s=500. Table 1. Numeric example on solving a LSP with eco-enhanced algorithms and eco-balancing period demand
1 20
2 80
3 160
4 85
5 120
6 100
eco-enhanced Wagner-Whitin algorithm lot size 100 0 160 setup costs 500 0 500 inventory costs 80 0 0 eco-costs 1001 0 4097 total costs
85 500 0 615
120 500 0 1729
100 500 0 1001
eco-enhanced Wagner-Whitin algorithm with eco-balancing I lot size 130 0 130 102 103 setup costs 500 0 500 500 500 inventory costs 110 30 0 17 0 eco-costs 2198 0 2198 1062 1094 total costs
100 500 0 1001
eco-enhanced Wagner-Whitin algorithm with eco-balancing II lot size 100 80 80 102 103 setup costs 500 500 500 500 500 inventory costs 80 80 0 17 0 eco-costs 1001 513 513 1062 1094 total costs
100 500 0 1001
2500 80 8443 11023
2500 157 7553 10210
3000 177 5184 8361
The numeric example indicates that with the execution of the two eco-balancing methods in addition to the eco-enhanced WWA the total costs can be reduced. With eco-balancing I, where periods with zero demand are ignored, the total costs decreased by 7.4% from 11023 to 10210. Applying eco-balancing II, where periods with zero demand can be considered as production periods, the costs savings are even more improved. Total costs decrease by 24.1% from 11023 to 8361.
5 Performance of Eco-enhanced LSP Algorithms The performance of the eco-enhanced algorithms is determined by a large-scale simulation study. This simulation study is based on the works of Ho, Chang and Solis [1]. Three factors – setup costs, inventory costs and eco-costs – produce experimental conditions. This simulation involves the generation and solution of 4000 problems for each algorithm. The algorithms are benchmarked against the results of eco-enhanced
LSP with Non-linear Cost Functions Supporting Environmental Sustainability
5
WWA with eco-balancing II, as it created the best overall test results. The calculated performance is based on total costs, where lower total costs imply higher performance. The result of the simulation study is displayed in the following table: Table 2. Overall performance test results of the simulation study Algorithm Mean performance in % Wagner-Whitin algorithm 637,07 Eco-enhanced Wagner-Whitin algorithm 121,34 Eco-enhanced Wagner-Whitin algorithm with eco-balancing I 102,23 Eco-enhanced Wagner-Whitin algorithm with eco-balancing II 100,00 Part-Period Balancing heuristic 1558,39 Eco-enhanced Part-Period Balancing heuristic 196,59 Eco-enhanced Part-Period Balancing heuristic with eco-balancing I 164,51 Eco-enhanced Part-Period Balancing heuristic with eco-balancing II 129,62
The test results indicate that the eco-enhanced WWA with eco-balancing II outperforms all other algorithms. The classic LSP approaches WWA and PPB neglecting eco-costs are clearly outperformed. This is comprehensible as e(qt) creates significantly high costs if large lot sizes are applied in a production period. The classic WWA has 6.37 times, the classic PPB even 15.58 times higher total costs than eco-enhanced WWA with eco-balancing II. In general WWA approaches clearly outperform PPB heuristics during the overall test simulation. The behavior of the performance with changing eco-factors indicates an interesting result. Despite the complexity and increasing growth of the eco-costs, the performance of the eco-enhanced algorithms remains nearly constant. This implies that the new introduced eco-algorithms are not influenced in their performance when different complex eco-factors are applied. On the contrary if the performance is analyzed based on changing setup costs, the eco-enhanced algorithms behave differently. The overall performance of eco-enhanced PPB approaches is decreasing with increasing setup costs. The eco-enhanced WWA’s however stay nearly constant, whereas the performance of the eco-balancing variants is approximate asymptotically towards the performance of the standard eco-enhanced WWA. It is interesting to note that for very low setup costs the eco-enhanced PPB variants with eco-balancing are able to slightly outperform the standard eco-enhanced WWA.
6 Summary Classic approaches of production planning, especially lot size optimization, can be enhanced with the emerging topics of environmental sustainability. This means to adapt the models and consequently the algorithms for solving dynamic lot sizing problems with non-linear cost factors. The base modifications of the eco-enhanced algorithms proved to be efficient in that case that they generate good results concerning production schedules in an environment where eco-costs are applied. The statements within this paper have been
6
M. Heck and G. Schmidt
verified by execution of a large-scale simulation study that examines the performance of the introduced eco-enhanced algorithms and the eco-balancing concept. In the scope of this work the term e(qt) is used to cover cost factors that impact the ecological environment and are at the same time relevant for production planning. The enhancement of eco-factors results both in monetary cost savings and reduction in the carbon footprint. Ecological impacting factors (e.g. power consumption) are actively considered in the eco-enhanced lot-size planning algorithms. With the current setup the new business opportunities proclaimed by the concepts of Green-IT, Sustainability, CP, and EMA are supported. However it is mainly designed to reduce overall costs within production planning by rescheduling batches in order to achieve an eco-factor optimized production schedule. The strongest point of criticism is that the cost factors related to an environmental friendly perspective of production planning are too weak in order to have an influence in generating lot sizes. However the large-scale simulation study verifies that the whole concept of eco-enhanced algorithms and eco-balancing is still effective, even if very low eco-terms e(qt) are applied. Environmental friendliness and cost optimization are no opposing trends and it is verified by the current work that these trends can be supported in the area of production planning by the use of enhanced models and algorithms.
References 1. Ho, J., Chang, Y., Solis, A.: Two modifications of the least cost per period heuristic for dynamic lot-sizing. Journal of the Operational Research Society 57, 1005–1013 (2006) 2. Mulholland, K.: Identification of Cleaner Production Improvement Opportunities. Wiley Interscience, Hoboken (2006) 3. Tempelmeier, H.: Material-Logistik. Springer, Heidelberg (2005) 4. Velte, T., Velte, A., Elsenpeter, R.: Green IT - Reduce Your Information System’s Environmental Impact While Adding to the Bottom Line. Mc Graw Hill, New York (2008) 5. Jasch, C.: The IFAC Guidance document on EMA. In: 9th Annual EMAN Conference: Environmental Management Accounting and Cleaner Production, p. 4. Graz University of Technology (2006) 6. Mia, M.: Cleaner Production & Competitiveness: The Role of Environmental Management Accounting. In: 9th Annual EMAN Conference: Environmental Management Accounting and Cleaner Production, p. 42. Graz University of Technology (2006)
Lowest Data Replication Storage of Binary Vote Assignment Data Grid Noraziah Ahmad, Ainul Azila Che Fauzi, Roslina Mohd. Sidek, Noriyani Mat Zin, and Abul Hashem Beg Faculty of Computer Systems & Software Engineering, University Malaysia Pahang, Malaysia
[email protected],
[email protected] Abstract. Data replication is one of the mechanisms in data grid architecture since it improves data access and reliability. There are many replication techniques exist in distributed systems environment include Read-One-Write-All (ROWA), Branch Replication Scheme (BRS), Hierarchical Replication Scheme (HRS) and our previous Binary Vote Assignment Data Grid (BVADG) techniques. All these techniques deploy different approaches of data placement in distributed environment. This paper presents the comparison of the replication storage between all these techniques. The result shows that BVADG has the lowest data replication storage between ROWA, BRS and HRS due to the small quorum approach of data placement. Keywords: ROWA, BRS, HRS, BVADG, data grid.
1 Introduction Data grid deals with the efficient management, placement and replication of large amounts of data [1]. However, once data are in place, computational tasks can be run on the grid environment. In this data grid systems, several characteristics are considered such as: (1) provides an interface to user which is transparent to where the data actually resides; (2) ability to locate the data; (3) network-wide concurrency control and recovery procedures; (4) mediators to provide translation of queries and data between heterogeneous systems [2]. Replication in distributed environment receives particular attention for providing efficient access to data, fault tolerance and enhance the performance of the system [1, 2, 5, 6]. Organizations need to provide current data to users who may be geographically remote and request distributed data around multiple sites in data grid. Thus, data is required to be replicate at different sites in order to improve the data availability. Replication is the act of complete copying process and maintaining objects in multiple sites [3]. However, the storage will become redundant by replicate data in this way of data organization. Thus, this has given us an intuitive idea to study and present the comparison between data replication techniques in terms of storage used. In applications that can be easily parallelized, it is conceivable to use a series of replicated database as the means to share up-to-date information among all the sites in a cluster [4]. On the other hand, data replication has to be choosing wisely when storage is concerned. Good replication will use less storage but still excellent in its F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 466–473, 2010. © Springer-Verlag Berlin Heidelberg 2010
Lowest Data Replication Storage of Binary Vote Assignment Data Grid
467
performance [8]. That means, even though it replicate to a few storage, all data still available when main database corrupt. In this study, we compare several replication techniques to find out which technique use the lowest data replication storage. The rest of the paper is organized as follows: Section 2 reviews data replication concept and types of data replication. Section 3 describes the replication techniques include Read-One-Write-All (ROWA), Hierarchical Replication Scheme (HRS) and Binary Vote Assignment on Grid (BVAG). Section 4 presents the comparison between these replication techniques and the result in terms of data replication storage. Finally, we conclude this paper in the last section.
2 Data Replication Concept Replication is the process of sharing information to ensure consistency between redundant resources such as software or hardware components. This process helps to improve reliability, fault-tolerance, or accessibility of data [1, 14]. Data replication may occur if the same data is stored in multiple storage devices. Meanwhile, computation replication occurs when the same computing task is executed many times. A computational task is typically replicated in space, i.e. executed on separate devices, or it could be replicated in time, if it is executed repeatedly on a single device. Whether one replicates data or computation, the objective is to have some group of processes that handle incoming events. If we replicate data, these processes are passive and operate only to maintain the stored data, reply to read requests, and apply updates. When we replicate computation, the usual goal is to provide fault-tolerance. For example, a replicated service might be used to control a telephone switch, with the objective of ensuring that even if the primary controller fails, the backup can take over its functions [9]. 2.1 Synchronous vs. Asynchronous Replication There are two types of data replication namely, synchronous replication and asynchronous replication. Asynchronous replication usually transmitted inconsistently rather than a steady stream. Asynchronous replication also caused the receiver to have problems in receiving the data from the sender. Many vendors like Lotus Notes adopted asynchronous replication as a solution for managing replicated data because asynchronous replication works reasonably well for single object updates. However, asynchronous replication fails when involving multiple objects with single update [9]. Therefore, synchronous replication is the answer for constraints that the asynchronous brought. Synchronous replication will guarantee data consistency since it works based on quorum to execute the operations. Plus, synchronous replication provides a ‘tight consistency’ between data stores [9]. For any copy that has been updated, the updates are applied immediately to all the copies within the same transaction [9]. This will ensure that all the copies in any site are the same and consistent. A consistent copy in all sites give advantages to the organization as it provides an updated data that is accessible anytime at any place in the distributed systems environment. However, synchronous replication require vast amount of storage capacity as multiple copies of replicated data stored in many sites and expensive synchronization mechanism are
468
N. Ahmad et al.
needed to maintain the consistency of data when changes are made. As a result, a proper strategy is needed to manage the replicated data in distributed systems environment [8].
3 Data Replication Techniques 3.1 Read-One-Write-All (ROWA) In ROWA techniques, replicas consistencies is guaranteed by the consistency of execution on one replica, but the client replicas are only updated and cannot provide accurate responses to queries. Synchronous replication methods guarantee that all replicas are maintained consistent at all times by executing each transaction locally only after all replicas have agreed on the execution order. Through this, a very strict level of consistency is maintained. However, because of the strict synchronization between replicas that is required for each transaction, synchronous replication methods have been deemed impractical and often times a centralized or client-server approach is preferred for systems that critically require strict consistency [10]. Any replicated database system needs to perform two main functions: execute transactions locally and make sure that the outcome of each transaction is re-erected at all replicas. The later task can be achieved in several ways. In the client-server approach, one server replica is in charge of executing/committing transactions locally before it disseminates the transactions to client replicas. This method is the closest to the single-server solution both in its performance [10]. Figure 1 shows data from transaction T has been replicate to all replicas.
Fig. 1. Data from transaction T has been replicate to all replicas [10]
3.2 Branch Replication Scheme (BRS) Among BRS goals are to increase the scalability, performance, and fault tolerance. In this model, each replica is composed of a different set of subreplicas organized using a hierarchical topology. BRS use parallel I/O techniques [11, 12] in order to increase
Lowest Data Replication Storage of Binary Vote Assignment Data Grid
469
the scalability and performance of the system for read and write operations. The main features of BRS are root replica, parallel replication, fine grain replication, partial replication of popular file fragments and parallel data access better resource usage. This technique need low space per storage to support replica. So, small storage devices also can use to replicate data. Figure 2 shows all replicas in BRS update data.
Fig. 2. All replicas in BRS update data [13]
Replicas are created as close as possible to the clients that request the data files. The root replica grows toward the clients in a branching way, slip replicas into several subreplicas. Using this technique, the growing of the replica tree is driven by client needs. Hence, a replica is expanded toward the clients. When a replica or subreplica is replicated, two sites must be selected for the replication process. Replication does not have to be for the entire replica. Subreplicas can be also replicated following the former conditions. Assume that accesses to a file are not uniformly distributed and that, as a result, the subreplica Ri storage node is overloaded. BRS can replicate only this subreplica to discharge this node. Thus, the expansion of the replication tree might not be symmetric and different branches could have different depths [13].
470
N. Ahmad et al.
3.3 Hierarchical Replication Scheme (HRS) A hierarchical replication consists of a root database server and one or more database servers organized into a hierarchy topology [13]. Figure 3 shows all replicas in HRS update data.
Fig. 3. All replicas in HRS update data [13]
Replication in HRS starts when a transaction initiates at site 1. All the data will be replicate into other site. All sites will have all the same data. 3.4 Binary Vote Assignment on Grid (BVAG) Recall our previous work on BVADG replication techniques [6]. All sites are logically organized in the form of two-dimensional grid structure. For example, if a BVAG consists of twenty-five sites, it will logically organize in the form of 5 x 5 grids as shown in Figure 4. Each site has a premier data file. In the remainder of this paper, they assume that replica copies are data files. A site is either operational or failed and the state (operational or failed) of each site is statistically independent to the others. When a site is operational, the copy at the site is available; otherwise it is unavailable [14]. A data will replicate to the neighbouring sites from its primary site. Four sites on the corners of the grid have only two adjacent sites, and other sites on the boundaries have only three neighbours. Thus, the number of neighbours of each sites is less than or equal to 4. Refer to Figure 4, data from site 1 replicates to site 2 and 4 which are its neighbours. Site 5 replicates to its neighbour sites 2, 4, 6 and 8. Meanwhile, site 6 replicates to site 3, 5 and 9.
Lowest Data Replication Storage of Binary Vote Assignment Data Grid
471
Fig. 4. Each replica in BVAG update data to its quorum sites
4 Analysis and Result In this section, we will compare the usage of storage for ROWA, BRS, HRS, and our previous model BVADG by using 9 sites. Refer to previous Section 3, all sites will replicate data in all sites in ROWA. Since we choose nine sites, the copied data is nine. In BRS, when a transaction performs, it will replicate all the data into its root replica. An original replica will be divided into several subreplicas. This replication will grow since the growing of replica is depending on client needs. Result shows that data replicate in BRS are four but it can grow more than that with the client request. Meanwhile, HRS also will replicate all the data into its replica at first level. Next, the original replica will be replicate again into several replicas. This makes the total number of replicas in HRS equal to nine. BVADG only replicate to its neighbour when transaction performed. The maximum numbers of replicas produced are less than five. Total numbers of replicas are depending on which sites it is initiated. Table 1 shows the comparison betwen ROWA, BRS, HRS and BVADG in terms of storage use. Table 1. Total numbers of replicas
Replication Techniques ROWA BRS HRS BVADG
Number of Sites 9 9 9 9
Storage Use 9 4 and more 9 3, 4, 5
From Table 1, it is apparent that BVADG has the lowest data replication storage in spite of having a bigger number of copies when compared with ROWA and HRS quorums. It can be seen that, BVADG needs only more than 3 or less than 5 copies for the storage, whereas BRS requires 4 and more storage. HRS increases gradually
472
N. Ahmad et al.
when a number of sites increase. On the contrary, BVAG needs only 3 until 5 copies even the number of sites increases. This storage use in BVADG is minimizes due to number of quorum size deployed, which is preferred for large scale systems.
5 Conclusion As summary, BVADG technique deploys the lowest storage data replication storage compares to BRS, HRS and ROWA. It also has the number of total replication which is less than five. For BRS techniques, it also has small number of replicas but it is not fixed. The number of replicas will grow with the needs of client. When we use less storage, we also can cut cost the for replication process. HRS and ROWA have the highest storage use since the data storage will be replicated at all sites.
References 1. Noraziah, A., Deris, M.M., Ahmed, N.A., Norhayati, R., Saman, M.Y., Zeyed, M.Y.: Preserving Data Consistency through Neighbour Replication on Grid Daemon. American Journal of Applied Science 4(10), 748–755 (2007) 2. Shashi, B., Patel, R.B., Mayank, D.: A Secure Time-Stamp Based Concurrency Control Protocol for Distributed Databases. Journal of Computer Science 3(7), 561–565 (2007) 3. Yair, A.: On the Performance of Wide-Area Synchronous Database Replication, Technical Report CNDS-2002-4 (2002) 4. Peris, R.J., Martínez, M.P., Kemme, B., Alonso, G.: How to Select a Replication Protocol According to Scalability, Availability, and Communication Overhead. In: 20th IEEE Symposium on Reliable Distributed Systems (2001) 5. Gao, M.D., Nayate, A., Zheng, J., Iyengar, A.: Improving Availability and Performance with Application-Specific Data Replication. IEEE Trans. Knowledge and Data Engineering 17(1), 106–200 (2005) 6. Noraziah, A., Mat Deris, M., Saman, M.Y., Norhayati, R., Rabiei, M., Shuhadah, W.N.W.: Managing Transaction on Grid-Neighbour Replication in Distributed System. International Journal of Computer Mathematics 86(9), 1624–1633 (2009) 7. Replication (computer science), http://en.wikipedia.org/wiki/Replication_(computer_science) 8. Deris, M.M., Abawajy, J.H., Taniar, D., Mamat, A.: Managing Data using Neighbour Replication on a Triangular-Grid Structure. International Journal of High Performance Computing and Networking 6(1), 56–65 (2009) 9. Budiarto, S.N., Tsukamoto, M.: Data Management Issue in Mobile and Peer to Peer Environment. Data Knowledge Engineering 41, 183–204 (2002) 10. Tang, M., Lee, B.S., Tang, X., Yeo, C.K.: The impact on data replication on Job Scheduling Performance in the Data Grid. International Journal of Future Generation of Computer Systems 22, 254–268 (2006) 11. Jin, H., Cortes, T., Buyya, R.: High Performance Mass Storage and Parallel I/O: Technologies and Applications. IEEE Press/Wiley (2002) 12. Carballeira, F.G., Carretero, J., Calderon, A., Garcia, J.D., Sanchez, L.M.: A Global and Parallel File System for Grids. Future Generation Computer Systems 23 (2007)
Lowest Data Replication Storage of Binary Vote Assignment Data Grid
473
13. Pérez, J.M., Carballeira, F.G., Carretero, J., Calderón, A., Fernandez, J.: Branch Replication Scheme, A New model for Data Replication in Large Scale Data Grids, Computer Architecture Group, Computer Science Department, Universidad Carlos III de Madrid, Leganes, Madrid, Spain (2009) 14. Deris, M.M., Mamat, R., Noraziah, A., Suzuri, H.M.: High Service Reliability for Cluster Server Systems. In: International Conference on Cluster Computing, pp. 280–287 (2003) 15. ATLAS at the University of Chicago, http://www.sciencedirect.com/science?_ob=RedirectURL&_method =externObjLink&_locator=url&_cdi=5638&_plusSign= %2B&_targetURL=http%253A%252F%252Fhep.uchicago.edu%252Fatlas %252F (available on March 23, 2010)
Marmot: A Novel Low-Power Platform for WSNs P´eter V¨olgyesi1, J´ anos Sallai1 , S´ andor Szilv´ asi1 , 2 1 ´ Prabal Dutta , and Akos L´edeczi 1
Vanderbilt University 2015 Terrace Place, Nashville, TN, 37203, USA
[email protected] 2 University of Michigan 2260 Hayward St, Ann Arbor, MI 48109, USA
[email protected] Abstract. The paper introduces a new hardware platform for wireless sensor networks built around a Flash FPGA. The most important feature Flash FPGAs offer is their duty cycling support; they can wake up from sleep in one microsecond with now current spike and they preserve their configuration as well as the application state. Moreover, the new node provides much better performance than microcontoller-based nodes can. The price to pay is the increased complexity of application development. Most software components can be implemented in C and run on a soft processor core inside the FPGA, but the critical components need to be realized directly on the fabric using VHDL. Keywords: Wireless communication, low-power design, software defined radio, FPGA.
1
Introduction
The prevailing approach to wireless sensor node hardware is to combine integrated radio transceivers with general purpose microcontrollers. However, microcontrollers significantly constrain performance because of the severe resource constraits they introduce. Experimenting with innovative applications that require higher performance than microcontrollers offer, can be cumbersome and tedious because it often requires developing custom hardware – an expensive and time consuming undertaking that requires special expertise. In the past decade we successfully developed several WSN applications with highly configurable and inherently parallel FPGA devices at their core. In all these applications – detecting and localizing gunshots [17], acoustic ranging [10] and tracking [11] and structural monitoring [13] – we needed high (1 MSPS) sampling rate, multichannel signal processing with low jitter without boosting the system clock above 20 Mhz, a feat not possible with a traditional microcontrollerbased approach. However, the most critical problem with traditional FPGA devices when used in wireless nodes is their power requirements even at moderate clock frequencies. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 274–280, 2010. c Springer-Verlag Berlin Heidelberg 2010
Marmot: A Novel Low-Power Platform for WSNs
275
The power requirements of an SRAM-based FPGA can be divided in four distinct operational states. When power is first applied to the FPGA, the device (look-up tables, interconnect, I/O pads) are not configured yet which cause, in addition to the initial charging of the distributed capacitances within the chip, a significant in-rush current to flow. Proper power sequencing can mitigate this problem, but cannot eliminate it completely. Next, the FPGA needs to be configured, which consists of shifting in and through the device a (several megabits) long configuration bitstream. Because the entire device is affected, this stage also has a significant current drain and cause a serious latency before the FPGA device can be used. In the normal operational state (powered up and configured), the SRAM FPGA device dissipates power in two different ways. Static current is drawn at an almost constant rate while the FPGA device is powered up and is caused by the drain-source leakage current through the NMOS and PMOS transistors. The magnitude of this current depends mostly on the fabrication technology and the size of the device and cannot be controlled by the application designer. On the other hand, dynamic power is proportional to the operational frequency (f ), the size of the actual design (distributed gate capacitance, C) and voltage levels (V ) and can be estimated by V 2 Cf . The main component of dynamic current is the capacitive load of the transistor gates and wires; tiny buckets of charge are filled and emptied at the rate of the system clock. The significant static power is the main reason why SRAM-based devices cannot be used effectively in power constrained applications. By lowering or suspending the internal clocks, one cannot achieve truly low-power operational states on these devices. This can only be accomplished by turning off the voltage rails completely. However, this approach has its own problems and might not save power at all. First, by turning off the device, the memory content (application state) is completely lost. Second, the in-rush and (re)configuration currents are big prices to pay for turning off the device. Last but not least, the significant latency due to (re)configuration prevents any real-time or at least fast wake-up approach to be used. Thus, duty cycling – a typical and effective power saving in small embedded devices – is limited and can only be used where long sleep cycles and the discarding of the application state can be tolerated. A drastically different approach for implementing field programmable logic has been gaining traction recently. These FPGAs are built on Flash technology, which eliminates many of problems inherent in the SRAM-based fabric. First, due to the Flash switches (instead of SRAM-driven switches) the static power draw is very low. Also, since there is no need for loading the configuration (it is always there), the turn-on time is fast and does not involve high currents. Board space is also saved by eliminating the external non-volatile configuration memory chip, an important design consideration in battery powered embedded platforms. These devices are therefore excellent candidates for implementing low-power wireless platforms with efficient duty cycling while keeping almost all benefits of the FPGA approach.
276
P. V¨ olgyesi et al.
We successfully used Flash-based FPGAs in our prototype sensor platform for structural health monitoring of railway bridges using acoustic emission (AE) transducers for localizing cracks [13]. Although the high frequency content of the sensors requires fast sampling, the Flash-based FPGA enabled applicationspecific duty cycling of the node to support prolonged deployments. A strain gage wakes up the high-speed AE channels when a train approaches. Our experience in this project lead to the idea of a general-purpose wireless node built around a flash FPGA.
2
Related Work
The flexibility of Software Defined Radio (SDR) platforms enable research and experimentation in wireless networking. Some SDR architectures offload the radio front-end electronics and radio control onto an external hardware platform, the processing onto a general-purpose processor (e.g. desktop computer), and connect the two using a relatively low-speed USB link [2,1]. Other SDR architectures more tightly integrate the front-end and radio control with FPGA- or DSP-based processing, which allows high performance, but comes at the expense of greater programming complexity and cost [3]. Still other architectures, designed to address the cost and complexity concerns, while preserving the high performance of integrated SDR architectures, integrate the radio control logic into a DMA-mapped PCIe card [16], meeting a design sweet spot for programmability, performance, and price. The common theme that emerges in the evolution of SDR is tighter integration between the processor and radio control: either the processor runs alongside the radio control logic in the FPGA or the radio control logic sits inside the PC on the processor’s PCIe bus. However, despite the continuing innovation in SDR architecture, there are a number of constraints it presents. The power requirements mandate either wall-power or large, high-capacity batteries for short tests. The need for a PC to connect each SDR to, and the relatively high price, mean that typical experiments involve only a handful of nodes. Consequently, mobile and/or widely distributed large-scale wireless networking experiments are not supported. Also, current SDRs are not suited for experimenting with low-power communication protocols or different duty cycling approaches either. We believe that the novel Flash-based programmable logic technology presents a high-impact opportunity to approach wireless communications from a radically new perspective.
3
Hardware
Our hardware architecture is built around a low-power Flash-based FPGA device (Actel IGLOO family), as shown in Figure 1. The soft microprocessor core (ARM Cortex-M1) – synthesized on the FPGA fabric – will provide an easy to use computational platform capable of running standard applications written in C/C++. High level sequential logic and other system integration tasks can be
Marmot: A Novel Low-Power Platform for WSNs
277
implemented and experimented with like on any existing processor-based platforms. By using a soft core – instead of a discrete microcontroller – we are able to tailor the processor (speed, capabilities) to the application, provide tighter integration with other IP cores and use the same clock gating and scaling methods as for the rest of the system. The real strength and novelty of the proposed platform, however, lies in the remaining part of the FPGA fabric. This is where key elements of the physical and media access layers of the radio communication can be implemented as IP cores. Also, it can be populated by the usual peripheral modules (UARTs, timers, I2 C, A/D drivers, GPIO) based on the demands of the application. Finally, high performance signal processing – or other computationally intensive tasks – can be accelerated by providing them as IP cores. At the machine level, the soft processor communicates with other peripherals and custom cores via a well-defined register interface. Higher level software interfaces and thin proxies are used to hide the differences between a software-based implementation and its hardware-based alternative (see Section 4). Efficient power management is the cornerstone of the Marmot low-power platform. The FPGA device needs well regulated power rails for the internal core, I/O, and programming logic. The RF section and optional sensors also rely on different voltage levels for optimum performance. Intelligent power management mandates that these supply nets are controlled (turned on/off) by the application based on accurate measurements of the instantaneous current drawn by different components on the board. The integrated clock management unit(s) of the FPGA provides a more fine-grained power saving approach with clock gating and/or scaling in various design partitions. For supporting a broad spectrum of wireless solutions we designed a modular architecture where the RF section is implemented on a separate daughtercard. This will enable the experimentation with different radio bands, narrow or wide bandwidth applications, modulation techniques. The interface between the core platform and the RF circuit includes both analog and digital signals to support
Digital I/O
DAC
ADC
RF Frontend I/F Wakeup Controller
VCC5
Power Control
VCC1,2,3
Unregulated Power
ADC
VCC4 Power Mgmt DC/DC reg, Current Monitors, Switches
Digital I/O
Clock Reference
Clock Out Digital I/O
Flash FPGA
Digital I/O
Interboard I/F
Interboard I/F
JTAG chain Clock In
Sensor I/F
Battery
Fig. 1. Flash FPGA-based hardware architecture for low-power ad-hoc wireless communication research
278
P. V¨ olgyesi et al.
custom analog RF frontends (built from discrete components) but also COTS short range radio transceiver chips. Research in antenna diversity could benefit from multiple tightly integrated nodes (transmitters, receivers, or both) with strict time synchronization or a common clock. For this purpose, we provide a dedicated extension interface, where the core platform can provide or accept external clock signals, raw (unregulated) power, digital signals and programming/debugging facilities. This interface consists of two physical ports for optionally chaining multiple nodes together. Since the FPGA device provides an excellent platform for high performance signal processing and data acquisition, the node provides a third interface for optional off-board sensors, both analog and digital. The digital signals would support smart autonomous transducers (through I2 C, SPI or other digital protocols), while the analog signals – supported by a relatively slow multiplexed multichannel ADC and antialias filter – would make it easier to use simpler sensors.
4
Software
While we have seen tremendous progress in architectures and programming models for low-power wireless networks in the past decade, application development targeting soft-core enabled FPGAs still poses significant challenges. Our unified hardware-software architecture that relies on concepts such as rich interfaces, compositionality, and uniform treatment of hardware and software components is comprised of the following parts: Functionality is implemented in components. The architecture treats software and hardware components uniformly, therefore software and hardware implementations are interchangeable as long as they use and/or provide the same interfaces. Components interact via messaging through interfaces. In software, these messages are function calls, while in hardware, they manifest themselves as signals or sets of signals (interrupts, register addresses); both of which are treated uniformly in interface definitions. An interface is a collection of named and strongly typed inputs and outputs that are related to the same service. Type definitions must be portable across the hardware-software boundary. Therefore, it is imperative that the architecture provide a unified type system. Such a type system includes boolean, integer, floating point and composite types (structures, unions, arrays) which have well defined bindings in both the software and in the hardware description languages. Hardware and software components are linked together using adapters. Adapters are reusable, bidirectional hardware-software bridges that translate between function calls and hardware signals. Interceptors are software or hardware entities that introspect inter-component interactions. They provide support for checking assertions (runtime contract checking), profiling (power draw, execution time, resource utilization) and debugging. Creating a toolchain that supports this unified hardware-software development process is challenging, and we are only at the beginning of this work.
Marmot: A Novel Low-Power Platform for WSNs
279
Synthesis tools are supplied by the FPGA vendor and provide support for the hardware description language to FPGA path, and there exist C compilers for most soft MCU cores. Also, there is a broad spectrum of operating systems and programming frameworks (TinyOS [9,14], Contiki [8,7], MANTIS OS [6,4], µCOS [12], and FreeRTOS [5]) targeting low-end microcontrollers that can be easily adapted to run on soft processor cores. We envision that component specifications (interfaces, composition, and interceptors) are provided in a high-level component specification language, which are then mapped to hardware definition language and C modules by the toolchain. The actual implementations of the (non-composite) components are programmed by the user. To allow for flexibility at the hardware-software boundary, certain components will have both hardware (HDL) and software (C) implementations. The toolchain integrates our model-based symbolic design space exploration tool DESERT [15], that aids the programmer in choosing from alternative hardware and software implementations of particular components in the system integration/optimization phase.
5
Conclusion
The Flash-based FPGA technology presents unique opportunities for creating low-power wireless sensor nodes with massive parallel processing, flexible software/hardware boundaries and fine-grained power and clock management options. Table 1 shows our preliminary results with various soft processor cores as they are implemented on the proposed platform. With any of these CPU cores there is plenty of room remains on the device for parts of the radio transceiver, MAC algorithms and signal processing tasks to be implemented in hardware. Table 1. Device utilization and clock frequency of CPU cores on the AGL600V2 device Processor Core Utilization (Actel AGL600V2) Frequency (MHz) ZPU 11% (1 KB RAM, 1 KB I/O space) 22.3 CoreABC 12% (32 bit datapath, 1 KB ROM) 15.4 Cortex-M1 32% (no debug support) 25.43
The effective utilization of the available hardware fabric heavily depends on the runtime framework, libraries and tool support. The proposed hardware/ software platform provides an excellent opportunity to develop new methodologies in wireless sensor network research.
References 1. GNU radio, http://www.gnu.org/software/gnuradio/ 2. USRP: Universal Software Radio Peripheral, http://www.ettus.com 3. WARP: Wireless Open-Access Research Platform, http://warp.rice.edu/trac
280
P. V¨ olgyesi et al.
4. Abrach, H., Bhatti, S., Carlson, J., Dai, H., Rose, J., Sheth, A., Shucker, B., Deng, J., Han, R.: Mantis: system support for multimodal networks of in-situ sensors. In: 2nd ACM International Workshop on Wireless Sensor Networks and Applications (WSNA), pp. 50–59 (2003) 5. Barry, R.: Freertos, a free open source rtos for small embedded real time systems (2009), http://www.freertos.org/ 6. Bhatti, S., Carlson, J., Dai, H., Deng, J., Rose, J., Sheth, A., Shucker, B., Gruenwald, C., Torgerson, A., Han, R.: Mantis os: an embedded multithreaded operating system for wireless micro sensor platforms. Mob. Netw. Appl. 10(4), 563–579 (2005) 7. Dunkels, A., Grnvall, B., Voigt, T.: Contiki - a lightweight and flexible operating system for tiny networked sensors. In: EmNetSI (November 2004) 8. Dunkels, A., Schmidt, O., Voigt, T.: Using protothreads for sensor node programming. In: The Workshop on Real-World Wireless Sensor Networks (June 2005) 9. Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., Pister, K.: System architecture directions for networked sensors. In: Proc. of ASPLOS-IX (November 2000) 10. Kushwaha, M., Moln´ ar, K., Sallai, J., V¨ olgyesi, P., Mar´ oti, M., L´edeczi, A.: Sensor node localization using mobile acoustic beacons. In: The 2nd IEEE International Conference (MASS 2005), Washington, DC (November 2005) 11. Kus´ y, B., Sallai, J., Balogh, G., L´edeczi, A., Protopopescu, V., Tolliver, J., DeNap, F., Parang, M.: Radio interferometric tracking of mobile wireless nodes. In: Proc. of MobiSys (2007) 12. Labrosse, J.J.: MicroC OS II: The Real Time Kernel, 2.00 nd edn. CMP Books (June 2002) 13. Ledeczi, A., Hay, T., Volgyesi, P., Hay, R., Nadas, A., Jayaraman, S.: Wireless Acoustic Emission Sensor Network for Structural Monitoring. IEEE Sensors Journal (2009) 14. Levis, P., Madden, S., Polastre, J., Szewczyk, R., Whitehouse, K., Woo, A., Gay, D., Hill, J., Welsh, M., Brewer, E., Culler, D.: Tinyos: An operating system for wireless sensor networks. In: Ambient Intelligence. Springer, Heidelberg (2005) 15. Neema, S.: System level synthesis of adaptive computing systems. Ph.D. Thesis (2001) 16. Tan, K., Zhang, J., Fang, J., Liu, H., Ye, Y., Wang, S., Zhang, Y., Wu, H., Wang, W., Voelker, G.M.: Sora: high performance software radio using general purpose multi-core processors. In: NSDI 2009: Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation, Berkeley, CA, USA, pp. 75–90. USENIX Association (2009) 17. Volgyesi, P., Balogh, G., Nadas, A., Nash, C., Ledeczi, A.: Shooter localization and weapon classification with soldier-wearable networked sensors. In: 5th International Conference on Mobile Systems, Applications, and Services, MobiSys (2007)
Metadata Management in P2P over Mobile Ad Hoc Network Pekka Kaipio and Jouni Markkula Department of Information Processing Science University of Oulu, P.O. Box 3000, 90014 Oulu, Finland {Pekka.Kaipio,Jouni.Markkula}@oulu.fi
Abstract. Cooperative and social traffic is a new application domain for information and communication technology, which is under intensive research and active development. In order to achieve true cooperation, all the participants in the traffic should be able to share information, in decentralized distributed ubiquitous environments, without relying on particular infrastructure and service provider. Addressing one of the key problems in developing applications in the context of vehicular mobile phone based mobile ad hoc networks, we present in this paper a review and analysis of metadata management methods for heterogeneous peer-to-peer networks. The results of our analysis provide a systematic classification of properties and a comparison of the common features of different metadata management methods in peer-to-peer networks, which can be used for designing and the implementation of future advanced applications in distributed ubiquitous environment. Keywords: Metadata management, Peer-to-Peer, Mobile Ad Hoc Networks.
1 Introduction Recent advancement in ubiquitous computing technologies, user based information content production and social media services have opened new possibilities for usercentric applications based on distributed systems. These advanced distributed social and cooperative information management applications present new design and implementation challenges, which cannot be adequately solved with traditional service provider centric client-server systems and information architectures. One of the most notable application domains of these new types of services is cooperative and social traffic. The existing traffic related information services have been mostly based on internet services and vehicle communication using mobile networks. Some solutions have also been proposed for vehicle-to-vehicle communication and roadside infrastructure to vehicle communication [1]. However, in the near future, these solutions are further extended with sensor networks and personal mobile devices with sensing capabilities. Real cooperative and social traffic is achieved only when all the participants in traffic, equipped with various heterogeneous devices, can collect and share data in situ, without relying on particular infrastructure and specific service providers. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 577–586, 2010. © Springer-Verlag Berlin Heidelberg 2010
578
P. Kaipio and J. Markkula
The expected rapid advancement in the area of cooperative and social traffic sets new challenges for the interoperability of devices, vehicles and infrastructure. In this context, we focus on mobile ad hoc networks, which can be used for facilitating cooperation in traffic. Considering, for example, a situation where a driver of a vehicle forms a mobile phone based wireless ad hoc network together with the other drivers, in order to receive and distribute traffic related information. This kind of environment corresponds to decentralized Peer-to-Peer (P2P) network by its operation, implying that the existing wide range of P2P networks may contain solutions to the design challenges. These elements form the context for our research: heterogeneous P2P networks and Mobile Ad Hoc Networks (MANET). In this paper, we tackle one of the key problems related to information architectures on decentralized distributed ubiquitous environments; metadata management. The objective of our study was to gather information and make a synthesis of metadata management methods for future application development purposes. We present a review and analysis of metadata management methods in P2P networks, from the viewpoint of applications in the context of vehicular mobile phone based MANETs. The result of our analysis is a systematic description and comparison of the properties of existing metadata management methods in P2P networks. These results can be utilized as a basis for developing novel applications in the specified and related, application contexts. The paper is organized in the following way. In the next chapter, we characterize the environments: metadata in peer-to-peer networks and Mobile Ad Hoc Networks. We review the existing peer-to-peer metadata management methods in Chapter 3 and present the results of our analysis in Chapter 4. In Chapter 5, we draw the conclusion and discuss our contribution.
2 Metadata in P2P and MANET P2P metadata has more complex role than traditional metadata describing data content. P2P networks can contain local and remote information about routing, objects, services, protocols, devices and networks. In [2] P2P network overlay is presented as an abstract architecture of layers: Application-level, Services-specific, Features Management, Overlay Nodes management and Network Communications. These layers illustrate how different components (e.g. routing, metadata and services management) support underlying layers. Data in such systems is so fragmented and semantically rich that metadata is challenged for resource description [3]. For resource description Dublin Core [4] introduced a metadata model to describe each resource like document or audio file within static core elements in XML document. World Wide Web Consortium proposed a more complex and universal model for the Semantic Web concept: Resource Description Framework [5]. RDF model describes resources and their properties uniquely avoiding ambiguous identifiers like “type” or “format” [3] hence removing predefined boundaries from resource description. P2P networks are a complex set of distributed computing because they act beyond client-server infrastructure, as fully distributed and self-organizing in cooperation. This resembles the semantic web in heterogeneous data definition needs, which
Metadata Management in P2P over Mobile Ad Hoc Network
579
means that something like RDF based metadata model could be beneficial for P2P applications. A single coherent metadata framework gives more resource information than self-created artificial boundaries between metadata applications [3]. MANETs differ from structured network topology with their temporal dynamic decentralized form. In order to use of P2P network over MANET, we have to address some special issues within this environment, presented in [6] and [7]. MANET nodes are limited in available resources: memory, processing power, power supply, and bandwidth. Unpredictable changes in decentralized wireless links create a number of problems (e.g. packet loss, channel overload, hidden nodes, handshaking duration) that affect network quality. So we can assume that the performance and reliability factors of MANETs are low. Scalability is limited to a small network (approx. 30-100 users) by bandwidth and physical constraints. Available WLAN infrastructure standards (e.g. IEEE 802.11b) for mobile phone ad hoc networks are problematic, especially in dynamic environments, such as traffic. IEEE task group is currently developing standard to solve these problems with their mode of operations called Wireless Access in Vehicular Environments [8]. The purpose is to ensure interoperability in rapidly changing environments between wireless devices where current ad hoc WLAN cannot do that.
3 Metadata Management Methods In decentralized self-organizing P2P networks, data is referred generally by indexing methods that define metadata structure, publishing and discovery, for example for routing algorithms. These indexing methods can be divided into two different categories [9]: (i) Semantic index mechanism is a human readable index of the data objects. A local index of the node data is used but typically no indexing of the P2P network data. Discovery of data is usually slow in comparison with semantic-free overlays and not very scalable. Discovery methods tend to overhead the network by flooding. Advantages of a small scale semantic indexing overlays are: ability to do complex queries (keywords, database index keys, range and approximate searches); a high churn (e.g. rapid joining and leaving) in the network without a performance decrease; and data publishing isn’t limited by structure. These are usually considered as the first generation of P2P networks and are also known as unstructured P2P networks (e.g. Gnutella [10]). (ii) Semantic-free indexing is usually a non-human readable hash method for the data like the distributed hash table (DHT). DHT based methods use hash keys to index the data of the node and hash table for indexing the P2P network data. This allows large scalable and fault-tolerant overlays for metadata discovery and publishing. The complex structured nature of metadata limits discovery methods only for keywords. These are the second generation P2P networks and are also known as structured P2P networks (e.g. Chord [11]). Modern day P2P applications are mostly semantic-free solutions because they tend to focus in specific area. They require more scalability and fault-tolerance than the flexibility of resources (c.f. How Skype uses VoIP in P2P [12]).The reason why we concentrate mainly on first generation type of semantic P2P networks, applications
580
P. Kaipio and J. Markkula
and frameworks lies on the introduced P2P metadata and MANET environment requirements. There is no need for high performance large scale file transfer based P2P applications but rather small scale replicating, quickly transforming and resource oriented P2P networks. Metadata organization, discovery and publishing are in a central role for these kinds of solutions. The questions of privacy and information security are also related issues, but those are out of our current focus here. Edutella [13] is RDF based metadata infrastructure for P2P applications that is part of JXTA Framework [14]. Edutella node provides highly heterogeneous functionality for metadata management [15]. Query service provides query exchange mechanism for RDF metadata stored in local or distributed repositories. Query service uses relational queries (Datalog and Query Exchange Language) for data discovery. A communication wrapper transforms local data into Java class based Edutella Common Data Model and vice versa. ECDM based queries are transmitted in a serialized RDF/XML form. Edutella can transform various query languages like SQL to match its ECDM. Common data model and common query language can handle a tuple, RDF/XML and Object-relational based information exchange between nodes. Mapping service manages different schemata by translating queries from a different schema to another. This provides interoperation between RDF and XML based repositories. Mediation services manage access between different services and clustering services use metadata to set up semantic routing and clusters. As an infrastructure, Edutella has several other implementations beyond these mechanisms. Edutella can act in a JXTA domain with complex semantics. While it is a complex system in various data model and query language manipulation mechanisms, it provides RDF based interoperability between highly heterogeneous nodes. The heavy architecture of JXTA may limit usage in mobile environment and the multipurpose functionality of the Edutella infrastructure may lead to an overall complexity of the information system without centralized management. SOMO [16] provides self-organized metadata overlay for resource management in DHT based P2P. It uses DHT based P2P network for routing and creates a data overlay on top of it. SOMO nodes form a tree structure where child SOMO nodes are hosted by traditional DHT nodes. SOMO node gathers system metadata periodically by requests from its children. SOMO model is simple and flexible because it doesn’t define data models or operations it invokes with nodes. The problem relaying on DHT nodes and periodic metadata gathering is that when we address heterogeneous and a rapidly changing ad hoc network, the metadata management cannot keep up and we end up reliability issues or even non-functionality. The SWAP project [17] combines semantic web technologies to P2P networks and propose a metadata model. SWAP architecture is built on JXTA [14] and the metadata model is RDF(S) [5] based. The model has two main classes that contain properties including node repository, location, reliability, security, visibility, cache, trust and date. Knowledge source integration steps: Extraction of a RDF(S) representation from knowledge sources; a selection of statements to be included in the local node repository; the annotation of the statements with metadata; and merging the statements into the knowledge model. A content rating model evaluates the confidence of statements by node’s other statements or recursive definition rating by other nodes. Statements are removed by a combination of age and low rating.
Metadata Management in P2P over Mobile Ad Hoc Network
581
SWAP has its strengths in reliability management; it has no absolute values about data. The RDF schema has been built by the project objectives: So it is simple but not flexible enough for heterogeneous environment. The JXTA domain is also a limiting factor. The DBGlobe project [18] is a service-oriented P2P computing system oriented for heterogeneous mobile nodes. Metadata management is divided into two parts: 1) Content information about services and mobile nodes. 2) Profile data gathering from user and device. In content metadata parameters and services have ontology: Parameters aim to describe services what to provide, for example starting and ending road route monitoring service while gathering weather information; Services are tree-like hierarchies with attributes. Attribute keywords point to a correct service node and are in a dictionary order. Profile data gathering is used to characterize user and mobile device behavior, for example what information user usually requests and what is the screen size of the device itself. This is analyzed for better understanding in service development (e.g. movement patterns for location-based services). Information queries are in XML format that is designed for dynamic service calls. These calls can get information from sensor services or launch a continuous service stream, for example a temperature sensor. DBGlobe is focused on publishing and discovering mobile node services and gathering user data. Dynamic service calls for controlling remote nodes are useful in a MANET, for example in lack of sensors or computing power. Service node dictionaries are limited to a structural hierarchical ontology model. RMF aims to be unified Resource Management Framework for P2P networking [19]. RMF registers every entity in the network as a resource (e.g. printer, sensor, web service). Every resource has the metadata description of its properties and associations for other resources. Resources are registered through hash key mechanism that links all the keywords together. These collections are distributed and collected by other nodes. Resource discovery works through keyword queries, however, if the parent is known, node children resources can be queried. Additionally, event subscription can monitor if specific query results are changed. Local storage renews data by lease expiration time in combination of resource information. Local remote storage matches a message against all descriptions prior to storing to the database and lease expiration is watched constantly for the removal of information. Definition of universal resources from different entities seems flexible solution for metadata management, but resource registration mechanism limit metadata to a flat collection of keywords like in DHT P2P. The ability to query known node child resources and event monitoring gives additional depth. An event subscription monitor and storage renew methods are useful in mobile environment where resources are limited. SON concentrates on building Semantic Overlay Network for P2P systems [20]. SONs are similar to user groups; the messages are sent to the specific group rather than everyone. It uses overlay networks as classification hierarchies for example “Rock” has sub styles “Soft” or “Pop”. These semantic overlays are made by hand.
582
P. Kaipio and J. Markkula
Handmade metadata hierarchies are simple and efficient solution to de-centralized semantic P2P networks. However, these are limited in use, de-centralization compared with a client-server model exists, but this requires centralization by people. PeerDB is distributed P2P data sharing system that supports fine grain contentbased searching without a shared schema [21]. Data storage in PeerDB is a relational database with standard SQL support. Each relation table has metadata (schema, keywords, etc.) stored in a local dictionary. A subset of the local dictionary called an export dictionary is used for metadata sharing to other nodes. For sharing data without “universal” schema, Information Retrieval based approach has been used: Every relation table created by user metadata is generated for a relation name and attributes, for example a Kinases proteins table may be named as Kinases but it also includes keyword protein. Relation-matching strategy is to search against keywords in a query (e.g. SQL relations, attributes and conditions) and return possible queries weighted above a certain threshold. This is distinctive difference between other distributed DBMSs and provides flexibility. The second phase distributes the selected query to the nodes containing the selected relations. Queries are parsed and distributed by agents and relation matching agents are cloned to neighbor nodes. For data retrieval, an agent will rewrite a combination of relations into a join query. Remote queries are processed against the export dictionary. The master agent monitor queries and updates metadata if an exchange happens with keywords related to relations. This agent monitors also objects received from other nodes to determine connections links between nodes. PeerDB supports result caching for subsequent query results. The result cache is managed by time expiration, least used and redundant keywords. Metadata management in PeerDB is partly done by hand in the creation of relation tables. Automatic agents weighting queries to use in data retrieval is the key factor in this solution. This empowers the SQL with semantics for flexible discovery without predefined schemas. Automatic agent based communication is flexible and efficient solution, but in heterogeneous environment, this may increase complexity, for example agent software has to match mobile node requirements. Result caching is useful for mobile environment where it can act effectively for a need of near persistent data.
4 Analysis of the Metadata Management Methods The results of our literature analysis on metadata management in P2P are summarized below, in two different sets. The first result set is presented in Table 1. These findings are divided into two categories in the context of the environment requirements: Solutions describe working methods or practical ideas and Limitations present the limitations or problems in the current case. The second result set is displayed in Table 2. We discovered the common properties of metadata management methods in the context of the environment requirements. Comparison of different metadata management methods shows what kind of properties they have and how they differ from each other.
Metadata Management in P2P over Mobile Ad Hoc Network
583
Table 1. The solutions and limitations of metadata management methods in P2P networks
Edutella
SOMO
The SWAP project The DBGlobe project
RMF
SON
PeerDB
Solutions and practical ideas RDF metadata in local and distributed storages; Data model transformations; Query language mapping to another forms; Variable information exchange formats (tuples, RDF/XML, object-relational); Service and cluster management Self-organizing metadata overlay; No predefined data models or operation methods Simple RDF(S) based model; Content rating model for reliability value of data; Reliability and age for data renewal Service and parameter orientated ontology; User and device profiles; Dynamic service calls Universal resource description and association; Event monitor for query result changes; Lease expiration for data renewal Simple decentralized overlay hierarchies Semantic relational model without schemas; Automatic SQL query weighting mechanism; Automatic agents for local management and cloned agents for remote nodes; Local and (local) export dictionary; Result cache mechanism
Limitations or problems
Heavy JXTA architecture; Overall complexity of the system
DHT based nodes under the overlay; Periodic metadata gathering RDF(S) has been built by predefined project objectives; Heavy JXTA architecture Structured hierarchical service node model Resource registration through hash key distribution (although known nodes can be queried) Overlay hierarchy management by hand
Relational tables need metadata management by hand; Cloning automatic agents may increase complexity
Metadata models define how flexible the metadata itself is. Structured metadata is predefined, for example a list of schema attributes. Standard based models use some standardized form (e.g. RDF) and open models provide freedom for metadata description. Metadata management shows how the nodes organize, publish or discover metadata, for example a node creates the description of storage content and announces it to other nodes. Handmade management needs user interaction to manage metadata and self-organizing is automatic. Remote calls are a management method that includes management requests from other nodes. This is not just automatic discovery or query request but starting some dynamic process in a remote node, for example a node sends query event request monitoring result changes in the future. Semantic discovery is ability for flexible metadata queries (e.g. SQL). Structured discovery is limited method for querying and this is caused by a flat keyword index (e.g. DHT).
584
P. Kaipio and J. Markkula
Edutella SOMO SWAP Dbglobe RMF SON PeerDB
Table 2. Comparison of common metadata management method properties in P2P networks
Metadata models Structured Standard based Open Metadata management Handmade Self-organizing Remote calls Semantic discovery Structured discovery Management services Structured Resource based Open Metadata storage Renewal Cache Distributed Management system Complexity Resource heavy Structural limitation
x x x
x x
x x x
x x x x x x x x x x x x x x
x x x x x
x x x x x x
x x
x x x
x x x
x
x x
x x
x x x
Management services are the actual functions operating the metadata in the node, for example RMF uses structured service for discovery and provides open services from other nodes. Structured services for metadata are usually dependent on some technological or system specific solutions that provide some key functionality for metadata management. Resource based services are functions that are defined by some model, for example in PeerDB ontology defines service behavior. Open services provide independent functionality on metadata (e.g. RMF and universal resources). Metadata storage category concentrate methods how the information is stored and how it is managed. Renewal of a metadata is a combination of attributes and functions that handle the expiration, deletion and retrieval of information, for example SOMO uses periodic checks. A cache describes temporal storage methods, for example PeerDB saves frequent query results in the cache. Distributed storage is the collection of methods in order to distribute metadata to other nodes rather than publish it. Management system category present found issues related to the current environment. Complexity is a functional property that increases in heterogeneous environment so much that it may not be solved, for example automatic agent needs the requirements of unknown nodes to be built in the first place. Resource heavy systems may put mobile nodes on too much stress to work properly. Structural limitations are
Metadata Management in P2P over Mobile Ad Hoc Network
585
the key functions of a system that it needs to provide methods that may not work at all in the current environment (e.g. too slow DHT nodes).
5 Conclusion In this paper, we have reviewed and analyzed metadata management methods in P2P networks in a MANET context. For this demanding field, it is hard to find preexisting all-around solutions; instead we discovered problems, limitations, specific solutions and good ideas. We also found the common properties of metadata management methods and compared the relationships of these in different systems. The main problem areas are in too structured metadata management (e.g. keyword collections, predefined models, limited discovery and periodic updates); lack of management (handmade); and too complex solutions (heavy framework or highly autonomous specific areas). Promising solutions and ideas are mainly in the flexibility of the metadata management (e.g. universal resource or service descriptor; variable metadata exchange formats; the reliability of data; user and device behavior specific information; metadata storages) and in self-organizing management methods (e.g. data model generation; query language mapping; dynamic service calls; query event monitoring; semantic SQL query mechanism; storage management). Comparison of common properties shows what to except from different management methods; how comprehensive they are and what kind of property dependencies they may have. This provides information about how useful different approaches could be and what kind of requirements they may have in this area, for example if early prototype testing needs only simple and fast semantics, SON approach could be appropriate. For implementation preparation, solutions and problems provide a set of methods that may be useful overcoming challenges in design of a vehicular mobile phone based cooperative traffic system. Comparison of properties can be used for choosing some existing methods for prototyping. Further analyze of these properties and their dependencies will help for defining theoretically ideal system design. In the field of cooperative self-organizing mobile phone environment, there is lack of simple and flexible enough P2P methods for managing metadata. The reason for this can be found in the novelty and complexity of the field, the methods have not yet had time to develop. For future research, these findings can be used to supplement other regions of the analysis of P2P systems and for the implementation preparation of social traffic information systems. Acknowledgements. This research presented in this paper work was carried out in Sensor Data Fusion and Applications project as a part of the Cooperative Traffic research program of the Strategic Centre for Science, Technology and Innovation in the Field of ICT and funded by the National Technology Agency of Finland.
586
P. Kaipio and J. Markkula
References 1. Cooperative Vehicle-Infrastructure Systems, http://www.cvisproject.org/ 2. Lua, E.K., Crowcroft, J., Pias, M., Sharma, R., Lim, S.: A Survey and Comparison of Peerto-Peer Overlay Network Schemes. IEEE Communications Surveys & Tutorials 7(2), 72– 93 (2005) 3. Oram, A.: Peer-to-Peer: Harnessing the Power of Disruptive Technologies. O’Reilly Media, Sebastopol (2001) 4. Dublin Core Metadata Initiative, http://dublincore.org/ 5. Resource Description Framework, http://www.w3.org/RDF/ 6. Schollmeier, R., Gruber, I., Finkenzeller, M.: Routing in Mobile Ad-hoc and Peer-to-Peer Networks. In: Gregori, E., Cherkasova, L., Cugola, G., Panzieri, F., Picco, G.P. (eds.) NETWORKING 2002. LNCS, vol. 2376, pp. 172–186. Springer, Heidelberg (2002) 7. Anastasi, G., Borgia, E., Conti, M., Gregori, E.: IEEE 802.11b Ad Hoc Networks: Performance Measurements. Cluster Computing 8, 135–145 (2005) 8. IEEE P802.11p Status, http://grouper.ieee.org/groups/802/11/Reports/tgp_update.htm 9. Kshemkalyani, A.D., Singhal, M.: Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, New York (2008) 10. The Gnutella Protocol, http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf 11. Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. In: SIGCOMM 2001: Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, pp. 149–160. ACM, New York (2001) 12. Guha, S., Daswani, N., Jain, R.: An Experimental Study of the Skype Peer-to-Peer VoIP System. In: Proceedings of the IPTPS 2006, Citeseer (2006) 13. EDUTELLA, http://edutella.dev.java.net/ 14. JXTA, http://jxta.dev.java.net/ 15. Nejdl, W., Wolf, B., Qu, C., Decker, S., Sintek, M., Naeve, A., Nilsson, M., Palmér, M., Risch, T.: EDUTELLA: a P2P networking infrastructure based on RDF. In: Proceedings of the 11th International Conference on World Wide Web, pp. 605–615. ACM, New York (2002) 16. Zhang, Z., Shi, S.M., Zhu, J.: SOMO: Self-Organized Metadata Overlay for Resource Management in P2P DHT. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, pp. 170–182. Springer, Heidelberg (2003) 17. Ehrig, M., Haase, P., Siebes, R., Staab, S., Stuckenschmidt, H., Studer, R., Tempich, C.: The SWAP Data and Metadata Model for Semantics-Based Peer-to-Peer Systems. In: Schillo, M., Klusch, M., Müller, J., Tianfield, H. (eds.) MATES 2003. LNCS (LNAI), vol. 2831, pp. 144–155. Springer, Heidelberg (2003) 18. Pitoura, E., Abiteboul, S., Pfoser, D., Samaras, G.: Vazirgiannis M.: DBGlobe: a serviceoriented P2P system for global computing. In: SPECIAL ISSUE: Special topic section on peer to peer data management, pp. 77–82. ACM, New York (2003) 19. Friese, T., Freisleben, B., Rusitschka, S., Southall, A.: A Framework for Resource Management in Peer-to-Peer Networks. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 4–21. Springer, Heidelberg (2003) 20. Crespo, A., Garcia-Molina, H.: Sematic Overlay Networks for P2P Systems. In: Moro, G., Bergamaschi, S., Aberer, K. (eds.) AP2PC 2004. LNCS (LNAI), vol. 3601, pp. 1–13. Springer, Heidelberg (2005) 21. Ng, W.S., Ooi, B.C., Tan, K.-L., Zhou, A.: PeerDB: a P2P-based system for distributed data sharing. In: ICDE 2003: Proceedings of the 19th International Conference on Data Engineering, pp. 633–644. IEEE Computer Society, Los Alamitos (2003)
Minimizing the Effects of Multi-rate WLANs by Adapting Link Adaptation and Call Admission Interfaces M. Fatih Tüysüz and Hacı A. Mantar Gebze Institute of Technology, Computer Science Department, Istanbul Street No: 101 41400, Gebze/Kocaeli Turkey
[email protected],
[email protected] Abstract. Link Adaptation (LA) is a term used in wireless communications to adjust the physical transmission rate of nodes according to the channel conditions it senses and optimize the bit transmission by using multi-rate transmissions. It has a direct impact on the transmissions of all active calls and can cause a general degradation on the quality of service (QoS). Besides, Call admission control (CAC) is used in the call set-up phase and it determines whether it has sufficient resources to accept a new call. However, CAC also does not work efficiently on the existence of transmission rate changes. Since IEEE 802.11 standard was not created for voice communications in first place, it brings a lot of new limitations for successfully deploying VoIP. In this paper, we propose a fast and efficient, algorithm which integrates LA interface, codecframe size adaptation and CAC interface to minimize the impact of multi-rate transmission and optimize the maximum throughput and voice quality over multi-rate WLANs. Keywords: Voice over IP, Link adaptation, Call admission control, multi-rate WLANs, QoS, IEEE 802.11e.
1 Introduction IEEE 802.11 WLANs has reached an important stage and has become a common technology for wireless access with the deployment of IEEE 802.11e QoS solutions. However, these networks have limited voice capacity and there are still unsolved performance issues on the optimization of throughput, limiting the delay times and packet loss ratio as well. Due to this limited capacity for VoIP flows, Call Admission Control techniques have an important role to optimize the number of calls. CAC mechanism controls the actual load of the network and decides to accept/block a new call request or drop existing ones when the cell is overloaded. When a connection is requested by an application, the application indicates the type of service required, traffic parameters of each data flow in both directions and QoS parameters requested in each direction to the network. The CAC uses these informations to determine the required quality of service of the connection and whether it has sufficient resources to accept the requested connection. Because of that, the number of calls can be accepted F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 262–273, 2010. © Springer-Verlag Berlin Heidelberg 2010
Minimizing the Effects of Multi-rate WLANs
263
and QoS parameters to be used must be calculated accurately to maximize the cell capacity and distribute the network resources efficiently among them. However, if the network capacity becomes variable due to channel conditions, it would be more complicated to calculate these parameters due to Link Adaptation (LA) procedure [5].
Fig. 1. IEEE 802.11 based network communication scenario
Call admission control algorithms are not capable to solve this problem alone. If a transmission rate is decreased by LA, it affects all the calls which are already accepted to the network by the CAC and the channel capacity would be lower than the old value before the rate decrease. Since the number of calls calculated before a rate decrease by CAC, it makes the situation unsustainable and leads to congestion state [5]. Additionally, link adaptation can also mistakenly adjust the rate as if the loss was due to the poor channel conditions and as a result, it creates more congestion. To solve this problem, we propose a link adaptation interface phase in our algorithm to support link adaptation under 802.11e Enhanced Distributed Channel Access (EDCA) mechanism. The basic objective of our link adaptation interface phase is relieving the network by using old transmission rate if transmission rate decrease is due to collision prone channel (not for error prone channel). Therefore, after a rate decrease, the phase has to support link adaptation (LA) in making the following decisions, • •
Let LA to lower the transmission rate if it is an error prone channel Request to use the old transmission rate if it is collision prone channel
In our previous works [1] [2], we focused on new algorithms to protect network from congestion and enable sudden reactions to improve throughput and voice quality for multi rate networks by changing codecs or frame sizes of related nodes. In this paper, we extend our algorithm by integrating previous works with CAC and LA interface algorithms. To sum up, the main objective of this work is not defining a new link adaptation or call admission control algorithm. The objective is helping LA and CAC to minimize the negative effects of the multi-rate transmission and to maximize the overall throughput and voice quality. The rest of the paper is organized as follow: In Section 2, we briefly describe the related works to our proposed algorithm. In Section 3, the proposed algorithm and analytic calculations are explained in more detail. In Section 4, we present the simulation process and an analysis of the results. Finally Section 5 reports the final evaluation and concludes the paper with a brief explanation about future works.
264
M.F. Tüysüz and H.A. Mantar
2 Related Works Authors present an analysis of link layer behavior for ideal and error prone channels by classifying the packet loss as either congestion or wireless errors and propose efficient, adaptive, codec and frame size modification algorithms for the optimization of maximum throughput and voice quality on multi-rate WLANs in [1] [2]. Algorithms uses RTCP feedback and MAC layer rate change information to recover network from the quality degradation of active calls. We extend this works by integrating our algorithm with CAC and LA interface algorithms. Authors evaluate the impact of error-prone channel on unsuccessful transmission probability and its impact on the performance in [3]. For example if the medium is error prone (wireless losses prone), an attempt to use a bigger frame size causes more packet losses because of the increase of unsuccessful transmission probability. As a result, it has to be mentioned that there is a trade-off between reducing the header overhead by adopting a larger frame size and the need to reduce packet error rate in the error prone environment by using small frame size. In another work, authors express that the transmission rate changes can occur mistakenly because of the collision prone channel instead of wireless channel errors in [4] and then, this rate drop can cause more delays and therefore more congestion. They classify losses as congestion and wireless losses and only lower the transmission rate for error prone wireless channel condition. Our proposed algorithm has also link adaptation interface phase to overcome this problem. However, we use the RTCP feedbacks and R factor value on e-model instead of analytic calculations to understand the loss weather it is due to collision or error prone channel to be able to take the accurate decision. There have been a few previous works focusing on RTCP feedback to set the quality of the transmitted media. In [6], authors propose a codec-based cross layer algorithm that has three phases to set the QoS. However, it does not check the media if it is error prone or congestion prone and there is no intention to change the frame size of nodes for a fast reaction. Since it has three phases to set the codec changes, it results in a slow algorithm. This work is extended by adding a connection admission control mechanism in [7]. It defines a new grade of service-related parameter Q which captures the trade-off between dropping and blocking probabilities and perceived speech quality. A channel estimation algorithm for selecting the optimal output rate of the speech coder is proposed in [8]. It uses AMR codec. If the AMR codec is used under a multirate scenario, all mobile nodes flow through the erroneous channel change to a lower codec at the same time. Thus, it reduces the overall MOS more than necessary. Another work about changing codecs is in [9]. It is based on jitter buffer value. When buffer is out of threshold, it changes the codec rate of a node to prevent possible losses. In [10] and [11], authors implement the Media Gateway (MGW) algorithm on the Access point. A decision is given to change codecs from wired to wireless networks or vice versa. Codec change process is made in AP. This process adds additional delay to system.
Minimizing the Effects of Multi-rate WLANs
265
3 Adaptive LA – CAC Interface Algorithm In this paper, we propose an algorithm which helps LA and CAC algorithms to minimize the negative effects of the multi-rate transmission. It keeps related multidimensional arrays and calculations dynamically and support LA and CAC in making decisions. Information flow of proposed algorithm can be seen in Figure 2.
Fig. 2. Information flow of the algorithm
Whenever a mobile node changes its transmission rate, our algorithm evaluates the active voice sessions and prevents the possible QoS degradation by changing some codecs and/or frame sizes based on analytical calculations. When a rate change occurs, first, the algorithm calculates the number of active voice sessions and compares the result with the maximum number of users that the network can handle with certain QoS constraints. It also informs the LA interface phase to decide if the rate change is a false alarm or not. LA interface phase compares the old rate and the new rate by observing the network with RTCP feedbacks. Then, it requests LA to use old transmission rate or keep the new rate to maximize the throughput and voice quality. Besides, algorithm updates the CAC interface phase with every 5 new RTCP feedbacks to support CAC in making better decisions about accepting or blocking a new call. The algorithm works in centralized mode and installed in the Access Point. It uses the Session Initiation Protocol (SIP) to decide codec or frame size changes and renegotiate the new codec without interrupting the call as the work in [5]. Before we explain the algorithm in more detail, it would be proper to mention about some calculations. As we already know, we have two trumps (codec and frame size) to keep the network away from congestions after a transmission rate decreases on a heavily loaded network. Reducing the codec rate degrades our mean opinion score. On the other hand, using bigger frame size affects our network badly if the channel is an error prone channel. Using these trumps efficiently is our first priority. If the transmission rate of a mobile node decreases, changing its codec to a lower one (but not the frame size) and changing one or more frame sizes of other nodes would be the best solution to recover system. Because the node that decreases its transmission rate most likely has the biggest error prone probability and using bigger frame sizes for that node does not help recovering the network.
266
M.F. Tüysüz and H.A. Mantar
The maximum number of simultaneous VoIP calls Smax can be calculated with the following formula [6], ୫ୟ୶ ൌ
୮ ଶሺୢ୧ୱାୱ୧ୱା୴୭୧ୡୣାୟୡ୩ሻାሺୱ୪୭୲ሺ
(1)
ిౣ ሻሻ మ
Tp is the packetization interval, Tdifs and Tsifs are the lengths of distributed inter frame space (DIFS) and short inter frame space (SIFS), Tvoice and Tack are the times for sending a voice packet and ACK, Tslot is the slot time, and CWmin is the minimum contention window size of binary exponential backoff. Tvoice and Tack are defined as, ୴୭୧ୡୣ ൌ
୫ୟୡାୢୟ୲ୟ ୖౚ
ୟୡ୩
ୟୡ୩ ൌ
(2)
ୖౘ
Where L is the transmission time of all PHY headers, Lmac is the headers of MAC layer, Ldata is data length, Lack is acknowledgement length, Rd (11Mbps for 802.11b) and Rb (2Mbps) are data rate and basic rate, respectively. In above, we assume that all active calls use the same data rate. Under the multirate network conditions, the data rate of all the calls are not the same. Thus, we need to make a new definition to calculate the capacity of a multi-rate network. The previous equation can be derived to a new formula [6], Sthreshold
=σ σ ሺǡ ሻ
ిౣ ሻሻ మ
ଶሺୢ୧ୱାୱ୧ୱା୴୭୧ୡୣାୟୡ୩ሻାሺୱ୪୭୲ሺ ୮
൏ͳ
(3)
where s(x, r) is the number of calls using codec x and rate r. Algorithm calculates the new threshold value according to this equation and then decide about how many codecs or frame sizes need to change to obtain the maximum throughput. First, algorithm collects MAC layer information and RTCP periodic packets to check if there is a rate change. RTCP feedback data can be easily obtained from RTCP sender and receiver reports (our algorithm uses two “one second fast feedbacks”). The algorithm keeps a multidimensional control array containing caller_ID, Tdelay, Loss, R1, R2, Rmean values to enable sudden calculations and reactions. It also keeps a bigger multidimensional array dynamically which has information of 5 last RTCP feedbacks to support CAC in making decisions efficiently. The flowchart of the algorithm can be seen in Figure 3. After a rate change, our algorithm makes system active not to process new RTCP feedback value until codec or frame size changes are adapted. Algorithm gives a decision about how many codecs and/or frame size changes are enough to recover network after it calculates the new threshold value. It also informs the LA interface phase to decide if the rate change is a false alarm or not. LA interface phase compares the old rate and the new rate by observing the network with RTP feedbacks. Then, it requests LA to use old transmission rate or keep the new rate to maximize the throughput and voice quality. It applies the changes and makes the algorithm passive. As long as the next RTCP feedback is not above threshold value, we can say that codec or frame size changes recovered system well. Otherwise, algorithm calculates a new codec rate or frame size for the mobile node and applies new changes. Besides, algorithm updates the CAC interface phase with every 5 new RTCP feedbacks to support CAC in making better decisions about accepting or blocking a new call.
Minimizing the Effects of Multi-rate WLANs
267
Fig. 3. Algorithm Flowchart
For further clarification, we can briefly write the pseudo code of codec and frame size modification part as follow, If there is a rate change calculate new threshold from new MAC information inform the LA interface phase while threshold < Xthreshold codec up if new threshold < Xthreshold another codec up if Lvalue is on limit leave the loop while threshold > 1 codec down calculate new threshold if threshold > 1 choose best R from table if Rbest > Rthreshold frame size up else codec down if Lvalue is on limit leave the loop if the channel is an error prone channel while Lvalue is not on limit choose the worst R from table
268
M.F. Tüysüz and H.A. Mantar
decrease its frame size use higher error protection code ratio choose the best R from table increase its frame size if there are 5 new RTCP feedbacks inform the CAC interface phase While the threshold value is bigger than 1, algorithm first reduces the codec rate of the node that had a transmission rate decrease. Then, it calculates the new threshold value analytically by using the new values of the node whose codec rate is reduced. If the threshold is still bigger than 1, algorithm picks another mobile node that has the best Rmean value by looking at the multidimensional array. If this Rbest value is bigger than Rthreshold value which is equal to R factor value 70. Then, algorithm expands the frame size of the node. Otherwise, it reduces the codec rate. Lastly, it checks on the new acceptable number of codec or frame size modification. If it is below the limit value Lvalue which means a new attempt to change a codec or a frame size will not be a QoS solution anymore, algorithm exits the loop and become passive. If the channel is also an error prone channel, first part of the algorithm (number 1) runs first, then it picks the node which has the worst R factor value and decreases its frame size, uses higher error protection code ratio and increase the frame size of the node which has the best R factor value to increase overall throughput and MOS score. Lvalue depends on the worst codec rate and maximum frame size we want to use as a last solution for VoIP sessions. In our simulations, we used G711 codec with 20 milliseconds frame size for the start and G729 codec with 60 milliseconds frame size for the worst to keep voice quality as high as we can. Xthreshold value must be below 1 and after a new codec up process it must not be above 1. We used 0.92 value for Xthreshold in our simulations. When LA interface phase is active, it saves the old average R factor value first. Then, it saves the next R value after the transmission rate change. It requests LA to use old transmission rate for once and after that it saves the last R value again. Then, it compares the R values and a decision is given whether to use old transmission rate or the new rate. Therefore, we can prevent possible false rate decreases and improve the throughput and voice quality. Lastly, if there are 5 new RTCP feedbacks, algorithm runs the CAC interface phase and updates the array dynamically once in every 5 new RTCP feedbacks. CAC interface phase calculates the maximum number of calls which the network is capable and offers two options to CAC. Q1 option is used for the channels want to have the best VoIP call quality (G711 codecs with 20 millisecond frames for our simulations) and Q2 option is used for the average VoIP call quality (G729 codecs with 40 millisecond frames for our simulations). Whenever a new rate change occurs, our algorithm calculates the new threshold value and updates the array immediately. Thus, CAC algorithms can easily and reliably decide to accept or block new calls by working integrately with CAC interface phase of our algorithm.
Minimizing the Effects of Multi-rate WLANs
269
4 Simulations The performance of the proposed algorithm was analyzed by simulations using the OMNET simulator and C++ implementations. Some of parameters used to calculate formulas, implement MAC layer and IEEE 802.11e standards are shown in Table 1 and Table 2. Table 1. Timing units and values
Name
Value
Unit
Slot time Message size Bit rate
20 1000 11
us Byte mbps
Table 2. Timing for 1000 byte data messages at 11 Mbps
Name
Length (bits)
Bit rate (Mbps)
Time (us)
Difs Backoff(avg) Preamble Header Data Crc Sifs Preamble Ack
50 310 192 240 8000 32 10 192 112
1 1 1 11 11 11 1 1 2
50 310 192 21,81 727,27 2,909 10 192 56
Fig. 4. Activity values of parameters while algorithm is off and on for a session of 12 VoIP calls, rate decreases at 45th second and 60th second
270
M.F. Tüysüz and H.A. Mantar
We focused on channel conditions of two separate VoIP sessions. One consists of 12 VoIP calls (G711 codec, 20 milliseconds frame size for 802.11b) and the other one is the combination of 5 VoIP calls and 5 data sessions contains 1000 byte messages for each session. Activity values of parameters while algorithm is off and on for a session of 12 VoIP calls can be seen in Figure 4. At the first case, we reduced the transmission rate of one of these 12 mobile nodes from 11 Mbps to 1 Mbps at 45th second and another node transmission rate is reduced from 11 Mbps to 1 Mbps again at 60th second. As long as algorithm works, it collects RTCP feedbacks with two second intervals and updates CAC interface phase with 10 second intervals. These updates and RTCP feedbacks enable sudden reactions to improve throughput and voice quality for multi rate networks by changing codecs or frame sizes of related nodes. Additionally, LA interface phase can sense the false transmission rate decrease and request LA algorithm to use old rate to maximize overall throughput as it is shown in Figure 5.
Fig. 5. Impact of the algorithm for VoIP flows
After a rate decrease, the total throughput reduces. It affects not only its session but also all VoIP sessions and causes a general degradation of all VoIP flows. Simulation results show that if our algorithm runs, it changes only one codec from G711 to G729 and expands one frame size from 20 milliseconds to 40 milliseconds. Thus, the total frame number reaches to the access point remains almost same as the old value. Since only one codec rate is being reduced, the negative effect of the reduction will be so slight (only for the node whose transmission rate reduced) compared to the effect of the run without any algorithm. At the second case, we analysed a heterogeneous traffic (5 VoIP and 5 data sessions) to examine the total throughput by implementing IEEE 802.11e EDCA standards. We used 8000 bits data messages for data frames as shown in Table 2. Since data frames are much bigger than VoIP frames (i.e. 1280 bits for G711), the effect of our algorithm cannot be the same with the first case. As depicted in Figure 6, we analysed the impact of transmission rate reduction of a data session at 50th second. If
Minimizing the Effects of Multi-rate WLANs
271
a transmission rate of a VoIP flow reduces, it is easy to recover the negative effect of reduced rate. However, we examine the impact of transmission rate reduction of a data session here and it would not be easy to recover the network since it has bigger data frame size (8000 bits). As it is shown in Figure 6, algorithm only recovers the network up to a point if data frame transmission rate declines. However, if the LA interface phase is also active, it senses a false transmission rate decrease and requests LA algorithm to use the old transmission rate for this channel. Therefore, overall throughput increases after using old transmission rate and becomes almost same value as the first throughput value.
Fig. 6. Total throughput of voice and data sessions
Fig. 7. Maximum numbers of VoIP calls for CAC interface phase, Q1 and Q2 options
272
M.F. Tüysüz and H.A. Mantar
Lastly, we examined the impact of CAC interface phase and the maximum numbers of VoIP calls for Q1 and Q2 options as it is shown in Figure 7. CAC interface phase calculates the maximum number of calls which the network is capable and offers two options to CAC. Q1 option is used for the channels want to have the best VoIP call quality (G711 codecs with 20 millisecond frames for our simulations) and Q2 option is used for the average VoIP call quality (G729 codecs with 40 millisecond frames for our simulations). Whenever a new rate change occurs, our algorithm calculates the new threshold value and updates the array immediately. Thus, CAC algorithms can easily and reliably decide to accept or block new calls by working integrately with CAC interface phase of our algorithm.
5 Conclusions We proposed a fast and efficient, algorithm which integrates LA interface, codecframe size adaptation and CAC interface to minimize the impact of multi-rate transmission over multi-rate WLANs. The main objective here is helping LA and CAC algorithms to maximize the overall throughput and voice quality. The proposed algorithm uses RTCP feedback and MAC layer rate change information to recover network from the quality degradation of active calls. It is simple, scalable, fast and efficient. Under the circumstance of a rate change, algorithm calculates proper codec and frame size modifications and applies changes to prevent the possible channel degradation in milliseconds both for ideal and error prone channels.
References 1. Tüysüz, M.F., Mantar, H.A.: An Adaptive Codec and Frame Size Modification Based QoS Algorithm over Multi-rate WLANs. In: WIMO 2010, Ankara (June 2010) (to appear) 2. Tüysüz, M.F., Mantar, H.A.: A Cross Layer QoS Algorithm to Improve Wireless Link Throughput and Voice Quality over Multi-rate WLANs. In: IWCMC 2010, Caen (June 2010) (to appear) 3. Yin, J., Wang, X., Agrawal, D.P.: Optimal Packet Size in Error-prone Channel for IEEE 802.11 Distributed Coordination Function. In: WCNC 2004. IEEE Communications Society, Los Alamitos (2004) 4. Huang, C.W., Chindapol, A., Ritcey, J.A., Hwang, J.N.: Link Layer Packet Loss Classification for Link Adaptation in WLAN. In: 4th Annual Conference on Information Sciences and Systems, Princeton (March 2006) 5. Sfairopoulou, A.: A cross-layer mechanism for QoS improvements in VoIP over Multi-rate WLAN networks. PhD thesis, Pompeu Fabra University (April 2008) 6. Sfairopoulou, A., Macián, C., Bellalta, B.: QoS adaptation in SIP-based VoIP Calls in Multi-rate IEEE 802.11 Environments. In: ISWCS 2006, Valencia (2006) 7. Sfairopoulou, A., Macián, C., Bellalta, B.: How to Tune VoIP Codec Selection in WLANs? IEEE Communications Letters 12(8) (August 2008) 8. Servetti, A., De Martin, J.C.: Interactive Speech Transmission Over 802.11 Wireless Lans. Cercom, Torino, Italy (2003)
Minimizing the Effects of Multi-rate WLANs
273
9. Hirannaiah, R.M., Jasti, A., Pendse, R.: Influence of Codecs on Adaptive Jitter Buffer Algorithm. In: GRASP Symposium. Wichita State University (2007) 10. Kawata, T., Yamada, H.: Adaptive Multi-Rate VoIP for IEEE 802.11 Wireless Networks with Link Adaptation Function. In: GLOBECOM 2006, San Francisco (2006) 11. Kawata, T., Yamada, H.: Impact of Multi-Rate VoIP on Quality of Service in IEEE 802.11e EDCA with Link Adaptation. In: ICC 2007, Glascow, June 24-28 (2007) 12. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification, IEEE Std. 802.11 (1997)
Mining Relations between Wikipedia Categories Julian Szyma´ nski Gda´ nsk University of Technology, Narutowicza 11/12, 80-952 Gda´ nsk, Poland
[email protected] Abstract. The paper concerns the problem of automatic category system creation for a set of documents connected with references. Presented approach has been evaluated on the Polish Wikipedia, where two graphs: the Wikipedia category graph and article graph has been analyzed. The linkages between Wikipedia articles has been used to create a new category graph with weighted edges. We compare the created category graph with the original Wikipedia category graph, testing its quality in terms of coverage.
1
Introduction
Wikipedia is a free encyclopedia available on-line. Its resources are contributed by volunteers and are freely available for edit. Its openness and lack of rigorous and coordinated quality control has been the reason for criticism and controversy, but cooperative editing approach has allowed Wikipedia to increase its content rapidly [1]. The large amount of textual data brings new challenges for algorithms for automatic text processing [2], whose aim is to made knowledge given in the form of text in natural language accessible more easily to the end-users [3]. Wikipeda can also be used as a datasource for text-mining algorithms [4] and deliver very interesting statistical information about language [5]. It also is used as general purpose meta data [6] repository that provide copora for organizing general human knowledge in machine readable form. In our research studies we are investigating a methods for automatic organization of textual resources. We find Wikipedia to be a very interesting repository where our approaches can be validated. We distinguished three areas of different studies that can help the information in Wikipedia be better accessible: 1. improving existing category system introducing new, significant relations between existing categories, 2. building new categories in the automatic way eg. using text clustering techniques [7], 3. building a new category system based on existing ones using techniques for text classification [8] [9]. In this paper we present the results of the first approach which is the study of building relations between categories used for organization of the documents set. F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 248–255, 2010. Springer-Verlag Berlin Heidelberg 2010
Mining Relations between Wikipedia Categories
249
As data for presented here experiments we used categories available for each article in the Wikipedia and page links connecting articles and categories. Wikipedia categories are less likely to be the target of vandalism, therefore are more reliable than the article data themselves. The problem is that the original Wikipedia system of the categories is made by hand, which makes categories natural, but it causes several problems, one of which being gaps in the relations between categories. Because there is a high number of connections between similar categories omitted and similar articles fall into different categories, the whole system is not coherent which makes it not very useful.
2
Experiment Description
Articles in the Wikipedia are connected by page links: any article can link to any number of other articles and vice versa. This connections forms a directed graph – the Article Graph. An article can be assigned to any number of categories, although most articles are assigned only to one. Categories are also interconnected and they form a directed graph – the Category Graph. This graph has been the subject of many studies, and brings a lot of questions: how to organize these categories, how to made connections between articles and categories more reliable, and how to exploit this information as a valid NLP resource [5]. The Article Graph represents relations between encyclopedic entries, while the Category Graph introduces system of the abstract concepts for organizing articles. The categories allow the user to look through the articles on a required, conceptual level. They may allow to find the information on the given subject, the user even does not expect to exists, which is the main advantage in comparison to the traditional approach for searching large repositories of the textual data based on keyword-matching. In our research we propose a method for adding new information present in the Article Graph to the Category Graph. The Article Graph can be used to compute semantic similarity of a group of the articles [10], and thus form a network of interconnected, general concepts. In our approach we focus on adding new links into existing categories, however an automatic categories construction is also possible [11]. As a result the application of our method a new Category Graph (called Generated Category Graph) with directed and weighted edges is introduced. The nodes (categories) in the new graph remain the same as in the original Category Graph but the new edges are computed from the links present in the Article Graph according to formula R: R(C1, C2, w ∗ n) meaning that there are w articles in the category C1, that link to articles in the category C2, n is used for weight normalization and is calculated as: n=
1 C1 article count + C2 article count
250
J. Szyma´ nski
Fig. 1. New, weighed category links generation with our method. C denotes categories, P – Wikipedia articles.
The idea of the method has been depicted in Figure 1. The first part of the picture with nodes C1 to C5 describes the categories with unweighted links connecting them. The next step shows pages denoted by nodes P1 and P2 that belong to categories and are connected by an unweighted link. The last step describes processing these data and calculating weights for the links between categories based on connections between articles.
3
The Data
Data used in this experiment are obtained in the form of database table delivered from the Wikimedia Foundation download page1 . We used to generate new relations between categories following Wikipedia tables: – – – –
Pages – containing page data, including page title and id Categories – containing category data, including category title and id Pagelinks – containing all the links between pages Categorylinks – containing original page category membership and category – category relations
For efficiency reasons in our experiments we analyze the Polish Wikipedia2 , which contains approximately five times less articles than the original English version. Estimated size of the data used in experiments can be portrayed in terms of row count for each table: – – – –
Pages – 750 000 Categories – 57 000 Pagelinks – 23 400 000 Categorylinks – 1 600 000
The first problem was processing the graph given in the form relational table, where relations have been stored in the form of article identifier (integer) – article title (string). The process of indexing these tables was unacceptably high so to reduce execution time a dedicated implementation was created which completely disconnects data from database engine. The solution was a Java program, that 1 2
http://download.wikimedia.org/ http://pl.wikipedia.org/wiki/
Mining Relations between Wikipedia Categories
251
reads the SQL dump files, in parts when necessary, into the memory, which requires Java Stack over 2GB. This method significantly reduced the impact of disk I/O operation times on the overall execution time. Furthermore, it allowed us to utilize the information about the data to use hashtables for rapid data access.
4
Results and Evaluation
Using proposed approach generated 16 281 366 edges for the Category Graph from the Polish Wikipedia. An average edge weight value is 0.058, although only 20% (3 300 477) edges have a weight of 0.05 or more. Figure 2 shows detailed weight distribution in logarithmic scale. As it was expected most of the edges have a very low weight so they do not bring any interesting information. During usage of the results for the enrichment of original the category system (section 5) they should be discarded. In the following sections we will call the category graph containing new, generated edges the Generated Category Graph. 4.1
Original Category Graph Coverage
The original Category Graph contains 79 582 edges which represent single level category membership. The full Generated Category Graph covers 77 113 of these edges, that is 96.6%. If we reduce the Generated Category Graph by removing any edges with weights below 0.05, the resulting graph holds 3 300 477 edges, of which 70.9% (56 434) correspond with the original Category Graph edges.
Fig. 2. Generated Category Graph edge weight distribution
252
J. Szyma´ nski
To put these results in a perspective we calculate the probability P r of generating an edge of the original Category Graph at random. Pr =
original category links possible category links
There are 57 884 categories so there are 3 350 557 456 possible category links, therefore P r = 0.0024% Knowing that we can calculate the coverage of the original Category Graph by randomly generated edges. It would be 0.4% with a set of 16 281 366 edges and 0.09% with a set of 3 300 477 edges.
5
Visualization
Results of the presented here experiment has been used in or project aiming to find methodology for organization of textual knowledge. In project Semantic Wiki WordNet 3 we research algorithms that aims to improve knowledge organization in Wikipedia.
Fig. 3. An example of categories visualization
We have used Generated Category Graph to recommend categories related to the article the user is interested in. Looking through this categories user may find other, valuable information. Categories related to the selected article and 3
http://swn.eti.pg.gda.pl
Mining Relations between Wikipedia Categories
253
Fig. 4. An example of interactive Wikipedia visualization based on references between articles
relations between them are presented using graphical web interface that allow to navigate thought Wikipedia categories in user-friendly way. The interface has been implemented using Flash component that allow to navigate over the Wikipedia Category System in a similar way as it is in the file system. The screenshot of the visualization where categories are presented as folders with multiple ancestors has been presented in Figure 3. The system allows also to navigate between articles using the idea of the interactive graph. This functionality has been implemented using our component called Gossamer4 . Gossamer is a general purpose solution that using Flash technology allow to visualize on-line large scale graphs. The component enables functionality to traverse the nodes of the graph using interaction with the user. The sample visualization has been presented in Figure 3 where hyperlinks between articles allow to traverse Wikipedia using graphical interface. Presented idea of visualization has also been used in project to develop WordNet in cooperative way [12].
6
Summary and Future Work
We were successful in developing a method that allowed us to identify additional relations between Wikipedia categories. In the article we present first result of our approach based on mining Article Graph, that seems very promising. After 4
http://gossamer.eti.pg.gda.pl
254
J. Szyma´ nski
analyzing this first results we find some ideas of improvement of the method as well a new perspectives for research on mining machine readable knowledge from Wikipedia arise. We plan to enrich representation of Wikipedia articles, that is now performed on links. We consider to introduce a representation of articles based on words and compute similarity based on their co–occurrences [13]. That should allow to process semantic relations between articles. It is also possible to introduce more sofisticated similarity measures based on article semantics exploiting additional, external information about language eg. WordNet[14] which is integrated with Wikipedia [15].
Acknowledgements This work was supported by Polish Ministry of Science and Higher Education under research project N519 432338.
References 1. Viegas, F., Wattenberg, M., Kriss, J., Van Ham, F.: Talk before you type: Coordination in Wikipedia. In: Hawaii International Conference on System Sciences, vol. 40, p. 1298. IEEE, Los Alamitos (2007) 2. Voss, J.: Measuring wikipedia. In: Proceedings 10th International Conference of the International Society for Scientometrics and Informetrics (2005) 3. Buscaldi, D., Rosso, P.: Mining knowledge from wikipedia for the question answering task. In: Proceedings of the International Conference on Language Resources and Evaluation (2006) 4. Tan, A.: Text mining: The state of the art and the challenges. In: Proceedings of the PAKDD 1999 Workshop on Knowledge Disocovery from Advanced Databases, Citeseer, pp. 65–70 (1999) 5. Zesch, T., Gurevych, I.: Analysis of the wikipedia category graph for NLP applications. In: Proc. of NAACL-HLT 2007 Workshop: TextGraphs, vol. 2 (2007) 6. Ponzetto, S., Strube, M.: Deriving a large scale taxonomy from Wikipedia. In: Proceedings of The National Conference on Artificial Intelligence, vol. 22, p. 1440. AAAI Press/MIT Press, Menlo Park/Cambridge (1999/2007) 7. Steinbach, M., Karypis, G., Kumar, V.: A comparison of document clustering techniques. In: KDD Workshop on Text Mining, Citeseer, vol. 400, pp. 525–526 (2000) 8. Sebastiani, F.: Machine learning in automated text categorization. ACM Computing Surveys (CSUR) 34, 1–47 (2002) 9. Majewski, P., Szymaski, J.: Text categorisation with semantic common sense knowledge: first results. In: Ishikawa, M., Doya, K., Miyamoto, H., Yamakawa, T. (eds.) ICONIP 2007, Part II. LNCS, vol. 4985, pp. 769–778. Springer, Heidelberg (2008) 10. Milne, D.: Computing semantic relatedness using wikipedia link structure. In: Proceedings of the New Zealand Computer Science Research Student Conference (NZCSRSC 2007), Hamilton, New Zealand (2007) 11. Hao, P., Chiang, J., Tu, Y.: Hierarchically SVM classification based on support vector clustering method and its application to document categorization. Expert Systems with Applications 33, 627–635 (2007)
Mining Relations between Wikipedia Categories
255
12. Szymaski, J.: Developing WordNet in Wikipedia-like style. In: Proceedings of the 5th International Conference of the Global WordNet Association, pp. 342–347 (2010) 13. Gabrilovich, E., Markovitch, S.: Computing semantic relatedness using wikipediabased explicit semantic analysis. In: Proceedings of the 20th International Joint Conference on Artificial Intelligence, pp. 6–12 (2007) 14. Miller, G.A., Beckitch, R., Fellbaum, C., Gross, D., Miller, K.: Introduction to WordNet: An On-line Lexical Database. Cognitive Science Laboratory, Princeton University Press, Princeton (1993) 15. Szymaski, J., Kilanowski, D.: Wikipedia and WordNet integration based on words co-occurrences. In: Proceedings of 30th International Conference Information Systems, Architecture and Technology, vol. 1, pp. 93–103 (2009)
Mining Website Log to Improve Its Findability Jiann-Cherng Shieh Graduate Institute of Library and Information Studies National Taiwan Normal University 162, HePing East Road, Section 1, Taipei, Taiwan
[email protected] Abstract. Under the network environments with large amounts of digitalized data, websites are the information strongholds that institutions, organizations or enterprises must set up for their specific purposes. No matter how they have been built, websites should offer the capability that users can find their required information quickly and intuitively. Surfing around the library websites, the website logs always keep tracks of users’ factual behaviors of finding their required information. Thus we can apply data mining techniques possibly to explore users’ information seeking behavior. Based on these evidences, we attempt to reconstruct the websites to promote their internal findability. In this paper, we proposed a heuristic algorithm to clean the website log data, to extract user sub-sessions according to their respective the critical time of session navigation, and to calculate each sub-session’s the threshold time of target page with different weights to determine its navigating parent page. We utilized the alternate parent pages of weights to reconstruct various websites. We conduct task-oriented experiments of 4 tasks and 25 participants to measure the effects of their findability respectively. By the analysis of variance on time to complete the tasks, the result has shown that the reconstructed website has better findability performance. Keywords: Usability, web log mining, findability.
1 Introduction With the prevailing of World Wide Webs and internets, websites have already become information strongholds that each organization must set up. They not only represent the image of the organizations, but also offer communication and service channels for their users. Not merely filling with abundant data, websites should provide users with easy and smooth navigating architectures in order to help them find what they need. Whenever we languish for how to construct user-friendly or usercentered websites, information architecture is an important part of the solution. Information architecture Institute defines the information architecture as “The art and science of organizing and labeling web sites, intranets, online communities and software to support usability and findability” [1]. Its primary value is to reduce the cost of finding and using information. Moreover, we can’t use what we can’t find. Findability F. Zavoral et al. (Eds.): NDT 2010, Part II, CCIS 88, pp. 239–247, 2010. © Springer-Verlag Berlin Heidelberg 2010
240
J.-C. Shieh
should precede usability [2]. At object level, findability is related to the quality of being locatable or navigable, or the degree to which a particular object is easy to discover or locate. Inside a website, the findability is the capability that the website provides to users to find their needed information. However, findability is one of the most bothersome problems in website design. To improve the information architecture of websites for easy and smooth navigation is one of the essential and efficient ways to handle this troublesome issue. Based on the user-center design concept, many researchers have generally applied card sorting method [3] [4] [5] [6] [7] to help us improve information architectures of websites. It is a practical, economical but not particularly precise method. Only a minority of users participated in card sorting process, the result that conforms to the most of websites users is in doubt. Nevertheless, website logs always keep tracks of users’ behaviors as they are navigating the webs. The website logs can really help us find the possible locations where the information users required is resided at. Web logs can also be analyzed to discover hidden behaviors of users browsing the webs [8] [9]. Extracting feasible data from the website log, in this research, we attempt to discover the user behavior evidence that they have navigated the website to find what they required. We gather the information and explore the relationships of web pages. We try to reconstruct the website to promote its findability. We conduct the taskoriented experiments to verify that the resulted website has better findability performance than the original one. The rest of the paper is organized as follows. We discuss the related work in the next section. In Section 3, we present our heuristic methods for cleaning data, generating user sub-sessions, finding parent pages, and reconstructing websites with various weights considered. The results and analysis of task-oriented experiments are shown in Section4. Finally, we conclude in Section 5.
2 Related Work Review 2.1 Information Architecture Information architecture for the World Wide Web [10] is defined as the art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability. Today, information proliferates increasingly on the internet; usability and findability are becoming the critical success factors for websites designs. ISO [11] defines usability as “Extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use”. The usability of a website refers to how well users can use the website to achieve their purposes and how satisfied they are with navigation process. The primary benefits of usability to users are that they are able to achieve their tasks easily and efficiently. There are many researchers engaged in studying websites usability [12] [13] [14] [15] [16] [17][ 18] [19] [20]. In 2005, Peter Morville [2] points out that findability precedes usability in the alphabet and on the web. People can’t use what they can’t find. He defines findability as the ability of users to identify an appropriate website and navigate the pages of the
Mining Website Log to Improve Its Findability
241
site to discover and retrieve relevant information resources. Findability concerns the quality of being locatable or navigable. We can evaluate to what degree a particular object in a website is easy to discover or locate. Or we can analyze how well a website supports navigation and retrieval. Findability is typically evaluated by usability testing. Usability testing studies representative users of a website performing specific tasks [12] [13] [14] [15] [19] [20]. Usability testing on websites is a method for assessing the ease with which they are learned and used. In a usability test, representative users try to do typical tasks with the website, while observers watch, listen, and take notes. For the purposes of usability testing, we want to identify any usability problems that the website has, to collect quantitative data on users’ performance, and to determine users’ satisfaction with the website. Time on tasks is an important usability quantitative measure recorded during testing process. This measure of user performance provides an excellent yardstick for both the intuitiveness and the efficiency with which the website is used. 2.2 Web Usage Mining Web usage mining, one of web mining domains, is the application of data mining techniques to discover and predict user behaviors from web access logs in order to help the designer to improve the web sites navigation efficiency, or to give users personalized and adaptive services. In 2007, Agosti, Nunzio and Niero [8] proposed a series of tools to retrieve, store, and analyze the data extracted from log files. They organized the requests in a single session in order to have a better view of the actions performed by users. A section reconstruction procedure was proposed to map the list of activities performed by every single user to the visitors of the site. They had a statistic of the average duration of a user session is 97 seconds. Baglioni, Ferrara, Romei, Ruggieri and Turini [9] described the web usage mining activities to extract a model of the navigational behaviors of web site users. The model was inferred from the access logs of a web server by means of data and web mining techniques. The extracted knowledge was deployed to the purpose of offering a personalized and proactive view of the web services to users. They applied classification mining method to web log data to build a model that can be used to predict potential interest of a new user in a channel she has not visited yet, based on the channels she visited in last or current session. Srikant and Yang [21] proposed an algorithm to automatically find pages in a website whose location is different from where visitors expect to find them. They use a defined time threshold to distinguish between target pages and other pages from web logs. And they applied the concept of backtracking pages to find all users’ expected locations. Then, they suggested expected locations with a significant number of hits to add navigation links to the target pages for optimizing visitor time. Shiu [18] mined web logs recorded browsing activities of users to analyze the behaviors for different user groups. Using the behavior information, he proposed a heuristic algorithm to calculate the efficiency of browsing sequences by adding and modifying web links. He developed a corresponding adaptive web prototype system
242
J.-C. Shieh
to automatically change the web structure for different user groups and to reduce the time to accomplish their browsing tasks. Koichiro, Masahiro and Kazuo [22] consider that web access log mining is a means to estimate user's potential needs from their access behaviors. They treat a browsing time as an index of user's interest, and propose a heuristic method to extract user's access patterns considering this browsing time. Their experiment shows that the proposed method is capable of analyzing user's behavior in finer granularity.
3 LNCS Online 3.1 Cleaning Log Data Website related researches are somewhat concerning information ecological issues. In this research, we took the library web log of National Taiwan Normal University as our studying case. We gathered the log data from July 2009 to February 2010, and totally there are about 3600 million records. We first filter the web log by deleting redundant records such as download files, executable programs and graphic files. We extract user sessions by identifying IP address, operating systems and browsers in an observed time period, and calculate the time distance of each log record. 3.2 Determining Sub-Sessions and Target Pages Time threshold is usually used to identify the target pages of user sessions in web log studies. Sometimes one unified time threshold is calculated to standard all users. However, we believe that users should have their own diverse browsing behaviors on the websites. We consider individual time threshold of every user session in this research. We calculate the critical time of session navigation of a user session i and the threshold time of target page of a user sub-session j respectively. We defined the critical time of session navigation of a user session i as (Mi + Mi*(Maxi - Avgi)/Avgi)*NR.
(1)
where Mi is its mode, Maxi is the maximum value in the session, Avgi is its average, and NRi is the number of records in the user session. If the session is without mode number, we take median number Medi to substitute it. For each user session, the critical time of session navigation can be used to help to divide the session into subsessions. We defined the threshold time of target page of a user sub-session j as SMi + SMi*(SMaxi - SAvgi)/SAvgi.
(2)
where SMj is its mode, SMaxj is the maximum and minimum value in the session, SAvgj is its average, and SNRj is the number of records in the user sub-session. If there is no mode number in the sub-session, we take median number SMedi to substitute it. The threshold time of target page is applied to determine each sub-session’s target pages that the user navigated and may read.
Mining Website Log to Improve Its Findability
243
For example, Table 1 shows the time distances of records, that is a part of user session. We first have its statistical data including average=Avg=114.72, mode=M =12, maximum number=Max=379, and the number of records=NB=18. Its critical time of session navigation can be calculated to (12+12*(379-114.72)/ 114.72)*18= 713.58. We apply the critical time of session navigation 713.58 to divide the session into subsessions. We accumulate time distance from the first record in sequence, and whenever the accumulation value is greater than the critical time of session navigation 713.58, we have a sub-session partition. We iteratively continue the process to the end of the session. We have divided it into several sub-sessions. We have three subsessions in Table 1. Consider the first sub-session. It has statistical data including average=SAvg=121.14, median=SMedi=24, maximum number=SMax=379, and the number of records=SNB=7. Its threshold time of target page can be calculated to 24+24*(379-121.14)/121.14=75.08. We can use the threshold time of target page 75.08 to determine Records 2, 5, and 7 to be target pages. Table 1. Time distances of a user session
Records 1 2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
Time 24 379 17 16 148 12 252 121 274 101 25 355 148 55 99 12 15 12 Distance Accumu. 24 403 420 436 584 596 848 121 395 496 521 876 148 203 302 314 329 341
After sub-sessions dividing, we want to code the records in the log. If being the same page with one of the original website’s pages, we code the record with its corresponding code that was numbered in the beginning. We delete the records without codes. 3.3 Determining Parent Pages We take every contiguous two records R1and R2 to note down R2’s candidate parent page R1 and R2 target page or not. For each page, we can aggregate data about the number of its candidate parent pages, the times they were navigated and the page is the target page or is just passed. Here we define three parameters W1ij, W2ij and Wij. W1ij is the weight of navigating candidate parent page i to page j which is not a target page, defined as W1ij= (Parent_numij - Objectij)/( ΣParent_numij - Σ Objectij )
(3)
where Parent_numij is times of navigating candidate parent page i to page j, Objectij is times of navigating parent page j to page i which is a target page. W2ij is the weight of navigating candidate parent page i to page j which is a target page, defined as W2ij= Objectij/Σ Objectij.
(4)
where Parent-numij is times of navigating candidate parent page i to page j, Objectij is times of navigating candidate parent page j to page i which is a target page. Wij is the weight of candidate parent page i to page j, defined as
244
J.-C. Shieh
Wij= W1ij*(1-p)+ W2ij*p.
(5)
where p is a parameter number between 0 and 1. We then choose the largest one of Wijs as the parent page for page j. For example, Table 2 is the summary data of page j of its candidate parent pages. We first calculate each candidate parent page i’s W1iA001, W2iA001 and WiA001 (in this case, we assume p=0.8). The results are shown in the last three columns of Table 2. Since the number WiA001 of E038 is largest, we take E308 as A001’s parent page. Table 2. Page A001 and its candidate parent pages
Page j Candiate Parent Pgae i Parent_numij Objectij W1iA001 W2iA001 WiA001 A001
E038
579
373
0.47
0.51
0.498
A001
A007
236
132
0.24
0.18
0.190
A001
L000
201
140
0.14
0.19
0.179
A001
A014
163
93
0.16
0.13
0.133
3.4 Determining Parent Pages With the help of our proposed formula of calculating parent page by various weight options, we can determine all pages’ parent pages whenever p is decided. Using the results of parent pages thus having relationships of pages, we can reconstruct different types of websites. In some cases, whenever there are appearing recursive structures, we have chosen to follow pages’ relationships in the original one to solve such situation.
4 Task-Oriented Experiments and Statistical Analysis 4.1 Findability Experiments The Library Website of National Taiwan Normal University is our original website structure in this findability experiments. On concerning various p for the choices to decide parent pages of a page, we can reconstruct different websites from 3600 million the Library Website Log records. Our findability experiments take p=0 named Structure A and p=1 named Structure C, as our studied instances compared to the original structure named B. Findability tests were conducted for 25 participants to complete four designed tasks on three website structures A, B and C. We measured their turnaround time for statistical analysis to verify our research. Table 3 shows their total turnaround time (in seconds) of 4 tasks on three website structures.
Mining Website Log to Improve Its Findability
245
Table 3. 25 participants turnaround time spent on three structures
Participants 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Structure A 159 94 170 124 367 110 188 68 356 41 253 331 195 119 252 266 210 47 77 123 77 197 84 209 93
Structure B 48 63 53 84 80 92 340 22 237 57 109 47 45 91 104 133 27 30 104 50 35 113 44 70 100
Structure C 89 39 31 47 131 46 108 33 34 22 49 48 46 37 45 51 53 23 51 49 145 32 42 75 33
4.2 Statistical Analysis Using one-way ANOVA analysis, we examine if there are significant differences for the time spent on completing the tasks on these three structures. The ANOVA result shows in Table 4 and reveals that there is a significant difference for the time to complete the tasks on different websites (P