Академический Документы
Профессиональный Документы
Культура Документы
193
Advances in Computing
and Communications
First International Conference, ACC 2011
Kochi, India, July 22-24, 2011
Proceedings, Part IV
13
Volume Editors
Ajith Abraham
Machine Intelligence Research Labs (MIR Labs)
Auburn, WA, USA
E-mail: ajith.abraham@ieee.org
Jaime Lloret Mauri
Polytechnic University of Valencia
Valencia, Spain
E-mail: jlloret@dcom.upv.es
John F. Buford
Avaya Labs Research
Basking Ridge, NJ, USA
E-mail: john.buford@gmail.com
Junichi Suzuki
University of Massachusetts
Boston, MA, USA
E-mail: jxs@acm.org
Sabu M. Thampi
Rajagiri School of Engineering and Technology
Kochi, India
E-mail: smthampi@acm.org
ISSN 1865-0929
e-ISSN 1865-0937
e-ISBN 978-3-642-22726-4
ISBN 978-3-642-22725-7
DOI 10.1007/978-3-642-22726-4
Springer Heidelberg Dordrecht London New York
Library of Congress Control Number: Applied for
CR Subject Classification (1998): C.2, H.4, I.2, H.3, D.2, J.1, K.6.5
Preface
The First International Conference on Advances in Computing and Communications (ACC 2011) was held in Kochi during July 2224, 2011. ACC 2011 was
organized by Rajagiri School of Engineering & Technology (RSET) in association with the Association of Computing Machinery (ACM)- SIGWEB, Machine
Intelligence Research Labs (MIR Labs), International Society for Computers
and Their Applications, Inc. (ISCA), All India Council for Technical Education (AICTE), Indira Gandhi National Open University (IGNOU), Kerala State
Council for Science, Technology and Environment (KSCSTE), Computer Society of India (CSI)- Div IV and Cochin Chapter, The Institution of Electronics
and Telecommunication Engineers (IETE), The Institution of Engineers (India)
and Project Management Institute (PMI),Trivandrum, Kerala Chapter. Established in 2001, RSET is a premier professional institution striving for holistic
excellence in education to mould young, vibrant engineers.
ACC 2011 was a three-day conference which provided an opportunity to
bring together students, researchers and practitioners from both academia and
industry. ACC 2011 was focused on advances in computing and communications
and it attracted many local and international delegates, presenting a balanced
mixture of intellects from the East and from the West. ACC 2011 received 592 research papers from 38 countries including Albania, Algeria, Bangladesh, Brazil,
Canada, Colombia, Cyprus, Czech Republic, Denmark, Ecuador, Egypt, France,
Germany, India, Indonesia, Iran, Ireland, Italy, Korea, Kuwait, Malaysia, Morocco, New Zealand, P.R. China, Pakistan, Rwanda, Saudi Arabia, Singapore,
South Africa, Spain, Sri Lanka, Sweden, Taiwan, The Netherlands, Tunisia, UK,
and USA. This clearly reects the truly international stature of ACC 2011. All
papers were rigorously reviewed internationally by an expert technical review
committee comprising more than 300 members. The conference had a peerreviewed program of technical sessions, workshops, tutorials, and demonstration
sessions.
There were several people that deserve appreciation and gratitude for helping
in the realization of this conference. We would like to thank the Program Committee members and additional reviewers for their hard work in reviewing papers
carefully and rigorously. After careful discussions, the Program Committee selected 234 papers (acceptance rate: 39.53%) for presentation at the conference.
We would also like to thank the authors for having revised their papers to address
the comments and suggestions by the referees.
The conference program was enriched by the outstanding invited talks by
Ajith Abraham, Subir Saha, Narayan C. Debnath, Abhijit Mitra, K. Chandra
Sekaran, K. Subramanian, Sudip Misra, K.R. Srivathsan, Jaydip Sen, Joyati
Debnath and Junichi Suzuki. We believe that ACC 2011 delivered a high-quality,
stimulating and enlightening technical program. The tutorials covered topics of
VI
Preface
great interest to the cyber forensics and cloud computing communities. The tutorial by Avinash Srinivasan provided an overview of the forensically important
artifacts left behind on a MAC computer. In his tutorial on Network Forensics, Bhadran provided an introduction to network forensics, packet capture
and analysis techniques, and a discussion on various RNA tools. The tutorial on
Next-Generation Cloud Computing by Pethuru Raj focused on enabling technologies in cloud computing.
The ACC 2011 conference program also included ve workshops: International Workshop on Multimedia Streaming (MultiStreams 2011), Second International Workshop on Trust Management in P2P Systems (IWTMP2PS 2011),
International Workshop on Cloud Computing: Architecture, Algorithms and
Applications (CloudComp 2011), International Workshop on Identity: Security,
Management and Applications (ID2011) and International Workshop on Applications of Signal Processing (I-WASP 2011). We thank all the workshop organizers as well as the Workshop Chair, El-Sayed El-Alfy, for their accomplishment
to bring out prosperous workshops. We would like to express our gratitude to
the Tutorial Chairs Patrick Seeling, Jaydeep Sen, K.S. Mathew, and Roksana
Boreli and Demo Chairs Amitava Mukherjee, Bhadran V.K., and Janardhanan
P.S. for their timely expertise in reviewing the proposals. Moreover, we thank
Publication Chairs Pruet Boonma, Sajid Hussain and Hiroshi Wada for their
kind help in editing the proceedings. The large participation in ACC2011 would
not have been possible without the Publicity Co-chairs Victor Govindaswamy,
Arun Saha and Biju Paul.
The proceedings of ACC 2011 are organized into four volumes. We hope
that you will nd these proceedings to be a valuable resource in your professional, research, and educational activities whether you are a student, academic,
researcher, or a practicing professional.
July 2011
Ajith Abraham
Jaime Lloret Mauri
John F. Buford
Junichi Suzuki
Sabu M. Thampi
Organization
Organizing Committee
Chief Patrons
Fr. Jose Alex CMI
Fr. Antony Kariyil CMI
Manager, RSET
Director, RSET
Patron
J. Isaac, Principal
RSET
Advisory Committee
A. Krishna Menon
A.C. Mathai
Fr. Varghese Panthalookaran
Karthikeyan Chittayil
Vinod Kumar, P.B.
Biju Abraham
Narayamparambil
Kuttyamma A.J.
Asha Panicker
K. Rajendra Varmah
P.R. Madhava Panicker
Liza Annie Joseph
Varkey Philip
Fr. Joel George Pullolil
R. Ajayakumar Varma
K. Poulose Jacob
H.R. Mohan, Chairman
Soman S.P., Chairman
S. Radhakrishnan, Chairman
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
RSET
KSCSTE
Cochin University of Science & Technology
Div IV, Computer Society of India (CSI)
Computer Society of India (CSI), Cochin
Chapter
Kerala State Centre, The Institution of
Engineers (India)
VIII
Organization
Steering Committee
John F. Buford
Rajkumar Buyya
Mukesh Singhai
John Strassner
Junichi Suzuki
Ramakrishna Kappagantu
Achuthsankar S. Nair
Conference Chair
Sabu M. Thampi
Program Co-chairs
Jaime Lloret Mauri
Thorsten Strufe
Gregorio Martinez
Organization
Demo Co-chairs
Amitava Mukherjee
Bhadran V.K.
Janardhanan P.S.
IX
Publicity Co-chairs
Victor Govindaswamy
Arun Saha
Biju Paul
Publication Co-chairs
Pruet Boonma
Sajid Hussain
Hiroshi Wada
Organization
Amitava Mukherjee
Anand Prasad
Andreas Maeder
Ankur Gupta
Antonio Coronato
Antonio Pescape
Ant
onio Rodrigues
Anura P. Jayasumana
Arnab Bhattacharya
Arun Saha
Arvind Swaminathan
Ashley Thomas
Ashraf Elnagar
Ashraf Mahmoud
Ashwani Singh
Athanasios Vasilakos
Atilio Gameiro
Aydin Sezgin
Ayman Assra
Aytac Azgin
B. Sundar Rajan
Babu A.V.
Babu B.V.
Babu Raj E.
Balagangadhar G. Bathula
Borhanuddin Mohd. Ali
Brijendra Kumar Joshi
Bruno Crispo
C.-F. Cheng
Chang Wu Yu
Charalampos Tsimenidis
Chih-Cheng Tseng
Chi-Hsiang Yeh
Chitra Babu
Chittaranjan Hota
Chonho Lee
Christian Callegari
Christos Chrysoulas
Chuan-Ching Sue
Chung Shue Chen
Organization
Chun-I. Fan
Chutima Prommak
Dali Wei
Danda B. Rawat
Daniele Tarchi
Davide Adami
Deepak Garg
Demin Wang
Dennis Psterer
Deyun Gao
Dharma Agrawal
Dhiman Barman
Di Jin
Dimitrios Katsaros
Dimitrios Vergados
Dirk Pesch
Djamel Sadok
Eduardo Cerqueira
Eduardo Souto
Edward Au
Egemen Cetinkaya
Elizabeth Sherly
El-Sayed El-Alfy
Emad A. Felemban
Eric Renault
Errol Lloyd
Ertan Onur
Faouzi Bader
Faouzi Kamoun
Fernando Velez
Filipe Cardoso
Florian Doetzer
Francesco Quaglia
Francine Krief
Frank Yeong-Sung Lin
Gianluigi Ferrari
Giuseppe Ruggeri
Grzegorz Danilewicz
Guang-Hua Yang
Guo Bin
XI
XII
Organization
Hadi Otrok
Hamid Mcheick
Harry Skianis
Hicham Khalife
Himal Suraweera
Hiroshi Wada
Hong-Hsu Yen
Hongli Xu
Houcine Hassan
Hsuan-Jung Su
Huaiyu Dai
Huey-Ing Liu
Hung-Keng Pung
Hung-Yu Wei
Ian Glover
Ian Wells
Ibrahim Develi
Ibrahim El rube
Ibrahim Habib
Ibrahim Korpeoglu
Ilja Radusch
Ilka Miloucheva
Imad Elhajj
Ivan Ganchev
Iwan Adhicandra
Jalel Ben-othman
Jane-Hwa Huang
Jaydeep Sen
Jiankun Hu
Jie Yang
Jiping Xiong
Jose de Souza
Jose Moreira
Ju Wang
Juan-Carlos Cano
Judith Kelner
Julien Laganier
Jussi Haapola
K. Komathy
Ka Lok Hung
Ka Lok Man
Kaddar Lamia
Kainam Thomas
Organization
Kais Mnif
Kang Yong Lee
Katia Bortoleto
Kejie Lu
Kemal Tepe
Khalifa Hettak
Khushboo Shah
Kotecha K.
Kpatcha Bayarou
Kumar Padmanabh
Kyriakos Manousakis
Kyung Sup Kwak
Li Zhao
Li-Chun Wang
Lin Du
Liza A. Lati
Luca Scalia
M Ayoub Khan
Maaruf Ali
Madhu Kumar S.D.
Madhu Nair
Madhumita Chatterjee
Mahamod Ismail
Mahmoud Al-Qutayri
Manimaran Govindarasu
Marcelo Segatto
Maria Ganzha
Marilia Curado
Mario Fanelli
Mariofanna Milanova
Mariusz Glabowski
Mariusz Zal
Masato Saito
Massimiliano Comisso
Massimiliano Laddomada
Matthias R. Brust
Mehrzad Biguesh
Michael Alexander
Michael Hempel
Michael Lauer
Ming Xia
Ming Xiao
Mohamed Ali Kaafar
XIII
XIV
Organization
Mohamed Cheriet
Mohamed Eltoweissy
Mohamed Hamdi
Mohamed Moustafa
Mohammad Banat
Mohammad Hayajneh
Mohammed Misbahuddin
Mustafa Badaroglu
Naceur Malouch
Nakjung Choi, Alcatel-Lucent
Namje Park
Natarajan Meghanathan
Neeli Prasad
Nen-Fu Huang
Nikola Zogovic
Nikolaos Pantazis
Nilanjan Banerjee
Niloy Ganguly
Pablo Corral Gonzalez
Patrick Seeling
Paulo R.L. Gondim
Peter Bertok
Phan Cong-Vinh
Pingyi Fan
Piotr Zwierzykowski
Pascal Lorenz
Pruet Boonma
Punam Bedi
Qinghai Gao
Rahul Khanna
Rajendra Akerkar
Raul Santos
Ravishankar Iyer
Regina Araujo
Renjie Huang
Ricardo Lent
Rio G. L. DSouza
Roberto Pagliari
Roberto Verdone
Roksana Boreli
Organization
XV
XVI
Organization
Thienne Johnson
Thomas Chen
Tsern-Huei Lee
Usman Javaid
Vamsi Paruchuri
Vana Kalogeraki
Vehbi Cagri Gungor
Velmurugan Ayyadurai
Vicent Cholvi
Victor Govindaswamy
Vijaya Kumar B.P.
Viji E Chenthamarakshan
Vino D.S. Kingston
Vinod Chandra S.S.
Vivek Jain
Vivek Singh
Vladimir Kropotov
Wael M El-Medany
Waslon Lopes
Wei Yu
Wei-Chieh Ke
Wendong Xiao
Xiang-Gen Xia
Xiaodong Wang
Xiaoguang Niu
Xiaoqi Jia
Xinbing Wang
Xu Shao
Xueping Wang
Yacine Atif
Yali Liu
Yang Li
Yassine Bouslimani
Ye Zhu
Yi Zhou
Yifan Yu
Yong Wang
Youngseok Lee
Youssef SAID
Yuan-Cheng Lai
Yuh-Ren Tsai
Organization
Yu-Kai Huang
Yusuf Ozturk
Zaher Aghbari
Zbigniew Dziong
Zhang Jin
Zhenghao Zhang
Zhenzhen Ye
Zhihua Cui
Zhili Sun
Zhong Zhou
Zia Saquib
XVII
XVIII
Organization
Pooya Taheri
R.C. Wang
Roman Yampolskiy
Shuang Tian
Syed Abbas Ali
Velayutham
Yeong-Luh Ueng
General Chairs
Paul Rodrigues
(CTO, WSS, India)
H.R. Vishwakarma
(Secretary, Computer
Society of India)
Program Chairs
P. Krishna Reddy
Sundar K.S.
Srinivasa Ragavan
S. Venkatachalam
Organizing Chair
Madhan Kumar Srinivasan
Organizing Co-chairs
Abhi Saran
Anireddy Niranjan Reddy
Revathy Madhan Kumar
XX
ID 2011
C. Sunil Kumar
Chandrabali Karmakar
Farooq Anjum
Gudipati Kalyan Kumar
Hamid Sharif
Hui Chen
Jie Li
Kalaiselvam
Lau Lung
Lukas Ruf
Manik Lal Das
Manimaran Govindarasu
Narendra Ahuja
Omar
Pradeep Kumar T.S.
Pradeepa
Rajiv Tripathi
Rakesh Chithuluri
Sanjay Chaudhary
Santosh Pasuladi
Satheesh Kumar Varma
Saurabh Barjatiya
Sreekumar Vobugari
Suthershan Vairavel
Tarun Rao
Thomas Little
Tim Strayer
V. Balamurugan
Vasudeva Varma
Vinod Babu
Yonghe Liu
Workshop Organizers
Jaison Jacob
Sreeraj K.P.
Rithu James
NTU, Singapore
Northwestern University, USA
University of Virginia, USA
University of Castilla-La Mancha, Spain
Oklahoma State University, USA
University of Twente, The Netherlands
Microsoft Research Asia, P.R. China
University of Linkoping, Sweden
EST-Setubal, Portugal
Universite de Rennes 1, France
Aberystwyth University, UK
Swansea University, UK
Hokkaido University, Japan
Workshop Organizers
Binu A.
Biju Paul
Sabu M. Thampi
XXIV
CloudComp 2011
Jorge Carapinha
Junyi Wang
K. Chandra Sekaran
Kai Zheng
Krishna Sankar
Laurent Amanton
Luca Caviglione
Lukas Ruf
Massimiliano Rak
Pallab Datta
Pascale Vicat-Blanc Primet
Prabu Dorairaj
Shivani Sud
Shuicheng Yan
Siani Pearson
Simon Koo
Srikumar Venugopal
Stephan Kopf
Thomas Sandholm
Umberto Villano
Vipin Chaudhary
Yaozu Dong
Zhou Lan
Program Chairs
Pascal Lorenz
Fan Ye
Trung Q. Duong
XXVI
MultiStreams 2011
Phan Cong-Vinh
Alvaro Su
arez-Sarmiento
Song Guo
Tin-Yu Wu
Zhangbing Zhou
Zuqing Zhu
Juan M. S
anchez
Choong Seon Hong
Program Chairs
Visvasuresh Victor
Govindaswamy
Jack Hu
Sabu M. Thampi
XXVIII
IWTMP2PS 2011
INRIA, France
National University of Athens, Greece
Graz University of Technology, Austria
Middlesex University, UK
Amirkabir University of Technology, Iran
Valencia Polytechnic University, Spain
UCV, Romania
Oakland University, USA
COMSATS Institute of Information
Technology, Pakistan
SITE, University of Ottawa, Canada
University of Linz, Austria
RSA, Security Division of EMC, India
HAW Hamburg (DE), Germany
Northern New Mexico College, USA
TU Darmstadt, Germany
Amrita School of Engineering, India
Microsoft, USA
UPC, Barcelona, Spain
Zhejiang Normal University, P.R. China
Chung Hua University, Taiwan
Position Papers
Impact of Node Density on Node Connectivity in MANET Routing
Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
G. Jisha and Philip Samuel
Survey and Comparison of Frameworks in Software Architecture . . . . . . .
S. Roselin Mary and Paul Rodrigues
Two Layered Hierarchical Model for Cognitive Wireless Sensor
Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
K. Vinod Kumar, G. Lakshmi Phani, K. Venkat Sayeesh,
Aparna Chaganty, and G. Rama Murthy
3D-CGIN: A 3 Disjoint Paths CGIN with Alternate Source . . . . . . . . . . . .
Meenal A. Borkar and Nitin
Architecture for Running Multiple Applications on a Single Wireless
Sensor Network: A Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sonam Tobgay, Rasmus L. Olsen, and Ramjee Prasad
1
9
19
25
37
46
56
63
70
79
89
98
XXX
113
126
137
145
155
165
175
187
195
205
211
223
XXXI
233
244
250
260
269
284
293
300
309
318
329
XXXII
339
349
358
Real Time Vehicle Detection for Rear and Forward Collision Warning
Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gaurav Kumar Yadav, Tarun Kancharla, and Smita Nair
368
378
386
396
406
421
432
445
455
XXXIII
463
473
481
491
501
512
524
534
541
549
XXXIV
557
572
580
593
608
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
617
1 Introduction
A Mobile Ad-hoc network is a temporary or short period dynamic network used
in battlefields, conference, rescue operation, multimedia games. These networks
comprises of a group of wireless mobile nodes which communicate each other
without any fixed infrastructure. Routing in MANET is a challenging task as the
topology of such networks keeps on changing due to various factors like node
mobility, change in the node status and change in node density. Here the nodes act as
both host and receiver, who forward packets to other mobile host. Individual node
has limited processing capacity but is capable of supporting distributed approach
through coordination effort in a network [12]. Initially the node will not have prior
knowledge of its neighboring nodes or the topology of the entire network. The nodes
sends beacons to neighboring nodes, and listens to the broadcasting message from
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 18, 2011.
Springer-Verlag Berlin Heidelberg 2011
neighboring nodes to find the list of current neighbors. This process continues till the
node knows about all other nodes and also when a change in the topology of the
network is detected. Thus through these neighbors, the nodes can communicate to
other nodes outside its coverage area to maintain node connectivity in the network [3].
Knowledge of topological characteristics like connectivity, coverage, maximum
inter-node distance and node degree helps in the design of new distributed protocol
and also for evaluating the performance of existing routing protocols [12]. The factors
that complicate the analysis of the topological characteristics are node mobility and
node density [8], [9]. Paolo Santi and Douglas M Blough have discussed the
conditions that are needed to ensure that a deployed network is connected initially and
remains connected as node migrates [8]. Certain Routing Protocols are found to
perform better in densely connected network than in sparse network [1]. There is a lot
of work done for evaluating the performance of MANET Routing Protocols under
different topological characteristics [1], [12], [2], [8], [9]. In our paper we have
evaluated performance of MANET routing protocols under varying node density and
how it affects the node connectivity.
This paper analyzes the performance of routing protocols designed for MANET
under different node density and its impact on node connectivity. The second
sections of this paper discuss the routing protocols designed for MANET and the
performance metrics used. The third section discusses the impact of node density in
proactive and reactive routing protocols with a comparative evaluation. The forth
section presents the environment for simulations in NS-2 for comparing the effect of
node density on these two protocols. The fifth section discusses the simulation result
and the last section concludes the paper.
the sequence numbers will be even if a link is present otherwise an odd number is
used. The number is generated by the destination and the sender needs to send out the
next update with this number [4]. DSDV periodically send routing control packets to
neighbors for updating routing table [12].
Selection of routes: Latest sequence numbers are used if a router receives new
information. Route with a better metric is used if the sequence number is the same as
the one in the table. Stale entries and the routes using those nodes with stale entries as
next hops are deleted.
Advantages: DSDV is a hop by hop distance vector routing protocol suitable for
creating ad-hoc networks with small node density. It selects the shortest path based on
the number of hops to the destination. Loop freedom is eliminated. Use simple route
update protocol. Routing table is maintained on each network. Sequence number is
used for making decision. Network Connectivity of the network found to increase due
to various paths between the nodes. Breakage of an intermediate node may not affect
the connectivity if the node density is high.
Disadvantages: Use of battery power and small bandwidth even when the network is
idle, due to the regular updating of its routing tables. Periodic updating in
transmissions limits the number of nodes that can be connected to the network. Not
suitable for highly dynamic networks, as a new sequence number is necessary
whenever the topology changes due to the increase in number of nodes. Routing
overhead is directly related with the number of nodes in the network.
3.2 Impact of Node Density in Reactive Routing Protocols
Reactive Routing Protocol does not maintain network topology information.
Necessary path is obtained by a connection establishment process. The Routing
information are not exchanged periodically. In case of reactive routing protocols the
overhead for route calculation is less when compared to Proactive routing protocols in
case of increase in node density.
Ad-Hoc On Demand Distance Vector Routing Protocol (AODV)
AODV, an extension of DSDV is a reactive routing protocol implemented for mobile
ad-hoc networks. AODV is combination of DSR, a reactive routing protocol and
DSDV, a proactive routing protocol. It has the basic on demand mechanism of Route
Discovery and Route maintenance of DSR and the use of hop by hop routing
sequence number and periodic beacons from DSDV. When a source node wants to
send information to destination node and does not have a route to destination, it starts
the route finding process starts the route finding process. It generates a RREQ and
broadcast to its neighbors. The route request is forwarded by intermediate nodes. A
reverse path is created for itself from destination. When the request reaches a node
with a route to destination it generates a RREP containing number of hops required to
reach destination. RREP is routed along the reverse path. Each node maintains is own
sequence number and broadcast id. To maintain routes the nodes survey the link
status of their next hop neighbor in active routes. If the destination or some
intermediate node move, steps are used to update the routing table of all neighbors
[4],[11].
Features:
Combines the features of both DSR and DSDV
Route discovery and route maintenance from DSR
Hop by Hop routing ,sequence numbers and periodic beacon from DSDV
Advantage: Maximum utilization of bandwidth. Simple. Node acts as router and
maintains a simple routing table, Maintains effective routing information and current
routing information, Loop free, Coping up with dynamic topology and broken links,
Highly Scalable when compared with DSDV.
Disadvantage: No reuse of routing information, vulnerable to misuse, high route
discovery latency, overhead on bandwidth. When number of node increases initially
throughput increase as large number of routes are available, after a certain limit
throughput becomes stable[4].
3.3 Discussion on MANET Routing Protocols Using Various Performance
Metrics
After the discussion of the two MANET routing protocols namely, DSDV, AODV. A
comparative discussion using various performance metrics are made to judge the
performance and suitability of these routing protocols. Both qualitative and
quantitative metrics are used.
Node Mobility: DSDV cannot handle mobility at high speeds due to lack of
alternative routes hence routes in routing table is stale. While in AODV it
does not affect much, as it find the routes on demand.
b)
Normalized Overhead: Number of routing packets over the number of
packets successfully received at the destination.
c)
Number of Routing Packets : Routing Packets(RP) is used to refer the routing
related packets like route request, route reply, route error that are received by various
nodes. Number of RP received is different from number of packets sent. Nodes on
receiving such packets broadcast these packets to the neighboring nodes. Here the
number of routing packets is compared with the number of nodes to measure the node
connectivity.
5 Conclusion
We have presented a detailed performance comparison of important routing protocols
for mobile ad-hoc networks. DSDV and AODV are the two protocols taken for
comparison. Routing Protocols were studied in detail and their features advantages,
References
1. Schult, N., Mirhakkak, M., LaRocca, D.: Routing in Mobile Ad Hoc Networks. IEEE, Los
Alamitos (1999)
2. Goel, A., Sharma, A.: Performance Analysis of Mobile Ad-hoc Network Using AODV
Protocol. International Journal of Computer Science and Security (IJCSS) 3(5), 334
(1999)
3. Adam, N., Ismail, M.Y., Addullah, J.: Effect of Node Density on Performance of Three
MANET Routing Protocols. In: 2010 International Conference on Electronic Devices,
Systems and Applications (ICEDSA 2010). IEEE, Los Alamitos (2010)
4. Siva Ram Murthy, C., Manoj, B.S.: AdHoc Wireless Networks Architectures and
Protocols, 2nd edn., pp. 321347. Pearson Education, London
5. Royer, E.M., Toh, C.-K.: A Review of Current Routing Protocols for AdHoc Mobile
Wireless Networks. IEEE Personal Communications, 46 (1999)
6. Arun Kumar, B.R., Reddy, L.C., Hiremath, P.S.: Performance Comparison of Wireless
Mobile Ad-Hoc Network Routing Protocols. International Journal of Computer Science
and Network Security 8(6), 337 (2008)
7. Corson, S.: Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues
and Evaluation Considerations, RFC2501
8. Santi, P., Blough, D.M.: An Evaluation of Connectivity in Mobile Wireless AdHoc
Networks. In: Proceedings of the International Conference on Dependable Systems and
Networks (DSN 2002). IEEE, Los Alamitos (2002)
9. Deepa, S., Kadhal Nawaz, D.M.: A Study on the Behavior of MANET Routing Protocols
with Variying Densities and Dynamic Mobility Patterns. IJCA Special Issue on Mobile
Ad-hoc Networks, MANET 2010, 124 (2010)
10. Greis, M.: Tutorial for the UCB/LBNL/VINT Network Simulator ns
11. Perkins, C., Royer, E.M.: Ad hoc On demand distance vector (AODV) routing (Internet
draft) (August 1998)
12. Bagchi, S., Cabuk, S., Lin, L., Malhotra, N., Shroff, N.: Analysis of Topological
Characteristics of Unreliable Mobile Wireless AdHoc Network (1999)
1 Introduction
Complexity of any system can be understood with the help of the architecture of that
system. Planning is required when a system becomes more complex. Architecture is
the combination of process and product of planning, designing and constructing space
that reflects functional, social and aesthetic considerations [1]. It also encompasses
project planning, cost estimation and constructing administration. In civil engineering,
architecture deals with the relationship between complexity and planning for buildings and cities. Customers and builders may have different views and different perspectives of their own interest. [2].
Similarly, the same concept can be used for software which is called software architecture. Building a very complex, critical and highly distributed system requires
the interconnected components that are basic building blocks and the views of end user, designer, developer and tester. The research work of Dijkstra in 1968 and David
Parnas in the early 1970s identified the concept of Software Architecture at first.
Software architecture is known for the design and implementation of the high-level
structure of the software. It is the connection of architectural elements in some wellchosen forms to achieve the major functionality and performance requirements of the
system and to achieve non- functional requirements such as reliability, scalability,
portability, and availability [4]. Software frameworks indicate the locations in the
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 918, 2011.
Springer-Verlag Berlin Heidelberg 2011
10
architecture where application programmers may make the adaptations for a specific
functionality [5]. A software framework is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code.
Instead of concentrating on the low level details of a working system, the designers
and programmers can concentrate only on the software requirements so as to reduce
overall development time [6].
Even though software architecture is relatively new to the field, the basic principles of this field have been applied since the mid 1980s. Seeing the evolution of
Software architecture from the algorithms era will clearly show us the various stages
it has crossed and the concepts it has borrowed from others to get a shaped form. The
following sections briefly describe the evolution and evaluation of Software architecture. Section 2 describes the evolution from algorithm to Zachmans framework and
Zachman framework to Service oriented Architecture. Section 3 describes the classification of frameworks and lists out the comparison criteria of frameworks. Frameworks are evaluated in section 4 using the criteria listed out in the section 3.
11
had to modify only a specific layer rather than rewrite the entire application over. And
thus it helped to create a flexible and reusable application. By evolving the three schema model into layers of six perspectives, John Zachman developed The Zachman
Framework in 1987. It still plays an important role in the era of Enterprise Architecture and influenced frameworks DODAF, TOGAF, TEAF and FEAF. The modified
version of Zachman Framework with more number of views was released in 1993. In
1995, the 4+1 view model was developed by Kruchten.
The purpose of Views used in these models was to analyze the complex systems,
and to list out the elements of the problem and the solution around the domains of expertise. A view of a system is the representation of the system from the perspective of
a viewpoint. This viewpoint on a system focuses on specific concerns of the system. It
provides a simplified model with the elements related to the concerns of the viewpoint
and hides other details [2] [4]. This section deals how the framework and view point
evolved from the algorithm through several stages. It clearly portrays that the introduction of ADT and layered approach paved a way towards the frameworks era. The
next subsection deals how the various standard architectural frameworks evolved.
2.2 Evolution from 1995 to 2010
The necessity of frameworks in defense side applications and the encouragement of
U.S government to new architecture led to the C4ISR Architecture Framework in
1996. In 2003, The Department of Defense Architecture Framework (DODAF) was
released which restructured the C4ISR framework ver2.0 [7][8].This version was later
restructured and released as The Department of Defense Architecture Framework
(DODAF) in 2003 [7] [8]. The Open Group Architecture Framework (TOGAF)
was developed by the members of open architecture forums in 1995. Recently in
2009, TOGAF Version 9 was released [9].
The Federal enterprise Architecture Framework (FEAF) was developed in 1999
by the Federal Government to integrate its myriad agencies and functions under a single common and enterprise architecture [10]. Treasury Enterprise Architecture
Framework (TEAF) was developed by the US Department of Treasury and published
in July 2000.It was used to support the Treasurys business processes in terms of
products [11].
Based on the distributed processing developments and using the concepts of abstraction, composition and emergence, a reference model RM-ODP was developed by
Andrew Herbert in 1984. A set of UML profiles were included in ODP and
UML4ODP was introduced in 2004 [12].In 2001, Aspect oriented programming came
out by getting the principles of OOPS. It led to the Aspect oriented software development later in 2002.As an opposition to the distributed processing and Modular
programming, the Service Oriented Architecture (SOA) came out and IBM announced Service Oriented Modeling Architecture (SOMA) as the first publicly
announced SOA related methodology in 2004. Based on this concept, the SOMF ver
1.1 was released by Michael Bell to provide tactical and strategic solutions to enterprise problems [13] [14].
12
13
customer to choose the tool. So, the methodologies, techniques and tools used in these
frameworks are considered for the comparison .Parameters used for the comparison in
this paper is listed below.
1. Views / View points: Total number of views defined in the framework
2. Domain: It deals about the domain of applications and services the particular
framework focuses on.
3. Origin: It deals about for whom the framework was developed and in which area
the framework was well suited
4. Focus: It describes the focus of the framework i.e. business, cost, quality and so
on.
5. Phase of SDLC: It discusses in which stage of the software life cycle the particular
framework can be used widely.
6. System development methodology: A system development methodology is like a
framework to structure, plan, and control the process of developing an information
system. Lots of such frameworks have come up over the years, each with its own
recognized strengths and weaknesses. It is not mandatory to use one system development methodology for all projects. Based on the technical, organizational,
project and team considerations, each of the available methodologies can be
followed in specific kind of projects. Mostly used methodologies are Rational
Unified process (RUP), Dynamic system development Method (DSDM), Rapid
Application Development (RAD), Iterative Application Development (IAD),
Linear Application Development (LAD) and Extreme programming (XP).
7. System modeling Technique: The working principle of the system is revealed in
System modeling. These techniques help us examine how the different components
in a system work together to produce a particular result. The tools used for system
modeling are UML, Flow chart, OMG-Model driven Architecture, Interface Definition Language and Object oriented programming.
8. Business Modeling Technique: A business model explains the functions of the
process being modeled. The nature of the process can be visualized, defined, understood and validated by representing its activities and flows. Available techniques are flow chart, functional flow block diagram, control flow diagram, Gantt
chart, PERT diagram, and Integration Definition (IDEF). Recently evolved
methods are Unified Modeling Language (UML) and Business Process Modeling
Notation (BPN).
9. Advantages: It deals with the benefits of using the particular framework.
10.Weakness: It deals with the drawbacks of the framework.
The following section deals the well known frameworks and lists out their comparison criteria.
14
Business Model), and Designers View (Information Systems Model), Builders view,
Subcontractor View, actual system view) to facilitate each player to view the system
in their own particular way. The domain of this framework is mainly on Categorizing
Deliverables. It is well suited for Manufacturing Industries. It focuses mainly on
Business process. It can be used in the Planning stage or Design stage of SDLC [15].
Organizations own system development methodology can be followed if they
apply this framework. System modeling technique such as OMG-Model driven Architecture or Organizations own technique can be followed. BPML is used as the
business modeling technique for this framework. It provides improved professional
communication within community and understanding the reasons for and risks of not
developing any one architectural representation. It provides variety of tools and/or
methodologies [26]. But, it has few weak points also. It may lead to more documentation depending on the cases and it may guide to a process-heavy approach to development. It isnt well accepted by all the developers. It seems in its first appearance as
a top-down approach to developers. It is biased towards traditional and data-centric
techniques.
4.2 NATO Architecture Framework/C4ISR/DODAF
The Department of Defense Architecture Framework (DoDAF) provides the organization of enterprise Architecture (EA) into consistent views. It is well suited for large
complicated systems and interoperability challenges. DoDAF provides multiple
views, each of which describes various aspects of the architecture. They are Overarching All View (AV), Operational View (OV), Systems View (SV), and Technical
Standards View (TV)."Operational views" used here deal with the external customer's
operating domain. It focuses mainly on Architecture data and Business process. It is
used in the Process or Planning stage of SDLC. The Framework does not advice the
use of any one system development methodology. It depends on the organizations
decision. If the system to be developed is larger, then UML tools are likely to be the
best choice for system modeling and IDEF family for business modeling. It defines a
common approach for describing, presenting, and comparing DoD enterprise architectures. Common principles, assumptions and terminologies are used and across the
organizational boundaries architecture descriptions can be compared. It reduces
Deployment costs and reinvention of same system [7]. The weakness of DoDAF is no
common ontology of architecture elements in the framework. Baseline (current) and
objective (target) architectures and business financial plans are not addressed. Usage
of architectures to measure effectiveness is not dealt here [23].
4.3 TOGAF
The Open Group Architecture Framework (TOGAF) provides a comprehensive approach to the design, planning, implementation, and governance of enterprise information architecture. TOGAF identifies many views to be modeled in an architecture
development process. It includes Business Architecture Views, Information Systems
Architecture views, Technology Architecture views and Composite views. The domain of this framework mainly focuses on Business, data and applications. This
framework is developed due to the motivation in Defence side framework. It focuses
15
16
Government can risk allocating too much time and resources to an enterprise architecture description effort yielding potentially little return at significant cost. The Federal
Enterprise Architecture program requires technical and acquisition expertise. The
Federal IT community must keep its eyes on the basic principles rather than near-term
objectives and achievements. The Federal Government has to pay up-front for
the right to exercise options in the future. Concern over territoriality and loss of
autonomy may impede the Federal Enterprise Architecture effort due to long-term,
realignment of Agency functions and responsibilities. It is hard to have common,
cross-Agency models and standards to ensure interoperability [10].
4.6 ISO RM-ODP
The ISO Reference Model for Open Distributed Processing provides a framework
standard to support the distributed processing in heterogeneous platforms. Object
modeling approach is used to describe the systems in distributed environment. The
five viewpoints described by RM-ODP are enterprise viewpoint, information viewpoint, computational viewpoint, engineering viewpoint and technology viewpoint. It
has a domain on information sharing in distributed environment. This framework is
well suited for major computing and telecommunication companies. It focuses mainly
on Business process, Technical Functionality and Solution. It is used in the Processing and communication stage of SDLC. Object oriented method and IAD can be used
as the system development methodology. UML and OMG are widely used for system
modeling and BPML is used for business modeling. It provides lot of details for the
analysis phases of the development of applications. It provides the platform to integrate the requirements from different languages consistently. It provides a set of established reasoning patterns to identify the fundamental entities of the system and the
relations among them. It provides the appropriate degrees of abstraction and precision
for building useful system specifications. It provides a set of mechanisms and common services to build robust, efficient and competitive applications, interoperable
with other systems [17]. RM-ODP has the problem of inter-view and inter-view consistency. A number of cross-view checks have to be done to maintain consistency.
Yet, these checks dont guarantee the consistency [16].
6 Conclusion
This paper summarizes the frameworks based on the important criteria used in industry side or business side applications and it discusses the benefits and drawbacks of
each framework. These points will invoke the user to choose the suitable framework
for their industry, organization and business based on their requirement. Users can
easily identify the supporting tools available for the frameworks of their choice. On
analyzing the work term Focus, we can easily conclude that all the frameworks developed mainly focus on business and IT solutions. In future, we can enhance the
frameworks to focus on quality through effective mapping of frameworks. We can
map ancient Indian architecture styles and patterns to the familiar Frameworks to
yield new frameworks that will focus on quality.
17
References
1. Conely, W.: About Architecture (2009),
http://www.ehow.com/about_4565949_architecture.html
2. Roger Session: A Comparison of Top Four Enterprise Architecture Methodologies, ObjectWatch, Inc. (May 2007),
http://www.objectwatch.com/white_papers.htm
3. Bass, L., Clements, P., Kazman, R.: What is software Architecture? In: Software Architecture in Practice, ch.2, 2nd edn., pp. 19-45. Addison Wesley, Reading (2003)
4. Kruchten, P.: Architectural Blueprints The 4+1 View model of software Architecture.
IEEE Softw. 12, 4250 (1995)
5. Shan, T.C.: Taxonomy of Java Web Application Frameworks. In: Conf. Rec. 2006 IEEE
Int. Conf. e-Business Engg., pp. 378385 (2006)
6. HighBeam Research: Software Framework (2008),
http://www.reference.com/browse/Software_framework
7. U.S. Dept. of Defense: DoD Architecture Framework Version 1.5. (April 23, 2007),
http://www.cio-nii.defense.gov/docs/DoDAF_Volume_II.pdf
8. Kobryn, C., Sibbald, C.: Modeling DODAF Complaint Architectures. (October 25, 2004),
http://www.uml-forum.com/dots/White_Paper_
Modeling_DoDAF_UML2.pdf
9. The Open Group: Module 2 TOGAF9 Components (2009),
http://www.opengroup.org/togaf/
10. U.S. Chief Information officers (CIO) Council: Federal Enterprise Architecture Framework Version 1.1 (September 1999),
http://www.cio.gov/documents/fedarch1.pdf
11. U.S. Treasury Chief Information officer Council: Treasury Enterprise Architecture Framework Version 1 (July 2000), http://www.treas.gov/cio
12. Ignacio, J.: UML4ODP PLUGIN User guide Version 0.9., Atenea Research Group,
Spain (2009), http://issuu.com/i72jamaj/docs/uml4odp_plugin
13. Bell, Michael: Introduction to Service-Oriented Modeling. In: Service-Oriented Modeling:
Service Analysis, Design, and Architecture. Wiley & Sons, Chichester (2009)
14. Buckalew, P. M.: Service Oriented Architecture (2009),
http://www.pmbuckalew.com/soa.htm
15. schekkerman, J.: A comparative survey of Enterprise Architecture Frameworks. Institute
for Enterprise Architecture Developments, Capgemini (2003), http://www.enterprisearchitecture.info
16. Maier, M., Rechtin, E.: Architecture Frameworks. In: The Art of Systems Architecting,
2nd edn., pp. 229250. CRC Press, Florida (2000)
17. Vallecillo, A.: RM-ODP: The ISO Reference Model for Open Distributed Processing. ETSI Informtica, Universidad de Mlaga, http://www.enterprise-architecture.
info/Images/Documents/RM-ODP.pdf
18. Liimatainen, K., Hoffmann, M., Heikkil, J.: Overview of Enterprise Architecture work in
15 countries FEAR Research Project, Ministry of Finance, Finland (2007),
http://www.vm.fi/julkaisut
19. Leist, S., Zellner, G.: Evaluation of Current Architecture Frameworks. University of
Regensburg, Germany (2006),
http://www.dcc.uchile.cl/~vramiro/d/p1546-leist.pdf
18
1,2,3
National Institute of Technology Warangal, India
Indian Institute of Information Technology, Design & manufacturing, Jabalpur, India
5
Communiation Research Centre, IIIT Hyderabad, India
{vinodreddy.nitw,phani.l.gadde,sayeesh.nitw,
aparna.214}@gmail.com,
rammurthy@iiit.ac.in
1 Introduction
Recent technological advancements have made the development of small, low-power,
low-cost, multifunctional, distributed devices, which are capable of wireless
communication, a reality. Such nodes which have the ability to local processing are
called sensor nodes (motes).Limited amount of processing is only possible in a sensor
node.
Wireless Sensor networks are the key to gathering the information needed by
industrial, smart environments, weather in buildings, utilities, home, automation,
transportation systems, shipboard or elsewhere. Recent guerilla warfare counter
measures need a distributed network of sensors that can be deployed using, e.g. an
aircraft. In such applications cabling or, running wires is generally impractical. A
sensor network is required which is fast to maintain and easy to install. A key feature
for current WSN solutions is operation in unlicensed frequency bands, for instance,
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 1924, 2011.
Springer-Verlag Berlin Heidelberg 2011
20
the worldwide available 2.4 GHz band. However, the same band is shared by other
very successful wireless applications, such as Wi-Fi and Bluetooth, as well as other
proprietary technologies. Therefore the unlicensed spectrum is becoming
overcrowded. As a result, coexistence issues in unlicensed bands have been subject of
extensive research. In addition, a large portion of the assigned spectrum is used
sporadically. The spectrum usage is concentrated on certain portions of the spectrum
while a significant amount of spectrum remains unutilized.
The limited available spectrum and the inefficiency in the spectrum usage
necessitate a new communication paradigm to exploit the existing wireless spectrum
opportunistically. Dynamic Spectrum Access is proposed to solve these current
spectrum inefficiency problems. DARPAs approach on Dynamic Spectrum Access
network, the so-called NeXt Generation (xG) program aims to implement the policy
based intelligent radios known as cognitive radios. Defined the first time by J.Miltola
in 1999, cognitive radios are promising solutions to improve the utilizations of the
radio spectrum. The central idea of cognitive radio is to periodically monitor the radio
spectrum, intelligently detect occupancy in the spectrum and then opportunistically
communicate over spectrum holes with minimal interference to active licensed users.
Similar to the existing WSNs, a Cognitive Wireless Sensor Networks (CWSN)
consists of many tiny and inexpensive sensors where each node operates on limited
battery energy. In a WSN, each node both sends and receives data or it is in idle state.
However, in a CWSN, there would be another state called sensing state where the
sensor nodes sense the spectrum to find spectrum opportunities or spectrum holes.
Adding cognition to a WSN provides many advantages. Sensor nodes in a CWSN
can measure and provide accurate information at various locations within the
network. Measurements made within the network provide the needed diversity to
cope with multi-path fading. In addition, a CWSN could provide access not only to
new spectrum (rather than the worldwide available 2.4 GHz band), but also to the
spectrum with better propagation characteristics. In this paper we proposed a novel
two layered approach co-operative for spectrum sensing. Rest of this paper is
organized as follows related work in Section 2, our proposed approach in section 3
and conclusions in the section 4.
2 Related Work
Nodes are grouped into distinct and non overlapping clusters. One of the node among
a cluster is made has cluster head. This cluster-head collect sensor data from other
nodes in the cluster and transfer the aggregate data to the base station. Since the data
transfer to the base station dissipate much energy, so these cluster heads have some
extra energy and more transmission range. i.e they are different from normal nodes.
Since sensor nodes have limited power, power consumption is considered to be one of
the most important issue. Thus care has to be taken in designing a protocol which
consumes less power. Hence in a CWSN, more the sensors who participate in sensing,
more energy is consumed. Thus, we tend to limit the sensing task to some sensors
only. Spectrum sensing is a key task in a cognitive radio. It allows identification of
spectral holes and helps in exploiting them efficiently. The most effective way of
detecting spectrum holes is to detect the primary receivers in the range of secondary
21
3 Motivation
As discussed in the earlier section distributed sensing is a very useful technique for
spectrum sensing. Consider a very large network where the primary users and
secondary users co-exist sharing the spectrum. The secondary users sense the spectrum
22
at regular intervals of time. This time interval (dt) is decided by the permissible latency
for the primary users. The secondary users sense the spectrum, detect the spectrum
holes and use it without causing any harmful interference to the primary user. Since the
secondary network in this scenario is wireless sensor network, it needs a single band of
spectrum to communicate. The best suitable contiguous spectrum available for the
whole network will have very small bandwidth while when we divide the network into
smaller parts (cluster) ,the best available bands for each of the cluster will be relatively
large. Consider the figure where we see 6 regions in a big network. The frequency
band which is free to all the six areas is relatively very less when compared to the
spectrum locally free within the region.
4 Our Contribution
Our idea is to use the locally free spectrum for communication within a cluster. The
whole network is divided into clusters and each cluster is headed by a coordinator
node which has got extra abilities. The coordinator node will communicate with all
the nodes in that particular cluster and Base station. All the data that is to be routed to
the secondary Base Station will be sent first to the co-ordinator node and then the coordinator node communicates with the adjacent co-ordinator. There are two channels
that a co-ordinator maintains with every node and the neighbouring co-ordinator
nodes. They are:
(1). Control channel and
(2). Data Channel
The control channel operates in unlicensed bands (2.4Ghz) and transfers only those
packets which are related to the spectrum sensing activity. The data channel transfers
the data to be routed to the Base Station via sensors. The data channel operates in the
free spectrum bands that are decided centrally by the Base Station.
Procedure:
1) The co-ordinator node senses (in regular intervals) the spectrum to detect the
spectrum holes in that cluster and sends this sensing information via control
channel to the adjacent co-ordinator node. Eventually the base station receives
all the spectrum sensing information.
2) Based on the information the Base Station decides communication frequency
in which the cluster should communicate in order to avoid harmful
interference to the primary user. This information is also sent via control
channel itself.
3) Once the co-ordinator node gets the information about the communicating
frequency bands, it notifies the same to all the sensor nodes (secondary users)
within the cluster.
4) Then all the sensors starts sending the sensing data to the co-ordinator in the
data channel which operates in the locally free bands specified by the coordinator.
23
24
5 Conclusion
In this paper, we proposed a conceptual model of two layered architecture for
Cognitive aided WSN. Considering the challenges raised by Wireless Sensor
Networks, the use of Cognitive Radio appears as a crucial need to achieve satisfactory
results in terms of efficient use of available spectrum and limited interference with the
licensed users. As described in this paper, the development of the Cognitive Radio
aided Sensor Network technology requires the involvement and interaction of many
advanced techniques like cooperative sensing, interference management, cognitive
radio reconfiguration management etc. Energy constraints are the main limitation of
Cooperative Sensing which can be overcome placing some coordinator nodes with
extra power. By doing so the network life time WSN will increase to a greater extent,
also unutilized spectrum can be used more efficiently with good QoS. Also, each node
maintains 2 channels which is an added advantage as the data and control channels
are separated.
6 Future Work
In this paper, we try to give a two layered hierarchy for the cooperative spectrum
sensing. In future we would like to enhance the performance of these wireless sensors
based cooperative sensing by implementing various methods of sensing and also
under some problems like shadowing and fading. As future work we would like to
implement this and find real time results for the proposed model.
References
[1] Akyildiz, I.F., Lee, W.-Y., Vuran, M.C., Mohanty, S.: NeXt generation/dynamic spectrum
access/cognitiveradio wireless networks: A survey. Computer Networks 50, 21272159
(2006)
[2] Ganesan, G., Li, Y.G.: Cooperative spectrum sensing in cognitive radio: Part I: two user
networks. IEEE Trans. Wireless Commun. 6, 22042213 (2007)
[3] Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Gayirci, E.: A Survey on Sensor
Networks. IEEE Communications Magazine (August 2002)
[4] Mitola III, J., Maguire Jr., G.: Cognitive Radio: Making Software Radios More Personal.
IEEE Personal Communications (see also IEEE Wireless Communications) 6(4), 1318
(1999)
[5] Haykin, S.: Cognitive radio: brain-empowered wireless communications. IEEE Journal on
Selected Areas in Communications 23(2), 201220 (2005)
1 Introduction
In a multiprocessor system, many processors and memory modules are tightly
coupled together with an interconnection network. A properly designed
interconnection network certainly improves the performance of such multiprocessor
system. Multistage Interconnection Networks (MIN) are highly suitable for
communication among tightly coupled nodes. For ensuring high reliability in complex
systems, fault tolerance is an important issue. The Gamma Interconnection Network
(GIN) is a class of MIN is popularly used in many multiprocessor systems.
In a gamma interconnection network, there are multiple paths between any source
and destination pair except when source and destination are same. To overcome this
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 2536, 2011.
Springer-Verlag Berlin Heidelberg 2011
26
drawback, many new techniques have been introduced. These techniques have also
improved the fault tolerance capability of the GIN. These networks are Extra Stage
Gamma Network, Monogamma Network, B-network, REGIN, CGIN, Balanced-GIN,
PCGIN, FCGIN and 3DGIN. These network architectures use additional stages,
backward links & alteration in connecting patterns to tolerate the faults. These
networks also suggest the techniques to route packets towards destination in case of
any occurrence of a fault(s).
In this paper, we propose a new network, namely 3D-CGIN a 3 Disjoint CGIN
with alternate source. This network is capable of tolerating two switch or link faults,
by providing alternate source. Its hardware complexity is approximately equal to
PCGIN. We further propose a simple routing algorithm for packet delivery. This
paper is organized as follows Section 2 covers Background and Motivation for this
architecture. Section 3 introduces 3D-CGIN and its Topology, Section 4 focuses on
routing in fault free environment and re-routing techniques to tolerate faults. Section 5
provides comparison of 3D-CGIN with other networks. Concluding remarks are in
section six, followed by acknowledgments and references.
27
In this network, at any switching element three different packets can arrive at the
same time. At stage i any node j can receive input packet from following three nodes:
j, (j - 2i+1 ) and (j + 2i+1 ). These three packets will have 0, 1 and -1 at the ith digit in the
routing tag. This network provides multiple paths between any source and destination
pair using the redundant number representation. However, it provides unique path
when source is same as destination.
28
The stages of CGINn are numbered 0 to n and the connecting patterns are based on
plus-minus 2( +i)(mod n-1) functions. Fig. 2 shows a typical CGIN03 .
Each request in CGINn , carries a routing tag of n digits. The weight of each digit
is determined by the connecting pattern. For a tag digit di , the weight is determined
by the formula : 2( +i)(mod n-1) if di is 1. The routing complexity of CGIN is same as
that of GIN. CGIN reduces the pin count, as it uses 2 instead of 2n-1 connecting
pattern. It reduces the total layout area as well thus, achieving reduction in cost.
CGIN uses the destination tag routing and re-routing to tolerate any arbitrary single
fault. It does not provide strong re-routability. Strong re-routability implies that the
packet can be re-routed at every stage. CGIN provides at least 2 disjoint paths
between any pair of source and destination. However, packet delivery can fail, if the
source is faulty.
Fig. 2. CGIN03
29
transfer of packets. There are two possible faults in the Gamma Network, either a SE
i.e. switching element is faulty or a link connecting two SEs is faulty. When a SE is
faulty, then either the Source or the SE at previous stage should take a decision about
retransmission of packet or re-routing the packet through some intermediate SE. In
case of a link failure, the node connected with it should be able to choose an alternate
path to the destination. In the following section we discuss various techniques used to
tolerate these faults.
Fault Tolerance Techniques. We try to focus on the major attempts made to tolerate
the faults and improve the performance as well as terminal reliability of the Gamma
Network. The majority of the work is done by providing additional hardware or
altering the connection patterns.
Adding Extra Stage. Adding extra stage to the Gamma Network eliminates following
two problems: first, the unique path between a source and destination when S = D and
second, the number of paths for even tag value are less than the number of paths for
odd tag values. To provide multiple paths for S = D, an extra stage is added to the
Gamma Network. The connection pattern for this extra stage can be any stage of
gamma network. The routing tag is again made up of three possible values 1, 0 and
-1. By using an additional bit for the extra stage one can generate the multiple paths
from source to destination. The routing tags are generated in similar manner as that of
the Gamma Network. The routing algorithm is a simple extension of routing in
Gamma Network. The Extra Stage Gamma Network [3] uses this concept to provide
multiple paths; those could be followed to handle the faults.
Providing Back Links. In any multiprocessor system, the memory requests from
processing elements are generated randomly, hence the path or memory conflicts are
inevitable. By increasing switch sizes the path conflicts may be reduced, but memory
conflicts are still unavoidable. Providing extra buffer space will certainly reduce the
memory conflicts, but the implementations become very costly. Therefore, some
networks use Backward Links to provide multiple paths, to cater with path / memory
conflicts. The B-network [4] is the network using this particular fault tolerant
technique. In this technique, the requests blocked due to path / memory conflict, are
simply send back one stage and from there a new path is selected for the packet. In
this approach, the packet may follow any number of back links, and then may get
forwarded to destination. Following are certain features observed with back links 1)
The backward links act as implicit buffers, 2) The backward links at the very last
stage can handle the memory contention, which cannot be done by crossbars.
Providing the Extra Link. Some network architectures use an additional link that may
connect to some additional SE in next stage. The Balanced Gamma Network [5] uses
this approach. It uses the distance tag routing. Two more modified GINs, namely,
PCGIN [6] and FCGIN [6], make use of additional links at 0th stage. In PCGIN, all
the nodes are connected to each other, forming a chain from 0 to N. Using this layout
it ensures at least 2 disjoint paths between any source to destination pair. It uses
backtracking to tolerate faults. On the other side, FCGIN, uses a fully chained
approach at each stage to avoid backtracking. Due to chaining at every stage, it
provides distributed control and dynamic rerouting, hence a better fault tolerance is
provided. These networks are 1 - fault tolerant.
30
31
The function fstraight defines the switch to be visited if a straight link is chosen.
The functions fup and fdown denote the switches visited if we choose up and down
links respectively. Each request in 3D-CGIN also carries a routing tag of n digits.
Each digit in tag can take any of the following three values: 0, 1 and -1. We can use
both the distance tag routing and destination tag routing methods to route a packet to
its intended destination. By distance we mean Distance = D S (Mod N), where D is
the destination and S is the source. Following formula is used, to generate the all
possible routing tags representing the distance between source and destination:
RTDistance = ij 20 ij 21 ij 20 .
(1)
The alternate source / link at stage 0 is used in following cases : 1) The source S is
faulty / non operational, 2) Source S is busy with packets and the current request
needs urgent processing, 3) the buffer of source S is full, due to which the request is
required to wait. The routing algorithm should make a decision about it. Whenever
the packet is transferred to alternate source the routing needs one extra hop
processing.
32
4 Routing in 3D-CGIN
4.1 Routing Algorithm Considering Fault at Initial Stage
In this section, we present an algorithm / strategy for selecting proper link at every
stage. This algorithm considers fault at stage 0, and in case of faulty switch it
forwards the packet to alternate source using the alternate link. The algorithm do not
assumes any fault in further stages.
Algorithm
1. If the source S is faulty at 0th stage then forward the
packet to alternate source for that node i.e. the node
S = S+4.
2. If S=D then always follow a straight link till you
reach destination.
33
34
Network
GIN
0
CGIN
3DCGIN
Total number of paths in GIN and CGIN are 27. In 3DCGIN, the total number of
paths are 54 i.e. 2* paths in GIN or CGIN. 3DCGIN use disjoint paths for routing the
packets. Alternate source ensures at least 3 disjoint paths between any source to
destination. In case, after rerouting in faulty environment, a packet reaches back to the
source, the third disjoint path from alternate source is used. Table 2 shows the number
of disjoint paths in various networks.
Table 2. The maximum number of disjoint paths for every tag in a network of size 8
Tag Values
Network
0
GIN
CGIN03
3DCGIN
3DCGIN ensures 3 disjoint paths for every tag value. 3-Disjoint GIN is a network
ensuring at least three disjoint paths, but the algorithms used are complicated. In
comparison to it, 3DCGIN provides very simple routing strategy, along with an
ability to tolerate single fault at input stage. Table 3 shows a comparison of various
GINs and CGINs.
35
Multiple Paths
Faults Robust
Distance Tag
CGIN
Disjoint Paths
1 Fault-tolerant
PCGIN
Disjoint Paths
1 Fault-tolerant
Destination Tag
FCGIN
Multiple Paths
1 Fault-tolerant
Destination Tag
3DGIN
Disjoint Paths
2 Fault-tolerant
2 Fault-tolerant
6 Conclusion
In this paper, a new concept 3D-CGIN is introduced. This network provides alternate
source at initial stage, which guarantees packet delivery in case of busy / faulty
source. The remaining stages follow CGIN type connection patterns. Due to alternate
source, this network ensures at least 3 disjoint paths between any source and
destination pair. The alternate source also doubles the redundant paths between any
source and destination pair. The paper proposes a simple routing algorithm, which
uses the concepts of Distance Tag routing. In order to provide dynamic re-routing, our
network is compatible with Destination Tag routing technique. Being at least 3
disjoint path network, it guarantees at least 2 switches or link fault tolerance. Though
this network provides dynamic re-routing facility, it is not a strongly re-routable
network. There is much more work remaining for finding the capabilities of this
network, making it strongly re-routable, and checking the terminal reliability. We are
working in this direction.
Acknowledgments. We wish to thank Mr. Rakesh Pandey for his apt help in
analysing the proposed network.
References
1. Parker, D.S., Raghavendra, C.S.: The Gamma Network: A Multiprocessor Interconnection
Network With Redundant Paths. IEEE, Los Alamitos (1982)
2. Parker, D.S., Raghavendra, C.S.: The Gamma Network. IEEE, Los Alamitos (1984)
3. Lee, K.Y., Hegazy, W.: The Extra Stage Gamma Network. IEEE, Los Alamitos (1988)
4. Lee, K.Y., Yoon, H.: The BNetwork: A Multistage Interconnection Network With
Backward Links. IEEE, Los Alamitos (1990)
5. Venkatesan, R., Mouftah, H.T.: Balanced Gamma NetworkA New Candidate For
Broadband Packet Switch Architectures. IEEE, Los Alamitos (1992)
36
6. Chen, C.W., Lu, N.P., Chen, T.F., Chung, C.P.: Fault Tolerant Gamma Interconnection
Networks By Chaining. IEEE Proceedings (2000)
7. Tzeng, N.F., Chuang, P.J., Wu, C.H.: Creating Disjoint Paths In Gamma Interconnection
Networks. IEEE, Los Alamitos (1993)
8. Chuang, P.J.: CGIN: A Modified Gamma Interconnection Network with Multiple Disjoint
Paths. IEEE, Los Alamitos (1994)
9. Chuang, P.J.: Creating a Highly Reliable Modified Gamma Interconnection Network
Using a Balance Approach. IEEE Proceedings (1998)
10. Chen, C.W., Lu, N.P., Chung, C.P.: 3Disjoint Gamma Interconnection Network. The
Journal of Systems and Software (2003)
1 Introduction
A wireless sensor network (WSN) is a special kind of ad hoc networks that consists of
a number of low-cost, low-power wireless sensor nodes, with sensing, wireless
communications and computation capabilities [1], [2], [3]. These sensor nodes
communicate over a short range via a wireless medium and collaborate to accomplish
a common task, like environmental monitoring, military surveillance, and industrial
process control [3]. Wireless sensor networks have open up for new opportunities to
observe and interact with the physical environment around us. They enable us now to
collect and gather data that was difficult or impossible before [4]. With the
advancement of wireless sensor network technology fueled by dropping cost of sensor
nodes, it is expected that the future world will be very much dependable on this
wireless technology. It is expected that the wireless sensor networks will find wide
applicability and increasing deployment in the future.
However, usually most of the wireless sensor networks deployments so far are
application specific due to resource constraints like limited amount of memory,
computation power and energy source of sensor nodes [5]. Due to these limitations,
most of the previous works on wireless sensor networks have been aimed at how to
decrease the energy consumption thereby improving the life time of the network. This
nature of a single application support of wireless sensor networks have tremendously
limits their commercial deployment in many real life applications where multiple
*
Corresponding author.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 3745, 2011.
Springer-Verlag Berlin Heidelberg 2011
38
2 Motivation Scenarios
In this section, we bring out two scenarios where and in which situation the proposed
system could be used in real life deployment of wireless sensor networks.
Scenario A
Consider a corporate industry that employs a wide range of sensors for monitoring
different applications. Since the wireless sensor network are usually application
specific running one application per wireless sensor network, the minimum
requirement for setting up a single wireless sensor network would be, one sink node,
several sensing nodes, cluster heads if heterogeneous nodes are deployed and the
system which manages the network. Let us look at below scenarios:
1.
For the above three applications, the organization requires three different wireless
sensor networks to provide three different services. The total investment cost will be
reduced if all these three applications can be made to run simultaneously on a single
wireless sensor network infrastructure.
Scenario B
Let us assume that the department of forest had set up wireless sensor network to
detect and monitor the forest fire in the region of interest. After few years, the
department even wants to monitor the illegal timber extraction from that same forest.
In this situation, the cost of setting up the wireless sensor network to monitor the
illegal timber extraction could be reduced if we can make use of the existing wireless
sensor network infrastructure which monitors forest fire.
If we observe the above two scenarios, we would find different applications which
requires different treatments. We can group these applications into three categories as
39
ii
In this paper, we mainly focus on the first research question, how to design a system
which supports multiple applications satisfying their individual requirements.
3 Related Works
In this section, we describe some of the similar works previously done. Running
multiple applications on a single wireless sensor network can be possible in two ways.
One way is to run all the applications simultaneously and the other way is to run
applications in a predefined sequence. The application concurrency in wireless sensor
networks can be divided into two categories [8]:
40
example, the fire may not be detected if the fire is occurred during the group of
sensors which is supposed to detect fire is in sleep mode. The proposed system tries to
overcome this drawback by making all the applications run simultaneously.
In [6], an architecture based on scoping technique is proposed. A scope is defined
as a group of nodes that are specified through a membership condition. The proposed
architecture stresses that the sensor nodes are not addressed individually by some
addresses, but by their properties or context. Based on the scope, the system creates
subsets of nodes within the network. The membership conditions are specified at
different levels, e.g. like properties of nodes. In this way, the scoping suggests how to
separate different tasks both at the node level and the network level.
A multiple service support wireless sensor network based on routing overlay is
proposed in [9]. It mainly focuses on the routing issues by deploying different sink
nodes for different applications. The similar approach is also discussed in [10]. In [9],
the nodes are made to registers with the applications with the help of application join
message advertise by the applications. In this way, different groups of nodes are formed
for each application. The intermediate node which receives messages for application, to
which it is not registered, act as a relay and forward the message to the nodes nearer to
the gateway. It is assumed that the nodes which are nearer to the gateway are made to
act as relays whereas the nodes which are far away from gateways are made to act as
sensing nodes, in order increase the lifetime of the network.
Our research proposal is inspired by Agilla [11] where it adopts a mobile agentbased system where programs are composed of mobile agents and move across the
nodes in the network during run time. However, in contrast to Agilla, our mobile
agent will not be moving continuously across the nodes. We use the mobile agent to
distribute the application codes when we set up new application only. More detail
description regarding the proposed system is given in the following sections.
4 Proposed Architecture
In this section, we give an overview and system design aspect of our proposed
architecture for running multiple applications simultaneously on a single wireless
sensor network infrastructure.
4.1 System Overview
Usually wireless sensor nodes are preprogrammed to accomplish a specific
application due to their limited resources [8]. These limitations have restricted
wireless sensor networks to be deployed commercially where multiple applications
are required to be run on a single wireless sensor network infrastructure. After
deployment of the wireless sensor nodes it would be very difficult to collect and reprogram the nodes to suite the changing requirements. It is also observed that the cost
of sensor would be decreasing as per the current trend and the rate of advancement on
the field of electronics. With this technological advancement, it is anticipated that the
many commercial organizations and industries would be deploying wireless sensor
network and would be running concurrent applications on a single wireless sensor
networks in order to reduce the management cost and increases the utilization of the
system.
41
42
43
44
References
1. Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless sensor networks: a
survey. Computer Networks 38(4), 393422 (2002)
2. Kemal, A., Mohamed, Y.M.: A Survey on routing protocols for wireless sensor networks.
Ad Hoc Networks 3, 249325 (2005)
3. Singh, S.K., Singh, M.P., Singh, D.K.: Routing protocols in Wireless Sensor Networks-A
Survey. International Journal of Computer Science & Engineering Survey (IJCSES) 1(2)
(2010)
4. Chu, D., Deshpande, A., Hellerstein, J.M., Hong, W.: Approximate Data Collection in
Sensor Networks using Probabilistic Models. In: Proceedings of the 22nd International
Conference on Data Engineering, ICDE 2006 (2006)
45
Abstract. The developments in the eld of internet allow users in almost all the professional areas for exploiting the opportunities oered
by the ability to access and manipulate remotely-stored images. The
large multimedia database has to be processed within a small fraction
of seconds for many of the real time applications. This demand of using
the technique of content based image retrieval (CBIR) as a scheme for
searching large database for image retrieval has addressed some of the
issues that need to be solved for having an ecient system. The paper
focuses on the issues of image retrieval and also suggests a method to
get an accurate result by using a hybrid search methodology. The paper
works in two phases- in the rst phase it works with genetic algorithm to
get a local optimal result and in the second phase, it works with neural
network to get a global optimal result.
Keywords: Content based Image Retrieval (CBIR), Genetic Algorithm
(GA), and Neural Network.
Introduction
The recent advances in the digital technologies have created a great demand
for organising the available digital images for easy retrieval [1]. The retrieval
of similar images based on a query from the large digital image database is a
challenging task. A content based image retrieval system, commonly known as
image search engine is used for image retrieval of relevant query similar images
from the large digital image database. The term has been widely used to describe
the process of retrieving desired images from a large collection on the basis of
features that can be automatically extracted from the images themselves. The
features used for retrieval can be either primitive or semantic, but the extraction
process must be predominantly automatic[2]. The applications of image retrieval
system include areas such as medical imaging, criminal investigation, computer
aided design etc. The CBIR technique is an emerging technology that attracts
more and more people from dierent elds such as computer vision, information
retrieval, database systems, machine learning [3]. But there are some problems
which are becoming widely recognised such as the semantic gap between low-level
visual content and higher level concepts and the high computational time taken
for image analysis, image indexing and image searching. This work proposes a
solution for the second issue, which will make the system more ecient with less
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 4655, 2011.
c Springer-Verlag Berlin Heidelberg 2011
47
computational time for image analysis, searching and image retrieval. In this
proposed work, the optimal image retrieval scheme is aimed by implementing
genetic algorithm.
The content based image retrieval system works by extracting several textual
features and these features are used for analysing and retrieving the optimal
image results for the query from the user. Genetic algorithm is used as the
optimisation technique for getting a local optimal result and this result is trained
to an optimal result by using neural network. There are so many issues like
selecting the good features, large computational time, large storage space etc.
as addressed in the papers[3][4][5].
The paper is organised as follows: Section two presents the related works
which includes a review of the retrieval techniques so far developed, an overview
of genetic algorithm and neural network. Section three describes the block diagram and the section four discussed algorithm of the proposed solution. Section
ve presents a proposed Implementation Methodology and section six gives the
conclusion and remarks.
Related Works
Neural network and Genetic algorithm are used for learning and optimization.
Recently there had an attempt to combine these two technologies. As mentioned
in the paper [6], they proposed a hybrid model for content based mammogram
retrieval which is demonstrated as two stages, and in rst stage they dealt with
Self organising Map (SOM) neural network for clustering images and in second
stage used Genetic algorithm search. But in this paper, the rst stage genetic
algorithm is used for local optimal result and this result is trained to an optimal
result by using neural network.
A brief description of an overview of Content Based Image Retrieval (CBIR),
Genetic Algorithm and Neural Network are the following:
2.1
Overview of CBIR
The word Content Based says that the retrieval of images are taking place
rather than the metadata like keywords, tags, descriptions etc. Retrieval of images based on the content which refers to colours, shapes, textures or any other
information that can be derived from the image itself. The demand for using
large multimedia database for the various real time applications have addressed
many issues in the eld of content based image retrieval. They can be addressed
mainly as
Image storage problem
Image retrieval problem
Humans manually enter keywords for image retrieval in a large database can be
inecient and are dicult to capture every keyword that describes the image,
which was the process in the traditional search methodology. CBIR will help to
lter images based on the content and return more accurate results.
48
The process of content based image retrieval is that, images visual contents are
extracted and described by multidimensional feature vectors and which forms a
feature database. When the user gave an image query or sketched gure the system changes the image into feature vector. The system will check the similarities
with the featured image database then the retrieval is performed with an indexing method which provides an ecient way to search for the image database.
After the retrieval of image, the users can feedback to modify the process of
retrieval for more accurate results [4].
Classications of query types are into three levels [7].
Level 1 comprises primitive features such as colour, texture, shape or the
spatial location of image elements etc. For example, query might include
nd images containing yellow stars arranged in a ring, which is both objective and directly derivable from images themselves, without the need to
refer to any external knowledge base. Its use is largely limited to specialist
applications such as trademark registration, identication of drawings in a
design archive or colour matching of fashion accessories[7].
Level 2 comprises retrieval by derived (logical) features, involving some degree of logical inference about the identity of the project depicted in the
image. It can usefully be divided further into i) Retrieval of objects of a
given type, example: nd pictures of a double Decker bus; ii) Retrieval of
individual objects or persons, example: nd a picture of the Eiel Tower;[7]
Level 3 comprises retrieval by abstract attributes, involving a signicant
amount of high level reasoning about the meaning and purpose of the objects or scene depicted. Again this level of retrieval can be subdivided into:
i) Retrieval of named events or type of activity, example: nd pictures of
Scottish folk dancing; ii) Retrieval of pictures with emotional or religious
signicance, example: nd a picture depicting suering; [7].
The CBIR technology can be of mainly four types [1][7]
1) Retrieval based on Colour feature: Histograms are generally used for describing colour feature of the images [8], which shows the proportion of pixels
of each colour within the image. Each images of colour histogram are added
to the database. User can either specify the colour or can give the image
from which colour histogram is calculated. The matching technique such as
histogram intersection is used to retrieval the images based on the colour
feature.
2) Retrieval based on Textural feature: Another important property of image
is Texture. For measuring texture similarity a variety of techniques has been
used. Texture representation schemes can be broadly classied as Structural
and Statistical. Texture queries can be formulated in a similar manner to
colour queries, by selecting examples of desired textures from a palette, or
by supplying an example query image. The system then retrieves images
with texture measures most similar in value to the query.
49
Genetic algorithms are used as nature inspired adaptive algorithms for solving
real time practical problems. Genetic Algorithms search algorithms based on
the mechanisms of natural selection and natural genetics, survival of ttest and
randomized information exchange. GA was rst introduced by John Holland
for the formal investigation of the mechanisms of natural adaptation, but the
algorithms have been modied to solve computational search problems.
The genetic algorithm is a probabilistic search algorithm that iteratively
transforms a set (called a population) of mathematical objects (typically xedlength binary character strings), each with an associated tness value, into a
new population of ospring objects using the Darwinian principle of natural selection and using operations that are patterned after naturally occurring genetic
operations, such as crossover and mutation [10].
Genetic algorithm works with the operators like:
Selection - GA selection operators perform the equivalent role to natural
selection. The overall eect is to bias the gene set in following generations to
those genes which belong to the most t individuals in the current generation
[11].
50
Fig. 1. GA Cycle
2.3
51
Block Diagram
The paper works in two phases. The rst phase is done using genetic algorithm
as a local search optimisation technique. Features are extracted from the query
images and compared with the images in the image database. Based on a tness
function, the relevant features are given more priority and they are shown as the
result of the rst phase. The result of the rst phase is given as the input to the
52
second phase. In the second phase the result of the rst phase is trained with the
input image. In this phase neural network is used to train the rst stage result,
so that the dierence between the input image and the local optimal result is
minimised and thereby getting into a global optimal result.
In the rst phase, an initial set of possible solutions are evaluated based on a
tness function. The population contains chromosomes and these chromosomes
contain the genes. Each gene represents an image segment. For each segment the
various features of the object are studied and coded to a gene. Various operators
like selection, crossover and mutation operators are applied to obtain the t
members of the next generation.
Fitness function is used to evaluate the individual or chromosome quality
in the population. So the tness function (F) of image query (q) and chromosomes(c) are,
(1)
Where w is the weight of feature, h is the feature of images and x is the
image region. The selection operator selects the members for the mating pool
by a probabilistic approach. It calculates the probability [13] of an individual to
get selected when it is in a population using equation (2).
53
(2)
Where N is the number of individuals in the population and is the tness value
associated with each individual. A roulette wheel scheme is used commonly. In
the mating pool, exchange of the chromosome material will happen during the
crossover operation. Two individuals will mate each other to form two other individuals. The next operator is mutation. Mutation is basically any changes in
the environment creating a signicant change in the genetic make-up of an organism[18]. The probability of mutation is made very less. The genetic algorithm is
an iterative process[19]. Search process using GA is controlled by certain control
parameters like crossover probability, mutation probability, population size etc.
The output of the rst phase is the local optimal results which serve as the
input to the next stage. This output is trained using the least mean square
convergence method of neural network. The LMS algorithm is an adaptive algorithm based on the gradient based approach [12]. LMS incorporates an iterative
method of updating the weight vector based on the dierence calculated from
the feedback input image query with the set of local optimal result obtained
from the rst phase. The procedure leads to a minimum mean square error. The
result thus obtained after the second phase is a global optimal result.
Algorithm
54
for feature based retrieving images from database will be used with MATLAB,
which is an ecient program vector and matrix data processing [21].
Conclusion
The proposed algorithm for retrieval of an ecient image from a large database
used by a hybrid search methodology was described. The algorithm includes Genetic Algorithm and Neural Network. The content based image retrieval system
has worked by extracting several textual features and these features were used
for analyzing and retrieving the optimal image results for the query from the
user. The procedure described in this paper works in two phases, and two phase
model can oer more accuracy and speed than single phase. In the rst phase
Genetic Algorithm has been used as the optimization technique for getting a
local optimal result and in the second phase the result from the rst phase has
been used to train the Neural Network for getting the best results.
References
[1] Yang, H., Zhou, X.: Research of Content based Image Retrieval Technology. In:
Guangzhou, P.R. (ed.) Proceedings of the Third International Symposium on
Electronic Commerce and Security Workshops (ISECS 2010), China, July 29-31,
pp. 314316 (2010)
[2] Konstantinidis, K., Andreadis, I.: On the use of color histograms for content based
image retrieval in various color spaces. In: ACM Proceeding ICCMSE 2003 Proceedings of the International Conference on Computational Methods in Sciences
and Engineering ISBN:981-238-595-9
[3] Deb, S., Zhang, Y.: An Overview of Content-based Image Retrieval Techniques. In:
IEEE Proceedings of the 18th International Conference on Advanced Information
Networking and Application, AINA 2004 (2004)
[4] Fundamentals of content-based image retrieval,
www.cse.iitd.ernet.in/~ pkalra/siv864/Projects/ch01_Long_v40_proof.pdf
[5] Melanie, M.: An Introduction to Genetic Algorithms
[6] Jose, T.J., Mythili: Neural Network and Genetic Algorithm based Hybrid model
for content based mammogram Image Retrieval. Journal of Applied Sciences 9(19),
35313538 (2009) ISSN 1812-5654, Asian Network for Scientic Information
[7] Content-based Image Retrieval - JISC,
http://www.jisc.ac.uk/uploaded_documents/jtap-039.doc
[8] Eakins, J.: Content-Based Image Retrieval. Margaret Graham University of
Northumbria at Newcastle. Report (October 39, 1999),
http://www.cse.iitd.ernet.in/ pkalra/
siv864/Projects/ch01 Long v40 proof.pdf
[9] Varghese, T.A.: Performance Enhanced Optimization based Image Retrieval
System. IJCA Special Issue on Evolutionary Computation for Optimization
Techniques, ECOT, 3134 (2010)
[10] Rezapour, O.M., Shui, L.T., Dehghani, A.A.: Review of Genetic Algorithm Model
for Suspended Sediment Estimation. Australian Journal of Basic and Applied
Sciences 4(8), 33543359 (2010) ISSN 1991-8178
55
1 Introduction
The goal of a compiler and processor designer is to achieve high level parallelism
among the instructions as much as possible. So to utilize the parallelism, possible in a
loop we use the architecture SIMD type vector architecture. Ordinary programs are
typically written under a sequential execution model where instructions execute one
after the other and in the order specified by the programmer. ILP allows the compiler
and the processor to overlap the execution of multiple instructions or even to change
the order in which instructions are executed. To achieve the maximum parallelism in
a loop we do loop unrolling and loop peeling [1],[5]. Here we will be unrolling to a
size of 4 as our architecture supports short vectors of size 4. Peeling is done to make
the no. of iterations in a loop to be a multiple of our vector size 4 and then
vectorization [6] is done accordingly.
MachineSUIF is a flexible and extensible infrastructure for constructing compiler
ends [8]. MachSUIF works upon a working compiler based on the Stanford SUIF
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 5662, 2011.
Springer-Verlag Berlin Heidelberg 2011
57
compiler infrastructure (version 2.1)[3]. By using the MachSUIF we can build new
optimizations [2] that are parametrizable with respect to the target machine and
portable across compiler environments and add support for new target architecture.
MachSUIF provides libraries like control flow and data flow libraries which provide
abstractions that aid in the coding of certain kind of optimizations.
1.1 SIMD-Vector Architecture
The performance of a vector processor can also be enhanced by introducing
parallelism in vector processing. This parallelism can be implemented by adding the
superscalar issue in vector processor. In vector architecture all the vector instructions
are executed in sequence. SIMD type vector processor will take into account the
advantages of both; the vector processor and the superscalar processor. In this
processor architecture we work on short vector of vector length four. SIMD vector
processor issues one vector instruction at a time which has four set of vector
operands. All four operations are executed simultaneously. So for this simultaneous
execution we need four independent processing units. This will increase the
complexity of our hardware but throughput of the system will be increased. Our
SIMD vector processor issues the instructions in-order and executes the instruction
out-of-order and we shall get the result in order. Out of order execution provides us
maximum throughput. All the vector instructions are issued and buffered into
instruction cache. After checking the dependencies among the instructions,
independent instructions are sent to execution units. Here out-of-order execution takes
place. When one vector instruction is decoded, it is sent to execution unit. Since
vector length is four so all four operations are send to four different ALU. SIMD
vector architecture has no scalar execution unit. It is also possible that vector
instruction should have less than four words. To handle this situation remaining
vector words are hard wired to zero. In tradition vector processor to improve the
performance chaining is used but in SIMD architecture chaining [4] is not used.
58
The program code is decomposed into its IR consisting of operations with minimal
complexity i.e. in primitive or atomic instructions. Then this IR description of the
program code is organized into control data flow graph with primitive instructions as
its nodes and edges denoting control and data dependencies [7]. Before the CDFG is
created we do loop unrolling and peeling. After the CDFG is computed we do
vectorization according to the SIMD type vector processor architecture. The flow
graph of the proposed work is shown in fig.1. The shaded blocks on the figure shows
59
the available passes of the MachSUIF infrastructure. The c2suif pass converts the
input ANSI C code to the SUIF frontend i.e. the code is preprocessed and its SUIF
representation is emitted. After c2suif loop unrolling and peeling is done by a custom
made pass which does it according to our architecture. In this pass at first the SUIF
file is converted to the ANSI C code and then the loop unrolling and peeling is done
on this C code. The peeling is done in such a manner that the number of iterations
would become a multiple of 4 and unrolling is done for a size of 4. After the unrolling
and peeling the pass again converts the C code to SUIF IR. The 3rd step is do_lower
pass or an equivalent pass with all necessary transformations which is provided with
SUIF. In this step several machine independent transformations is done like
dismantling of loop and conditional statements to low-level operations. By doing the
do_lower we translate the higher SUIF representation to lower SUIF representation.
To convert lower SUIF representation to SUIFvm representation an s2m compiler
pass is used which is available in MachSUIF. After s2m, architecture independent
optimizations are done on IR and a CFG (Control Flow Graph) is created by pass
il2cfg. A CFG form is got in which the dagconstruct pass parses on each node of the
CFG and constructs a corresponding CDFG. By this we get a CDFG of each node and
according to the data dependencies between the instructions the vectorization is done
which is done by the vectorization pass.
The C code segment to be unrolled is the Kernel 5 (tri-diagonal elimination) of
Livermore Loops coded in C [9]:
for ( l=1 ; l<=loop ; l++ ) {
for ( i=1 ; i<n ; i++ ) {
x[i] = z[i]*( y[i] - x[i-1] );
}
}
argument = 5;
TEST( &argument );
Fig. 2. DFG for the inner loop of kernel 5 of Livermore Loops before unrolling
60
In figure 2 we can notice that the parallelism is not achievable like in figure3. For the
proposed architecture we have taken the vector length to be 4. So after unrolling the
inner loop of the kernel, the result is:
for(l = 1;l<= loop;l += 1) {
for(i = 1;i< (n- 4);i += (1* 4)) {
(((x))[i])=(((((z))[i])*((((y))[i])-(((x))[(i-1)]))));
(((x))[(i+(1*1))])=(((((z))[(i+(1*1))])*((((y))[(i+(1*
1))])-(((x))[((i+(1* 1))-1)]))));
(((x))[(i+(1*2))])=(((((z))[(i+(1*2))])*((((y))[(i+(1*2
))])-(((x))[((i+(1*2))-1)]))));
(((x))[(i+(1*3))])=(((((z))[(i+(1*3))])*((((y))[(i+(1*3
))])-(((x))[((i+(1*3))-1)]))));
}
for(;i< n;i += 1) {
(((x))[i])=(((((z))[i])*((((y))[i])-(((x))[(i-1)]))));
}
}
DFG of the above code is as in figure 3. By looking into the DFG of the both code ie
the fig.2 and fig.3 we can see the parallelism is more prominently seen at fig3. In fig.3
we can see that 4 separate similar arrangement of blocks which do not have any data
dependency. As no dependency we are able to process them simultaneously. Here we
get 4 separate blocks as we have unrolled to size 4. We have done this basically as our
hardware is having vector size of 4.
Fig. 3. DFG for the inner loop of kernel 5 of Livermore Loops after unrolling
If the no. of iterations is not a multiple of vector length then loop peeling is done.
In the SIMD vector architecture there is no scalar processing so by peeling in the code
61
below after vectorization we would get a vector with 3 data at first i.e. the 4th data
would be hardwired to zero. The no. of instructions to be peeled is found by modulus
of no. of iterations by vector length. For e.g.
for(i=0;i<99;i++)
{
x[i]=y[i]+z[i];
}
Then no. of instruction to be peeled is 3.So the peeled and unrolled loop code is:
x[0]=y[0]+z[0];
x[1]=y[1]+z[1];
x[2]=y[2]+z[2];
for(i=3;i<100;i+=4)
{
x[i]=y[i]+z[i];
x[i+1]=y[i+1]+z[i+1];
x[i+2]=y[i+2]+z[i+2];
x[i+3]=y[i+3]+z[i+3];
}
After this, the code is transformed into vector instructions. And in the SIMD vector
processors, it is executed with much better efficiency than the scalar or vector
instructions. By vectorization in the SIMD architecture, the advantage is that the
instruction is to be decoded, only once while in other architectures each instruction
would have to be decoded every time. By having the SIMD architecture all the four
instruction would be executed at once which is not possible in vector architecture. So
here we can see that we have saved time to decode 3 instructions and all 4 instructions
are executed at once. No. of iteration also have been decreased from 100 to 25.
3 Conclusions
In this paper we have presented SIMD vector architecture which is taking the benefit
of superscalar processor and as well as vector processor. As vector processor uses
deeply pipelined functional unit, the operation on elements of vector was performed
concurrently. We have taken the benchmark as Kernel 5 (tri-diagonal elimination)
of Livermore Loops coded in C. SIMD vector processor implements parallelism on
short vectors having four words. The operation on these words is performed
simultaneously i.e. the operation on these words is performed in one cycle. This
reduces the clock cycles per instruction (CPI). The parallelism in vector processing
requires superscalar issue of vector instructions. By vectorizing we decrease the no. of
iterations from 100 to 25 if we have taken the no. of iterations in the original loop as
100. Assuming each instruction takes one clock cycle for execution. In SIMD vector
architecture the inner loop of code is executed in 35*25= 875 cycles. While in scalar
architecture it takes 35*99+27= 3492 cycles. Here the performance is directly
dependent on the data dependency. If the data dependency is high then the parallelism
62
will be highly decreased i.e. the parallelism is directly proportional to the data
dependency. So ideally by using SIMD vector architecture we gain speedup factor of
four i.e. the SIMD type vector processor would be executing 4 times faster than the
scalar processors.
References
1. Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann,
San Francisco (1997)
2. DeVries, D., Lee, C.G.: A Vectorizing SUIF Compiler. In: Proceedings of the First SUIF
Compiler Workshop, pp. 5967 (January 1995))
3. Wilson, R.P., French, R.S., Wilson, C.S., Amarasinghe, S.P., Anderson, J.M., Tjiang,
S.W.K., Liao, S.W., Tseng, C.W., Hall, M.W., Lam, M.S., Hennessy, J.L.: SUIF: An
Infrastructure for Research on Parallelizing and Optimizing Compilers. In: ACM SIGPLAN
Notices, vol. 29(12), pp. 3137 (December 1994)
4. Astanovic, K.: The Torrent Architecture Manual. University of California, Berkeley (1994)
5. Bacon, D.F., Graham, S.L., Sharp, O.J.: Compiler Transformations for High-Performance
Computing. ACM Computing Surveys 26(4) (December 1994)
6. Nuzman, D., Zaks, A.: Outer-Loop Vectorization - Revisited for Short SIMD Architectures.
In: PACT 2008, Toronto, Ontario, Canada, October 25-29 (2008)
7. Kavvadias, N., Nikolaidis, S.: Application Analysis with Integrated Identification of
Complex Instructions for Configurable Processors. In: Proc. of the 14th Intl. Workshop on
Power and Timing Modeling, Optimization and Simulation, Santorini, Greece, September
15-17, pp. 633642 (2004)
8. Smith, M.D., Holloway, G.: An introduction to Machine SUIF and its portable libraries for
analysis and optimization. Tech. Rpt., Division of Eng. and Applied Sciences, Harvard
University, 2.02.07.15 edition (2002)
9. McMahon, F.H.: The Livermore Fortran kernels:A computer test of the numerical
performance Range. Lawrence Livermore National Laboratory, Livermore (December 1986)
Abstract. Optimizing compilers play a crucial role in making a computer program ecient. Many optimizing techniques are used to improve the performance of a program written in high level language. The
dierent types of optimizations techniques include data-ow optimization, control ow optimization, SSA-based optimization, loop optimization, code generator optimization, functional language optimization etc.
Some optimizations are done early during the compilation or optimization phase since they help or improve further optimizations. Some of
the early optimizations are value numbering, constant folding, constant
propagation, copy propagation, scalar replacement of aggregates etc. We
propose here an extension to the existing technique of early optimization
- Global Value Numbering. The value graph method used for global value
numbering is utilized. The idea is to include some algebraic simplication and error detection during the value numbering phase itself. This is
benecial since we can improve an existing technique without incurring
any additional cost and it gives a scope to increase the eciency of other
optimizations.
Keywords: early optimization, global value numbering, value graph,
algebraic simplication, error detection.
Introduction
64
registers and the like. Some other optimizations may be done after nal code
generation. They attempt to change the assembly code into more ecient one.
Majority of the optimizations are in some way inter-related. One optimization may aect or improve the other. Thus determining the order of performing
dierent optimizations is of much importance. Phase ordering is not an easy
task. Many optimizations could be done in any order, but their interaction will
determine the eectiveness of many other optimizations [7]. In general the optimizations that will improve or help in most of the other optimizations are
performed early during the compilation1 process or optimization2 phase.
Value numbering technique considered here is a data ow dependent3 early
optimization4 [4]. It can be applied to basic blocks or to the entire procedure.
65
66
Proposed Solution
We propose here an extension to Global Value Numbering. The proposed technique performs some algebraic simplications and error detection along with
global value numbering. The value graph method to nd equivalent computations is used to perform these additional jobs. In addition to identifying equivalent computations and eliminating redundancy, the value graph is used to simplify the computations by using algebraic laws after identifying the operator and
to detect errors.
Algebraic simplications are mainly based on the properties of existence of
identity and existence of inverse. The algebraic properties applied to the value
graph are listed below.
a
a
0
a
a
a
a
+0=0+a=a
-0=a
- a = -a
-a=0
*1=1*a=a/1=a
*0=0*a=0
/a=1
b
b
b
b
Using this extension to GVN will help to improve the eciency of optimizations
like constant folding, dead code elimination etc. Also error detection during
optimization phase is possible.
Consider the code snippet in Fig.3. This will illustrate the eectiveness of
applying the proposed optimization technique.
To apply the proposed method, value graph constructed for GVN is used. The
value graph corresponding to the code above is shown in Fig.4.
67
The value graph is used to determine equivalence of operands & interpret the
operations. In the value graph we can replace an expression with a single value
(variable/constant) which is the result of computation, by applying the proposed
simplications. After applying the proposed technique, the resulting value graph
will be as shown in Fig.5.
Providing this extension to Global Value Numbering improves further optimizations like constant folding, algebraic simplication, dead code elimination,
if simplication etc. Some examples that improve other optimizations are illustrated below.
Constant folding
x/x1
x*00
68
Algebraic simplication
x/1x
x*1x
Dead code elimination
if ( y > y ) if ( false )
If simplication
if ( z z ) if ( true )
It also helps to detect errors during compile time. Arithmetic errors are detected
during optimization phase, which is otherwise done at run time. Examples given
below illustrate the errors detected by this method.
Division by zero
y/0
Undened operation
0/0
Sequence of optimizations plays a key role in determining how far this technique
becomes eective.
Conclusion
The proposed technique is not a replacement for any existing technique of optimization. It is an extension to Global Value Numbering using value graph. It
further improves later optimizations like constant folding, dead code elimination,
if simplication etc. It also helps detecting certain arithmetic errors in optimization phase itself. No additional cost is involved since it uses the tools of existing
technique.
Deciding the sequence of optimizations is the key factor in determining eectiveness of this technique. A sequence which could provide reasonable eciency
would be applying as an early optimization, after copy propagation, along with
Global Value Numbering and before Constant folding & propagation and control
ow optimizations.
References
1. Alpern, B., Wegman, M.N., Zadeck, F.K.: Detecting equality of variables in programs. In: 15th Annual ACM Symposium on Principles of Programming Languages,
p. 111 (1988)
2. Briggs, P., Cooper, K.D., Simpson, L.T.: Value numbering. Software Practice and
Experience (1997)
3. Gulwani, S., Necula, G.C.: A Polynomial-Time Algorithm for Global Value Numbering. In: Static Analysis Symposium (2004)
69
4. Muchnick, S.S.: Early Optimizations. In: Advanced Compiler Design and Implementation, pp. 329360, 580586. Morgan Kaufmann, San Francisco (2000)
5. Wegman, M.N., Zadeck, F.K.: Constant propagation with conditional branches.
ACM Transactions on Programming Languages and Systems (1991)
6. Gulwani, S., Necula, G.C.: Global Value Numbering using Random Interpretation.
In: Proceedings of the Principles of Programming Languages (2004)
7. Kulkarni, P.A., Whalley, D.B., Tyson, G.S., Davidson, J.W.: Exhaustive Optimization Phase Order Space Exploration. In: Proceedings of the International Symposium on Code Generation and Optimization (2006)
1 Introduction
Grid computing is derived from several technologies: virtualization, distributed
application design and IT management. It can provide dynamically scalable, shared
resources over the Internet and avoids large upfront costs. Grid computing is getting
more and more concerns and promises to change the future of computing .The
security requirements usually fall into four categories confidentiality, integrity,
recoverability, and availability. For most grid computing clients, data confidentiality
is the preliminary property that must be guaranteed. In general, people or company
will never risk letting their private data be freely accessed by grid computing
providers. Grid computing providers need to promise this data privacy property to
attract more clients in practice; grid service can be grouped into three categories:
software as a service (SaaS), platform as a service (PaaS), and infrastructure as a
service (IaaS). IaaS is an evolution of virtual private server offerings, it depends
heavily on the underlying infrastructure: virtualization. Virtualization software is
usually called hypervisor; it allows a single physical server to host many guest virtual
machines (VM), and the guest VMs are provided to clients as the grid computing
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 7078, 2011.
Springer-Verlag Berlin Heidelberg 2011
71
service. The guest VMs enable individual developers and companies to deploy their
own operating systems and applications without the cost and complexity of buying
servers and setting them up. After that, clients may send their data to the VM and
provide their dedicated services. Commercial examples of IaaS include the Amazon's
EC2 [4], etc. This paper aims to proposing a virtualization solution to achieve data
confidentiality for guest virtual machines. With this solution, even the IaaS grid
computing service providers cannot access the private data of their clients.
This is very important and attractive for the clients. The solution only emphases
on data confidentiality, Service provider can still easily break down the availability
and integrity of the clients services and data. But these misbehaviors can be detected
easily, and will finally impair the service providers commercial credibility. The
basic idea of the our solution is to combine machine virtualization technology
with trusted computing technology to achieve the privacy of the virtual machines;
by running a modified OS inside the VM, enhance the clients data confidentiality
against the service provider.
Our work is based on the type-1 hypervisor, such as Xen [5], which runs on bare
hardware and hosts a privileged domain (called dom0) and several guest virtual
machines (called guest VM). An application named Qemu[6] running in dom0
provides virtual platform and devices for guest VMs. We do not trust dom0 and
Qemu because they both are controlled by the grid computing service provider.
Based on the trust computing technologies, we can verify the boot sequence of the
target machine and make sure the trusted hypervisor is running on it. With the
hypervisor, we can strongly isolate the clients memory from dom0s, mediate the IO
accesses between Qemu and guest VMs to prevent guest VMs data from being
stolen Finally, our solution needs to modify the guest kernel to remove all device
drivers other than hard disk and network card drivers, disable ACPI and kernel BIOS
calls, because dom0 may embed Trojan horses in these codes
The next section introduces the virtualization and trusted computing technologies.
Section 3 presents the detailed design of the presented solution to show how the data
privacy is achieved. In section 4, we evaluate the solution and state that it may
prevent all kinds of attacks from untrusted dom0. We discuss related work in
section 5 and conclude in section 6.
1.1 Background
1.1.1 Virtualization
Virtualization refers to the abstraction of computer resources, it is a key feature of
grid computing. Many virtualization technologies have been proposed and
implemented, such as Xen, VMware. VMware is commercial software that
implements full virtualization. The Xen hypervisor is an open- source project that is
being developed in University of Cambridge. We focus our work on Xen because it
is open-source and well accepted. Xen hypervisor has been used in many commercial
virtualization products; it acts as the engine of the Amazon Elastic Compute GridA
Xen-based system consist of several items that work together: hypervisor, dom0 ,
user-space tools, domU ( guest VM ).The Xen hypervisor abstracts the hardware for
the virtual machines, controls the execution of virtual machines as they share the
common processing environment.Dom0 is a privileged VM, it runs a full-fledged
72
operating system, it is always booted by the hypervisor. Dom0 is used for platform
management. Xen supports two kinds of virtualizations: paravirtualization and fully
virtualization. Fully virtualization needs Intel VT or AMD-V hardware supports, it
can provide better isolation between VMs without the need to modify guest operating
system.In our work, we use fully virtualized Xen VMs. Every fully virtualized VM
requires its own Qemu daemon, which exist in dom0.
In the existing Xen architecture, dom0 takes full control of all virtual machines
running on the same host. When evaluate the trustworthiness of the guest VM,
dom0 have to be included in the Trusted Computing Base (TCB), this implies that the
system administrator must be trusted, which impairs the usefulness of Xen in griding
computing
1.1.2 Trusted Computing
Trusted Computing is a category of technology developed and promoted by the
Trusted Computing Group. It is usually based on a TPM integrated on the
motherboards. It includes some technologies: such as Remote attestation, sealed
storage and authenticated booting The TPM specification prescribes a way of
building up a chain of trust in the platform so that when interacting with a particular
application on a platform, a report can be obtained on the software stack that was
executed on the platform.
This report is a list of Platform Configuration Registers (PCR) configuration
values signed and certified by the TPM. To sign its PCRs, the TPM uses the private
portion of an Attestation Identity Key (AIK) pair. The verifier uses the public AIK to
validate the signature and then checks the PCR values. In this paper, we leverage
the above virtualization technology and trusted computing technology to construct a
secure and robust virtualization platform.
2 Architecture
2.1 Design Goal
(1) Provide VM platforms to grid computing users, users can then integrate an
OS, middleware, application software on the platform at their own discretion.
(2) Administrator and other users of the virtualization system are impossible to
hack into the target VM. Only the valid user can boot the target VM.
(3) The mechanisms used to protect the data privacy can be easily verified.
2.2 Overview of Our Architecture
Our implementation is very simple in theory namely, protect the data privacy of
guest VMs with help of a trusted Xen hypervisor. In practice we need to thoroughly
analyze the virtualization system and make a clear separation between correlative
components. Figure 1 gives an overview of the implement We divide our Xenbased system into three parts: the trusted part; untrusted part; protected part (not
including the bios and grub). This division is based on two technologies: (1) trust
computing, which provides a trustable hardware platform that can act as a core root
of trust, (2) virtualization, which provides isolation between different VMs.
73
The system is separated into three parts. Box 1 contains the trusted part, box 2
contains untrusted part, box 3 contains protected part.
2.3 Trusted Part
This part includes the hardware platform, a trusted bootloader and a trusted Xen
hypervisor. The hardware should support the following
TPM: TPM provide a secure environment for authenticated booting, secure storage
and secure IO. It is the security base of our architecture
IOMMU: with IOMMU, we can prevent malicious dom0 device drivers from
compromising the system address spaces through DMA
VT-D or SVM: With them, Xen can provide better isolation between VMs without
the need to modify guest operating system.
2.4 Untrusted Part
We do not trust dom0 and the Qemu running in it, because they are both controlled
by the grid computing provider. However, our guest VM still needs the virtual
firmware, virtual platform and devices produced by the Qemu. So, we need a further
analysis of Qemu, which is discussed in detail in section 4.6
2.5 Protected Part
As illustrated in Figure1, this part includes all the guest VM environment. As
mentioned before, we focus our work on how to protect the data privacy of the
guest VMs. The service providers can still compromise the availability and integrity
of the clients services and data, but they cannot steal the clients secrets. It is worth
noting that we exclude bios and grub out of the protected part. Its because, we do
not care about the load process of the kernel and initrd image, we only care the
load result, that is, whether the kernel is in the right address and is in correct
state when we boot the guest operating system.
74
75
Finally, create a boot disk image, install grub on the disk image, and put the
kernel and initrd on it. Send these two disk images to the dom0 on the grid server.
To protect the data privacy in the boot process, we separate the boot process into the
following seven steps (As shown in Figure 4).
(1) After remote attestation, the remote user sends a boot request to dom0
(2) Dom0 use Qemu to launch the specific guest VM. In the guest VM, grub
loads the encrypted kernel and initrd images to the appointed address
(3) The kernel wrapping code executes a hypercall, ask the hypervisor to decrypt
the images.
(4) The hypervisor challenges the remote user.
76
(5) The remote user gives the PASS-BOOT encrypted with the hypervisors public
key, the hypervisor decrypt the guest VM kernel and initrd.
(6) Hypervisor transfers control to the guest VM, the guest VM kernel continues
its work and commit several checks to make sure it is placed in the right address
and in a correct state.
(7) After the kernel getting up, the PASS-FILE is used to mount the encrypted file
systems. Now, a new secure guest system starts to work.
In the above process, dom0 can only see the encrypted password, and has no chance
to hack into the boot process. Only the valid user can boot the guest VM.
3 Evaluation
In this work, we aim to improve the data privacy of guest VMs and prevent potential
attacks come from two kind of sources: the owner of the hardware machine and
the grid service administrator (in our case, dom0) .We evaluate our system
confidentiality in the following aspects:
3.1 Hardware Platform
In our implementation, we use a TPM-based trusted loader, O S L O , to boot the
physical server. It leverages the Dynamic Root of Trust for Measurement (DRTM) to
secure the boot process. With the help of the loader, our trusted hypervisor finally
takes over the machine. Users can use TPM-based attestation to verify the software
stack running on the physical machine. If a malicious program alters part of the boot
loader or operating system, the grid customer can detect the change quickly and
reliably. So, users can be ensured that the hardware platform is trustworthy.
3.2 Memory Isolation
The Xen hypervisor allows multiple VMs to run at the same time. A VM may
only manipulate its own page table to include pages which it has been granted
explicit access. Even dom0, confined by IOMMU, cannot access the memory of
other VMS. Therefore, the grid service administrator cannot undermine the
confidentiality of the memory space.
3.3 Storage
A virtual block disk (VBD) in guest VMs, may exist as a file in dom0, or as a
physical disk or partition. All disk I/O in VMs need the help of dom0, so, dom0 may
inspect into the data block and tamper their contents. In our work, we protect our
virtual disks using the dm-crypt API. Dm-crypt is a transparent disk encryption
subsystem, it is implemented as a device mapper target and can encrypt whole virtual
disks. Dom0 can only reveal the data in encrypted form. Data secrecy, integrity,
ordering and freshness are protected up to the strength of the cryptography used. If
the dom0 or other hostile code tries to modify the encrypted data, the guest VM will
just terminate.
77
3.4 Network
The virtual network driver is implemented as a virtual split device that has a front end
in the guest VM and a back end in Qemu. Dom0 services just like a router. We make
no effort to protect network I/O, as this is addressed by existing technologies such as
SSL. Users can also use Virtual Private Networking (VPN) to perfectly protect the
confidentiality and integrity of the network.
3.5 Guest VM Boot Process
The kernel and initrd image are all encrypted by the user. Dom0 cannot get the
plain-text password, therefore, it cannot decrypt the kernel image. If the dom0
modifies the kernel or initrd image, the hypervisor will fail when decrypting the
images, the failure will be logged in a temporary buffer, and the user can use
remote attestation to acquire the information.
3.6 Virtual Devices
Qemu connects the untrusted part and protected part, so, we must treat it very
carefully. It provides all virtual devices for guest VMs: network interface card (NIC),
disk, vga, mouse, keyboard, serial, sound, Qemu also provides other virtual platform
chips such as Programmable Interval Timer (PIT), Programmable Interrupt Controller
(PIC), bus controller (e.g., PCI bus controller) and virtual firmware. In our work, we
modify the guest kernel, and only allow several specific NIC drivers and IDE driver
leave in the kernel. ACPI and bios codes are disallowed to execute in the kernel
initialization process, so, dom0 cannot compromise the guest system by embedding
Trojan horses in these codes. A few bios calls are moved into the kernel wrapping
code, such as E820 call, they are executed before the kernel initialization and the
results are saved in appointed addresses. In rare cases, guest kernel needs to read
some system information from the bios data area, which may be tampered by the
dom0. We research these situations and find these malicious modifications do affect
the kernel behavior to some extent, but they cannot lead to privacy leakage. In all the
above situations, the machine owner and system administrator can break down the
data availability, integrity and recoverability of the guest VMs, but they cannot break
down the data confidentiality. It should be noted that we only provide a mechanism to
prevent the grid provider from hacking into the guest VM, the guest OS still needs
effective measures to protect attacks from the internet
4 Related Work
The European Network and Information Security Agency (ENISA) assesses the risks
and benefits of grid economies from a security point of view. ENISA lists the top
security risks, including, loss of governance, isolation failure protection, malicious
insider, etc. Kelton Research conducts on survey of the grid computing in 2009
and analyzes the status quo of grid computing. There are many endeavors have been
made to improve the data privacy. The Terra architecture proposes moving the entire
application into a separate VM with its own application-specific software stack
tailored to its assurance needs, but Terras security infrastructure depends heavily on
78
5 Conclusion
In our work, we focus on improving the data privacy in grid computing, and try to
find a solution to prevent the potential attacks come grid service provider (in our
case, dom0).By using the Xen-based virtualization technologyand TPM-base
trusted computing technology, we construct a secure and robust virtualization
platform. Based on this platform, we divide the whole system into three parts:
trusted part, untrusted part, protected part. We place the dom0 and the Qemu
application in the untrusted part, because they are controlled by the grid service
provider.To achieve better isolation between VMs,we customize the guest VM
operating system, disable all the unnecessary virtual devices, and disallow code from
untrusted part to be executed in the guest VM. These modifications greatly improve
the data privacy of the guest VM.Finally, we evaluate our system confidentiality
in the following aspects: hardware platform, memory isolation, storage, network,
guest VM boot process, Qemu virtual devices. The evaluation shows that our
architecture provides a good solution to protect the confidentiality of the grid
clients. In future research, we will concentrate on the control and data flow analysis
and policy analysis about the Qemu virtual driver models in greater detail.
References
1.
2.
3.
4.
5.
1 Introduction
Until recently, the only way for dance experts to pass on their knowledge from
generation to generation was orally. Although dance media has immensely benefited
from advances in recording and storage of digital information, which have enabled
rapid production of dance videos, dance media annotation and querying are still major
challenges, and the gap between media features and the capabilities of the existing
media tools is wide. What is needed is a dance video annotation system that takes into
consideration dance notations.
A dance notation, defined by Encyclopedia Britannica, is the recording of dance
movements through the use of written symbols. Such a notation is a symbolic form of
representing movements of dancers. It is used to document, analyze, and choreograph
dance pieces. A dance movement represents a basic pose, gesture or action done by a
dancer. A dance piece is a set of dance movements. The collection of dance pieces
denotes a dance performed by dancer(s).
Two popular dance notations are Labanotation and Benesh notation. Labanotation
[1] is a standardized system for analyzing and recording any human movement. The
original inventor is Rudolf von Laban (1879-1958), an important figure in European
modern dance. He published this notation in 1928 as Kinetographie in the first issue
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 7988, 2011.
Springer-Verlag Berlin Heidelberg 2011
80
R. Kannan et al.
Fig. 1. Staff
The video annotation tools IBM VideoAnnEx [17] and Vannotator provide only
high-level annotation facilities like object, time, location and events. These features
have to be complemented with finer level annotation capabilities for dance features
such as dance movements, emotion, story and spatio-temporal characteristics of
dancers (i.e. actors) and their body parts (i.e. agents). However, these annotation tools
are either application dependent or provide few authoring facilities.
The multimodal dance information system will help dance students learn various
dance movements along with emotion expressed by dancers. It also helps choreographers to design new dance sequences. Besides, a cultural expert can study the
81
evolution of dance over years and preserve them for future generations. The
architecture on which the system is based allows to directly annotate modal and
multimodal data after they are recognised and interpreted, involving inputs by different
sensors.
Rest of the paper is organized as follows. Section 2 gives overview of dance video
annotation models and systems. In section 3, a brief description of our earlier MPEG7
based dance video annotation and retrieval system is discussed. The need for
automatic annotation of multimodal inputs from dance presentation is illustrated in
section 4. Section 5 presents our proposed architecture for multimodal dance
information system in details and section 6 concludes our paper mentioning the road
ahead in our research.
2 Related Work
Current research on the performing art of dance can be broadly divided into two
categories: dance composition and visualization and dance analysis and retrieval.
Studies have been conducted on dance composition using notations, especially
Labanotation and Benesh [3, 4, 5, 6]. Hachimuras system [7] uses markers placed on
dancers bodies and limbs and records 3D motion data. Hattori et al. [8] developed
key-frame-based dance animation software. In his approach, certain key poses are
identified and are coded in Labanotation.
Several graphical editors have been developed, including LabanEditor [7],
LabanWriter for Mac OS, Calaban [9] for Windows, NUNTIUS [10], and LED and
LINTER [11] for UNIX systems. In addition, there are graphical editors for Benesh
notation, such as MacBenesh and Benesh Notation Editor [12]. MacBenesh is a
Macintosh application that lets the user create high-quality single dancer from Benesh
movement notation scores that can be saved as a document. Benesh Notation Editor is
a Windows-based application for writing Benesh movement notation scores. It
resembles a word processor; thereby, the Benesh scores can be saved as a file. Several
commercial software applications such as LifeForms and DanceForms [13] are
available for interactively composing dances. These tools use virtual reality features
to model the movements of dancers. We surveyed the various ideas these studies and
applications have on how to use notations for documenting dance semantics. Besides
such interactive editing, our approach provides features for semantic annotation for
efficient learning.
Dance analysis and retrieval systems perform semantic interpretation of dance
movements in the context of culture, action, gestures and emotions. A system that
directly calculates the similarities among body motion data is described in [7]. It
considers the issue of how the similarity of identical body motions should be
defined.This paper gave us insight on how to represent dance movements with
multiple granularities (i.e. on actor and agent levels).
Kalajdziski and Davcev [14] developed a system for annotating Macedonian dance
videos with keywords from a controlled vocabulary. The system consists of modules
for segmentation, annotation, 3D dancer animation, and Laban score generation. We
adopted their idea of high-level action as MPEG-7 descriptions. However, their system
offers only a limited vocabulary for annotation and lacks MPEG7 query processing.
82
R. Kannan et al.
83
Fig. 6. Screenshot of micro annotation. The video panel renders the dance of the song of the
movie, Hai Mera Dil. The dance expert annotates events, actors, agents, and concepts by using
free text and/or controlled vocabulary. The textual annotations are interactively updated in the
tree view.
84
R. Kannan et al.
joy or sadness? What is the relationship between the cognitive dimension of dance
and how it stimulates the emotions? The emotions aroused by the dance do they tell
us something? And about what? Space? Time? Relationships between dancers? [25]
Because we dance with the body, it is sometimes said that the emotions in the
dance are unsophisticated and mostly physical. But is that rabbits are dancing? And
one might say that their movements express love, or a quest for eternal salvation? For
many philosophers, the question of emotions is primarily related to the traditional
problem of mind-body connection, and is now called the philosophy of mind." [2628]. We certainly need to apply the concepts in this part of philosophy and
metaphysics to dance. But conversely, the dance can teach us something about
voluntary movements, for example. Wittgenstein says: "The human body is the best
picture of the human soul. "The serious philosophical study of dance might confirm or
refute this observation. [29].
The dance video systems should be able to manage the high level semantics of
dance videos and their semantic annotations to make available a range of applications
such as search and filtering. Moreover, these systems should provide authoring
environments enabling dancers and choreographers to make effortless annotations and
automatic authoring capabilities. In addition, systems that provide retrievals for
semantic dance queries for different dance semantics are needed. To be more precise,
dance learners and viewers would like to search within the system for understanding
dance movements that
85
on multimodal interaction where given by [30], its naturalness and easy use when
conceived as a multimodal language are discussed in [31], and the need to manage
issues such as for example ambiguity connected with naturalness is addressed in [32]
and [33]. Multimodal interaction is potentially very similar to that between people;
but people may adopt different behaviors in the communication processes according
to different contexts. For this reason user profile and context need to be modeled,
making actually natural the interaction process; we refer the term context as the sociocultural information and knowledge, the environmental features in which the dance is
performed and the characteristics of devices used for the multimodal input. User
profile and context provide some features for improving indexing and access
processes. This architecture (Fig. 7) allows to directly annotate modal and multimodal
data after they are recognized and interpreted.
The architecture prefigures different contexts of use to capture information, such as
sensors, streaming video and audio, sketches, voice and so on. In particular, wireless
wearable sensors can be used for the 3-D motion capture and real-time analysis of a
dancer. They allow to acquire features such as synchronisation between the different
body parts (e.g. legs and foot movements). Cameras are opportunely located on the
scene that provide the redundant information on the body of the dancer and how it is
related with other dancers and with the scene.
The body motion of a dancer is accompanied by music and rhythms, which
constitute the features of a modal audio input (containing complementary information
from environment and temporal relations of the movements of the human body).
For the purpose of describing the proposed architecture of the multimodal system,
consider the scenario where the dancers performance characteristics are catched by a
set of sensors distributed in the environment in which the performance takes place and
/ or sensors worn by the dancer. In particular, we consider the audio signal sent as
input to a recognizer music, and the gesture signal sent to the gesture recognizer using
motion sensors applied to the dancers body. Sensors placed on the scene, can
provide information such as information about music in input and about the position
of the dancer on scene.
The modal recognition modules carry out the recognition process by comparing the
inputs with the contents of libraries that, e.g. for gesture, contain the set of coded
human motions or their features.
86
R. Kannan et al.
This information is used and defines the second level annotation (see Figure 7).The
automatic annotation using information obtained by multimodal inputs provides a
systematic annotation method that is improved by the context and the user knowledge.
All this information is used in the indexing process, facilitating information access.
6 Conclusion
The artistic and cultural expression of individuals contains elements of a shared
collective language. The dance is no exception. It is a language in which the dancer
communicates using his own body and then the multimodal nature of human
communication. Like all languages, the dance has evolved and summarizes
characteristics of the reference culture and the characteristics with which each dancer
interprets it (e.g. emotional). For this reason this work presents the architecture of an
annotation system capturing information directly through the use of sensors,
comparing and interpreting them using a context and a users model in order to
annotate, index and access multimodal documents.
References
1. Ann Hutchinson, G.: Dance Notation: Process of recording movemen. Dance Books,
London (1984)
2. Chitra, D., Manthe, A., Nack, F., Rutledge, L., Sikora, T., Zettl, H.: Media Semantics:
Who needs it and why? In: Proceedings of ACM Multimedia, pp. 580583 (2002)
87
3. Herbison, D., Evans: Dance, Video, Notation and Computers. Leonardo 21(1), 4550
(1988)
4. George, P.: Computers and Dance: A bibliography. Leonardo 23(1), 8790 (1990)
5. Calfert, T.W., Chapman, J.: Notation of movement with computer assistance. In:
Proceedings of ACM Annual Conference, pp. 731736 (1978)
6. Hatol, J., Kumar, V.: Semantic representation and interaction of dance objects. In:
Proceedings of LORNET Conference, Poster (2005)
7. Hachimura, K.: Digital archiving of dancing. Review of the National Center for
Digitization 8, 5166 (2006)
8. Hattori, M., Takamori, T.: The description of human movement in computer based on
movement score. In: Proceedings of 41st SICE, pp. 23702371 (2002)
9. Calaban: (2002), http://www.bham.ac.uk/calaban/frame.htm
10. Bimas, U., Simon, W., Peter, R.: NUNTIUS: A computer system for the interactive
composition and analysis of music and dance. Leonardo 25(1), 5968 (1992)
11. Led & Linter: An X-Windows Editor / Interpreter for Labanotation (2006),
http://wwwstaff.it.uts.edu.au/don/pubs/led.html
12. MacBenesh:
Behesh
notation
editor
for
Apple
Macintosh
(2004),
http://members.rogers.com/dancewrite/macbenesh/macbenesh.htm
13. Ilene, F.: Documentation Technology for the 21st Century. In: Proceedings of World
Dance Academic Conference, pp. 137142 (2000)
14. Kalajdziski, S., Davcev, D.: Augmented reality system interface for dance analysis and
presentation based on MPEG-7. In: Proceedings of IASTED Conference on Visualization,
Imaging, and Image Processing, pp. 725730 (2004)
15. Forouzan, G., Pegge, V., Park, Y.C.: A multimedia information repository for cross
cultural dance studies. Multimedia Tools and Applications 24, 89103 (2004)
16. Athanasios, C., Gkoritsas, Marios, C.A.: COSMOS-7: A video content modeling
framework for MPEG-7. In: Proceedings of IEEE Multi Media Modeling, pp. 123130
(2005)
17. IBM VideoAnnEx (2002),
http://www.alphaworks.ibm.com/tech/videoannex
18. Tra-Thusng, T., Roisin, C.: Multimedia modeling using MPEG-7 for authoring
multimedia integration. In: Proceedings of ACM Multimedia Information Retrieval,
pp. 171178 (2003)
19. Ryn, J., Sohn, J., Kin, M.: MPEG-7 metadata authoring tool. In: Proceedings of ACM
Multimedia, pp. 267270 (2002)
20. Haoran, Y.I., Rajan, D., Liang-Tien, C.: Automatic generation of MPEG-7 complaint
XML document for motion trajectory description in sports video. Multimedia Tools and
Applications 26(2), 191206 (2005)
21. Rajkumar, K., Andres, F., Guetl, C.: DanVideo: A Mpeg7 Authoring and Retrieval System
for Dance Videos. Multimedia Tools and Applications 46(2), 545572 (2009)
22. Devillers, L., Vidrascu, L., Lamel, L.: Challenges in real-life emotion annotation and
machine learning based detection. Neural Networks 18, 407422 (2005)
23. Popescu-Belis, A.: Managing Multimodal Data, Metadata and Annotations: Challenges
and Solutions. In: Thiran, J.-P., Marques, F., Bourlard, H. (eds.) Multimodal Signal
Processing for Human-Computer Interaction, pp. 183203. Elsevier/ Academic Press
(2009)
24. Callejas, Z., Lpez-Czar, R.: Influence of contextual information in emotion annotation
for spoken dialogue systems. Speech Communication (2008), doi: 10.1016/j.specom,
01.001
88
R. Kannan et al.
25. Yu, C., Zhou, J., Riekki, J.: Expression and Analysis of Emotions: Survey and
Experiment. In: Symposia and Workshops on Ubiquitous, Autonomic and Trusted
Computing, UIC-ATC, pp. 428433 (2009)
26. Harada, I., Tadenuma, M., Nakai, T., Suzuki, R., Hikawa, N., Makino, M., Inoue, M.: An
Interactive and Concerted Dance System?? Emotion Extraction and Support for Emotional
Concert. In: Fifth International Conference on Information Visualisation (IV 2001),
vol. iv, p. 0303 (2001)
27. Glowinski, D., Camurri, A., Volpe, G., Dael, N., Scherer, K.: Technique for automatic
emotion recognition by body gesture analysis. In: 2008 IEEE Computer Society
Conference on Computer Vision and Pattern Recognition Workshops, CVPRW, pp. 16
(2008)
28. Grassi, M.: Developing HEO human emotions ontology. In: Fierrez, J., Ortega-Garcia, J.,
Esposito, A., Drygajlo, A., Faundez-Zanuy, M. (eds.) BioID MultiComm2009. LNCS,
vol. 5707, pp. 244251. Springer, Heidelberg (2009)
29. Sorci, M., Antonini, G., Cruz, J., Robin, T., Bierlaire, M., and Thiran, J.: Modelling
human perception of static facial expressions. Image Vision Comput. 28(5), 790806
(2010), doi:http://dx.doi.org/ 10.1016/j.imavis. 2009.10.003
30. Oviatt, S., Choen, P.: Perceptual user interfaces: multimodal interfaces that process what
comes naturally. Comm. of ACM 43, 4553 (2000)
31. DUlizia, A., Ferri, F., Grifoni, P.: Generating Multimodal Grammars for Multimodal
Dialogue Processing. IEEE Transactions on Systems, Man, and Cybernetics, Part A 40(6),
11301145 (2010)
32. Mankoff, J., Abowd, G.D., Hudson, S.E.: OOPS: a toolkit supporting mediation
techniques for resolving ambiguity in recognition-based interfaces. Computers &
Graphics 24(6), 819834 (2000)
33. Caschera, M.C., Ferri, F., Grifoni, P.: Ambiguity detection in multimodal systems. In:
Proc. AVI 2008, pp. 331334 (2008)
Abstract. This paper first reviews the existing models for human intelligence.
Then it discusses the nineteen types of human thought processes KriyaPratikriya, Indriya, Aatmsaat, Smaran, Samajh, Soch, Vichar, Vimarsh,
Kalpana, Swapna, Anubhava, Anubhooti (or Aatm-Prerana), Tark, Bhav,
Dhyan, Gyan, Vivek, Siddhi and Darshan which are commonly present in the
Indian books regarding human thinking. These processes when joined together
form a new Indian model for human intelligence. Though many aspects of
human thinking have now been understood, the core reason behind superior
capabilities of human brain as compared to present Artificial Intelligence or
neural network based machines or other living beings has not come out clearly.
This paper relates the biological research with human thinking modes to explain
some aspects of this superior intelligence.
Keywords: Human Intelligence, Artificial Intelligence, Neural Networks,
Indian concepts.
1 Introduction
Superiority of human intelligence both over present machine intelligence and other
living being puts forward many questions yet un-answered. Though monkey shares
similar genetic as well as physical structure and brain as well, it is far behind humans
in evolution. One difference found in literature is that while most of the monkey brain
neurons are hardwired at the time of birth itself, human brain has most of the neurons
free. So, monkey child can perform running, jumping and balancing on trees quite
early while humans can take lot much time and practice to achieve the same. But in
return humans can think and create a lot many things. In humans as well, different
people have different qualities. An athlete/ Gymanst can run faster or do Gymnastics
better than others but many people may think faster than him. So, it all depends, in
which direction neurons are making their connections.
2 Methodology
A survey of concepts about human thinking in Indian literature revealed different types
of human thought processes. These different types put jointly resulted in a new model
about human intelligence which explains some aspects of the superiority of human
intelligence over other living being and present day machine intelligence. Only the
concepts contributing to superior intelligence were selected. So, Bhaya (Fear) and
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 8997, 2011.
Springer-Verlag Berlin Heidelberg 2011
90
J.P. Singh
Abhivyakti (Expression) were left out as these functions suppress or bring the thought
out rather than contributing to intelligence though they may add to intelligence when
joined with others. Further, biological basis of these different processes was also
studied.
91
92
J.P. Singh
93
intelligence, creativity like humans is not yet been possible. Neural Nets are playing a
key role in bringing creativity in machine intelligence.
10. Swapna: This stands for night dreams. Swapna means self-generated. Though
night dreams seem to be the thoughts generated by the brain itself without any input,
they also can be a result of reciprocal effect of other sensors on human vision system.
In day time, human eyes are open and are the main sensors which keep making
pictures of the world around. In night, when eyes are closed, the ears take up the job
of main sensor and in collaboration with other sensors (smell, touch and taste), try to
create a picture of the world around. The picture created is sent to human vision
system so that any danger can be sensed in sleep also. This may be one aspect of
dreams. Other aspect more prevalent in psychology is the relaxation or normalization
of strong nodes formed in the brain so that the brain may function properly. Dreams
might also be acting as a calibration process where human vision system might be
calibrating itself against other sensors. Though it is quite unlikely that machine
intelligence will be using night dreams also but it will surely need calibration and also
relaxation or re-boot to keep functioning properly.
11. Anubhav: This means experience or feel. Any thought is said to be ready once it
is validated through actual experience like Anubhav. The human thought process
provides good weightage to this process and adjusts weights as per results of
Anubhav. In machines, this is similar to online or off-line learning.
12. Anubhooti or Aatm-Prerana: This stands for self intution. It may be related with
the internal layers of the neural network within human brain providing entirely new
outputs or it may also be a result of genetic evolution as it is found that people in a
certain family has got self- intuition in certain directions. This aspect is too difficult to
be incorporated in machine intelligence as on today but genetic evolution is a factor
being considered seriously as genetic algorithms. Even output from internal layers of
neural nets also can be used but its format is yet to be evolved.
13. Tark: This means logic. Though human brain uses this in daily life but Tark is
also used to refine established theories and thoughts. Evolution of mathematics and
science has been through this Tark process. A process called Shastrarth was
adopted by Indians to discuss and establish theories something like Conferences and
Workshops. Tark has mostly been implemented in machines through AI rules.
14. Bhav: This has got two parallel meanings. Bhav means the essence or abstract.
But a word Bhavuk means emotional. Another word Bhavana means the intention.
This aspect has not yet been implemented in machine intelligence. Emotions are
related with the flow of certain chemicals (enzymes) in the human brain which
enhance its functions in some directions and suppress in other directions.
15. Dhyan: The literal meaning of this word is concentration. Though, this word is
also commonly used for Meditation. In the concentration meaning, brain switches
94
J.P. Singh
off most of the other thoughts and brings only a particular thought in mind to provide
it complete focus. In meditation mode, brain switches off all the thoughts and makes
our neurons relax. It is like a conscious sleep. In the first meaning, machines are
already coming now to switch off other programs to provide full focus to one task.
But it is difficult to say if machines will do meditation also or if they will need it.
However, shut down and restart function can be a way to do it but that is more similar
to sleep & awakening.
16. Gyan: This means knowledge. After Dhyan, humans achieve knowledge.
Incorporating knowledge in machine intelligence is a theme present day researchers
are working on.
17. Vivek: This means morality (the ability to distinguish between right and wrong).
While gyan can be useful or harmful as well (depending on the use), vivek helps
humans to use knowledge for human and natures benefits only. Whether improved
machine intelligence will be able to acquire vivek also with their thinking power? is
a big question. Till vivek is incorporated in machine intelligence, it is advised that
improved human like machine intelligence or super-intelligence shall not be used in
robotics or in machines which are physically more powerful than humans. Till then,
machine intelligence shall only advise humans which they can accept or reject. A
wavelet transform type of thinking process where machines can analyze the minute
details and also can see the big picture and take decision on the basis of combination
of both may help.
18. Siddhi: After a lot of Vichar, Tark, Bhav, and Dhyan, humans achieve Siddhi
which means an eternal established fact or skill. If machines can find Siddhi, that will
be a milestone in machine intelligence and will help humans a lot.
19. Darshan: This is the highest level of human thought (though Moksha is the
highest level but it is not well defined and more related to soul than brain). Darshan
literally means philosophy. Machine Intelligence will need many more evolutions to
reach this level.
95
Huge number of neurons possess a high level of classification ability and may be a
reason behind contextual thinking.
3. Imagination & Creative Thinking: Human brain can imagine new things and can
create a new world inside it. Machine Intelligence is yet to fully understand and
incorporate this feature.
4. Spontaneous Thinking: Human brain does not stop till it dies. It keeps on tackling
problems in conscious or unconscious modes in goal directed or goal less manner.
This aspect is now coming up in literature.
5. Evolution through generations: Not only human brain keeps thinking throughout
its life, it also keeps passing its evolved capabilities to the next generations through
genes. This natural process seems the key towards vast human capabilities.
6. Collaborative Thinking: Vast human knowledge has emerged through
collaborative thinking. Generations of humans have accumulated knowledge and
passed on to the next generations through documents, books etc.
7. Quest for eternal truth: Humans have got a curiosity and motivation to find out
the eternal truth. This quest has made them evolve newer and newer facts and
principles.
On the other hand, machine intelligence has also got its own strengths over human
brain:
1. Massive Data Crunching ability: Machines have surpassed humans in data
crunching. This is the main capability where machines are able to help humans at
present.
2. Vast Memory: Machines can have huge memories in future and thus can store any
amount of information. This ability may surpass humans. Even today, machines do
store so many images & data that humans find them suitable for taking help.
3. Consistency & Stability: Machines can be more consistent and stable. Emotions
bring instability in human performance. AI is more consistent than neural nets and
hence a combination of both can aid.
96
J.P. Singh
Table 1. Bilogical basis
Process
Indian Texts
1. Kriya
Pratikriya
in
English Description
Monitoring
Actions
&
Reflex
2. Indriya
Senses
3. Aatmsaat
Internalizing
4. Smaran
Memory retrieval
Neural Axons
5. Samajh
Understanding
Neural Organization
6. Soch
Creative Thinking
7. Vichar
Spontaneous Thinking
Limbic System
8. Vimarsh
Collaborative Thinking
9. Kalpana
Imagination
Projection Cells
10. Swapna
Dream
Reticular Formation
11. Anubhav
Experience
12.
Anubhooti
Self-Intution
13. Tark
Logic
14. Bhav
Emotions
15. Dhyan
Concentration
16. Gyan
Knowledge
Neural Organization
17. Vivek
Moral Values
Mirror Neurons
18. Siddhi
19. Darshan
Eternal Philosophy
Hebbs synapses
getting excited)
(nearby
neurons
97
human intelligence. Different humans have their brain functional in different modes
predominantly and that describes his capabilities. For example a person with more
bhav, kalpana and swapna will be poetic or creative while a person with more tark,
soch will be more business minded. A person with Samajh, vichar, vimarsh will be a
good administrator. Most of the inventors and mathematical prodigies have AatmaPrerana which other humans lack. This model suggests a new direction of research
towards superior machine intelligence to be developed on the lines of these thinking
modes. If a machine or living being can acquire all these modes, it may behave like
humans or even surpass it. Lack of any or mor of these modes in a human being due
to one or other reason may result in psychological problems.
References
1. Antonov, A.A.: Human-computer super-intelligence. American Journal of Scientific
and Industrial Research 1(2), 96104 (2010), http://www.scihub.org/AJSIR,
ISSN:2153-649X doi:10.5251/ajsir.2010.1.2.96.104
2. Arbib, M.A. (ed.): The Handbook of Brain Theory and Neural Networks. The MIT Press,
USA (2006)
3. Polk, T.A., Seifort, C.M. (eds.): Cognitive Modeling. The MIT Press, USA (2002)
4. Fogel, D.B.: Evolutionary Computation. Prentice Hall of India Pvt. Ltd., Englewood Cliffs
(2004)
5. Haykin, S.: Neural Networks: A Comprehensive Foundation. Pearson Education, London
(1999)
6. Many texts in Indian Literature
7. Penrose, R.: Shadows of the mind: A search for the missing science of consciousness.
Vintage Books, London (2005)
8. McGaugh, J.L., Weinberger, N.M., Linch, G. (eds.): Brain and Memory: Modulation and
Mediation of Neuroplasticity. Oxford University Press, Oxford (1995)
9. Gleik, J., Chaos: The Amazing Science of the Unpredictable. Vintage Books (1998)
10. Zurada, J.M.: Introduction to Artificial Neural Systems. West Publishing Company (1999)
11. Darwin, C.: The origin of Species. Goyal Saab Publishers, Delhi
12. Norden, J.: Ph. D., TTC Video Course on Understanding the Brain
13. Perlovsky, L.I.: Neural Networks and Intellect: Using Model- Based Concepts. Oxford
University Press, New York (2001)
1 Introduction
Information is Wealth, is a profoundly known statement. This goes inherent in all the
aspects of business. With information serving a critical role in an organisation,
preserving it becomes the most challenging activity. This paper presents a method to
enhance the security of data which is transmitted between client and server. This deals
with the step-wise transition of data and suggests a mechanism to cover the
information from the intruders. The security is guaranteed by the inclusion of a stego
layer in the client and server side. The functionality of the layer is that the information
to be exchanged between the banking parties is hidden in an image before being
transmitted.
2 Internet Banking
Internet banking, otherwise called anywhere anytime banking, has become an
indispensable tool in the modern banking arena. With the help of internet banking,
one can access any information regarding their account and transactions, any time of
the day. One can regularly monitor the account as well as keep track of financial
transactions, which can be of immense help in detecting any fraudulent transaction. In
the world of internet money transaction between accounts take place in fraction of
seconds. The main issue of the internet banking analysed in the survey conducted by
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 98112, 2011.
Springer-Verlag Berlin Heidelberg 2011
99
online banking association in the year 2002 [9] is security. Security is a crucial
requirement of an E-Commerce system [6] due to the fact that the sensitive financial
information that these systems transmit travel over un-trusted networks where it is
essentially a fair game for anyone with local or even remote access to fetch the
confidential data in any part of the path followed.
Phishing
Injection of commands
User credentials guessing
Use of known authenticated session by attacker.
The following section explains the sample attacks which are relevant to our work and
falls in above categories.
A. Man in the middle attack
Man in the middle attack falls under the Injection of commands category [5]. In this
attack, attackers intrude into an existing connection to interrupt the exchanged data
and inject false information. It involves eavesdropping on a connection, intruding into
a connection, intercepting messages, and selectively modifying data. Such attacks are
usually selected by hackers against public-key cryptosystems. Quite often in such
cases, the victim parties are made to believe that they remain safe in communicating
with each other.
B. Session hijacking
Session hijacking falls under the use of known authenticated session by attacker
category [5]. Session hijacking is the act of taking control of a user session after
successfully obtaining or generating an authentication session ID. In Session
hijacking attacker seizes the control of a legitimate user's Web application session
using brute forced or reverse-engineered session IDs while that session is in progress.
C. Man in the browser attack
Man in the browser attack falls under the user credentials compromise category [5].
This Man in the browser attack takes place only in computer memory. It takes place
before Secure Socket Layer (SSL) encoding. When a user's PC is infected, the
malicious code is triggered as the user visits an online bank website. This attack
retrieves authentication information, such as logins and passwords, entered on a
100
legitimate bank site. The retrieved personal data is sent directly to an FTP site where
it is stored.
101
Browser
Internet
E
x
t
r
a
c
t
i
n
g
Bank Server
Bank Database
Fig. 1. Architecture of proposed Stego-layer Method
If the indicator chosen is lowest color channel then the pixel is exempted from data
embedding else if the indicator chosen is not the lowest color channel then choose the
lowest value channel apart from the indicator channel for data embedding.
102
g
Embedding Part
Generate Indicator Sequence of any length
Get the Cover image
Get the Secret message to be embedded
For 1 to last _row
For 1 to last_col
Fix the Indicator Channel
If (Indicator channel is lowest)
Skip
Else
Find the lowest channel
Embed the secret message
bits
Mark the bits embedded in
3rd channel
End if
End For
End For
Extracting Part
Get the Indicator Sequence from embedding part
Get the Stego-Image
For 1 to last _row
For 1 to last_col
While (Entire bits not extracted = true)
Find the Indicator channel
If (Indicator channel is lowest)
Skip
Else
Find the data channel
Extract the bits embedded
End if
End While
End For
End For
103
104
The above steps completely describe the embedding and extracting process.
Criteria for choosing number of bits to be embedded in data channel
Experiments have been conducted to find almost how many least significant bits
can be changed in pixel such that the color doesnt vary from the original color and
the results have been used in DPIS technique. DPIS technique has been tested on
different image category such as portrait, flower, nature, toys etc. Figure 4 and
figure 5 shows the Cover and Stego images generated through DPIS technique.
105
106
107
The secret message shown in the Table 1 has been embedded in the cover medium
by DPIS technique and the obtained stegoimage is shown Figure 6. Brute force attack
has been applied on the indicator sequence for extracting message from the stego
image.
Table 1. Embedded message and extracted message with wrong pixel indicator
The above experiment depicts that even if one value in the indicator sequence is
incorrect, embedded secret message cannot be extracted.
Extracting data from all the pixels sequentially: In Stego-layer method data are not
embedded in all the pixels sequentially. Some pixels in the sequence are missed in
order to strengthen the algorithm. The Table 2 shows the result of extracting data
from all the pixels from stegoimage shown in Figure 7.
The embedded message in the image cannot be extracted without the key. Since the
Key is known only by the communicating parties the Stego-layer method prevents
Man in the middle attack and Session Hijacking.
108
Table 2. Embedded Message and Extracted Message from all the pixels in the Stego Image
PondicherryUniversity Computer
Science Dept
T+*m* -&#tKK`w0
-xy
Extracting same number of bits from all pixels: In the Stego-layer technique the
number of bits embedded in each pixel varies and it is decided during the run time.
Experiments were conducted for extracting same number of bits from all the pixels in
the stegoimage generated by DPIS technique. The Table 3 shows the result of
extracting same number of bits from all the pixels from stegoimage which is shown in
Figure 8.
Pondicherry University
Computer Science Dept
109
Type
Non
functional
parameters
Functional
Parameters
Parameters
AES Algorithm
Stego-layer
method
Performance
+++
++++
Efficiency
+++
+++
+++
++++
Key length
Dynamic
Identification of
tampered message at
receivers side
No
Yes
Covertness in message
transmission
No
Yes
110
111
8 Conclusion
In this stego-layer method a new security mechanism was introduced for internet
banking using Dynamic Pattern Image Steganography algorithm. The proposed
method has been compared with existing algorithm against functional and nonfunctional parameters. Regular attacks were experimented on the proposed method and
from the results it is obvious that attack results in vain. Further work will focus on
choosing appropriate image size so as to ensure it will not be an overload in the network
and to compare the proposed method with other different algorithms for efficiency.
Acknowledgement
This research, CDBR Smart and Secure Environment, was sponsored by National
Technical Research Organisation (NTRO) and their support is greatly acknowledged.
I would also like to thank Mr.M.R.Parandama and Ms.S.Deepa for their support in
implementation.
References
[1] Biryukov, A., Dunkelman, O., Keller, N., Khovratovich, D., Shamir, A.: Key Recovery
Attacks of Practical Complexity on AES Variants With Up To 10 Rounds (2009)
[2] Anderson, R.J., Petitcolas, F.A.P.: On limits of steganography. IEEE Journals of Selected
Areas in Communications (May 1998)
112
[3] Westfeld, A., Pfitzmann, A.: Attacks on Steganographic Systems. In: Proceedings of
the Third International Workshop on Information Hiding, September 29-October 01,
pp. 6176 (1999)
[4] Bailey, K., Curran, K.: An Evaluation of Image Based Steganography Methods.
Multimedia Tools & Applications 30(1), 5588 (2006)
[5] Dimitriadis, C.K.: Analyzing the Security of Internet Banking Authentication
Mechanisms. Information Systems Control Journal 3 (2007)
[6] Oghenerukeyb, E.A., et al.: Customers Perception of Security Indicators in Online
Banking Sites in Nigeria. Journal of Internet Banking and Commerce (April 2009)
[7] Navale, G.S., Joshi, S.S., Deshmukh, A.A.: M-banking Security a futuristic improved
Security approach. International Journal of Computer Science Issues 7(1,2) (January
2010)
[8] Hiltgen, A., Kramp, T., Weigold, T.: Secure Internet Banking Authentication. IEEE
Security and Privacy 4(2) (2006)
[9] Mishra, A. K.: Internet Banking in India-Part I,
http://www.banknetindia.com/banking/ibkg.htm
[10] Plssl, K., Federrath, H., Nowey, T.: Protection Mechanisms Against Phishing
Attacks. In: Katsikas, S.K., Lpez, J., Pernul, G. (eds.) TrustBus 2005. LNCS, vol. 3592,
pp. 2029. Springer, Heidelberg (2005)
[11] Seleborg, S.: About AES Advanced Encryption Standard (2007),
http://www.axantum.com/axcrypt/etc/About-AES.pdf
Introduction
A distributed computing system (DCS) conguration involves a set of cooperating processors communicating over a communication links. To increase the
system throughput, it is required to allocate the modules of the distributed task
to dierent processors according to some objectives, like, minimization of execution and communication cost [7][10], maximization of system reliability and
safety [16] [6] [13], maximizing the fault tolerance of the system using the software and hardware redundancy [4]. Moreover, the system components (processor
and communication links) are capacitated by limited resources which create a
constraint on the task allocation problem. As an instance, for successful accomplishment of a longer task, we need the distributed system to be reliable (i.e.,
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 113125, 2011.
c Springer-Verlag Berlin Heidelberg 2011
114
the processor and the communication link are less prone to failure). This incurs
heavier system cost (i.e., communication cost and the execution cost). Thus, it
involves a tradeo between the reliability and system cost. This problem of task
allocation, with the two objectives of minimizing the system cost and maximizing
the system reliability is shown as an NP-Hard problem in [8].
There are numerous methodologies described in the literature that has been
adopted for solving the task allocation problem. They can be broadly classied
as: (1) Mathematical programming [3] like linear programming,graph matching,
state-space search algorithm, branch-and-bound,etc. All these techniques seek
the exact solution and are prohibited if the problem space is large. (2)Customized algorithms [7][13] which take into account specic network conguration
that can provide specic or approximate solutions under certain scenario. However, these algorithms are very much dependent on the network conguration.
(3) Meta-heuristic algorithms [16] [1] [14] like genetic algorithm, tabu search,
particle swarm optimization,etc has been used to solve the problem. The successful application of the meta-heuristic algorithm in diverse domain made it a
strong candidate for solving the problem. Page et al.[11] proposed a genetic algorithm based dynamic task allocation algorithm. They optimized the maxspan of
the task allocation schedule using genetic algorithm alongwith other 8 heuristic
strategies. Most of the meta-heuristics algorithms applied to the problem are
single objective in nature. However, Yin et al. [15] has considered the problem
as multi-objective problem. But they applied the hybrid PSO by transforming
the problem to single objective by considering the tness function as weighted
sum of the two objectives. There has little or no literature available for considering the task allocation as multi-objective problem. This motivated us to
design a combinatorial multi-objective particle swarm optimization (CMOPSO)
algorithm to solve the problem considering multiple objectives.
In this paper, we present a CMOPSO based task allocation algorithm that design a task allocation schedule by optimizing both system reliability and system
cost simultaneously of a distributed computing system. The experimental results
manifest that CMOPSO provides a quality solution in lesser time by considering
dierent problem scales, and task interaction density.
The remainder of the paper is organized in following manner: Section 2 describes the formulation of the objectives of the multi-objective task allocation
problem (MOTAP). Section 3 describes the CMOPSO algorithm. Section 4 provides the experimental environment, result and analysis of the experiment. Finally, conclusion and future research direction is provided in Section 5.
2
2.1
xik
r
pk
lkb
k
kb
k
kb
eik
cij
kb
mi
Mk
si
Sk
2.2
115
number of modules
processor k
communication link between the processor k and b
execution cost between processor k per unit time
communication cost of the link between processor k and b
failure rate of processor k
failure rate of the link between processor k and b
incurred accumulative execution time(AET) if module i is executed in
processor k
incurred intermodule communication load (IMC) between module i and
j (in some data unit quantity)
transmission rate of the communication link lkb
memory requirement of module i from its execution processor pk
memory allocated to processor k
computation resource requirement of processor i from its execution
processor
amount of computation resource capacitated to processor k
Problem Statement
We consider the following assumptions for solving the task allocation problem.
The processors involved in the DCS are heterogeneous. Hence the processors may be capacitated with dierent units of memory and computation
resources. The processing speed and failure rates may be dierent. Also the
communication link may have dierent bandwidth and failure rates.
The modules are non preemptive in nature and have dierent communication
time depending on the data needed for communication and the communication link. Also the execution time may vary based on the speed of the
processors.
The execution of the module consume specic amount of computation and
memory resources from its assigned processor.
Failure event of the processors are statistically independent.
The network topology of the processors is rendered by processor interaction
graph (PIG)which is denoted by G1 (P, L) where P = pi , i = 1, 2, ...n and L =
lkb , 1 k < b n.The PIG for a linear topology is shown in Figure 1. Here, the
nodes represent the processor and the edges represent the communication link.
The intermodule communication among the modules, to be executed by dierent
processors, is depicted by task interaction graph (TIG). We denote the TIG by
G2 (V, E) where V = vij is a set of r nodes indicating r modules and E = cij
...
116
is the set of edges representing the IMC among these modules. The example of
a TIG is shown in Figure 2. The complexity of a task interaction graph can be
measured by a task interaction density d given by Equation 1.
d=
|E|
,
r(r 1)/2
(1)
where |E| calculates the channels of requested IMC demands in TIG and r(r
1)/2 indicates the maximum number of possible channels among the modules.
The task interaction density can serve as key factor in deciding the complexity
of the problem.
V1
c14
c15
V4
V5
c45
c58
c28
V2
c26
V8
c67
V7
V6
c38
c37
V3
System Cost. The system cost [15] is a combination of the execution and communication cost incurred in the successful completion of the task. We assume that
the execution and the communication cost are time dependent i.e., longer execution and communication of task will incur heavier cost in the involved processors
and communication links. Given a task allocation X = xik , 1 i r, 1 k n,
the execution cost of processor pk during the accumulative execution time (AET)
interval t is k t. Since the total elapse time t of the processor pk is given by
r
n
r
xik eik , the execution cost of all the processors is given by
k xik eik
i=1
k=1 i=1
Similarly, the total elapse time for handling the IMC over the link lkb is given
r
xik xjb (cij /wkb ), therefore the communication cost incurred over the
by
i=1 i=j
r
i=1 i=j
n1
r
117
Summing up both the cost together, the system cost can be dened by
Equation (2).
r
r
n
n1
k xik eik +
kb xik xjb (cij /wkb ).
(2)
C(X) =
k=1 i=1
r
xik eik
r
i=1
i=1 i=j
. Thus the total system reliability that
mission time is e
involve components that are operational is given by Equation (3).
R(X) =
n
r
i=1
k=1
xik eik
n1
kb
r
i=1 i=j
(3)
k=1 b>k
Multi-objective Formulation. The multi-objective formulation of the MOTAP problem is given as follows:
subject to
M inimize C(X)
M aximize R(x)
(4)
xik = 1 i = 1, 2, ..., r
(5)
mi xik Mk k = 1, 2, ..., n
(6)
n
k=1
r
i=1
r
si xik Sk k = 1, 2, ..., n
(7)
i=1
xik = {0, 1} i, k
(8)
The multiple objective functions are given in Equation (4). Equation (5) enforces the constraint that the each module can be allocated to single processor.
Equations (6) and (7) enforces the resource constraint where the memory and
computation resource capacity of each processor should be no less than the total
amount of resource requirement of all of its assigned modules. Constraint (8)
guarantees that xik are binary variables.
118
To design the CMOPSO algorithm, we adopt the notion of Jarboui et al. [5],
particle update strategies. However, here the particle is not mapped to {-1, 0, 1}
rather we use a symmetric function to map the integer value to a a continuous
domain. It is discussed in detail in following subsections.
3.1
Particle Representation
The particle for the MOTAP need to be encoded with 0,1 in a matrix of size
n r. But this creates a sparse array which would take longer updation time.
So use a vector of 1 r, denoted by Pi = {pi1 , pi2 , ..., pir }, where pi j represents
index of the allocated processor and j represent the index of the task. Here
pi,j = k implies xj,k = 1 and xj,m = 0 m = k. The representation is shown
in Figure 3.
1
3
5
1
6
7
...
Fitness Evaluation
We use the MOTAP formulation dened in subsection 2.2. In this function the
constraints (5) and 8 are implicitly satised due to the compact particle representation. The constraints (6) and (7) are redened by combining them together
in a function J(x) which is dened in Equation (9).
r
r
n
n
max 0,
mi xik Mk + 2
max 0,
si xik Sk
J(x) = 1
k=1
i=1
k=1
i=1
(9)
3.3
f (xi )
xi = Pig
f (xi )
xi = Pit
yi =
(10)
g
f (x)or f (x) xtj = Pit = Pi
0
otherwise
where f (x) = |x2 b| where b is a prime number and b >> x.
119
The use of the symmetric equation helps mapping the particle to higher range
values that provides a clear distinction between particles position in the continuous state. The velocity of the particle is update using Equation (11).
vij (t + 1) = wvij (t) + 1 (P Bij pij (t)) + 2 (P Gj pij (t)),
(11)
(12)
t+1
The value of yij
is adjusted using equation 5.
t+1
yij
f (x) if t+1
ij > f (x)
= f (x) if t+1
ij < f (x)
0 otherwise
(13)
(t+1)
xij
3.4
t+1
= f (x)
Pijg if yij
t+1
t
=
Pij if yij = f (x)
(14)
t
Selection of Pij
and PiG
120
3.5
Repository Updation
As we see in the Subsection 3.4, we need to maintain two archives to store the
global best position and the personal best position. So we need a strategy to
maintain the archives size as they retain the subset of the true Pareto front.
For maintaining the local memory, we use the non domination test. After
every generation, the elements are stored in the local memory if they are not
dominated any members of the archive. Also those members of the archive which
are dominated by the new members, which are about to enter the local memory,
are removed from the archive.
The external repository, storing the global guides, is also maintained using the
non domination test. But, alongwith it there is secondary strategy to maintain
the repository. We use the crowding sort technique to maintain the elements
of the repository when the repository size grows beyond a xed size. Here we
sort the members of the repository in descending order based on their crowding
distance values. The crowding distance value is calculated using the objective
values. Then the elements which has least crowding distance value are removed
from the archives. The algorithm for the CMOPSO is given in Algorithm 1.
AlGORITHM 1: CMOPSO algorithm
for j=1: M ax Swarm do
/* M ax Swarm is maximum size of the swarm*/
Initialize SW ARM [j];
end for
Fitness-particle(Swarm)
/* evaluate the tness */
for j=1 : M ax Swarm do
P B[j] = SW ARM [j];
/* Initialize the swarm local memory*/
end for
pbestti = getP article pbest(Swarm, P B[j])
/* select pbest for each particle */
while (I < IMax ) do
/* IMax is the maximum number of iteration*/
Pgt = getSwarm gbest(Swarm, EXARCHIV E)
/* select the gbest for each particle*/
Map the particle to continuous state using equation(10)
Update the velocity of particle with the equation (11)
Update the position of the particle using equation (12)-(14)
Fitness-particle(Swarm).
P B = U pdate local memory(swarm, P B)
/* update the pbest repository*/
pbestti = getP article pbest(Swarm, P B[j])
EXARCHIV E = P U pdate repository(Swarm, EXARCHIV E)
121
4
4.1
Experimental Study
Dataset
The dataset for the MOTAP is generated randomly. For the specied PIG, we
set the number of processors (n) and modules(r) equal to (6,8), (6,10),(7,9) and
(7,11) respectively in order to testify the problem with two dierent category of
problem scale. We also consider three dierent TIGs with various task interaction
density d equal to 0.3,0.5 and 0.8. The values for the other system parameters are
generated randomly using uniform distributions of following ranges: the module accumulative execution time (AET) is between 15 and 25, the intermodule
communication (IMC) load is between (15,25), the failure rates are generated
in the range of (0.0005-0.0010) and (0.00015-0.00030), the memory and computation capacity of each processor varies from the 100 to 300, the memory and
computation requirement of each module is generated in the range of 1 to 60.
4.2
Experimental Environment
4.3
We apply the CMOPSO algorithm to solve all the instances of the problem. The
obtained pareto optimal solution for one of the conguration of MOTAP (for
r=8,p=6) is shown in Figure 4. For the other congurations, the best, worst
and median values of the Pareto optimal set of two objectives(i.e., maximization
0.9954
0.9953
0.9953
System Reliability
122
0.9952
0.9952
0.9951
0.9951
d=0.8
d=0.5
d=0.3
0.995
0.995
0.9949
0.9949
45
50
55
60
65
70
75
80
System Cost
Table 2. Comparative results CMOPSO and NSGA-II for the two objective
Algorithm conguration
System cost
System Reliability
P* r d
best median worst best
worst median
0.3 50.31
65
72.78 0.9953 0.995497 0.9952
8 0.5 51.99 62.37 76.9 0.9954 0.99503 0.9952
6
0.8 52.06
63
76.93 0.9952 0.9949 0.9951
CMOPSO
0.3 56.71 63.61 68.58 0.99532 0.9949 0.9954
10 0.5 57.72 64.3
69.6 0.9954 0.99495 0.9952
0.8 63.76 64.2
69.6 0.9954 0.9950 0.9952
0.3 47.09 70.58 120.16 0.99420 0.9929 0.9941
9 0.5 47.51 83.98 128.3 0.9942 0.9936 0.9941
7
0.8 47.09 83.98 107.6 0.9942 0.9936 0.9941
0.3 56.19 71.69 97.6 0.9942 0.9921 0.9936
11 0.5 57.21 71.90 100.29 0.9941 0.9926 0.9935
0.8 58.91 72.97 101.17 0.9941 0.992 0.9935
0.3 112.2 112.35 114 0.9541 0.9540 0.95437
8 0.5
113 113.5 115.8 0.9650 0.9649 0.9648
6
0.8 113.6 113.9 116.3 0.96872 0.9681 0.96832
NSGA-II
0.3 106.2 108.1 116.8 0.9693 0.9654 0.9549
10 0.5 117.7 119.2 121.1 0.9554 0.9553 0.95504
0.8 121.6 124.3 125 0.9559 0.95532 0.9550
0.3 146.43 146.97 148 0.9821 0.9814 0.9808
9 0.5 149.5 149.7 149.9 0.9810 0.9806 0.9802
7
0.8 156.7 163.8 167.9 0.9810 0.9809 0.9800
0.3 243.2 247.43 261.65 0.9809 0.9802 0.9782
11 0.5 261.8 264.5 267.4 0.9843 0.9839 0.9832
0.8
274 278.8 281.6 0.9862 0.9857 0.9850
P represents the number of processor
r represents the number of modules
123
(a) Worst case analysis of system cost (b) Worst case analysis of system reliover iteration
ability over iteration
Fig. 6. Worst case analysis of the system cost and system reliability over the number
of iterations
of system reliability and minimization of system cost) are shown in Table (2).
Also the similar values of the two objective of non-dominated sorting genetic
algorithm (NSGA-II) based task allocation algorithm are also tabulated in 2.
The result conrms the better performance of CMOPSO over NSGA-II for both
the objective values under dierent congurations. Also, we nd that scaling
of processors and modules deteriorates the performance of both the algorithm
to some extent. However, this deterioration is within the tolerable range for
CMOPSO as compared to the NSGA-II based task allocation algorithm. we also
study the eect of the task interaction density (d) on the CPU time. We nd
that the increase of d increases the CPU time. The result is shown in Figure 5.
To ensure the quality service of the application running in DCS, it is essential
to study the worst case analysis of the system reliability and system cost. We
repeated the experiment on all the instances by varying the iteration from 1 to
300 in 30 runs. We plot the result of the system reliability vs iteration and system
cost vs iteration in Figure 6. The result clearly shows that the task allocation
solution generate by the CMOPSO have a system reliability > 0.9940 and system
124
cost < 150 for all the system conguration in 30 runs. Thus CMOPSO generates
a quality solution with a very high probability equivalent to 1-30/300=90%.
Conclusion
In this paper, we proposed a CMOPSO algorithm for solving the MOTAP that
minimizes the system cost and maximizes the system reliability. We showed that
the result obtained from the CMOPSO are very promising for task allocation.
We also studied the eect of program scaling and the task interaction density.
We see that the increase in the factor have tolerable aect on the objectives
and there is minor increase in the CPU time. However, we did not consider the
impact of the topologies on the performance of the system. This can be our future
research. Also we need to compare the algorithm with other meta-heuristics.
References
1. Attiya, G., Hamam, Y.: Task allocation for maximizing reliability of distributed
systems: A simulated annealing approach. Journal of Parallel and Distributed Computing 66(10), 12591266 (2006)
2. Coello Coello, C.A., Lechuga, M.S.: MOPSO: a proposal for multiple objective
particle swarm optimization. In: Proceedings of the Evolutionary Computation on
2002, CEC 2002, pp. 10511056. IEEE Computer Society, Washington, DC, USA
(2002)
3. Ernst, A., Hiang, H., Krishnamoorthy, M.: Mathematical programming approaches
for solving task allocation problems. In: Proceedings of the 16th National Conference of Australian Society of Operations Research, Australia (2001)
4. Hsieh, C.-C.: Optimal task allocation and hardware redundancy policies in distributed computing systems. European Journal of Operational Research 147(2),
430447 (2003)
5. Jarboui, B., Ibrahim, S., Siarry, P., Rebai, A.: A combinatorial particle swarm
optimisation for solving permutation owshop problems. Computers and Industrial
Engineering 54(3), 526538 (2008)
6. Kartik, S., Siva Ram Murthy, C.: Task allocation algorithms for maximizing reliability of distributed computing systems. IEEE Transaction on Computers 46,
719724 (1997)
7. Lee, C.-H., Shin, K.G.: Optimal task assignment in homogeneous networks. IEEE
Transactions on Parallel and Distributed Systems 8, 119129 (1997)
8. Lin, M.-S., Chen, D.-J.: The computational complexity of the reliability problem
on distributed systems. Information Processing Letters 64(3), 143147 (1997)
9. Mostaghim, S., Teich, J.: Strategies for nding good local guides in multi-objective
particle swarm optimization MOPSO. In: Proceedings of the IEEE, Symposium on
Swarm Intelligence, pp. 2633 (2003)
10. Ajith Tom, P., Siva Ram Murthy, C.: Optimal task allocation in distributed systems
by graph matching and state space search. Journal of Systems and Software 46(1),
5975 (1999)
11. Page, A.J., Keane, T.M., Naughton, T.J.: A multi-heuristic dynamic task allocation
using genetic algorithms in a heterogeneous distributed environment. International
Journal of Parallel Distributed Computing 70, 758766 (2010)
125
12. Shatz, S.M., Wang, J.-P., Goto, M.: Task allocation for maximizing reliability of distributed computer systems. IEEE Transaction on Computers 41, 11561168 (1992)
13. Srinivasan, S., Jha, N.K.: Safety and reliability driven task allocation in distributed
systems. IEEE Transactions on Parallel and Distributed Systems 10, 238251
(1999)
14. Tripathi, A.K., Sarker, B.K., Kumar, N.: A ga based multiple task allocation
considering load. International Journal of High Speed Computing 11(4), 214230
(2000)
15. Yin, P.-Y., Yu, S.-S., Wang, P.-P., Wang, Y.-T.: Multi-objective task allocation
in distributed computing systems by hybrid particle swarm optimization. Applied
Mathematics and Computation 184(2), 407420 (2007)
16. Yin, P.-Y., Yu, S.-S., Wang, P.-P., Wang, Y.-T.: Task allocation for maximizing reliability of a distributed system using hybrid particle swarm optimization. Journal
of System Software 80, 724735 (2007)
Abstract. Ecient searching and quality services are oered by prevailing infrastructure of Peer-to-Peer(P2P)networks. P2P applications
are more and more wide spreading with good scope. Though the advantages are still existing the P2P system is vulnerable to some security
issues. One of the important issues that threatens the subsistence of
P2P system is freeriding. Freeriders are peers(nodes) which only utilize
the system but not contribute anything to the system. Freeriders aect
the system in a drastic manner. Freeriders mainly download the contents without uploading anything. So the contents will be concentrated
in few peers and that will increase the congestion and reduce the quality
of the system. This reduces the popularity of the system. This paper
compares dierent approaches for managing freeriders and nally a solution is suggested which is an extension to existing protocol known as
BARTERCAST and the enhancement is done through Q-learning. Application of reinforcement learning approach in BARTERCAST results
in more accurate results.
Keywords: Maxow, Q-learning, Q-table , Reward.
Introduction
127
Existing Solutions
128
7. BARTERCAST [1]:Fully distributed method for freerider prevention. Applying Ford-Fulkerson maxow algorithm and the result is used for nding
the reputation among dierent peers.Dierent security aspects are also considered by this method.No need of a centralized server for coordinating the
entire process.
In addition to above solutions, reputation based approach for establishing trust
among peers also plays an important role in freerider prevention. Local Reputation values generated among peers as a result of individual feedback are aggregated to acquire a global value. On hand reputation models which are proved
on the basis of simulation experiments are briefed here.
1. Xrep [9]: The protocol is developed for generating reputation values on both
resources and peers. Reputation values are calculated on the basis of votes.
Peers are asked to vote their opinion about resources and the peers which
provide the resource.The votes are evaluated and nally the peer having
highest votes is selected to download the content.
2. TrustMe [10]: It gives importance to the anonymous nature of peers. Trust
value of each peer will be stored in a THA(Trust Holding agent)peer. The
requestor can initiate a broadcast query by asking the trust value of peer
holding the resource(say peer A).The answer is given by the corresponding
THA peer. After getting a satisfying trust value the requetsor will choose
peer A for interaction. Finally the requestor will update the trust value of
peerA by submitting the report to corresponding THA peer. If the network
consists of large number of peers the report distribution will take long time
and it will aect the reputation calculation time.
3. NICE [11]: Used for the implementation of cooperative applications. As a
result of each transaction a signed certicate will be send from requestor
to resource possessor. By using the certicates the possessor will conduct a
search. The nal trust value calculation is based on the suggestions obtained
from searches and signed certicates.
4. EigenTrust [12]: This method is mainly used for identiying malicious peers.
Each peer calculates the local trust value. These values will be normalized and
aggregated. The aggregated value represent the global trust value.The basic
assumption of this method, that is if the contents presented by a peer is true
then the trust value reported by the peer will also reliable, is not correct.
5. PeerTrust [13]: This reputation model is implemented on a structured P2P
network. The trust value calculation depends on ve factors. The trust values
will be stored at hashed locations. Though it provides an acceptable level
freerider prevention it is not easy to implement in large scale P2P network.
6. PowerTrust [14]:All the calculations are based on the Trust Overlay Network
developed above peers. Local trust values developed will be aggregated by
regular random walk module and frequently updated by Look ahead random
walk module.This LRW is associated with distributed ranking module for
nding power nodes.Power nodes are considered as the most reputable nodes
and if anything happens to power nodes that will aect entire network.
129
7. GossipTrust [15]:It is used for aggregating local trust values in unstructured P2P networks.Aggregation is performed by using step and cycle methods.Cycle is composed of dierent steps.Vale aggregated in one cycle is added
to the next cycle.The main problem in GossipTrust is that the method will
consider all existing peers in the network.
8. GRAT [16]:The problem in Gossip Trust is solved here by forming groups.The
method includes Creation of groups ,Creation of link between Sub Leaders
and nally Calculation of global score.
The dierence among seven methods lies in its complexity and implementation
as shown in the table. From the above comparison, BARTERCAST shows high
performance by considering all factors.
130
M ethod
Currency Method
Prot Sharing
TARC
Service Dierentiation
Cluster Based Mechanism
DMM
BARTERCAST
Centralized
Centralized
Distributed
Partially Decentralized
Distributed
Partially Decentralized
Distributed
High
High
High
Medium
Medium
Medium
Low
Fair
Fair
Fair
Good
Good
Good
Excellent
Proposed Solution
131
Q-Learning
Q-learning is one of the methods for realizing learning course of action. It helps
in achieving perfect outcome as a result of frequent actions. The Q-value can
be measured by analyzing the past performance of each peer. Q-Feed [17] take
account of Q-table for each node. Q-table upholds the Q-value for each node.
Based on the Q-value the behavior of each node is labeled into three states.
The opening state of every node is regular. The performance decline results in
oating state and nally leads to sleeping state.
4.2
BARTERCAST is implemented in a fully unstructured network. The above explained maxow algorithm gets input from peers as message exchange. BARTERCAST has already proved that it can work in a situation when majority of peers
send false information. Though it produces a valuable outcome it can be made
more accurate by applying Q-learning. The formula for nding reputation matrix in BARTERCAST is dened for a path with maximum length 2. It can be
modied by considering more than 2 nodes in an unstructured network. The
method used in Q-feed [17] for nding the Q-value can be applied here.
Qi,t+1 =Qi,t + ( - Qi,t )
(1)
(2)
Q values for each node based on previous performances are stored in the Q-table.
The Q-table values decide whether the peer belongs to regular state,oating state
or sleeping state. The formula for reward is to calculate the reward between
neighboring peers. Values from other peers are exchanged as messages among
the peers.
132
Entire steps can be summarized into three sections. As the initial step Q-table
creation is considered. Second and third step deals with value calculation and
behavior analysis.
6.1
Each node consists of a Q-table. Q-table entry contains the Q-values of neighboring peers.Considering Fig.2 as input network. Node A will send a request
and the nodes which give a response will entered into the Q-table. The initial
Q-values for these nodes will be set based on their uploading capacity. Then the
Q-values get modied for each action performed by the peer.
Here Q-table entries of peer A is considered. The nodes which respond for
the query send by A are entered in the Q-table. Here nodes B,C,D,E and F are
the Q-table entries. Based on their uploading bandwidth, resulted as part of
their response for node As request, initial Q-values are set for each node.Table
2 stands for the Q-table of node A.
Table 2. Initial Q-Table of peer A
B
C D E
160 90 45 200 80
6.2
133
6.3
Behavior Analysis
Result Analysis
This section elucidates the simulation results. Result shows the eectiveness
the proposed method in freerider prevention. Simulations are done for both
BARTERCAST and the enhanced method.Finally the results are compared to
show the accuracy of enhanced method over existing BARTERCAST.
7.1
Simulation Scheme
NS2 is used as the simulator. The simulation is done for 1000 peers.The le size
is taken as 70M. Simulate 20% peers as freeriders and 80% peers as good peers.
134
Fig.3, Fig.4 and Fig.5 show the coresponding simulation results of BARTERCAST protocol, Enhanced Bartercast usng Q-learning and comparison of the
two methods. X-axis shows the time values corresponding to hours and Y-axis
represents the total upload rate of the network.
The gradual increase in upload rate shows the detection and avoidance of
freeriders. Comparison results show the eciency of proposed method over
135
existing one. For the proposed method, as the time increases the upload rate
of peers will increase in an accurate manner. Since the enhanced method is
based on Q-learning the accuracy will be increased in each transaction based on
past experience.
Conclusion
Application of reinforcement learning approach results in highly accurate performance. The accuracy of result is interrelated with reputation of peers. BARTERCAST is an undemanding mechanism with high reputation values. Freerider
detection and prevention is done on the basis of Q-values stored in the
Q-table. Q-value is calculated as two separate procedures. Initially Ford Fulkerson maxow algorithm is used for nding the maxow. After nding the maxow,
Q-value is found based on Q-learning equation.The values in Q-table are examined and xed on the behavior of each peer. Acceptance of a peer depends on
the behavior. A peer with sleeping behavior is considered as a freerider and it
is rejected by the network. Finally eciency of the proposed method is proved
against existing BARTERCAST protocol with the help of simulated results.
References
1. Meulpolder, M., Pouwelse, J.A., Epema, D.H.J., Sips, H.J.: BARTERCAST: A
practical approach to prevent lazy free riding in p2p networks. In: Proceedings of
IPDPS 2009, pp. 18 (2009)
2. Watkins, C.J.C.H., Dayan, P.: Technical Note:Q-Learning. Journal Machine Learning 8(3-4) (May 1992), doi:10.1007/BF00992698
3. Elrufaie, E., Turner, D.A.: Bidding in P2P Content Distribution Networks using
the Lightweight Currency Paradigm. In: International Conference on Information
Technology: Coding and Computing (ITCC 2004), vol. 2, p.129 (2004)
4. Catalano, D., Ruo, G.: A Fair Micro-Payment Scheme for Prot Sharing in P2P
Networks. In: Proceedings of the 2004 International Workshop on Hot Topics in
Peer-to-Peer Systems (HOT-P2P 2004). IEEE, Los Alamitos (2004)
5. Mekouar, L., Iraqi, Y., Boutaba, R.: Free riders under control through service differentiation in peer-to-peer systems. In: International Conference on Collaborative
Computing: Networking, Applications and Worksharing (2005)
6. Zhang, K., Antonopoulos, N.: Towards a Cluster Based Incentive Mechanism for
P2P Networks. In: CCGRID 2009 Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid (2009)
7. Chen, C., Su, S., Shuang, K., Yang, F.: TARC: A Novel Topology Adaptation
Algorithm based on Reciprocal Contribution in Unstructured P2P Networks. In:
ICPP Workshops 2009, pp. 437442 (2009)
8. Tian, J., Yang, L., Li, J., Liu, Z.: A Distributed and Monitoring-based Mechanism for Discouraging Free Riding in P2P Network. In: 2009 Computation World:
Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns,
pp. 379384 (2009)
136
9. Damiani, E., Vimercati, S., Paraboschi, S., Samarati, P., Violante, F.: A
Reputation-based Approach for Choosing Reliable Resources in Peer-to-Peer Networks. In: ACM Symposium on Computer Communication Security, pp. 207216
(2002)
10. Singh, A., Liu, L.: TrustMe: Anonymous Management of Trust Relationships in
Decentralized P2P Systems. In: Third IEEE International Conference on Peer-toPeer Computing, pp. 142149 (September 2003)
11. Lee, S., Sherwood, R., Bhattacharjee, B.: Cooperative peer groups in NICE (2003)
12. Kamvar, S., Schlosser, M., Garcia-Molina, H.: The Eigen- Trust algorithm for reputation management in P2P networks. In: Proceedings of the Twelwth International
World-Wide Web Conference (WWW 2003), 446458 (2003)
13. Xiong, L., Liu, L.: PeerTrust: Supporting reputationbased trust for peer-to-peer
electronic communities. IEEE Transactions on Knowledge and Data Engineering 16(7), 843857 (2004)
14. Zhou, R., Hwang, K.: PowerTrust: A Robust and Scalable Reputation System for Trusted Peer-to-Peer Computing. IEEE Trans. Parallel and Distributed
Systems 18(4), 460473 (2006)
15. Zhou, R., Hwang, K., Cai, M.: Gossiptrust for fast reputation aggregation in peerto-peer networks. IEEE Trans. on Knowledgement and Data Engineering, 1282
1295 (February 11, 2008)
16. Yasutomi, M., Mashimo, Y., Shigeno, H.: GRAT:Group Reputation Aggregation
Trust for Unstructured Peer-to-Peer Network. In: ICDCSW 2010: Proceedings of
the 2010 IEEE 30th International Conference on Distributed Computing Systems
Workshops (2010)
17. Thampi, S.M., Chandra Sekaran, K.: Q-Feed - An Eective Solution for the Freeriding Problem in Unstructured P2P Networks. International Journal of Digital
Multimedia Broadcasting 2010, Article ID 793591, doi:10.1155/2010/793591, ISSN:
1687-7578, e-ISSN: 1687-7586
Abstract. Research in point mutation is ubiquitous in the eld of bioinformatics since it is critical for evolutionary studies and disease identication. With the exponential growth of gene bank size, the need to
intelligibly capture, manage and analyse the ever-increasing amount of
publicly available genomic data became one of the major challenges faced
by bioinformaticians today.The paper proposes a new method to represent point mutation by eectively reclassifying the DNA sequences on
the basis of occurence of point mutation to form a mutation hierarchy
which considerably reduces the memory space requirement for storage
and heavily reduces the complexity in data mining.
Keywords: Point mutation, Data warehousing, Data mining.
Introduction
Motivation
The Genbank size is increasing exponentially day by day. Accumulation of information into Genbank was heavily boosted by the introduction of shotgun
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 137144, 2011.
c Springer-Verlag Berlin Heidelberg 2011
138
technology for sequencing DNA[2]. Thus the memory requirement for storage
has increased drastically and the retrieval of needed information from this huge
volume became a complicated task.
Existing Methods
Point mutations are represented in a variety of ways. Most frequent representation consists of three distinct parts: a nucleotide, a sequence position, and a mutant. A typical representation of a point mutation is A113T, denoting a change
from adenine to thymine at position 113 of a DNA sequence. Variations on this
shorthand form include A123T, A(123)T, and A-123-T. Three letter abbreviations were also used. For example:Ala123Thr, Ala118Thr, Ala(118)Thr, and
Ala-118-Thr. Aside from this, point mutations are also represented in a sentence
139
form such as position 132 was mutated from an alanine to a threonine or positions 101110 were mutated to proline. [9].
The problem is that none of these representation methods indicates the type
of mutation happened, so from these representation methods the actual sequence
regeneration is not possible and therefore the mutated gene has to be stored in
some other location which causes considerable memory wastage.
Proposed Solution
The proposal is a new representation method for point mutation which is simple enough and dynamically reduces the space requirement for storage. This
new representation method makes it possible to retrieve information from the
database with less complexity.
The three possible point mutations have to be taken into consideration. The
representation method consists of a tuple with three variables followed by a
memory address:
<V,X,Y >address
where
V is the nucleotide
X is the position of mutation
Y is the type of mutation happened
Here we are considering only DNA mutation, so the possible values of V can
be either A, T, C or G.X can take any integer value depending on the position
of the nucleotide for which the mutation happened value is a single character
value which can be either s or i or d, where s stands for the substitution of one
nucleotide for another type mutation, and i for the insertion of an additional
nucleotide and d for a loss of a nucleotide type mutation. The address followed
by V is the address location of the gene from which the new gene is mutated. A
pointer is made to point to that memory address. So in this method of representation, it is not necessary to store the mutated gene, instead only the changes
happened is need to be stored. From this representation we will get the changes
and address of the old gene it is easily possible to trace out the new gene.
5
5.1
Method of Implementation
Computation of Input to the Representation Algorithm
A one to one matching is done on the sequence and if a mismatch occurred the
nucleotide for which the mismatch occurred and its position is saved to some
temporary variables. Then the next two nucleotides are compared. If they are
same, the previous one is considered as a substitution. So to the temporary
stored variable,s(s stands for substitution) is added as the type of mutation.
Else if the comparison result is again a mismatch, the nucleotide is substituted
140
Sample Representation
As we have seen, there is a matrix that keeps track of the mutations happening
between any two sequences in the hashed database. Thinking in terms of data
mining opportunities, we can logically represent the same matrix as a graph
(of which this matrix forms an Adjacency Matrix). In that graph, the hashed
141
sequences will be the vertices and the edges correspond to mutations as per the
matrix.
This method enables us to visualize the mutations by jumping from one vertex
to the next, each of which is in turn a sequence in itself. So, by keeping track
of the mutations encountered (from the graph edges), we can easily retreive the
new sequence by simple graph traversal algorithms. So, this matrix will act as a
chain that keeps the mutation process in itself. Any new sequence simply needs
to be hashed into the matrix, and we have to ll the corresponding cells. Once
that is done, it is an integral part of the whole graph, and gets its right position
in the mutation chain.
5.4
Due to the inherent parallel nature of this method the speed of processing can be
increased by parallelizing the process of computation. The best suitable model
suggested here for parallelisation is the Workers Dispatcher model.
142
S=1/1-P
S -speed-up of the program
P -fraction that is parallelizable
So, as we subdivide the matrix further, we are able to parallelize the process by
a huge margin.
Result
Fig. 3. Outcome
The algorithm proposed above produces the following result:Consider the following sequences:
AUG ATC
ACG ATC
ACG TTC
Consider the seuences to be hashed as:
AUG ATC = 20
ACG ATC = 27
ACG TTC = 12
143
Once the graph is constructed, it will have 3 nodes - 20, 27, 12.
There will be the following entries in the matrix (corresponding to the edges):
matrix[20][27] =
matrix[27][20] =
matrix[27][12] =
matrix[12][27] =
{C,2,S}
{U,2,S}
{T,4,S}
{A,4,S}
So, by using suitable graph traversal algorithms, we can trace the mutations
that have occured between any two such sequences, as long as they have been
mapped into the matrix.
Conclusion
The new approach to represent point mutation is simple and reduces the storage
requirement considerably. It also provides an easy means of data mining. The
approach to parallelize the method makes it possible to perform the computation
among a cluster of computers rather than going for a super computer. The process is expected to speed up the computation considerably. This representation
method is suitable for evolutionary studies, disease recognition, strength identication etc.Eventhough the paper takes into consideration the DNA mutations
other mutations such as protein (amino acid sequences) can be represented using
the same method.
Future Work
References
1. Nollau, P., Wagener, C.: Methods for detection of point mutations:Performance
and quality assessment. Clinical Chemistry 43(7) (1997)
2. GBParsy: A GenBank atle parser library with high speed (2008),
http://www.biomedcentral.com/1471-2105/9/321
3. Sheng, C., Hsu, W., Lee, M.L., Tong, J.C., Ng, S.-K.: Mining mutation chains in
biological sequences. In: 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010), pp. 473484 (2010)
4. Ji, M., Tang, H., Guo, J.: A single-point mutation evolutionary programming.
Information Processing Letters 90(6) (June 30, 2004)
5. Binder, A.: Methods of Detection of Single Point Mutations (1997),
http://www.kfunigraz.ac.at/~ binder/thesis/node63.html
6. Akhurst, T.J.: The Role of Parallel Computing in bioinformatics. Research Report
(January 2005)
144
7. Sinha, P.K.: Distributed Operating Systems, pp. 398414. PHI Learning Private
Limited (2009)
8. Sickle Cell: Sickle Cell Anemia: Example of a Point Mutation (2010),
http://www.tamu.edu/faculty/magill/
gene603/PDF%20versions/Sickle%20Cell.pdf
9. Lee, L.C., Horn, F., Cohen, F.E.: Automatic Extraction of Protein Point Mutations Using a Graph Bigram Association. PLoS Comput. Biol. 3(2), e16 (2007),
doi:10.1371/journal.pcbi.0030016,2007
10. Wu, L., Ling, Y., Yang, A., Wang, S.: Detection DNA point mutation with rollingcircle amplication chip. IEEE, Los Alamitos (2010)
11. Amdahls Law (1992),
http://home.wlu.edu/~ whaleyt/classes/parallel/topics/amdahl.html
Abstract. Mobile ad hoc network termed as MANET is an adhoc network with self conguring mobile devices connected by wireless links.
Currently, MANET had a greater impact on secured communication as
it is a part of the ubiquitous network. Each node in the MANET is acting as a router itself. Routing in wireless ad hoc networks are vulnerable
to trac analysis, link spoong, wormhole attacks and denial of service
attacks as it is of infrastructure less and having highly dynamic topology.
Anonymity mechanisms is used to protect the nodes against these attacks
by concealing identication information of the nodes, links, trac ows
and network topology information etc. For a secured communication, secured routing and anonymity to the nodes is essential in adhoc networks.
MANET security issues includes provisions and policies adopted to prevent and monitor unauthorized access to the network and to the data.
Several ecient protocols are proposed specically for MANET, from
these, optimised link state routing protocol is suited for large and huge
dense network. The current OLSR scheme assumes the nodes are to be
trusted nodes and the anonymity is not achieved yet through OLSR. The
proposed solution is for achieving anonymity and security in MANET by
implementing four way handshaking between two nodes using Host Identity Protocol and integrate it with OLSR for secured routing. The technique expected to have a less message overhead by compared to classical
ooding mechanisms and increase the security level with a preferrable
bit rate. Overall, the technique provides anonymity and security in the
MANET environment.
Keywords: MANET Routing, OLSR, MD5, HIP.
Introduction
Along with the rapid use of mobile devices, MANET is achieving great
attention in the eld of secured communication networks. As the environment
is infrastructure-less, MANET is attractive for the applications such as emergency operation, disaster revovery and so on. The nodes in the MANET can
move in any direction and can join or leave the network at any time, the transfer
medium is electromagnetic spectrum. Common protocols used in wired networks
are inecient for MANETs so dedicated protocols have been developed. Primarily two types of routing protocols are used in MANET, proactive and reactive.
Proactive protocols such as the Optimized Link State Routing (OLSR) protocol
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 145154, 2011.
c Springer-Verlag Berlin Heidelberg 2011
146
proactively maintain the routes between nodes and route information in the routing table by propagating route updates thorough the network. While, reactive
or on demand routing protocols institute routes on request, Ad-hoc On-demand
Distance Vector (AODV) and the Dynamic source routing (DSR) protocols are
some exapmles of this architecture. MANET routing protocols enable nodes to
discover routes proactively or reactively to nodes they wish to communicate
within the network. Additionaly as it is of infrastructure less, no central administration exists and the security issues are dierent from conventional networks.
MANETS need energy - ecient operation because all the nodes depend on battery power which is a highly limited source[3]. These features indicates the need
of a more secure operation in the MANET. Current routing protocols do not focus much on the security aspects such as condentiality, integrity, authenticity,
availability, anonymity and non repudiation.
Since mobile ad-hoc networks are highly vulnerable to eavesdroppers. Eavesdropping is a mechanism of overhearing the condential information which is
exchanged between two nodes and the observer node can act as a malicious
node, so mechanisms needed to protect the communication. One of these mechanisms is the use of anonymous communications, which is used to conceal the
identities and informations about the transactions between the source and destination nodes. Anonymity includes data anonymity and connection anonymity
in which data anonymity is hiding all the information about the data while connection anonymity deals with hiding all the connection links and details about
the source and destination.
Some works about anonymous communications are proposed for MANET
which includes ANODR, ARM, MASK AnonDSR and ASR. One of authenticity protocol widely used in wireless networks are Host Identity Protocol(HIP)
whch hides information about the source and destination nodes and prevents the
tracking of trusted links between them. The nodes in a network can be identied
by their IP address, MAC address etc. For achieving anonymity, the information
about the identities need to be kept hidden. There arises the need for a cryptographic identier for each nodes and for each a security parameter index is added
to notify a secured session between two communication parties involved in the
conversations. Even though HIP will help to achieve anonymity, we can not sure
about providing a secure communication with minimum overhead in the network
trac. A trusted environment of grater anonymity can be achieved with the help
of these exchanges in HIP. A host identity tag is attached with each nodes in
the MANET for achieving authenticity and availability in the network[2].
The cryptographic techniques are ecient way of securing the data packets in
the network, but some of the ecient cryptographic algorithms are not suited for
adhoc networks as it may create a much delay in the network and require more
processing power. The proposed solution uses suitable cryptograhic techniques
and the hashed data using MD5 whose source code is provided by www. olsr.
org. The use of olsr technique considerably reduces the processing time and delay
on the network. As the encrypted HIP packet is exchanged only after DieyHellman Key exchange between the parties done, condentiality also achieved.
147
The concept of implementing HIP and integrate it with OLSR will help to achieve
both anonymous and secure communication whole over the network provided a
compromise on extra encryption needed. As olsr is supported, it is expected to
have a minimum packet ovehead in the MANET environment.
The structure of this paper is the following. Section2, refer to the existing
approaches in MANET security and various proposals, Section 3 describes necessity for anonymity and security in MANET, Section4 describes the security
architecture, section5 with implementing HIP in the proposed solution and further going on with a brief overview of the olsr. Section6 presents expected results.
Conclusion and future works are added in Section7.
Existing Approaches
There are dierent approaches for MANET security based on anonymous communication and secured routing using OLSR. In this section we discuss main
contributions on OLSR security.
1. A timestamp based approach against replay attacks in the MANET is proposed by Rao.
2. SAOLSR describes a scheme of using a trust table for 2 hop neighbours and
comparing the delay to protect against wormhole attacks in the MANET
and the solution is simulated with ns2 simulator[10].
3. Panaousis proposed a soluion by taking the advantage of the strength of
Security Architecture for the Internet Protocol(IPSec) for implementing a
secured OLSR in MANET[6].
4. A test bed implementation of OLSR in MANET is done and it is noted that
OLSR had a good performance when nodes are in stationery state[12].
5. Another solution for securing OLSR proposed by clausen which provides
optimal routes and is suitable for large and huge dense network and the
implemeted result is also simulated[15].
Many anonymous routing protocols are also proposed specically for MANET
1. Anonymous routing schemes like Anonymous On Demand Routing (ANODR), Anonymous Dynamic Source Routing (AnonDSR), MASK , Secure
Distributed Anonymous Routing Protocol (SDAR) are also proposed[3].
2. ANODR uses pseudonyms instead of real identities for the route discovery
and to achieve anonymity by hiding the identities of the intermediate nodes
in the route[5].
3. AnonDSR employs anonymous dynamic source routing uses onion between
the source and destination, and each intermediate node owns a shared session
key with the source and destination nodes.
4. MASK can establish multiple routes for data transmission by indicating the
real identity of the destination node in the route request packet[9].
148
Already many approaches exists to deal with how to protect the MANET from
wormhole attacks, colluding misrelay attacks, denial of service attacks, the need
for achieving anonymity is also concern. Hence the objective of the proposed idea
to Anonymous and secured communication using OLSR in MANET
is to provide untracaceable communication links using hidden IP address and a
secured routing by OLSR.
Each node in a mobile adhoc networks is free to move in every direction. These
nodes can be a laptop, mobile phones, personal digital assistant, mp3 player and
pc which can be located in car or anywhere or with people having small electronic
devices as there is no centralised control over the network trac[2]. Routing is
one of the critical issues in MANET and hence it is needed to focus more on
performance analysis of routing protocols. The delay, throughput and work load
in the network measures the eciency of the routing protocols. In those routing
protocols proposed specicall for MANET, AODV shows best performane in
low and mediumnode density while DSR is suited for higher delivery ratio and
throughput[14]. OLSR perform in a suited manner for video streaming in dense
networks.
There are manuy anonymities exists in a network, such as sender anonymity,
reciever anonymity, connection anonymity, data anonymity and localization
anonymity, of these relation anonymity such as connection anonymity is the
most concerned. Already mentioned the mobile ad hoc networks are vulnerable
to security problems than in the wired conventional networks, the various issues
in MANET should be discussed as there is no predened boundary, no centralised
control like base station, a limited energy resource of battery power etc.
Also dierent security criterias are explored such as availability, whether the
nodes is available in the network, authenticity to prove the identities of the
parties, integrity to be achieved so that no modication is done to the message,
non repudiation, condentiality so that unauthorised person can not view the
message[8].
The malicious node make routing services as the target because it is one of
the important services in the MANET. There are two avours in the routing
attack, one is to attack the routing table and the other is to attack the node
links and thus attcks the packet delivery mechanisms . So the information about
the connection and data should be kept private in the network. The rst is
aimed to block the packets in some nodes without routing. The second casse
is attacking the packets to be delivered which includes both passive and active
attacks. Various routing attacks exists such as worm hole attack in which a
node in the network itself acting as a malicious node, eavesdropping in which
the trusted node may observes the other nodes and may attack the condential
information like location, private key, session key etc, DoS attacks due to less
batter power, colluding misrelay attacks etc.
149
The host identy protocol is acting as a lter above the network layer in the
ISO/OSI architecture. Eventhough IP address of the nodes are used to forward
the data packets in the network, for achieving anonymity we need to hide this
identity and instead we are using host identity tag. From the transport layer
onwards we used to refer the nodes with HIT tag to hide the identity of the
nodes. One advantage of this HIT tag is the hosts can name each other with
unique identities and host can change their IP address without dealing with
transport layer connection security levels[16]. By using HIP architecture, the
nodes are not needed to be aware of certicate authorities on the data. Here, in
the network layer the data packets are exchanged by applying hash function on
the data and an integrity check value is added with the data. Through the IP
address, the ICV is given to the HIP layer which is above the network layer. Host
identiy tag corresponding to the IP address is generated at this level . Now, above
150
the hashed message, IP address is there and above that host identity tag is there.
This HIT is encrypted with the destination nodes public key and transferred
through the port in the transport layer.
With HIP, security architecture is based on the four way handshaking between
two nodes, initiator and responder as showwn below. The HIP base exchange
(BEX) consists of four way handshaking between initiator and responder. Before
a base exchange can be established the initiator must know the address of the
responder with the help of DNS or LDAP. Initiator in the HIP need not be the
sender itself.
As shown in fugure 2, a trigger message is sent from the initor to the responder
for initiating the authentication checking program with responder. Responder
sends back a challenge request say a puzzle with encrypted session id, time
stamp and life time for the request. As it is encrypted with the public key of the
initiator and session id used here is a unique identier for the particular session,
condentiality can be achieved. Initiator send back a response to the challenge
request say solution to the puzzle and exchanges an encrypted session key with
timestamp and life time of the packet. The session key is encrypted with public
key of the responder. Responder sends back the IP address with the timestamp
and encrypted with the session key which is known only to the initiator and
responder. This termed as the host identity tag. The security levels are shown
in the gure below.
When the HIT is reached on the initiator, initiator starts to froward the data
packet which is encypted with the destination nodes public key. The integrity
check value is added to the message by applying some hashing techniques on the
message. The data packet to the destination is as shown below.
151
Thus the process of hiding the identities of the endpoints in the adhoc network
is achieved by using host identity protocol while the protection against routing
attacks can not be guaranteed.
OLSR
The Optimized Link State Routing Protocol (OLSR) operates as a table driven,
proactive protocol. Each node selects a set of its one hop neighbor nodes as multipoint relay nodes(MPR) so that it covers all strict 2 hop neighbours and these
are responsible for forwarding control trac in the entire network. A HELLO
packet is periodically is exchanged for link sensing in the network. A nodes
HELLO message contains its own address, a list of its 1-hop neighbors and a
list of its MPR set. Topology Control messages are used for calculating routing
table. Each node which is selected as an MPR node periodically generate TC
message to containing its MPR selector and only its MPR nodes are allowed to
forward TC messages. Upon receiving TC messages from all MPR nodes in the
network, each node learn all nodes MPR set and hence obtains knowledge of
the whole network topology. Based on this topology, nodes are able to calculate
routing table.
The basic layout of the OLSR packet is shown as follows.
The Packet Sequence Number must be incremented by one each time a new
OLSR packet is transmitted. Message type indicates the type of message. Vtime
indicates validity time. Message Size indicates the size of the message, counted
in bytes. Originator address contains the address of the node. Time to Live
indicates the maximum no of hops a message will be transmitted. Hop Count
contains the number of hops a message has attained. Message Sequence Number
assigned by the originator for a unique identication number of each message.
Ecient integration of HIP with OLSR allows optimizing the ooding process by taking advantage of the minimum spanning tree approach dened by
multipoint rlay nodes in the olsr , thus reducing broadcasting ovehead in the
network.
152
Fig. 7. TC packet
A Topology Control message header contains Toplogy control message contains OLSR constantly maintains the delay in the routing table and the proposed solution expects an optimal packet transmission with broadcasting to all
the nodes found in the path of minimum spanning tree by the MPR.
6.1
The proposed architecture concerns the issues such as anonymity and security in
mobile adhoc networks. Through this approach, authenticity can be achieved by
using host identity tag which is a concealed host identier. OLSR may provide
a minimum packet overhead as it is not ooded to all the nodes in the network.
Thus a secured routing and anonymous communication can be achieved . The
message digest generated by hash function can easily be created as open source
provided by www. olsr. org. Eventhough an extra eort of encryption is needed
in case of host identity protocol, the system is expected to have not much delay
as olsr is suitable for large and dense network.
153
As for the conclusion, we have seen how to provide a secured routing and anonymous communication in mobile adhoc network. Many security issues, the need for
anonymity and security are also discussed. Also a brief idea about how to prevent
internal and external attacks against routing services such as wormhole attacks,
eavesdropping, Denial of Service attacks, colluding mis relay attacks etc is given.
The proposed solution provides both anonymity and security in the MANET environment, so that the performance is increased with higher throughput in the
MANET trac. Protection against routing attacks is guaranteed. Authenticity
is achieved by using HIP and as the OLSR approach uses optimal routes, packet
ooding overhead will be minimum. The application of the proposed soltion is
best suited for military application as of needs higher degree of authenticity and
condentiality. The future scope includes extending the advantages of proposed
solution for unaltered host identity tag so that any one can change the IP address in a MANET environment and it will be easy to check the availability of
the nodes.
References
1. Chandee, R.S.M.S., Mishra3, D.K.: Security Issues in MANET:overview. In: Proceedings od Seventh International Conference on Wireless and Optical Communication Networks, pp. 14 (September 2010)
2. Khurri, A., Kuptsov, D., Gurtov, A.: On Application of Host Identity Protocolin
Wireless Sensor Networks. In: Proceedings of Seventh International Conference on
Mobile Addhoc and Network Systems, pp. 345358 ( May 2010)
3. Kumari, E.H.J., Kannammal, A.: Privacy and security on anonymous routing protocols in manet. In: 2nd International Conference on Computer and Electrical
Engineering, Dubai, pp. 433435 (December 2009)
4. Hu, Y.-C., Perrig, A.: A survey of secure wireless ad hoc routing. IEEE Security
and Privacy 2(3), 2839 (2004)
5. Nccher, M., Calafate, C.T., Cano, J.-C., Manzoni, P.: Anonymous routing protocols: impact on performance in MANETs. In: Proceedings of IEEE International
Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems, Moscot, pp. 13
6. Panaousis, E.A., Drew, G., Millar, G.P., Ramrekha, T.A., Politis, C.: A TestBed Implementation For Securingolsr In Mobile AD-HOC Networks. International
Journal of Network Security and Its Applications (IJNSA) 2, 143 (2010)
7. Hiyama, M., Ikeda, M., Barolli, L., Kulla, E., Xhafa, F., Durresi, A.: Experimental
Evaluation of a MANET Testbed in Indoor Stairs Scenarios. In: Proceedings of
International Conference on Broadband, Wireless Computing, Communication and
Applications, p. 678 (2010), issued in IEEE transactions
8. Ali, S., Ali, A.: Performance Analysis of AODV, DSR and OLSR in MANET.
In: Proceedings on Seventh International Conference on Wireless Systems, p. 34
(2009), IEEE transactions
154
1 Introduction
Machine Translation [1] is one of the important applications of Natural Language
Processing. Machine Translation helps people from different places to understand an
unknown language without the aid of human translator. The language to be translated
is the Source Language (SL). The language to which source language translated is
Target Language (TL).The major machine translation techniques are Rule Based
Machine Translation Technique, Statistical Machine Translation Technique (SMT)
and Example-based machine translation (EBMT). India has a linguistically rich
areait has 18 constitutional languages, which are written in 10 different scripts.
Tamil is the most commonly used language of the south. English is very widely used
in the media, commerce, science and technology and education. Many of the states
have their own regional language, which is either Tamil or one of the other
constitutional languages. Only about 5% of the population speaks English.
Tamil-English Cross Lingual Information Retrieval System for Agricultural
Society [2], translates Tamil to English using statistical machine translation system. It
developed a Cross Lingual Information Retrieval (CLIR) system which helps the
users to pose the query in one language and retrieve the documents in another
language. They developed a CLIR system in Agriculture domain for the Farmers of
Tamil Nadu which helps them to specify their information need in Tamil and to
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 155164, 2011.
Springer-Verlag Berlin Heidelberg 2011
156
S. Saraswathi et al.
retrieve the documents in English. This paper addressed the issue of translating the
given query in Tamil to English using Machine Translation approach.
Cross Lingual Information Retrieval System for English, Tamil and Hindi [3]is a
system which developed a Query Engine to retrieve the solution for the given query
from many other languages apart from the query language, using the concept of
Ontology on the domain Festivals.
Electronic Dictionary Research (EDR) [4], by Japanese, is the most successful
machine translation system. This system has taken a knowledge-based approach in
which the translation process is supported by several dictionaries and a huge corpus.
While using the knowledge-based approach, EDR is governed by a process of
statistical machine translation. As compared with other machine translation systems,
EDR is more than a mere translation system but provides lots of related information.
AU-KBC had developed Tamil- English Cross Lingual Information Retrieval
Track [5] for news articles taken from The Telegraph, English news magazine in
India. All these organizations have developed their CLIR systems using word by word
translation approach in news domain.
An Efficient Interlingua Translation System for Multi-lingual Document
Production [6] describes KANT, a system that reduces this requirement to produce
practical, scalable, and accurate KBMT applications. First, the set of requirements is
discussed, then the full KANT architecture is illustrated, and finally results from a
fully implemented prototype are presented.
The drawbacks of the existing system are discussed below. In Statistical Machine
Translation, large set of bilingual corpus is needed which increases the space
complexity of the entire system. Even a slight variation in the input sentence causes a
new rule to be written into the existing Rule Based Machine Translation System. All
the existing translation system concentrates on addition of new rules into the system
but none address code reusability. In the existing Rule based Machine Translation
Systems, Number of rules written does not always covers entire domain. All the
existing Machine Translation Projects concentrates only on the translation of simple
sentences and the complex sentences are left unnoticed.
2 Proposed Work
The proposed system is a hybrid machine translation system. The paper uses Rule
Based and Knowledge Based machine translation techniques. In the proposed system
the source language sentence is given as input. It is then given as input to the
morphological analyzer, where the morphological analyzer returns the part of speech
of each word in the sentence.
If the input sentence is complex, then it is given as input to KBMT and where it is
split/ converted into simple sentences which are then given as input to RBMT. It is
then translated to the target language using RBMT. If the input sentence is simple,
then it is directly translated using RBMT.
First, the user is initially asked to choose the languages namely: Tamil or English.
The user can select a language in which he/she is most comfortable. After getting the
source language sentence from user, the given input sentence is tagged using a tagger.
It is software that takes a sentence as input, separates the words in that sentence, tries
157
to identify the parts of the sentences like nouns, verb, preposition etc. and returns
every word in the sentence along with its type as an output.
The sentence given by the user is fed as an input to the appropriate Tagger. It tags
the input sentence and returns the parts of speech of the sentences. From the output of
the tagger, verbs, nouns, tense and patterns of the input sentence are identified.
Sample Input Sentence:
It is raining.
Win Tree Tagger Output:
It
PP
it
is
VBZ
be
Raining VVG
.
rain
SENT
In Bilingual Dictionary, the verb and nouns are stored in separate tables so as to
avoid ambiguity. For instance, in the sentence above, the root words of both words are
same. i.e. one we store the verbs and nouns in separate tables, we can easily resolve
the conflict in searching the words and can thus reduce ambiguity.
Sentence Pattern:
PP VBZ VVG
Mapping to Target Language:
158
S. Saraswathi et al.
For English, Wintree Tagger is used to fetch the data (i.e.) to return the parts of the
sentence. For Tamil, Atcharam tagger is used, which will split the sentence into words
and then returns its parts of speech of every word.
Knowledge Based Machine Translation
If the sentence is complex, the sentence is first given to the Knowledge Based
Machine Translation system. Here, the sentence is changed/split into its equivalent
simple sentence/sentences. The simple sentence is then translated to the target
language using the Rule Based Machine Translation System. The complexity of the
sentence is decided by the test cases. Possible Test cases includes sentences with
and, due to, because of, in the case of, etc.
In the Knowledge Based Machine Translation System, the source language text is
first subjected to the process of tokenization. Tokenization involves converting a text
from a single string to a list of tokens. In this process, each word can be used either to
refer to an individual occurrence of a word or to refer to an abstract vocabulary item.
159
These words are then tagged so as to find the part of speech of each word in the input
sentence. These tagged words are then given as input to the process of
Lemmatization. In Lemmatization the meaning of the sentence is analyzed and is
split/ converted to form simple sentences based on its syntactic meaning.
4 Results
The following are the results of the proposed system.
Table 1. Performance measure for simple sentences for English to Tamil Translation System
SENTENCE
TYPE
TOTAL NO. OF
SENTENCES GIVEN
OUTPUT
OBTAINED
MEAN
PRECISION
OPINION
(%)
SCORE
100
10
PP VBD/VBZ VG
10
10
DT NN VHZ VVN
13
12
92.30
9.5
DT NN MD VV
11
10
90.9
9.2
DT NN VVD
10
10
100
10
NN NN IN DT NP NN
10
80
8.9
NN VHP VVN RB
12
10
83.3
8.5
160
S. Saraswathi et al.
Table 1. (continued)
DT JJ NN NN VHP VVN
RB
80
8.2
DT NN VBD/VBZ JJ
20
20
100
10
JJ NN NNS/VVZ CD NNS
IN NP
88.8
8.9
NP/NN VVD NN IN NP
87.5
8.3
NP VVZ/VVD JJ NN
20
20
100
10
JJ NN VVZ NN NN IN
NP
100
10
NP VVZ/VVD NN
10
10
100
10
JJ NN VBZ/VBD VVN IN
NP
10
10
100
10
DT JJ NN VVN VVD CD
NN
83.33
8.5
NN VVN/VVD/VVZ VBZ
CD NN
87.5
8.8
JJ NN VVD DT VBD CD
NN
12
10
83.33
8.5
JJ NN VVD/VVZ DT NN
VBD CD NN
100
10
SENTENCE TYPE
TOTAL NO. OF
SENTENCES GIVEN
OUTPUT
OBTAINED
PRECISION
(%)
MEAN
OPINION
SCORE
80
8.5
83.33
80
7.9
83.33
8.5
Sentence containing a
keyword and between
two sentences
Sesntence containing a
keyword due to
Sentence containing a
keyword and between
two parameters
Sentence containing a
keyword Because of
TOTAL NO. OF
SENTENCES
GIVEN
15
OUTPUT
OBTAINED
14
93.33
15
14
93.33
15
13
86.66
9.7
^<verb> <Nins>
^<noun> ^<FV>
^<noun> ^<Num>
<entity>
^<FV>/<NN>
<entity> ^<adj>
^<Vinf> ^<FV>
^<adj> ^<noun>
^<FV>
<entity> <entity>
<entity> ^<adj>
^<vinf> ^<FV>
^<adj>
10
80
<entity>
^<conj>
83.33
8.5
^<noun>
10
90
^<Vinf>
10
90
9.3
^<par>
^<noun>
83.33
^<noun> ^<FV>
PRECISION
(%)
MEAN
OPINION
SCORE
9.5
P11 NP VVZ/VVD JJ NN
P2 DT NN VHZ VVN
P12 JJ NN VVZ NN NN IN NP
P3 DT NN MD VV
P13 NP VVZ/VVD NN
P4 DT NN VVD
P5 NN NN IN DT NP NN
15 DT JJ NN VVN VVD CD NN
161
162
S. Saraswathi et al.
P6 NN VHP VVN RB
P7 DT JJ NN NN VHP VVN RB
P8 DT NN VBD/VBZ JJ
P9 JJ NN NNS/VVZ CD NNS IN NP
163
P1 ^<noun> ^<FV>
P2 ^<noun> ^<Vvp>+s ^<FV>
P3 ^<adv> ^<noun> ^<FV>
P4 ^<verb> <Nins> ^<adj> ^<noun> ^<FV>
P5 ^<noun> ^<Num> <entity> <entity> ^<conj> ^<FV>/<NN>
P6 <entity> ^<adj> ^<noun> ^<Vinf> ^<FV>
P7 ^<adj> ^<noun> ^<Vinf> ^<FV>
P8 <entity> <entity> ^<par> <entity> ^<adj> ^<noun> ^<vinf> ^<FV>
Since the Tamil language is free word order language, the morphological analyzer
does not always tag the sentence in the same way. So the precision of Tamil to
English Translation System is less when compared to the English to Tamil
Translation System.
5 Conclusion
We presented a Bilingual Translation System which translates given input sentence in
source language into target language using hybrid approach. New rules can been
added to the proposed system in order to make the system more efficient. This work
can be extended to other domains with the addition of new rules.
References
1. http://en.wikipedia.org/wiki/Machinetranslation
2. Thenmozhi, D., Aravindan, C.: Tamil-English Cross Lingual Information Retrieval
System for Agricultural Society, Department of Computer Science & Engineering, SSN
College of Engineering Chennai, India (2009)
3. Saraswathi, S., Asma Siddhiqaa, M., Kalaimagal, K., Kalaiarasi, M.: Cross Lingual
Information Retrieval System for English, Tamil and Hindi. Department of Information
Technology, Pondicherry Engineering College (2009)
4. Toshio, Y.: The EDR electronic dictionary. Communications of the ACM 38(11), 4244
(1995)
5. Rao, P.R.K., Sobha, L.: AU-KBC FIRE2008 Submission - Cross Lingual Information
Information Retrieval Track: Tamil-English. In: First Workshop of the Forum for
Information Retrieval Evaluation (FIRE), Kolkata, pp. 15 (2008)
6. Mitamura, T., Nyberg III, E.H., Caronell, J.G.: An Efficient Interlingua Translation
System for Multi-lingual Document Production, Center for Machine Translation Camegie
Mellon University Pittsburgh, PA 15213
7. Apertium Machine Translation system, http://www.apertium.org/
8. Gosling, J.: A brief history of the Green project, for java Java.net.no date (ca/ Q1/1988)
(retrieved April 29, 2007)
164
S. Saraswathi et al.
9. http://www.softpedia.com/get/Others/
Home-Education/Wintree.html
10. Open Source Java Technology Debuts In GNU/Linux Distributions. Sun Microsystems
(2008), http://www.sun.com/aboutsun/pr/
2008-04/sunflash.20080430.1.xml (retrieved May 2, 2008)
11. Systran Information and Translation Technologies, http://www.systransoft.com/About/
12. Hegde, J.J.: Machine Translation in India. NCST, Mumbai,
http://kshitij.ncst.ernet.in/~jjh/mainpage_sections/
Writings/mt4clir.txt
13. Bharathi, A., Chaitanya, V., Kulkarni, A.P., Sangal, R., Anusaaraka: Overcoming
language barrier in India. In: Nair, R.B. (ed.) To appear in "Anuvad: Approaches to
Translation". Sage, New Delhi (2001)
T waves.
1 Introduction
Electrocardiograph (ECG) is a noninvasive recording of the electrical activity of the
heart and it represents the signal containing information of the heart. The main tasks
in ECG signal analysis are the detection of QRS complex & the estimation of
instantaneous heart rate by measuring the time interval between two consecutive Rwaves. There are many hardware implementation approaches to ECG monitoring
systems. A low-cost microcontroller-based Holter recorder implemented with off-theshelf components was reported in [1]. There are DSP based Medical Development
Kits which include a board, emulator and complete integrated development platform
for cases like Electrocardiogram (ECG), Pulse Oximeter (PO) and Digital Stethoscope
(DS) [2]. The DSP is a specialized microprocessor, typically programmed in C and is
well suited to extremely complex maths-intensive tasks. It is limited in performance
by the clock rate. In contrast, an FPGA is an uncommitted "sea of gates". The device
is programmed by connecting the gates together to form multipliers, registers, adders
and so forth. Many blocks can be very high level ranging from a single gate to an
FIR or FFT. Their performance is limited by the number of gates they have & the
clock rate. FPGA is more advantageous than DSP chip because of its low cost &
reconfigurable property. Recent FPGAs have included Multipliers especially for
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 165174, 2011.
Springer-Verlag Berlin Heidelberg 2011
166
S. Kurakula et al.
performing signal processing tasks more efficiently. There are also customized
System on Chip (SoC) approach for biomedical signal processing for portable brainheart monitor systems. Through SoC integration, bulk associated with interfacing
circuitry can be reduced, allowing for the miniaturization & realization of portable
power efficient brain-heart monitor systems in [3]. An FPGA based ECG QRS
Complex Detection with Programmable Hardware was developed by Chio In Ieong
et. al [4].
This paper proposes a new architecture for the FPGA implementation of Wavelet
Transforms by exploiting the properties of quadrature spline wavelets. Wavelet
Transform (WT) is very much useful because of its tremendous localization
techniques in time and frequency analysis. The WT can characterize the local
regularity of signals and can be used to distinguish ECG waves from serious noise,
artifacts and baseline drift. An algorithm based on the WT for detecting QRS
complex, P & T waves is proposed in [5]. Either continuous or discrete WT
decomposes finite energy signals into a set of basis functions generated from shifted
and scaled versions of a prototype wavelet functions. This approach can be easily
extended to denoising, analyzing and extracting ECG signals easily and conveniently
not only in heart illness diagnosis but also in ECG signal processing research.
Moreover, these tools can be also used in other biomedical signal processing
applications such as Magnetic Resonance Imaging (MRI) & Electroencephalography
(EEG). Based on the wavelet Transform approach [6], [5] describe a methodology for
the QRS detection & [7] addresses Detection of QRS complex on a DSP Chip. FPGA
implementation of the Discrete Wavelet Transforms offers innumerable possibilities
for the use of these transforms in a variety of applications like determination of
various characteristics as QRS complex detection & heart rate estimation. FPGA
implementation can also be made capable of checking the various abnormalities in the
functioning of heart and also for the compression of the signal for storage &
transmission. Adding to this, FPGA architecture can also utilize less VLSI
area, power & can use the hardware efficiently. This paper is organized as follows.
Section 1 gives the introduction and section 2 presents the basics of WT. Section 3
states the algorithm used & its implementation details. Results obtained are
summarized in section 4 and finally section 5 concludes the paper.
The architecture used for developing the Daubechies DWT [9] uses only a single
filter, which is the most hardware expensive part and therefore, the spline dyadic
wavelet transform is implemented. In [10] an algorithm was proposed for the
implementation of fast dyadic wavelet transform. The fast dyadic wavelet transform is
implemented using filter banks It also proposes an efficient algorithm for QRS
detection, for the P and Q waves though the algorithm works only in few cases. It can
be said that, these waves are not usually more generalized and the algorithm fails
whenever two peaks lie in the search window or when the T waves merges with the P
waves the algorithm fails to detect these waves. Also, the width of the individual
waves is not taken into consideration for the detection of these waves which may lead
to errors. Threshold based method is used which fails for T wave detection as the
average amplitude of T wave is not fixed. Lab VIEW and the signal processingrelated toolkits can provide a robust and efficient environment and tools for resolving
ECG signal processing problem [11].
167
168
S. Kurakula et al.
And,
(5)
The Fourier transform of the resulting wavelet is
(6)
(7)
169
The filter coefficients are normalized to have the sum of their absolute values to 1.
Therefore the coefficients used for the filters are
H = [0.125 0.375 0.375 0.125] and G = [-0.5 0.5].
2.6 Algorithme a Trous
An algorithm was proposed for the implementation of fast dyadic wavelet transform
[7]. The fast dyadic wavelet transform is implemented using filter banks. For a given
filter x with coefficients x[n], xj[n] denotes the filter obtained by inserting 2j-1 zeroes
between every x coefficient (hence the French name "algorithme trous", which
means "holes"), Its Fourier transform is x*(2j )
For any j>0,
(9)
(10)
170
S. Kurakula et al.
The given ECG signal is passed through the series of these filters to obtain the scale 4
wavelet coefficients.
3.1 Zero Crossing Detection
The first stage in the detection of QRS complex is to detect the zero crossing points in
the wavelet coefficients. Zero crossing points are detected wherever the wavelets
coefficient value is zero or if it has a different sign from the previous value.
3.2 Detection of R Peaks
Threshold based detection is used to determine the R peak. Detection is based on two
thresholds one the minimum threshold and next maximum threshold. If there exists
coefficient with its absolute value greater than the min threshold value on both the
negative and positive side of the zero crossing point and one coefficient on any side of
the zero crossing should have a value greater than maximum threshold, then such a
point is detected as a valid R peak.
3.3 Rate Determination
The number of clock cycles between the first and the next r peak is counted. Let it be
n and let the sampling rate be N, then heart rate in bpm (beats per minute)is given as
(N/n) *60.
3.4 Implementation
Block Diagram of the implemented system is shown in Fig. 3. The filters in the way
to computation of scale 4 wavelet coefficients are implemented and they are named as
filters H0, H1, H2, G3. Instead of defining three different filters for H0, H1, H2 only
one filter unit is used and the hardware is shared accordingly. Whenever there are
zero coefficients between two nonzero coefficients then a delay is used for every zero
in the incoming signal. Similarly, G3 is also implemented. After the wavelet
coefficients of scale 4 are obtained, they are passed to another unit for the QRS peak
detection. Two thresholds min threshold and max threshold are used for QRS
detection. The detector circuit initially looks for the zero crossing points and when it
finds one it searches for one value in both thesides of the zero crossing point for a
value on each side whose magnitude is greater than the minimum threshold value and
for a single value on any side that is greater than maximum threshold & if it finds
171
such a zero crossing point it determines that as a valid R-peak & the signal indicating
the detection of R-peak goes high for one clock duration. The R-peak signal is given
to the next block which determines the heart rate in bpm (beats per minute). This unit
consists of a counter which in turn counts the number of clock cycles between the
consecutive R-peak units. The sampling frequency divided by the counted value gives
the heart rate per second and when multiplied by 60 gives bpm value.
4 Results
ECG signals were taken from the MIT-BIH Database and figures 4 to 7 give the
corresponding graphs for the four records {100,101,103,105}. In each plots, the
amplitude versus sample in which the first part of the graph corresponds to ECG and
R Peak Points, and the second part corresponds to D4 Wavelet Coefficients and R
peak points.
Fig. 4. Plot for Amplitude Vs. time of the record 100 of MIT-BIH Database
Fig. 5. Plot for Amplitude Vs. time of the record 101 of MIT-BIH Database
172
S. Kurakula et al.
Fig. 6. Plot for Amplitude Vs. time of the record 103 of MIT-BIH Database
Fig. 7. Plot for Amplitude Vs. time of the record 105 of MIT-BIH Database
We analyzed the signal in different frequency bands using the wavelet transform
(WT) [12, 13]. This approach is a recently developed signal processing technique and
it appears to be well suited to this problem, for the following reasons.
1.
2.
3.
In this paper wavelets approach proposed by S. G. Mallat [9] was used. This method
decomposes the signal into an orthogonal set of coarse and fine components that
correspond in the spectral domain to sets of special low-pass and band-pass filters.
The implementation was carried out on the Spartan-3E FPGA board and the signals
obtained at the output are Reset, Clock, heart rate, R peak detection are obtained. The
173
output of the ECG signal is obtained after 30 clock cycles and it has the following
features. Max. Frequency = 52.43 MHz, Minimum Time Period = 19.071 nS, Number
of slices = 796 out of 4656, Number of slice flip flops = 533 out of 9312.
Table 1. Implementation results using records of MIT-BIH
Record no
Total Beats
100
101
103
105
2272
1864
2090
1556
False Positive
0
0
1
27
False Negative
0
2
1
1
% Accuracy
100
99.89
99.99
98.24
Records taken from the MIT-BIH database are used and the results obtained are
tabularized in Table 1. False positive is an extra beat not present in data, but detected
by device. False negative is a missed beat present in ECG but not detected by the
signal. Accuracy is given by the formula.
(11)
The reason for variation in accuracy in the records may be due to the interference
from other biomedical signals or due to the muscle artifacts or it might also be
because the records taken might be from different individuals. The accuracy is
reduced by various noises like motion artifacts, respiration and muscle extraction.
Sometimes the failure of the system to detect abnormal beats may also be a reason.
5 Conclusions
An algorithm based on wavelet transforms which uses the quadrature spline wavelet
for the detection of QRS complex was implemented on FPGA. Records taken from
the MIT-BIH database were used for analysis. The work so far done covers the QRS
detection and heart rate determination. The future work includes detection of P and T
waves the various abnormalities based on the data.
Acknowledgement
This work is carried using VLSI design softwares and FPGA boards provided by SMDP II
project at IIT Guwahati.
References
1. Segura-Jurez, J.J., Cuesta-Frau, D., Samblas-Pena, L., Aboy, M.: A microcontrollerbased portable electro cardiograph recorder. IEEE Transactions on BME 51(9)
(September 2004)
2. http://focus.ti.com/docs/toolsw/folders/print/
tmdxmdkek1258.html
174
S. Kurakula et al.
3. Fang, W.-C., Chen, C.-K., Chua, E., Fu, C.-C., Tseng, S.-Y., Kang, S.: A Low Power
Biomedical Signal Processing System-on-Chip Design for Portable Brain-Heart
Monitoring Systems. In: International Conference on Green Circuits and Systems
(ICGCS), Shanghai, pp. 1823 (2010)
4. Ieong, C.I., Vai, M.I., Mak, P.U.: 30th FPGA based ECG QRS Complex Detection with
Programmable Hardware. In: Annual International IEEE EMBS Conference Vancouver,
British Columbia, Canada, August 20-24, pp. 29202923 (2008)
5. Li, C., Zheng, C., Tai, C.: Detection of ECG characteristic points using wavelet
transforms. IEEE Trans. Biomed. Eng. 42, 2128 (1995)
6. Yang, Z.R.: A method of QRS detection based on wavelet transforms. Master Thesis,
Dept. Mech&Electromech. Eng., National Sun Yat-Sen University, pp. 17-29
7. Sahambi, J.S., Tandon, S.N., Bhatt, R.K.P.: Using wavelet transform for ECG
characterization. IEEE Eng. in Med. and Biol. 16(1), 7783 (1997)
8. Pan, J., Tompkins, W.J.: A Real Time QRS Detection Algorithm. IEEE Trans. Biomed.
Eng. 32(3), 230236
9. Mallat, S.G.: A theory for multi resolution signal decomposition: the wavelet
representation. IEEE Trans. Pattern Analysis and Machine Intelligence 11(7), 674693
(1989)
10. Holschneider, M., Kronland-Martinet, R., Morlet, J., Tchamitchian, P.: A Real-Time
Algorithm for Signal Analysiswith the Help of the Wavelet Transform. In: Wavelets,
Frequency Methods and Phase Space, pp. 289297. Springer, Berlin (1989)
11. LabVIEW for ECG Signal Processing,
http://zone.ni.com/devzone/cda/tut/p/id/6349
12. Rioul, O., Vetterli, M.: Wavelets and Signal Processing. IEEE Sig. Proc. Magazine, Skt.,
1438 (1991)
13. Kronland-Martinet, R., Morlet, J., Grossmann, A.: Analysis of sound pattems through
wavelet transforms. Int. J. Pattern Rec. Artificial Intell. 1(2), 273302 (1987)
14. Ieong, C.I, Vai, M.I., Mak, P.U.: QRS recognition with programmable hardware. In: The
2nd Int. Conf. Bioinformatics and Biomedical Eng. (iCBBE 2008), Shanghai, China
(2008)
15. Vishwanath, M.: Discrete Wavelet Transform in VLSI. In: Proc. IEEE Int. Conf. Appl.
Specific Array Processors, pp. 218229 (1992)
16. Mallat, S.: Zero-crossings of a wavelet transform. IEEE Trans. Inform. Theory 37, 1019
1033 (1991)
17. Knowles, G.: VLSI architecture for the discrete wavelet transform. Electronics Letters,
26(15), 1184-1185 (1990)
1 Introduction
E-learning can be defined as technology-based learning in which learning material is
delivered electronically to remote learners via a computer network. With the advent of
the information technology, loads of information is available on the World Wide Web
for the user to browse. But with more than required information, many a time users
leave the web with dissatisfaction rather than content. Auto-summarization is a
technique used to generate summaries of electronic documents. This has some
applications like summarizing the search-engine results, providing briefs of big
documents that do not have an abstract etc. There are two categories of summarizers,
linguistic and statistical. Linguistic summarizers use knowledge about the language to
summarize a document. Statistical ones operate by finding the important sentences
using statistical methods (like frequency of a particular word etc). Statistical
summarizers normally do not use any linguistic information.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 175186, 2011.
Springer-Verlag Berlin Heidelberg 2011
176
S. Saraswathi et al.
All existing E-learning systems retrieve answers from the knowledge base which
are collected offline. This leads to the limitation that the system cannot think out of its
domain. The knowledge base is static in all E-learning systems. But the proposed Elearning system collects documents online and tries to produce more accurate answers
by performing Multi-document summarization on the Documents retrieved online.
In a single-document summarizer the most important sentences are extracted from a
single source document. Multiple documents summarization consists of a cluster of
documents concerning the same topic. Several new problems arise here. For example,
because the documents are about the same topic, they can contain similar sentences.
We have to ensure that the summary does not contain any type of redundancy.
The proposed system is made as a complete E-learning system by providing
Authentication facility for each user by implementing Symmetric key encryption
algorithm [1] and by providing a tutorial section for the users on the domain
Operating Systems. The profile information of each user are encrypted and stored in
the database. The user on his every login the login information are encrypted and
checked with that in the database.
In query answering system the input query is processed by a Parts Of Speech
tagger [2] which detects the keywords for deciding the type of search. This leads to
Concept wise search for complex queries and Keyword search for simple queries
based on the wh keywords obtained [3].
Locality based similarity heuristic method [4] is used to extract the answers in
which every word location in each document is scored. The quality of this approach
depends on the location of the keyword. Document retrieval based on query
answering system [5] focus on solving majority problems to process the natural
language query: approaches of syntax analysis and syntax model, semantic model,
transformation mechanism from semantic model into database queries.
Semantic summarization is performed using Clustering algorithms [6] such as KMeans in which cluster centers become the summarized set. Semantic summarization
tends to summarize the dataset such that summarization ratio is maximized but the
error due to information loss is minimized. In Discovery Net [7], each distributed
dataset is locally summarized by the K-Means algorithm. Then, the summarized sets
are sent to a central site for global clustering. The quality of this approach is largely
dependent on the performance of K-means.
A scalable clustering algorithm [8] is proposed to deal with very large datasets. In
this approach, the datasets are divided into several equally sized and disjoint
segments. Then, hard K-Means or Fuzzy K-Means algorithm are used to summarize
each data segment. Similar to Discovery Net, a clustering algorithm is then run on the
union of summarized sets.
A database system consists of millions of data items that could be picked out as
their priorities by proper approach. At first, all the data is classified into different
categories. Each category is assigned with a predefined priority. The higher the
priority, information has more possibility to be chosen. Secondly, each data can only
be visited once. In addition, writing a program to perform the task can be very
straightforward [9]. However, it is not very easy to design an algorithm that is most
efficient for all scenarios.
By searching the web based on keywords in the given query, new pages called
composed pages[10], that contains query words is generated. By extracting and
binding together the relevant information from hyper-linked web pages the composed
177
pages are generated. By taking into account the hyper link structure of the original
pages and the association between the keywords within each page, the authors rank
the composed pages.
Nave algorithm is used for identifying the keywords in the document and Page
ranking algorithm [11] is used for ranking the retrieved documents obtained online.
An Ontology tree is used for extracting the concepts words under each topic. The
ontology tree is built in prior exploring all the topics under Operating systems. The
tree is built systematically and the sub-topics are placed under its respective topics.
For concept wise search the keywords from the query are passed to the ontology tree
to obtain concept words which are the added to the keywords and they are helpful in
retrieving more relevant documents online.
2 Proposed Work
The major three modules in the proposed system are User authentication, Tutorial and
Query Answering system. The major work is on query answering module. This
module is again classified into two types: simple query and complex query. Simple
queries collects documents by passing the keywords in the user query whereas for
complex type queries in addition to the keywords in the query the concept words are
also passed to the search engine to obtain more relevant documents.
178
S. Saraswathi et al.
Module description and design. The entire system is classified such that it consists
of the following major modules: User authentication, Tutorial section and Query
Answering system.
2.1 User Authentication
User authentication to the system is provided by implementing Symmetric key
encryption algorithm [1]. The Profile information is encrypted and stored in the
database during the user registration to the system. During each entry to the system
the login information are encrypted and they are matched with the database. The
authorized users are allowed to use the system.
SYMMETRIC KEY ENCRYPTION ALGORITHM
Step 1: Convert each plain character into its corresponding ASCII equivalent.
Step 2: Convert the ASCII values to its binary representation in 8 bits.
Step 3: Reverse the bits.
Step 4: Divide these bits with the secret key.
Step 5: Find the quotient and the reminder.
Step 6: Represent the reminder in the first four bits and quotient in the last five bits of
the 9-bit cipher text.
2.2 Tutorial
This module provides a tutorial section for user on various topics under Operating
systems. By choosing a particular topic the total information under the topic is
provided to the user. The information is collected offline, organized to form a
complete tutorial under the domain. The topics covered are Process management,
Memory management and Storage management of Operating Systems. All the
information under these topics are consolidated to form a complete tutorial on
Operating Systems.
2.3 Query Answering System
The major part of work comes from this module. The module does not contain any
knowledge base. The system makes use of online search engines to retrieve
documents which are then processed to retrieve answers.
Input query. The input query is entered by the user using the user interface. The
input query can be any topic under operating systems. The query can be like what is
operating system or explain memory management.
Question type classification. The input query decides the type of the query. The
question identifying keyword in the query decides which method to choose for answer
extraction.
Simple queries. Simple queries are identified by processing the user query. Words
like what, when, how are some examples of simple queries. These queries are again
classified into 6 types based on the question identifying words. The 6 words are what,
define, what are the different types of, how, when and what are the necessary
conditions for. Different approaches are being followed for each type of questions to
extract answer.
Mu
ulti-document Text Summarization in E-learning System
179
180
S. Saraswathi et al.
Document extraction for complex queries. The keywords and the concept words are
passed on to the online search engine and the needed documents are extracted. The
extracted documents are converted into text documents using Html to Text convertor.
Documents ranking. The text documents documents extracted as a result of Html to
Text Convertor are ranked using tf-idf algorithm. The primary keywords and the
concept keywords are operated on the individuals documents and Nave algorithm
used to match the keywords with the documents. The tfidf weight (term frequency
inverse document frequency) is a weight often used in information retrieval and text
mining. This weight is a statistical measure used to evaluate how important a word is
to a document in a collection or corpus. The importance increases proportionally to
the number of times a word appears in the document but is offset by the frequency of
the word in the corpus. Variations of the tfidf weighting scheme are often used
by search engines as a central tool in scoring and ranking a document's relevance
given a user query. In this way the term frequencies for individual documents are
obtained.
We assign to each term in a document a weight for that term, that depends on the
number of occurrences of the term in the document. We compute a score between a
query term t and a document d, based on the weight of t in d. This weighting scheme
is referred to as term frequency ( tft,d), with the subscripts denoting the term and the
document in order.
To assess the relevancy on a query, all terms are given equal importance. However
certain terms have little or no discriminating power in determining relevance. A
mechanism to attenuate the effect of terms that occur too often in the collection to be
meaningful for relevance determination is considered. For this purpose the document
frequency (dft ), that measures the number of documents in the collection that contain
a term t is used.
For total number of documents in a collection by N, we define the inverse
document frequency of a term t as follows:
(1)
The tf-idf weighting for the term t and document d is given as follows:
,
(2)
181
the components are checked and compared for extraction. Weight assigned to the
keywords play the decisive role in extracting the components. The algorithms are
applied over the document and the required component is extracted from the
document. The same procedure is applied over the remaining documents inorder to
obtain the components related to the query.
WEIGHTED MEANS ALGORITHM
Step 1: Fetch one of the resultant documents in the text format.
Step 2: Divide the entire document into components. Each passage can be considered
as a component.
Step 3: Fetch the first line of the document and check for all the keywords from the
keyword array.
Step 4: If there is a match then increment the keywords counter.
Step 5: Repeat step 3 and 4 until all the lines in the document are exhausted.
Step 6: Evaluate the weight of the component and store them in the result array.
Step 7: Repeat from step 3 to 6 for all the rest of the components in the document.
Step 8: Compare the values of the result array of weights and fetch the components as
per the result array sort.
Step 9: Repeat step 2 to 8 for all the other extracted documents.
Step 10: Store all the extracted components from all the documents to the resultant
document for the aggregation.
Similarities check and summarized answer. Aggregation of answer is carried out
such that the redundancies of the information in the various extracted components are
weighed against each other and redundant data will be removed. For aggregating the
result Cosine similarity check is used.
ALGORITHM FOR COSINE SIMILARITY
Step 1: Fetch the first passage from the first extracted document.
Step 2: Compute the weight of the passage by finding its tf*idf weights.
Step 3: Fetch the first passage from the second document the compute its weight.
Step 4: Check for the cosine similarity between the two passages based on the
formula below
,
,
(3)
,
182
S. Saraswathi et al.
Step 6: Else if the similarity value is greater than 0.5 then two passages are totally
different and both the passages are considered.
Step 7: Repeat the step 3 to 6 and carry out the process for all the passages in second
document then continue the same with the rest of the documents.
Step 8: Repeat the step 1 to 7 for all the passages in first document.
Step 9: Store the extracted passages from the first document and store them in a
document.
Step 10: Now considering the extracted passages from the second document which
are totally different from the first carry out the same process form step 1 to 8.
Step 11: Append the extracted passages from second document to that of the first.
Step 12: Repeat the process for all the passages in all the documents.
|
|
|
|
(5)
F-measure. A measure that combines Precision and Recall is the harmonic mean of
precision and recall, the traditional F-measure or balanced F-score. It considers both
the precision p and the recall r of the test to compute the score: p is the number of
correct results divided by the number of all returned results and r is the number of
correct results divided by the number of results that should have been returned.
6
MOS (Mean Opinion Score). The MOS is generated by averaging the results of a set
of standard, subjective tests where a number of listeners rate the retrieved answer.
MOS ranges between 0 to 10.
(7)
183
Summarization ratio. It is the ratio of the size of the Summarized text to the size of
the original document.
(8)
This value lies between 0 and 1.
Effective summarization ratio is calculated for multiple documents by taking the
average of individual documents.
4 Results
The following are the results of the proposed system.
Documents relevant to the query keywords were retrieved from the Google web
site. The first best ten documents were summarized to retrieve the results relevant to
the complex queries. The maximum size of the documents retrieved from web pages
after text conversion was around 126KB. The summarization algorithm resulted in a
summarization ratio of 0.1726. For all types of queries the summarization ratio values
lie between 0.1 and 0.2. The answers for different types of queries are extracted from
this summarized text.
The Precision, Recall and F-Measure for simple queries and complex queries
are tabulated below, where P refers to Precision, R refers to Recall and F refers to
F-measure.
Table 1. Precision, Recall, F-measure for simple queries in Operating System
Query Type
Simple what
0.724
0.784
0.868
Complex what
0.437
0.613
0.745
Define
0.745
0.793
0.812
When
0.565
0.846
0.893
How
0.486
0.749
0.871
Different types
0.789
0.812
0.853
The following graph shows the MOS for simple and complex queries. A total of
229 queries have been posed by a total of 30 users at various levels to the system and
the results obtained are sketched into a graph taking the mean opinion score into
consideration. The graph shows that the system works on the range of 7 to 8.
From the graphs it is observed that the Mean opinion score for simple queries
ranges between 7 to 8.5 whereas Complex queries ranges between 6.5 to 8.5. The
184
S. Saraswathi et al.
Table 2. Precision, Recall, F-measure for complex queries in Operating System
Query Type
Explain
0.696
0.784
0.813
Describe
0.642
0.846
0.768
Give an account
0.563
0.767
0.810
Detail
0.532
0.801
0.673
MOS
10
9
8
7
6
5
4
3
2
1
0
Simple what Descriptive
what
Define
When
How
Different
types
Complex
Fig. 3. Mean Opinion Score for simple and complex queries in Operating System
fluctuations in the range between different types of simple queries imply that different
techniques are followed to retrieve answers. For questions with how and when in
addition to the keywords, concept words are also considered and intensive passage
ranking is followed taking into account the concept words with keywords. And in
some cases two levels of ranking on the passages which are first obtained with
keywords alone is carried out to get relevant results. This can be the possible reason
for change in MOS values.
5 Conclusion
Multi document summarization is important in e-learning system which can be
utilized for improving the effectiveness of retrieval and accessibility of learning
185
objects in e-learning. Thus the proposed e-learning system, aims at providing the
solution by summarizing multiple documents, uses Ontology tree for the purpose of
concept words extraction in order to produce more relevant answers. Also, user
authentication is provided for the user profile information in order to prevent the
system from intruders. Tutorial section helps the user who needs complete
information on the domain. Thus a summarization in e-learning system for operating
system domain is achieved by this system.
References
1. Sarker, M.Z.H., Parvez, M.S.: A Cost Effective Symmetric Key Cryptographic Algorithm
for Small Amount of Data. In: 9th International Multitopic Conference, pp. 16. IEEE
INMIC, Los Alamitos (2005)
2. Charniak, E.: Statistical Techniques for Natural Language Parsing. AI Magazine 18(4),
3344 (2007)
3. van Halteren, H., Zavrel, J., Daelemans, W.: Improving Accuracy in NLP Through
Combination of Machine Learning Systems. Computational Linguistics 27(2), 199229
(2004)
4. Kumar, P., Kashyap, S., Mittal, A., Gupta, S.: A Query Answering System for E-Learning
Hindi Documents. In: South Asian Language Review, vol. XIII(1&2) (January-June 2003)
5. Dang, N.T., Tuyen, D.T.T.: Document Retrieval Based on Question Answering System.
In: Second International Conference on Information and Computing Science. IEEE, Los
Alamitos (2009)
6. Ha-Thuc, V., Nguyen, D.-C., Srinivasan, P.: A Quality-Threshold Data Summarization
Algorithm. In: IEEE International Conference on Research, Innovation and Vision for the
Future in Computing & Communication Technologies, Rivf 2008, ho chi minh city,
vietnam, July 13-17. IEEE, Los Alamitos (2008)
7. Wendel, P., Ghanem, M., Guo, Y.: Scalable clustering on the data grid. In: Proceedings of
5th IEEE International Symposium Cluster Computing and the Grid, CCGrid (2005)
8. Hore, P., Hall, L.O.: Scalable clustering: a distributed approach. In: Proceedings of IEEE
International Conference on Fuzzy Systems, FUZZ-IEEE (2004)
9. Cai, P., He, L.: Weighted Information Retrieval Algorithms for Onsite Object Service. In:
Proceedings of the International Multi-Conference On Computing in the Global
Information Technology, ICCGI 2007 (2007)
10. Varadarajan, R., Hristidis, V.: A system for query-specific document summarization. In:
CIKM 2006: Proceedings of the ACM Conference on Information and Knowledge
Management, pp. 622631 (2006)
11. Saraswathi, S., Asma siddhiqaa, Kalaimagal, Kalaiyarasi: Bilingual Information Retrieval
System for English and Tamil. Journal of Computing 2(4) (2010)
12. Satheesh Kumar, R., Pradeep, E., Naveen, K., Gunasekaran, R.: Enhanced cost Effective
Symmetric Key Cryptographic Algorithm for Small Amount of Data. In: International
Conference on Signal Acquisition and Processing. IEEE, Los Alamitos (2010)
13. Gilberg, R., Forouzan, B.: Data Structures: A Pseudocode Approach With C++.
Brooks/Cole, Pacific Grove, CA (2005) ISBN 0-534-95216-X
14. Heger, D.A.: A Disquisition on The Performance Behavior of Binary Search Tree Data
Structures. European Journal for the Informatics Professiona 5(5) (2004)
186
S. Saraswathi et al.
15. Aragon, C.R., Seidel, R.G.: Randomized search trees. In: Proc. 30th IEEE FOCS,
pp. 540545 (2000)
16. Wikipedia, http://en.wikipedia.org/wiki/String_searching_
algorithm#Na.C3.AFve_string_search
17. young, J.S.: Markov random field based English part-of-speech tagging system. In:
Proceedings of the 16th Conference on Computational linguistics, vol. 1, pp. 451457
(2006)
18. Glenisson, P., Antal, P., Mathys, J., Moreau, Y., De Moor, B.: Evaluation of the Vector
Space Representation in Text-Based Gene Clustering. In: Pacific Symposium on
Biocomputing, vol. 8, pp. 391402 (2003)
Introduction
In this era of distributed computing, development of Hadoop has further improved the performance of applications in which computations involving terabytes and petabytes of data are eciently processed quickly. This has been
made possible due to the underlying software framework, named MapReduce,
and the Hadoop Distributed File System. MapReduce, just as its name indicates,
is a software framework based on two basic steps - Map and Reduce supporting
massive computations. The concept of Map and Reduce steps are derived from
the functional programming languages. In OSDI 2004, Google presented a paper
on MapReduce, which kickstarted the implementation of the concept. Hadoop
is the java implementation of MapReduce, based on the concept that a huge unmanageable computation can be split into smaller manageable chunks. HDFS,
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 187194, 2011.
c Springer-Verlag Berlin Heidelberg 2011
188
on the other hand, was inspired from the Google le system paper. It supports
the high performance of Hadoop in performing large computations by its reliable
data storage, high data integrity, and most importantly, a high throughput access to application data. As such, Hadoop is widely favoured in the web, search,
nance, and scientic market segments.
2
2.1
Background
MapReduce
Programmers are benetted from using this framework because they can avoid
the headache of complexities of distributed applications. This is possible because
the task of splitting the input data, assigning the computations among a set of
nodes in a cluster, managing system failures, and inter-node communications is
taken care of by the run time system. Programmers can, very conveniently, program even if they dont have much experience dealing with distributed computing
frameworks, which makes Hadoop a favourite among them.
The basic programming model can be described as a combination of Map tasks
and Reduce tasks[1]. To perform the computation, initially a set of key/value
pairs are provided as input. Then the computation is done, nally producing
a set of key/value pairs as output. In the context of the MapReduce library,
the computation can be viewed as two functions,Map and Reduce. Both Map
and Reduce functions will be written by the user. The Map function will accept
the input key/value pairs and will give a set of intermediate key/value pairs
as output. Now,the MapReduce library groups together the intermediate values
for a particular key and then pass it along to the Reduce function, probably
iteratively, as the list of values might be too large to t in memory.
It is the task of Reduce function to merge these values belonging to a particular key to a smaller set of values. If the user wants an even smaller set of
output values, he/she can avoid manual computation by giving this output as input to another MapReduce computation, thus resulting in a nested MapReduce
invocation.
As a simple example, we can count the access frequency of a set of URLs if
we give logs of web page requests as input to the MapReduce computation. The
Map function produces <URL; 1>. The reduce function sums up the values for
the same URL and produces a <URL; total count>pair,thus giving the URL
access frequency.
In the gure 1, we can see the Map and Reduce tasks being assigned to the
nodes by a master node,and the partitioned input given to the nodes assigned
with Map tasks, which produces the intermediate values. The master node will be
informed about the location of the intermediate values produced by each node.
On acquiring this information,Master node will pass it to the nodes assigned
with reduce tasks to nally perform the merging task, producing the output
les.
189
2.2
190
the heartbeat of a DataNode within a particular time, say ten minutes, it will
consider the DataNode as well as the block replicas it hosts as unavailable,
and takes charge of creating new replicas of those blocks on other available
DataNodes in the cluster.
The NameNode allocates space for the metadata and balance the load among
the DataNodes in its cluster using the information contained in the heartbeat.
From the gure 2, we can get a pictorial view of HDFS architecture, as well as
the read and write operations.
Let us discuss the impact of this problem on the Hadoop Distributed File System
as well as MapReduce, the two major components of Hadoop that we discussed
before[7]. Scientic application environments, such as climatology, astronomy etc
contains huge amount of small les.
3.1
Impact on HDFS
3.2
191
Impact on MapReduce
The large number of small les will create an extra overhead on MapReduce
since the map tasks usually takes a block of input at a time and each map task
will be processing only a small amount of data thus resulting in a large number
of Map tasks.
3.3
Either the les are pieces of a larger le or they are small by nature.One or both
of these two cases can be seen in most of the environments faced by the small
les problem.
3.4
One reason for the importance of this problem is that the NameNode will have
to manage a huge amount of metadata in its memory. Another reason is involves
the time that each datanode takes during start-up to scan its le system to
obtain data about the les it is holding which is needed in the block report to
be sent to the NameNode. The larger the number of small les, the longer it
takes. In a cluster, the administrator is provided with two choices in putting
user quotas on directories[3].
1. Maximum number of les per directory
2. Maximum le space per directory
192
Existing Solutions
If the smaller les are part of a larger le, the problem may be avoided by writing
a program to concatenate the small les to produce a large le which is atleast
as big as the default block size. But, if the les are inherently small, they need
to be grouped in some way. Some existing solutions for this are as follows.
4.1
Hadoop Archives
Hadoop, in its later versions, introduced archiving as a solution to the small les
problem.The Hadoop archives, always with a *.har extension, contains metadata
and the data les. The metadata will be organized as index and master-index
les, and data les will be stored as part-* les.The name of the archive les
and the location within the data les will be stored in the index le.[5]. The
modications done to the le system for archiving is invisible to the user and
yet, the increased system performance will be quite obvious to the user. Also,the
number of les in HDFS has been reduced resulting in a better NameNode
performance. This solution is only for the Hadoop versions 0.18.0 onwards. The
former versions are still being widely used. While a MapReduce task is being
processed if a quota is exceeded, the task is aborted by the scheduler, no matter
how critical the task is or how close to completion the task is. Although les are
archived, compression of les is not possible with this method. Read operations
can still be slow since each le access needs two index le reads and a data le
read.
4.2
193
Sequence Files
In this method, the existing data is converted to sequence les. That is, the
small les are put in a sequence le, and it can be processed in a streaming
way.Sequence les allow compression too, unlike Hadoop Archives. Also,sequence
les can be split into smaller chunks,and MapReduce can operate on each piece
in an independent manner. Conversion to sequence les might take time, and
this method is mostly dependent on java i.e, it is not available in a cross-platform
manner.
Proposed Solution
The proposed solution makes use of the merits of the existing solutions listed in
the previous section and tries to avoid their demerits. While Hadoop Archives
succeeded in grouping the small les, the read operation can still be slow as it
requires reading the two index les and nally the data le for a single read. On
the other hand, sequence les are ecient in data processing but it is platform
dependent.
We propose a method which will automatically analyse the input data block
size. If it is less than the default block size of HDFS, it will automatically reduce
the number of reduce tasks to an optimum number. This is based on the reason
that Hadoop outputs one le for each reduce task, regardless of the fact that
the reduce task might not produce any data. In addition, compression will be
allowed.This method is proposed to be implemented in a platform-independent
manner. While performing the MapReduce tasks,this method will keep track of
the memory space left to ensure that the minimum amount of space to uncompress a le is available, since updations will require the les in their original,
uncompressed format.
Since archiving is not done in this method, the read operation can be done
in the normal way, although the writes will require uncompression of the requested le. Instead of conversion of data to sequence les, which might take
more time than necessary, this method eciently analyses the input task at
hand,determines the block size, and sets the number of reduce tasks accordingly.
And this method, proposed to be implemented as a tool, can be used in earlier
versions of Hadoop where archiving is not introduced. A study conducted on
social networks revealed that the former versions of Hadoop are still being used,
which implies that this method can help them enhance the performance of the
version they are using, as well.
Conclusion
194
the drawbacks faced by Hadoop, in certain environments, where a large number of small les degrade Hadoops performance. Two of the existing solutions
are explained in brief, along with their respective advantages and disadvantages.Finally, we proposed a solution combining the merits of the existing solutions, while ltering out the demerits faced by them. The proposed solution, after
successfull implementation, is expected to enhance the performance of Hadoop
in the scenarios where the so called small les problem is causing a performance
degradation.
Future Work
The next milestone in our work will be the successful implementation of the proposed solution, which focuses on improving the Hadoop performance when the
input les are inherently small. An extension of this can be a method which can
eciently manage small les, be it inherently small or otherwise, in a way that is
a bit more convenient for the programmers, sparing them from the complexities
of the distributed framework.
References
1. Dean, J., Ghemawat, S.: MapReduce: Simplied Data Processing on Large Clusters. In: Proceedings of the 6th Symposium on Operating Systems Design and
Implementation, San Francisco CA (December 2004)
2. Shvachko, K., Kuang, H., Radia, S., Chansler, R.: The Hadoop Distributed File
System. In: Proceedings of the 26th IEEE Symposium on Massive Storage Systems
and Technologies (May 2010)
3. Mackey, G., Sehrish, S., Wang, J.: Improving Metadata Management for Small Files
in HDFS. In: Proceedings of IEEE International Conference on Cluster Computing
and Workshops, pp. 14 (August 2009)
4. Satyanarayanan, M.: A Survey of Distributed File Systems, Technical Report
CMU-CS-89- 116, Department of Computer Science, Carnegie Mellon University
(1989)
5. Hadoop Archives: Archives Guide (2010),
http://hadoop.apache.org/core/docs/r0.20.0/hadoop_archives.html
6. Hadoop Distributed File System: HDFS Architecture (2010),
http://hadoop.apache.org/common/docs/r0.20.1/hdfsdesign.html
7. The major issues identied: The small les problem (2010),
http://www.cloudera.com/blog/2009/02/02/the-small-files-problem
8. Introduction: What is Hadoop (2010),
http://www.cloudera.com/blog/what-is-hadoop
9. Hadoop Distributed File System: Welcome to Hadoop Distributed File System!
(2010), http://hadoop.apache.org/hdfs
10. MapReduce: Welcome to Hadoop MapReduce! (2010),
http://hadoop.apache.org/mapreduce
Abstract. This article presents the need for a new model for Internet
architecture and shows briefly the international panoramic on researches for
developing it. One of the most prominence proposals is the Dynamic Circuit
Network (DCN), which allow provide dynamic hybrid packet and circuit
services within the same network infrastructure. However this bring several
important challenges to the control and management planes. The use of smart
management agents and self-management technicals seems to be one approach
able to deal with the new features of the new types of networks.
Keywords: DCN, Control Plane, GMPLS, Management.
1 Introduction
The Internet, as it is known today, is a network supported by technologies more than
30 years old, which evolved from a research network interconnecting few institutions
to a global network that is the backbone of modern society and economy. Despite the
history of success, scientific applications, such as high energy physics, astronomy,
bioinformatics, telemedicine, remote visualization, grid computing, nanodatacenters
among others are leading the Internet to its technological limit.
These applications are typically distributed and/or require strict guarantees of
quality, including high capacity interconnection. Improvements have been developed
in the original Internet protocols to meet these requirements, adding facilities for
measurement, management, traffic engineering, control and network security.
Different studies have been made both to address the limitations of the current model
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 195204, 2011.
Springer-Verlag Berlin Heidelberg 2011
196
197
198
Beyond the convergence, using the DCN is possible to provide a dynamic service
of virtual circuits switching with a specific duration between users that require
dedicated bandwidth for periods ranging from minutes to days [9]. A challenge in this
area concerns the automatic and dynamic management and control of these networks.
It is still necessary to develop solutions to important issues to the control and
management plans. The main proposal to the control plane of hybrid networks is
Generalized Multiprotocol Label Switching (GMPLS).
The solution used in Internet2 is the Dynamic Resource Allocation in GMPLS
Optical Networks (DRAGON). The DRAGON project has developed the technology
used to build an infrastructure network that enables the dynamic provisioning of
resources to establish deterministic paths in a network packet, thus meeting the
requirements of the various types of end users [10] Similar to Dragon, the Automated
Bandwidth Allocation across Heterogeneous Networks (AutoBAHN) is a solution
developed by GANT to allow dynamic allocation of channels. Autobahn is the result
of researches to automate the establishment of inter-domain end to end circuits with
guaranteed capacity [11]. These two solutions use a GMPLS control plane. Another
solution is the User Controlled Lightpaths (UCLP) [12], proposed by Canarie. Using
the technology of Web Services and the framework IaaS (Infrastructure as a Service),
the UCLP allows the establishment of intra and inter circuits. Unlike the other two
projects, the UCLP uses the management plan via the TL1 protocol instead of the
control plane to interact with the network equipments.
199
Protocols
Routing
OSPF-TE
IS-IS-TE
Signaling
RSVP-TE
CR-LDP
Link
Management
LMP
Description
Routing protocols to discover network topology and
advertise the availability of resources (eg bandwidth
or protection). The main developments are:
Link protection announcement (1 +1, 1:1,
unprotected, extra traffic)
FA-LSP (forwarding adjacency) implementation to
improve scalability.
Announcement and receive of information in an no
IP link using link ID
Discovery of an alternative route diverse from the
primary path (shared-risk link group).
Signaling protocols to provision user and traffic
engineering LSPs. The main developments are:
Generic labels - allow joint use of packet switching
and other technologies on the same network.
Bidirectional LSPs establishment
Signaling to establish backup paths (Protection
information).
Fast label association via label suggested.
Support for waveband switching - an aggregate of
wavelengths which are switched together.
Control Channel Management: Established through
negotiation of link parameters (eg messages keepalive) and used to ensure the health of the link (hello)
Link Connectivity Check: Ensures the physical
connectivity between neighbors using a test message
similar to ping.
Correlation of the properties of links: Identifying
the links properties between adjacent nodes (eg
protection mechanisms).
Fault Isolation: Isolate simple or multiple faults
inside the optical domain.
200
operations support systems (OSS) via management plan. TMN also defines functional
areas and logical layers that can be applied to the management of new network
architectures, but its implementation should be reviewed and extended to meet the
needs of new types of networks. Figure 1 shows the layers of TMN model , while
Table 2 shows its functional distribution.
Performance Management
Fault Management
Configuration
Management
Accounting Management
Security Management
OAM functions are traditionally designed for networks built using a single
technology, however the DCN provides hybrid networks and multi-layer. The new
proposals for the management plan, but should not be limited to the traditional
201
The operation and interconnection of hybrid and multi-layer networks depends on the
existence of a well-defined management plan that allows the measurement and
monitoring of intra and inter-domain traffic, as well as dynamic circuits provisioning,
correlation and fault recovery, AAA (Authentication, Authorization, and Accounting),
traffic engineering and other features. Similar to the control plane, there are important
challenges for the management of new network models.
202
5 Traffic Engineering
The main objective in the operation of any network is to optimize the use of its
resources while satisfying the users demands and ensuring that the agreed availability
and quality will be met. Thus it is possible to maximize the investments made in its
implementation. The traffic engineering is the method by which network performance
is optimized, dynamically analyzing, predicting and controlling the behavior of traffic
through the network. The use of traffic engineering methods allows to adapt the
various traffic flows according to network conditions in order to ensure the joint goal
of network performance and efficient use of resources. So are required three main
steps: measuring, modeling and control.
Initially the traffic and the network must be measured. The tool for measuring and
monitoring must report:
Network topology,
Operational status of links and network equipment, including configuration
and performance parameters,
Traffic flows and their characteristics, including in our case, the scheduled
usage.
These data are also useful for other activities such as capacity planning, billing and
network visualization. So the changes to be made to the network should be planned
considering the heuristics and policies for the networks, physical or overlapping, and
for the services it provide. The efficiency of this step depends on an accurate and
current view of network state, ie the frequency and assertiveness of the
measurements. Finally an operator or an automated system makes the configurations.
The traffic engineering is applied both during normal operation and in the event of
failure. In case of failure, the goal is to preserve as much as possible the flows
performance and restore the operational state of the network. During normal operation
the goal is to improve operational running and perform preventive actions to optimize
the network, for example, allowing increased flows or the improvement of quality
related parameters.
These issues can be extrapolated to the case of new network architectures, such as
DCNs, and inter-domain paths involving traffic crossing different networks that may
be technologically and administratively separate. There are still several outstanding
issues, including even the first step: measurement. End-to-end metrics that remain
valid through technologically different networks are not yet defined. Parameters of
Wi-Fi, Ethernet, IP, MPLS, SDH and DWDM technologies, to cover only the most
common one circuit might cross, should be correlated to ensure the quality demanded
by the user. Since there is no correlation between intuitive metrics related to transport
technologies, like DWDM and SONET/SDH, and packet switching, IP/MPLS and
Ethernet for example, it is necessary to transform and combine information from
monitoring and measuring the network to obtain quality end to end services .
In addiction the establishment of circuits and the computation of paths should be
done using the measuring and monitoring information, so that it is possible to achieve
the goals of traffic engineering. Once the metrics are defined and mapped to the
parameters of various technologies, it is necessary to identify the heuristics that will
203
result in good inputs for the algorithms for paths computation. All this information is
essential to make a better network modeling. The model should also consider the use
of VPNs and networks with multiple layers services, which are another challenge
brought by the new paradigms of network architecture. There have been research on
the use of Virtual Topology Design (VTD) and hierarchical management, which
allows users to view, model and interact only with the devices and links (physical or
virtual) used for its own traffic and with different levels of authorization [19]. Once
there are packet and circuit switching with several priority levels, traffic engineering
can be used to assure that the basic services wont starve while the premium services
achieve its goals on QoS, circuit protection, fast restoration and etc. With the use of
specific queues for each class of service, it is possible to limit the bandwidth available
to any of the provided services, isolating them and preventing that the whole
resources be allocated only to the high priority services.
The interaction with the network also brings other issues. How users, managers or
applications can interact with the management and control plans? What can be offered
to management and configuration systems? The traffic engineering is then necessary
to ensure that the best alternatives are chosen, even for creating circuits and for the
restoration of the network. A special situation is presented by the inter-domain
services. In this case should be considered the restrictions to collect network
information: measurements and topology discovery are usually limited. Traditionally
are made interconnection agreements and SLAs, but the internal information of each
domain is hardly available, both for security and scalability. An alternative is the
federations, with rules to facilitate inter-operation and facilitate the establishment,
control and management of end to end services
6 Conclusion
This article is a compilation presenting some of the main topics on the control and
management of DCNs, that change the paradigm of IP traffic routing. This new
network model, dynamic, hybrid and multi-layer, is being designed to meet the
requirements of new applications extremely demanding like e-science, business, peerto-peer, social networks and so on.
Our future work will focus on developing a management model for the specific
needs of these networks. The operation and interconnection of hybrid and dynamics
networks depends on, among other requirements, a management plan that allows the
traffic measurement and monitoring, keeping it within the limits of quality required
trough the use of traffic engineering. The interconnection of these networks in turn
will require the standardization and development of their control and management
plans.
References
1. Jesdanun, A.: Internet pioneer will oversee GENI redesign (2007),
http://www.usatoday.com
2. http://www.internet2.edu
3. http://www.geni.net
204
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Introduction
1.1 MANET
Mobile ad hoc networks (MANETs) have the ability to provide temporary and instant
wireless networking solutions in situations where cellular infrastructures are lacking
and are expensive or infeasible to deploy. Due to their inherently distributed nature,
MANETs are more robust than their cellular counterparts against single-point failures,
and have the flexibility to reroute around congested nodes. Furthermore, MANETs
can conserve battery energy by delivering a packet over a multi hop path that consists
of short hop-by-hop links. While wide-scale deployment of MANETs is yet to come,
several efforts are currently underway to standardize protocols for the operation and
management of such networks. Each device in a MANET is free to move
independently in any direction, and will therefore change its links to other devices
frequently. Each must forward traffic unrelated to its own use, and therefore be a
router. The primary challenge in building a MANET is equipping each device to
continuously maintain the information required to properly route traffic. Power
optimization is another major issue in MANET. When more nodes participate in a
network, lifetime of the network is increased [1] as more alternative paths originate to
forward the data. Nodes in a network may act in a selfish manner by using the
resources of a network and not participating in the routing. Identification of such node
is essential for proper functioning of the network and for maintaining the connectivity
of the network.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 205210, 2011.
Springer-Verlag Berlin Heidelberg 2011
206
2 Topology
Directed graph is represented by G (v,e) where v is set of nodes (players) and e is set
of edges connecting those nodes. ev*v. Another set (Si, Di) contains pair of source
and destination nodes. Pi is number of path from Si to Di. Pe is the power required to
support an edge of a hop, e. For a transmission, let P Pi be the path chosen and Pt
is the power used for a transmission from Si to Di, clearly Pd=Pe. So, our Nash
Equilibrium will be point where total power is minimized.
207
3 Algorithm
3.1 Setting Up a Dedicated Path
Here, we considered a 6 nodes topology of an ad hoc network to be fixed. Fig. 1
shows one source node Si, one destination node Di and four intermediate nodes A, B,
C, D.
Fig. 1. Six nodes topology with Si and Di as destination and source node and four intermediate
nodes
Strategy profile for each node having 3x3 random matrices has been generated. For
any action (i, j) of the node, say A, value of the matrix a (i, j) is the payoff to node A
for that action. Here, action represents the power with which the node is transmitting
packets. To establish a communication link, these matrices are generated for every
participating node and equilibrium occurs when maxima of one node occurs at
position (i, j) where maxima of other node occurs. The strategy matrix is very much
crucial to keep the track over selfish nodes. The following algorithm is proposed:
a) Each node that will be participating in the transmission generates a 2-D matrix
which contains the set of actions. Selection of a particular action decides the outcome
of the node. A payoff value is assigned corresponding to each action of the node.
208
a21
a12
a22
Node A
b) Each node will cross verify the matrices of the rest of the nodes for the best
action. This value will be considered as the virtual currency [2]. Considering three
intermediate nodes between source and destination the condition can be checked in
MATLAB using if
((A(j,i) == max A(i)) && (B(j,i) == max B(i)) && (C(j,i) == max C(i)) && (D(j,i)
== max D(i)))
Where, A, B, C, D are the corresponding strategy matrices and max(A), max(B),
max(C), max(D) contains the maximum values of the corresponding strategies. The
case may occur that a particular node is not participating with its best possible action.
Then this node will be provided certain time to improve its behavior. The payoff
values of all the nodes involved in the transmission are asked from the user. On the
basis of outcome, one value from the various payoff values is being selected.
Corresponding to this payoff value, there will be an energy with which node will be
transmitting forward. After all nodes agree to participate at their corresponding
energy levels, a dedicated path is formed. After the formation of dedicated path the
transmission starts taking place.
3.2 Identifying the Cheating Node
Cheating node can be identified by maintaining a table for all (Si,Di) pair which will
be available at every node. Transmission by node will not be considered when it acts
as source.
Table 2.
From
node
To
node
Power
to
support
edge
Number
times
node
participated
A
A
B
B
C
C
D
D
B
D
A
C
B
D
C
A
10
9
10
8
8
12
12
9
0
4
0
0
0
5
4
6
of
209
First three columns show the topology, whereas fourth column shows the number of
times a node has participated in routing. It can be concluded from the table that when
the node does not participate in the routing, value of fourth column for that particular
node becomes zero. Based on the involvement or the co-operation of the nodes in the
network payoffs or some incentives are given to them. Table 2 will be evaluated after
every periodic interval and when value for any node comes out to be zero repeatedly, it
means that particular node is not participating in routing therefore; no payoff will be
given to it. This is how, the path is determined from the source to the destination which
consumes least energy. In our simulation node B is not participating. This table can also
help in minimizing the over-utilization of a node. When value of any node in fourth
column becomes large, it means that node is being over-utilized.
4 Implementation
The implementation of this novel algorithm is done by using rand function to generate the
strategy matrices. The algorithm has been implemented for 50 games/transmissions. If the
210
energy of a particular node in the topology gets exhausted then there will be no more
participation of the node in the game/transmission. Fig.1 and Fig.2 show the Nash
Equilibrium points for the source and destination nodes respectively. Similarly, the Nash
Equilibrium of all the other nodes can be plotted.
5 Conclusion
Game theory is used in many situations where conflict and cooperation exist. In this
paper, we propose a game model that can be used to optimize total energy of the
network and to analyze selfish behavior of the node, if any. Using this approach the
route/path is determined which requires least energy with maximum co-operation
among the nodes. If the same node is participating again and again to forward the
packet then all the paths that go through that particular node will get diminished soon
due to the over utilization of the node in terms of energy. Therefore, the above
described algorithm has taken into account this problem. The nodes which are
participating will be provided some payoffs or incentives and the others which are not
co-operating will not be allowed to transmit their own packets. Nash equilibrium is
used to determine the path which consumes less energy to reach the destination after
taking decisions from the payoff matrices. Strategy of Game theory can further be
applied to determine the network parameters like throughput and delay etc.
References
1. Komali, R.S., MacKenzie, A.B.: Distributed Topology Control in Ad-Hoc Networks:
A Game Theoretic Perspective. In: Proc. IEEE CCNC (2006)
2. Leino, J.: Applications of Game Theory in Ad Hoc Networks, Masters thesis, Helsinky
University (October 2003)
3. Xiao, Y., Shan, X., Yongen, Tsinghua University: Game Theory Models for IEEE 802.11
DCF in Wireless Ad Hoc Networks, IEEE Radio Communications (March 2005)
4. Roughgarden, T.: Selfish routing and price of anarchy. Lecture Notes. Stanford University,
Stanford
5. Srinivasan, V., Nuggehalli, P., Chiasserini, C.F., Ramesh, R.R.: Cooperation in Wireless
Ad Hoc Networks. In: IEEE INFOCOM (2003)
6. Narahari, Y.: Game Theory. Lecture Notes, Bangalore, India
Abstract. Software secureness as experienced by a user has connotations that imply better control over information that is getting encoded.
It also implies adherence to established protocols by the software and
provision to inspect software sources for coding errors. The signicance
of some of these issues is evident in some reference manuals on Software
Quality. Software secureness could be treated as a signicant constituent
in software quality which can be enhanced by altering the properties of
the software applications, software environment and software implementation of protocols or data standards that are deployed in the software
projects. Traditional approaches to Software Quality often provide a privileged position to developers of software projects, in providing them the
freedom to x the prerequisites and conditions that determine quality.
In situations where software serves public interests or needs, software secureness should not contrast amongst the communities that use, develop,
test or maintain the same software project. For most of the services in
public domain, the user community is the one which is constitutionally
the most empowered. Utilities that serve public needs may also involve
processing of information of user communities. Therefore, software secureness must be evaluated from the viewpoint of the community of its
users, even if it happens to be the least privileged in setting the prerequisites or conditions for software quality. A shift of this nature is necessary
because a proprietary software environment may be completely transparent to its developer community, even while remaining opaque or insecure
to its user community.
Introduction
Software Quality is a widely discussed and debated issue especially in the context
of software engineering practices. Software processes dier from most other manufacturing processes, in that the products and processes are capable of getting
modied, tested or developed by communities of users, maintainers or developers.
If one is aware of the constituents that create software quality, then it becomes
easier to enhance the quality. This article examines the issue, taking software secureness as a parameter for achieving software quality. It attempts to dene and
view secureness through correctness of software sources, fair implementation of
protocols and through the nature of data formats that the software projects use.
Initial reviews on software quality measures on software products had prompted
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 211222, 2011.
c Springer-Verlag Berlin Heidelberg 2011
212
detailed studies on issues like as-is utility, portability and maintainability [4].
Signicance of portability and maintainability has also been stressed in another
software product quality model suggested by Dromey [6]. This situation presupposed availability of software as sources and details of protocols, as without
accessibility to such sources, maintainability could be ruled out and portability
gets impossible.
Manuals in software quality make adequate references to adherence to use of
data standards, fair implementation of protocols and transparency in coding of
their implementation [2], [3], [1]. These manuals, while laying out specications
for achieving software quality, however, do not insist on the dichotomies that
arise while applying quality conditions to user and developer domains. While
developers working within proprietary software establishments can claim software quality by adhering to these manuals by virtue of having accessibility to
software design and development processes, a majority of users who are out of
purview of the development establishment and who would be the major consumers of software, are not in a position to guarantee software quality on their
own. This unique contradictory situation insofar as the software users are concerned has even prompted a suggestion that open standards without insistence
of open source software would render the whole claim of software quality inadequate [14].
Software sources often undergo changes while catering to evolving demands.
Its management too would get complex, when the communities of users, developers or maintainers are allowed varying degree of permissions or restrictions in
their access to software sources. Adherence to established protocols also requires
that software is programmed to do, what it claims to do. Even more importantly,
software should not be doing, what it is not supposed to do. The task of validating secureness, therefore, needs a fair amount of expertise in programming by
the inspecting agency. It is known that errors or deviations from norms in software can be brought out if more people are allowed to inspect the sources [13].
Therefore, access to software sources is a critical factor in establishing secureness
of software, especially for those software applications serving public interests or
needs.
The properties and nature of data formats used in public applications also
need to be scrutinized for their linkages with software secureness. Data formats
could be either standards or open formats where ownership have been relinquished. Data formats could also be proprietary which may have owners. When
ownership of proprietary formats are in private possession, encoded information
risk getting under perpetual control, especially if the private owners shun eorts
to convert them into legitimate standards relinquishing ownership.
In a draft legislation introduced in Republic of Peru [15], a few issues were
referred. It was argued that public agencies have a natural obligation to guarantee permanent availability of information encoded, processed and stored while
engaging with software applications. To ensure this, proprietary formats were
not desirable for public systems. The signicance, as per the bill was due to the
fact that private information of citizens gets processed in such software systems,
213
A government initiative to guarantee 100 days of employment on an annual basis to all rural households in India was legislated [7] in 2005. Commissioned as
National Rural Employment Guarantee Scheme (NREGS), the programme was
open to all households whose members were willing to oer unskilled labour.
Though initially the programme was implemented in selected areas, it later got
extended to all rural areas of India. The programme, rechristened as Mahatma
Gandhi National Rural Employment Guarantee Scheme (MGNREGS), continues
to be executed through all local self-government institutions in the Panchayat
Raj System which predominantly addresses rural population. The enactment
was subsequently amended to place all information about the scheme in public
domain through a website. It later became a mandatory requirement [8] for the
purpose of introducing transparency in all the transactions within the system.
This monitoring scheme which has already commenced is planned to be in operation at over 240,000 rural self-government institutions in India. The software
that fullls this requirement has been developed by National Informatics Centre
(NIC) and is made available to the rural local self-government institutions. Here,
the data processed at rural local self-government institutions spread across the
country will be received and stored at a central database repository.
NREGASoft, the software developed for monitoring these activities is capable
of operating in online mode as well as in oine mode [12]. In the online mode
of operation, a dedicated internet connection needs to be established between
the local self-government institution and the Ministry of Rural Development
(Govt. of India) which hosts the central server. In the online mode, details of
all activities are updated on a daily basis with the help of a browser application
at the nodes. However, due to the enormity of data, the data-entry operations
which even include marking of attendance of the workers at the various work
214
sites are carried out in the oine mode. In the oine mode, data related to
MGNREGS are entered by local self-government institutions and updated in
a local database repository. Later, at a convenient time or from an alternate
location, the incremental updates to local database are synchronized with the
remote central repository, which is housed in the premises of Ministry of Rural
Development, Government of India. NIC has developed a web-server application
integrated with a hypertext scripting engine with the central database server
[8], which allows online mode of operation. According to its principal developer
[11], the rst major award bagged by the project was Microsoft e-Governance
Award 2006.
On analysis of NREGASoft it was observed that the central server which received
information from rural local bodies was congured using proprietary software.
The information received was stored in database in a proprietary format. The
minimum essential conguration for becoming the client of the monitoring network, as per the manual [12], is listed in Table 1.
Table 1. Ownership of Client Software Sources (Oine)
Software
Nomenclature
Owned by
OS
Windows XP SP-2
Microsoft Inc
Microsoft Inc
Application NREGASoft
NIC
It can be seen that a software rm has exclusive ownership over the software
environment which embeds the application software developed by NIC during
execution. Users of this rural software application do not have access to software
sources that are owned by this software rm, and hence software secureness of
the environment for the users gets reduced. For both the oine mode and the
online mode of operation, the server conguration is listed in Table 2.
The secureness of the scripts that make up NREGASoft is dependent on access
to its sources. NIC owns and maintains the scripts of NREGASoft. Since these
scripts are made available to local self-government institutions, secureness of
NREGASoft will be dependent on the extent of access to the scripts that is made
available to the users. However, when a software application is embedded inside
an insecure software environment, the software project will become insecure for
its users. In a study carried out by Jones, it was pointed out that at the user end,
it is almost impossible to build a meaningful software metrics even for identifying
its inadequacies or highlighting its worthiness as good, bad or missing [9]. The
study even went ahead and claimed a metric as hazardous which was unrelated to
215
Nomenclature
OS
Owned by
Microsoft Inc
Application NREGASoft
NIC
In NREGASoft, the community of users is mostly those from the rural local
bodies in India, belonging to dierent states and union territories in India.
The developers and maintainers of the application of NREGASoft happen to
be from National Informatics Center (NIC), which is a public agency under the
administrative control of Government of India. The developers of the software
environment of NREGASoft happen to be from a private software rm. In this
proprietary software project it can be seen that the communities of users, developers and maintainers are not the same.
NIC has some denite control over the sources (server scripts) it develops
and maintains. The communities of users, which happen to be the members in
local self government institutions, do not enjoy the same privileges for access to
the sources as that of the maintainers. A proprietary developer of kernel and
similar services related to Operating System may have complete control over
the entire project. This is because user-level software applications get embedded
inside a proprietary operating environment, which can oversee any aspect of its
functioning. A recent study suggested that exposure to software sources would
help in reducing the number of faults which can be taken as an important factor
while creating a process metrics [10], but the dilemma of software secureness
would continue, so long as sources are not made available to user community.
Secureness of software is directly related to access and control over source
code of software by the users. The software project may be secure enough to
Microsoft Inc., who has access to all the code it develops. NICs sense of secureness, however, is limited to its control over the sources NIC has developed. Still
lesser sense of secureness will prevail on the programmers and other users in
rural local self-government institutions, who may have access to some portions
216
of the program developed by NIC. For the common rural citizens in whose service the application is created, however, the application can never be declared
secure. This is because there are no legal provisions that facilitate rural citizens
to inspect, test or debug the code or entrust such inspection to third-parties
as brought out in the draft bill introduced in Peru [15]. In a democracy, where
state serves its people, excluding people from accessing software sources is akin
to excluding masters of the state. The secureness of software vis--vis ordinary
citizens, whose information is getting processed, is therefore not prominent in
NREGASoft.
2.2
Software scenario is replete with instances of multiple choices for data formats
available for the purposes of storage or processing in certain application domains.
Wherever data formats have been declared as data standards or open data formats, it can be presumed that issues over ownership over such data standards
too have been settled. This is primarily because data standards or open data
formats are devoid of owners claiming exclusive rights over such formats. Data
standards or open data formats play a vital role in ensuring interoperability of
encoded data between systems as they become neutral to applications that use
them. Retention of ownership or rights over some or all parts of standards would
dent this neutrality, in the process rendering it a non-standard. Its status then
would be as a proprietary data format.
The scope of discussion on proprietary formats in which data are encoded and
other related protocols used in NREGASoft is limited, as their implementation
details are not available for inspection by any user, other than the rm that
developed it. Additionally, there cannot be a fool-proof mechanism for validating any claims of adherence to protocols, as these are available only in binaries,
mostly in a non-decodable format whose ownership entirely lies with a single
agency. The licensing conditions, under which these utilities are made available
to users, strictly prohibit any attempts to reverse-engineer or decode. Thus, the
existing state of the art is severely limited in its scope for evaluation or scrutiny,
from a technological perspective. The data encoded cannot be guaranteed to
be available permanently [15]. Secureness of the system, therefore, is further
compromised through the usage of proprietary formats and non-veriable protocols.
Operations from client-side have been categorized into two modes. In the
oine mode, a local database is created and updated, from where data is updated
with the central database server. Most of the software utilities are available only
in binary formats. The state of client in oine mode is almost the same as that
of server. Secureness of client, therefore, is poor as in the case with secureness
of server. In the online mode, it will be a web-application which will be used
to update the remote database. Here too, the encoding of data for storage in
remote database will be carried out in proprietary formats.
217
The tendency of software secureness to vary can be gauged from the interest
shown by the owner of proprietary format to have it converted into a legitimate
standard, relinquishing any kind of ownership. Absence of ownership over any
part of format, if published as a standard, and made available for public use,
would naturally mean that everyone has an equal share of ownership, enforcing
neutrality. In the event of non-neutrality of encoding process, the format may
need alteration to become a standard. In the case of NREGASoft, Microsoft
Inc currently holds the ownership of proprietary data formats used in its systems. Hence, software secureness is severely restricted with regard to encoding
of information.
2.3
218
A scalable prototype for a local database management system that captures and
stores information pertaining to MGNREGS was developed using Free Software
applications during late 2009 and early 2010. The following software components
described in Table 3 were deployed.
Table 3. Alternate Software Specications
Software
Operating System
Nomenclature
GNU/Linux Ubuntu 9.10
Web Server
Apache 1.3.42
Database
MySQL 5.1.31
Webserver Scripts
PHP 5.2.12
Drupal 6.15
A scalable prototype was developed with Drupal and the essential functions of
a work-activity were captured and made available as reports. Assessment of work
requirements and its processing was carried out at Panskura-I, a block panchayat
in East Medinipore district, West Bengal. Information generated through the
reports, validated the functional aspects of the prototype at the developers
219
220
the same with regard to access to software sources, which is crucial to ascertain
adherence to established protocols and adherence to open data formats or data
standards. The privileges of user communities, here, are better than those in
NREGASoft. For the user community, secureness of software has been enhanced
in Free Software application when compared to secureness of NREGASoft.
To enhance the software secureness of NREGASoft, therefore, the conditions
require that the solution be re-designed in a Free Software environment. Additionally, the proprietary formats in which encoding of public information is
currently being carried out are to be abandoned in favour of open data formats or data standards, devoid of any ownership. To ensure that the application
scripts too can never be closed for inspection, they too should be released under
an open public license that prevents its closure in future. By having the software
secureness of NREGASoft enhanced considerably to the user community, it can
be safely presumed that software quality too would be improved as depicted in
Fig 2.
The authors would like to point out that while this software development work
merely validates the claim that secureness of software with respect to the user
community can be enhanced, the study does not claim that such development
work is beyond the capabilities of private software development companies. On
the contrary, the authors may even recommend entrusting such development
work to leading software developers in the private sector in India to make use
of their vast experience and access to human resources. This study, however,
accords priority to the licenses under which the transfer of rights of software
and sources ought to take place that would reveal the extent of secureness of
software to its users.
221
Conclusion
References
1. IEEE Guide for Software Quality Assurance Planning. ANSI/IEEE Std 983-1986,
131 (1986)
2. IEEE standard for Software Quality Assurance Plans. IEEE Std 730.1-1989, 01
(1989)
222
3. Software Quality Management System. part 1: Requirements. Adopted from Standards Australia. IEEE Std. 1298-1992; AS 3563.1-1991, 01 (1993)
4. Boehm, B., Brown, J., Lipow, M.: Quantitative evaluation of software quality.
In: Proceedings of the 2nd International Conference on Software Engineering,
pp. 592605. IEEE Computer Society, Los Alamitos (1976)
5. Capra, E., Francalanci, C., Merlo, F.: An empirical study on the relationship between software design quality, development eort and governance in open source
projects. IEEE Transactions on Software Engineering 34(6), 765782 (2008)
6. Dromey, R.G.: A model for software product quality. IEEE Transactions on Software Engineering 21, 146162 (1995)
7. Government of India: The National Rural Employment Guarantee Act NREGA
2005. Government Gazette, India (2005)
8. Government of India: Government Notication on Transparency in NREGA.
Government Gazette, India, p. 9 (2008)
9. Jones, C.: Software Metrics: Good, Bad and Missing. IEEE Computer 27(9), 98
100 (1994) ISSN:0018-9162
10. Khoshgoftaar, T.M., Liu, Y., Seliya, N.: A multiobjective module-order model
for software quality enhancement. IEEE Transactions on Evolutionary Computation 8(6), 593608 (2004)
11. Madhuri, S., Mishra, D.: Strengthening National Rural Employment Guarantee
Scheme (NREGS) through E-Governance. In: E-Governance in Practice (2008)
12. NIC, Government of India: User manual of NREGA. MIS for National Rural
Employment Guarantee Act (NREGA) 2005 (2007)
13. Raymond, E.S.: The Cathedral and the Bazaar: Musings on Linux and Open Source
by an Accidental Revolutionary. OReilly, Sebastopol (2001)
14. Tiemann, M.: An objective denition of open standards. Computer Standards and
Interfaces. Science Direct 28(5), 495507 (2006) ISSN 0920-5489
15. Villaneuva, E.: Use of Free Software in Public Agencies. Bill No 1609, Republic of
Peru (2001)
Abstract. We present an eective DRM architecture with multi distributors that facilitates client mobility and propose a family of exible
key management mechanisms for this system coupling Identity-Based
Encryption (IBE) with vector space secret sharing. Our proposed DRM
architecture provides scalability of business model and allows to make
proper business strategies for dierent regions and cultures. The encrypted digital content sent by a package server can only be decrypted
by the DRM client and is protected from attacks by other parties/servers
in the system. Our key management protects the key used to encrypt a
digital content during its delivery from the package server to the DRM
client, not only from purchasers but also from the distribution servers and
the license server. The IBE enables eciency gains in computation time
and storage over the existing certicate-based Public Key Infrastructure
(PKI) based approaches as no certicate management and verication is
needed by the entities in the system.
Keywords: DRM, key management, content protection, security, vector
space secret sharing, IBE.
Introduction
The widespread use of the Internet has greatly facilitated the distribution and
exchange of information. Immediate access to content with low-cost delivery
is one of the new benets Internet-based distribution brings. However, digital
content by nature is highly vulnerable to unauthorized distribution and use.
This raises issues regarding intellectual property and copyright. After content
is provided, no further protection is provided on that content. While these new
technologies have the potential to open up new markets, the risk of abuse makes
copyright owners reluctant to use them.
Digital Rights Management (DRM) technologies ensure the protection of digital content after distribution, providing ways to exercise usage control on that
content. The goal of DRM technology is to distribute digital contents in a manner that can protect and manage the rights of all parties involved. The core
concept in DRM is the use of digital licenses. The consumer purchases a digital license granting certain rights to him instead of buying the digital content.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 223232, 2011.
c Springer-Verlag Berlin Heidelberg 2011
224
The content access is regulated with the help of a license that contains permissions, constraints and a content decryption key. Permissions are privileges or
actions that a principal can be granted to exercise against some object under
some constraints. Examples of permissions include printing, playing, copying,
and embedding the content into other content items. Constraints are restrictions and conditions under which permissions are executed. Constraints may
include expiration date, available regional zone, software security requirements,
hardware security requirements, and watermarking requirements. A set of constraints can also include another set of constraints recursively, which means that
the included set of constraints must also be satised.
Current Digital Rights Management (DRM) systems support only two-party
systems, involving the package server and purchaser [10], [2], [13], [7], [3]. However, DRM systems need to be suciently exible to support existing business
models and extensible to adapt to future models. The DRM architecture in
multi-party multi-level setups has been used [8], [11], [14], [15] as an alternative
to the traditional two-party DRM architecture.
Our Contribution: In this paper, we design a DRM system which is suitable
to more innovative and scalable business models considering a network with
multi-distributors instead of single-distributor. A local distributor can better
explore potentially unknown markets for the owner (package server) and make
strategies according to the market. In addition, the distributors can also help in
handling dierent pricing structures of media in dierent countries, and share
with the owner any information on price or demand uctuation cost. In our
DRM system, the DRM client has the exibility of choosing a distributor based
on his own preference. The DRM client may be mobile and roam from one
region to another. The DRM client may contact the distributor who is nearest
to him by location or who oers promotions/discounts on the price or oers
more commissions.
We provide a secure and ecient key management scheme in our proposed
DRM system using IBE [17] instead of certicate-based Public Key Infrastructure (PKI), coupling it with vector space secret sharing scheme. The IBE has
the property that a users public key is an easily calculated function of his identity, such as his email address, while a users private key can be calculated for
him by a trusted authority, called Private Key Generator (PKG). The identitybased public key cryptosystem needs verication of users identity only at the
private key extraction phase. Consequently, the identity-based public key cryptography simplies certicate management and verication and is an alternative
for certicate-based PKI, especially when ecient key management and security are required. We obtain eciency gains in computation time and storage
over the existing certicate-based PKI approaches as no certicate management
and verication are needed by the entities in our DRM system. Moreover, our
construction is general as it uses a general monotone access structure and vector space secret sharing. These facilitates to constructs a family of exible key
distribution schemes.
225
In our key management mechanism, the package server does not trust distribution servers or license server. The symmetric decryption key used to encrypt
a digital content is delivered from the package server to the DRM client in a
secure manner and is protected from its generation to consumption. Unlike current DRM systems which have focused on content protection from purchasers,
our scheme protects the key not only from purchasers, but also from other principals such as the distribution servers and the license server. Consequently, the
encrypted digital content sent by a package server can only be decrypted by the
DRM client who has a valid license and no one else.
2
2.1
Preliminaries
Common Components in DRM System
The certicate-based protocols work by assuming that each entity has a static
(long term) public/private key pair, and each entity knows the public key of
each other entity. The static public keys are authenticated via certicates issued
by a certifying authority (CA) by binding users identities to static keys. When
two entities wish to establish a session key, a pair of ephemeral (short term)
public keys are exchanged between them. The ephemeral and static keys are
then combined in a way so as to obtain the agreed session key. The authenticity
of the static keys provided by signature of CA assures that only the entities who
posses the static keys are able to compute the session key. Thus the problem of
authenticating the session key is replaced by the problem of authenticating the
static public keys which is solved by using CA, a traditional approach based on
a Public Key Infrastructure (PKI).
However, in a certicate-based system, the participants must rst verify the
certicate of the user before using the public key of the user. Consequently, the
system requires a large amount of computing time and storage.
In identity-based public key encryption, the public key distribution problem is
eliminated by making each users public key derivable from some known aspect
of his identity, such as his email address. When Alice wants to send a message to
Bob, she simply encrypts her message using Bobs public key which she derives
from Bobs identifying information. Bob, after receiving the encrypted message,
obtains his private key from a third party called a Private Key Generator (PKG),
after authenticating himself to PKG and can then decrypt the message. The
private key that PKG generates on Bobs query is a function of its master key
and Bobs identity.
226
3
3.1
227
Protocol
Overview of the Proposed DRM Architechture
Entities involved in our DRM model are: package server P , n distribution servers
D1 , . . . , Dn , license server L, DRM client C. The package server P appoints n
distribution servers D1 , . . . , Dn in dierent regions to facilitate the distribution
process. The DRM client C is mobile and moves from one region to another. C
can download encrypted contents from its preferred distributor, say Di , which
might be location wise nearest to C. The owner of the package server P has raw
content and wants to protect it. None of the principals except P and the DRM
client with a valid licence should know how to decrypt the content.
3.2
228
229
YL = EncIDL (S) using Ls public identity IDL , signature YL = SigSP (YL ) using
P s own private key SP , and sends YL |YL to L.
2.5) For 1 i n, Di on receiving YDi |YDi , veries the signature YDi on YDi
using P s public identity IDP . If verication succeeds, i.e. VerIDP (YDi , YDi ) =
true, then Di decrypts YDi using its private key SDi , recovers v.(Di ) = DecSDi
(YDi ) and stores v.(Di ) to its secure database.
2.6) L upon receiving YL |YL , veries the signature YL on YL using P s
public identity IDP . If verication succeeds, i.e. VerIDP (YL , YL ) = true, then L
decrypts YL using its private key SL , recovers S = DecSL (YL ), where S is the
set given by S = {(Uk , v.(Uk )) : Uk W }. L stores S to its secure database.
3. Key Delivery when Content Service is Provided:
Suppose a DRM client C requests the content service for encrypted content
M from a distribution server, say Di , which is within nearest reach to C. The
following steps are executed.
3.1) Di computes YC = EncIDC (v.(Di )) using Cs public identity IDC , signature YC = SigSDi (YC ) using Di s private key SDi , and sends YC |YC to L.
3.2) L on receiving YC |YC , veries the signature YC on YC using Di s public
identity IDDi . If verication succeeds, i.e. VerIDDi (YC , YC ) = true, L computes
YL = EncIDC (S) using Cs public identity IDC , signature YC |YL = SigSL (YC |YL )
using Ls own private key SL , and issues the license that contains YC |YL |YC |YL
together with rights, content URL, and related other information.
3.3) The DRM client C analyzes the licence issued by L, veries YC |YL on
YC |YL using Ls public key IDL . If verication succeeds, C decrypts YC and YL
using its own private key SC , and extracts the partial content keys v.(Di ) =
DecSC (YC ) and S = DecSC (YL ), where S = {(Uk , v.(Uk )) : Uk W }. C
then reassembles these partial content keys and extracts the original content as
follows: Since W 0 and Di
/ W , the set B =
W {Di } . Thus B is
an authorized subset and one can write (P ) = {k:Uk B} k (Uk ) for some
k GF(q). Hence C knows k and v.(U
k ) for all k B and
consequently can
compute {k:Uk B} k (v.(Uk )) = v.
{k:Uk B} k (Uk ) = v.(P ) = K.
Finally, C decrypts the encrypted content using the recovered content key K
and can view (playback) M .
Security Analysis
We design our key management scheme keeping in mind the following specic
security objectives.
1. Preventing insider attacks: Raw content should not be exposed to unintended parties with the help of an insider.
2. Minimizing attacks by outsiders: Unauthorized outsiders should not illegally
obtain the content keys.
3. Protecting distribution channels for content key/license: The security of the
following two distribution channels should be ensured.
the distribution channel between the distribution servers and the license
server to transport the content key
230
the distribution channel between the DRM client, the distribution servers
and the license server to transport the license.
An attack on the (n + 1) partial content keys of the original content key
K (which is used in symmetric key encryption for content protection by the
package server) during delivery from the package server P to the distribution
servers D1 , . . . , Dn and the license server L is prevented, because each piece of
the (n+1) partial content keys of K is encrypted under a public key and delivered
to a server who owns the matching private key. The (n + 1) partial content keys
of K are separated and stored at dierent servers in such a way that, neither
any of the distribution servers D1 , . . . , Dn nor the license server L has sucient
number of partial content keys to generate the original content key K by itself.
The content key K is protected from an attack on the distribution servers or the
license server, since the (n + 1) partial content keys of K is stored at dierent
servers so that each server knows insucient number of partial content keys to
extract the original content key K.
Moreover, since a distribution server encrypts its partial content key of K
with the DRM clients public key and sends it to the license server, the license
server cannot decrypt it and consequently, cannot generate the original content
key K. License server also encrypts its partial content key of K using the DRM
clients public key. Thus the partial content keys of K can only be decrypted by
the DRM client who has the matching private key and no one else. The DRM
client gets sucient partial content keys after decryption and combines them to
recover the original content key K.
In summary, we achieve the following.
1. By splitting the content key, each of the distribution servers has a distinct
partial content key. Thus if an insider attack on a server is successful, the partial
content key obtained in the attack is insucient to decrypt the DRM-enabled
content.
2. For an outside attack to succeed, the attacker must break into the license
server and any distribution server to obtain sucient partial content keys. Thus
the proposed scheme achieves multi-party security.
3. We use IBE and digital signature schemes to protect the content key/license
distribution channel from impersonation attacks, replay attacks, man-in-themiddle attacks etc. Therefore, the security of the content key/license distribution
channel depends on the security of the mechanisms IBE, digital signatures used
for the key management.
4. Note that the content keys in the license le are transmitted to the client
module under encryption with the client modules public key. Consequently,
entities other than the client module cannot retrieve the content key even when
they have obtained the license le.
Performance Analysis
231
Conclusion
232
References
1. ANSI X9.62, Public Key Cryptography for the Financial Services Industry. The
Elliptic Curve Digital Signature Algorithm (1999)
2. Camp, L.J.: First Principles of Copyright for DRM Design. IEEE Internet Computing 7, 5965 (2003)
3. Cohen, J.E.: DRM and Privacy. Communications of the ACM 46(4) (April 2003)
4. Dutta, R., Barua, R., Sarkar, P.: Pairing Based Cryptographic Protocols: A Survey.
Manuscript (2004), http://eprint.iacr.org/2004/064
5. BlueKrypt: Cryptographic Key Length Recommendation,
http://www.keylength.com/en/3/
6. Grimen, G., Monch, C., Midtstraum, R.: Building Secure Software- based DRM
systems. In: NIK 2006 (2006)
7. Hartung, F., Ramme, F.: Digital Rights Management and Watermarking of Multimedia Content for M-Commerce Applications. IEEE Comm. 38, 7884 (2000)
8. Hwang, S.O., Yoon, K.S., Jun, K.P., Lee, K.H.: Modeling and implementation of
digital rights. Journal of Systems and Software 73(3), 533549 (2004)
9. Jeong, Y., Yoon, K., Ryou, J.: A Trusted Key Management Scheme for Digital
Rights Management. ETRI Journal 27(1), 114117 (2005)
10. Lee, J., Hwang, S., Jeong, S., Yoon, K., Park, C., Ryou, J.: A DRM Framework
for Distribution Digital Contents through the Internet. ETRI Journal 25, 423436
(2003)
11. Liu, X., Huang, T., Huo, L.: A DRM Architecture for Manageable P2P Based
IPTV System. In: IEEE Conference on Multimedia and Expo., pp. 899902 (July
2007)
12. Liu, Q., Safavi-Naini, R., Sheppard, N.P.: Digital Rights Management for Content Distribution. In: Proceedings of Australasian Information Security Workshop
Conference on ACSW Frontiers 2003, vol. 21 (January 2003)
13. Mulligan, D.K., Han, J., Burstein, A.J.: How DRM- Based Content Delivery Systems Disrupt Expectations of Personal Use. In: Proc. 2003 ACM Works. Digital
Rights Management, pp. 7788 (October 2003)
14. Rosset, V., Filippin, C.V., Westphall, C.M.: A DRM Architecture to Distribute
and Protect Digital Content Using Digital Licenses. Telecommunication, 422427
(July 2005)
15. Sachan, A., Emmanuel, S., Das, A., Kankanhalli, M.S.: Privacy Preserving Multiparty Multilevel DRM Architecture. In: IEEE Consumer Communications and
Networking Conference (CCNC) (January 2009)
16. Shamir, A.: How to Share a Secret. Communications of the ACM 22(11), 612613
(1979)
17. Shamir, A.: Identity-Based Cryptosystems and Signature Schemes. In: Blakely,
G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 4753. Springer,
Heidelberg (1985)
1 Introduction
In 1994, Naor and Shamir [1] proposed a new cryptographic area called visual
cryptography based on the concept of secret-sharing. It divides an image into a
collection of shares and requires threshold number of shares to retrieve the original
image. Initially the model could be used only for black-and-white images but was
further extended to support grey-level and color images. There are some interesting
extensions of the original model. One of them is to generate innocent-looking shares
so that attacker cannot get doubtful by looking at the random pattern of the share.
Another extension is to encode multiple secret images together so that overhead of
keeping too many shares can be reduced.
The hacker can get suspicious by looking at the random looking shares and can
guess that a secret message has been encoded. To remove this problem, Naor and
Shamir [1] proposed a method to produce innocent looking shares to conceal the
secret message. Chang et al. [3] proposed a method to generate two shares for
hiding a secret two-tone image. Shares are embedded into two gray-level cover
images by the proposed embedding scheme. Chang et al [4] suggested a scheme for
color image hiding using a color index table. Chang and Yu [5] came with an
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 233243, 2011.
Springer-Verlag Berlin Heidelberg 2011
234
2 Related Work
2.1 (2,2) Visual Cryptography Scheme
A (2,2)-VCS scheme divides the original image into 2 shares and secret image is
recreated by stacking both the shares. Secret image is viewed as a collection of white
and black pixels. Each share contains collections of m black and white subpixels
where each collection represents a particular original pixel. The resulting picture can
be thought as a [n x m] Boolean matrix S = [si,j].
si,j = 1 if the j-th subpixel in the i-th share is black.
si,j = 0 if the j-th subpixel in the i-th share is white.
The algorithm, in Figure 1, describes how to encode a single pixel. One of the two
subpixels in P is black and the other is white in both the shares. The possibilities
"black-white" and "white-black" are equally likely, independent of the corresponding
pixel in the secret image. So the shares do not provide any information as whether the
original pixel to be encoded is black or white and hence proves the security of the
scheme.
235
236
and same procedure is reiterated. Here XOR is used instead of total automorphisms as
proposed by Chang [3]. The reason is that XOR is easy to perform and takes very less
time than total automorphisms. Further, the secret bit cannot be revealed from the cover
image as it is the XOR-result of cover-pixel bit and share-bit.
The bit to be replaced should be one of the four lower order bits so that the pixel
value of the cover image does not change much.
3.2 Data Extraction
For decoding purpose, the specified bit of modified-share 1 and modified-share 2 are
XORed and the bit value of the original halftoned image is achieved. Figure 3 shows
Table 1. Pixel reconstruction using proposed scheme
Share 1
Share 2
Cover
Image
Modified
Share 1
Modified
Share 2
Final
XOR
237
one of the possible combinations of share 1 and share 2 using basic (2,2) VC
proposed by Naor and Shamir[1] for white pixel, and the reconstructed image using
XOR operation. Figure 4 shows the scheme for black pixel. The output image quality
is better using this scheme as XOR operation allows for perfect reconstruction. It
means that there is no loss of contrast.
The decryption can be understood as follows. Suppose we have the secret image S.
We create 2 shares for it as S1 and S2 using Hous method [3]. Then we XOR it with
the cover image, S1 with C1 and S2 with C2 during encryption to produce innocentlooking shares. For the decoding process, we XOR the predefined bit of C1 and C2 to
generate the secret.
( S1 C1) ( S 2 C 2) = ( S1 S 2) (C1 C 2) = S1 S 2
C1 and C2 are the same images as they are just 2 copies of same cover image.
Hence result of C1 C 2 becomes 0 and this effectively results in S1 S 2 which
constructs the final image.
Share 1
Share 2
XORed Result
Share 1
Share 2
XORed Result
238
4 Analysis
4.1 Security Analysis
The proposed scheme does the security enhancement with a much cheaper operation
XOR than the permutation method used by Chang [3]. The method XORs the original
bit-value of the cover image with the pixel-value of the created color-share. The
produced result becomes the bit-value of the corresponding pixel of modified cover
image. If the bit-value in the cover image is 0 and the pixel-value of the color share is
0, this gives a bit-value of 0 after the modification done by XOR. But this result can
also be produced if the values are 1 and 1. So each possible bit-value in the modified
cover image has two possibilities and both of them are equally likely. This proves the
security of the scheme.
Table 2. Security analysis of the scheme
Pixel-value of color
share
239
which need additional data structure to decode the image. The image quality is also
good as XOR allows for perfect reconstruction of the pixels.
Table 3. Comparison of various VCS for producing meaningful shares
Authors
Year
True-color (n,n)-scheme
Security
support
supported
enhancement
Additional
data
structure
needed
Chang-Yu
[5]
2002
No
No
No
Yes
Wu et al. [6]
2004
NA
Yes
Permutation
Yes
Tsai et al.
[7]
2009
Yes
Yes
Permutation
Yes
Proposed
method
Yes
No
XOR
No
Author
Year
No of secret
images
Pixel expansion
Share type
Wu and
Chang [9]
2005
Circle
Shyu et al.
[10]
2007
n>=2
2n
Circle
Feng et al.
[11]
2008
n>=2
Rectangular
Proposed
method
Upto 8 (upto 4
for better
security)
Rectangular
240
5 Experimental Results
Figure 5 shows 4 secret images to be encoded. The size of all the secret images is 200
x 200. Figure 6 is chosen as the cover image which is of size 400 x 400. 2 copies of
the same cover image are taken. Then random-looking shares for the secret image are
created using Hous method. The shares are then embedded in cover images. Thus the
innocent-looking shares shown in figure 7 are achieved. These shares are decoded to
generate the secret images, shown in figure 8. The reconstructed images are 4 times
the original images as the pixel expansion in Hous method is 4.
We can see that the created meaningful shares do not differ much from the original
cover image. As we increase the number of secret images to be shared, the shares start
to differ more than the original cover image. This method provides an efficient way
to share up to 4 or 5 secret images together with innocent-looking shares. One
limitation of the scheme is that it cannot be used for (n, n)- scheme.
(a)
(b)
(c)
(d)
Fig. 5. (a) Secret image Lena (b) Secret image Baboon (c) Secret image Ball (d) Secret image Toy
(a)
241
(b)
(a)
(b)
Fig. 8. (a) Recovered image Lena (b) Recovered image Baboon (c) Recovered image Ball
(d) Recovered image Toy
242
(c)
(d)
Fig. 8. (continued)
6 Conclusions
In this paper, we have proposed multiple-secret sharing scheme producing innocent
shares. When the two shares are XORed, the original embedded information can be
achieved. The scheme takes two copies of single cover image for producing two
shares. We can share multiple secrets together with enhanced security. The
advantages of the proposed method are good image quality, no additional data
structure and less encoding time. The size of reconstructed images does not vary with
the number of colors present in the secret images. The scheme is very much suitable
for real-life applications which requires fast computation, less storage and is prone to
attackers.
References
1. Naor, M., Shamir, A.: Visual cryptography. In: De Santis, A. (ed.) EUROCRYPT 1994.
LNCS, vol. 950, pp. 112. Springer, Heidelberg (1995)
2. Hou, Y.C.: Visual cryptography for color images. Pattern Recognition 36, 16191629
(2003)
3. Chang, C.-C., Chuang, J.-C., Lin, P.-Y.: Sharing A Secret Two-Tone Image In Two GrayLevel Images. In: Proceedings of the 11th International Conference on Parallel and
Distributed Systems, ICPADS 2005 (2005)
4. Chang, C., Tsai, C., Chen, T.: A New Scheme For Sharing Secret Color Images In
Computer Network. In: Proceedings of International Conference on Parallel and
Distributed Systems, pp. 2127 (2000)
243
5. Chang, C.-C., Yu, T.-X.: Sharing A Secret Gray Image In Multiple Images. In: First
International Symposium on Cyber Worlds, CW 2002 (2002)
6. Wu, Y.S., Thien, C.C., Lin, J.C.: Sharing and hiding secret images with size constraint.
Pattern Recognition 37, 137138 (2004)
7. Tsai, D.-S., Horng, G., Chen, T.-H., Huang, Y.-T.: A Novel Secret Image Sharing Scheme
For True-Color Images With Size Constraint. Information Sciences 179, 324325 (2009)
8. Droste, S.: New results on visual cryptography. In: Koblitz, N. (ed.) CRYPTO 1996.
LNCS, vol. 1109, pp. 401415. Springer, Heidelberg (1996)
9. Wu, H.-C., Chang, C.-C.: Sharing visual multi-secrets using circle shares. Computer
Standards & Interfaces 28, 123135 (2005)
10. Shyu, S.J., Huang, S.-Y., Lee, Y.-K., Wang, R.-Z., Chen, K.: Sharing multiple secrets in
visual cryptography. Pattern Recognition 40, 36333651 (2007)
11. Feng, J.-B., Wu, H.-C., Tsai, C.-S., Chang, Y.-F., Chu, Y.-P.: Visual secret sharing for
multiple secrets. Pattern Recognition 41, 35723581 (2008)
1 Introduction
DDoS attacks compromise availability of the information system through various
means [1,2]. One of the major challenges in defending against DDoS attacks is to
accurately detect their occurrences in the first place. Anomaly based DDoS detection
systems construct profile of the traffic normally seen in the network, and identify
anomalies whenever traffic deviate from normal profile beyond a threshold [3,4]. This
extend of deviation is normally not utilized. We use polynomial regression [5,6]
based approach that utilizes this extend of deviation from detection threshold, to estimate strength of a DDoS attack.
In order to estimate strength of a DDoS attack, polynomial regression model is
used. To measure the performance of the proposed approach, we have calculated
various statistical performance measures i.e. R2, CC, SSE, MSE, RMSE, NMSE, ,
MAE and residual error [12]. Internet type topologies used for simulation are generated using Transit-Stub model of GT-ITM topology generator [7]. NS-2 network simulator [8] on Linux platform is used as simulation test bed for launching DDoS attacks
with varied attack strength.
The remainder of the paper is organized as follows. Section 2 contains overview of
polynomial regression model. Detection scheme is described in section 3. Section 4
describes experimental setup and performance analysis in details. Model development
is presented in section 5. Section 6 contains simulation results and discussion. Finally,
Section 7 concludes the paper.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 244249, 2011.
Springer-Verlag Berlin Heidelberg 2011
245
Yi = Yi + i
Yi = 0 + 1 X + 2 X 2 + ......... + n X n
(1)
Input and Output: In polynomial regression model, a relationship is developed between strength of a DDoS attack Y (output) and observed deviation in sample entropy
X (input). Here X is equal to (Hc-Hn). Our proposed regression based approach utilizes this deviation in sample entropy X to estimate strength of a DDoS attack.
3 Detection of Attacks
Entropy [11] based DDoS scheme is used to construct profile of the traffic normally
seen in the network, and identify anomalies whenever traffic goes out of profile. A
metric that captures the degree of dispersal or concentration of a distribution is sample
entropy. Sample entropy H(X) is
H ( X ) = pi log 2 ( pi )
N
(2)
i =1
where
, t} and S
i =1
log2 N.
To detect the attack, the value of
Hc ( X ) is
246
Systems (AS). For simulations, we use ISP level topology, which contains four transit
domains with each domain containing twelve transit nodes i.e. transit routers. All the
four transit domains have two peer links at transit nodes with adjacent transit domains. Remaining ten transit nodes are connected to ten stub domain, one stub domain per transit node. Stub domains are used to connect transit domains with customer domains, as each stub domain contains a customer domain with ten legitimate
client machines. So total of four hundred legitimate client machines are used to generate background traffic.
The legitimate clients are TCP agents that request files of size 1 Mbps with request
inter-arrival times drawn from a Poisson distribution. The attackers are modeled by
UDP agents. A UDP connection is used instead of a TCP one because in a practical
attack flow, the attacker would normally never follow the basic rules of TCP, i.e.
waiting for ACK packets before the next window of outstanding packets can be sent,
etc. In our experiments, the monitoring time window was set to 200ms. Total false
positive alarms are minimum with high detection rate using this value of monitoring
window.
5 Model Development
In order to estimate strength of a DDoS attack ( Y ) from deviation (HC - Hn) in entropy value, simulation experiments are done at the varying attack strength from 10Mbps
Table 1. Deviation in entropy with actual strength of DDoS attack
Actual strength of DDoS Deviation in Entropy (X)
attack (Y)
10M
0.149
15M
0.169
20M
0.184
25M
0.192
30M
0.199
35M
0.197
40M
0.195
45M
0.195
50M
0.208
55M
0.212
60M
0.233
65M
0.241
70M
0.244
75M
0.253
80M
0.279
85M
0.280
90M
0.299
95M
0.296
100M
0.319
247
to 100Mbps and at fixed total number of zombies i.e. 100. Table 1 represents deviation in entropy with actual strength of DDoS attack.
Polynomial regression model is developed using strength of attack (Y) and deviation (HC - Hn) in entropy value as discussed in Table 1 to fit the regression equation.
Figure 1 shows the regression equation and coefficient of determination for polynomial regression model.
120
100
80
60
40
20
Polynomial Regression
0
0.10
0.14
0.18
0.22
0.26
Deviation in Entropy (X)
0.30
0.34
Fig. 1. Regression equation and coefficient of determination for polynomial regression model
Strength of Attack
100
80
60
40
20
0
0.149
0.184
0.199
0.195
0.208
0.233
0.244
0.279
0.299
0.319
Deviation in Entropy
Actual DDoS attack Strength
Fig. 2. Comparison between actual strength of a DDoS attack and predicted strength of a DDoS
attack using polynomial regression model M2
248
Predicted strength of attack can be computed and compared with actual strength of
attack using proposed regression model. The comparison between actual strength of
attack and predicted strength of attack using polynomial regression model is depicted
in figures 2.
Table 2 contains values of various statistical measures for polynomial regression
model. It can be inferred from table 2 that for polynomial regression model, values of
R2, CC, SSE, MSE, RMSE, NMSE, , MAE are 0.96, 0.98, 566.31, 29.81, 5.46, 1.06,
0.96 and 0.81, respectively. Hence estimated strength of a DDoS attack using polynomial model is closed to actual strength of a DDoS attack.
Table 2. Values of various performance measures
R2
CC
SSE
MSE
RMSE
NMSE
MAE
0.96
0.98
566.31
29.81
5.46
1.06
0.96
0.81
References
1. Gupta, B.B., Misra, M., Joshi, R.C.: An ISP level Solution to Combat DDoS attacks using
Combined Statistical Based Approach. International Journal of Information Assurance and
Security (JIAS) 3(2), 102110 (2008)
2. Gupta, B.B., Joshi, R.C., Misra, M.: Defending against Distributed Denial of Service Attacks: Issues and Challenges. Information Security Journal: A Global Perspective 18(5),
224247 (2009)
3. Gupta, B.B., Joshi, R.C., Misra, M.: Dynamic and Auto Responsive Solution for Distributed Denial-of-Service Attacks Detection in ISP Network. International Journal of
Computer Theory and Engineering (IJCTE) 1(1), 7180 (2009)
4. Mirkovic, J., Reiher, P.: A Taxonomy of DDoS Attack and DDoS defense Mechanisms.
ACM SIGCOMM Computer Communications Review 34(2), 3953 (2004)
5. Stigler, S.M.: Optimal Experimental Design for Polynomial Regression. Journal of American Statistical Association 66(334), 311318 (1971)
249
6. Anderson, T.W.: The Choice of the Degree of a Polynomial Regression as a Multiple Decision Problem. The Annals of Mathematical Statistics 33(1), 255265 (1962)
7. GT-ITM Traffic Generator Documentation and tool,
http://www.cc.gatech.edu/fac/EllenLegura/graphs.html
8. NS Documentation, http://www.isi.edu/nsnam/ns
9. Lindley, D.V.: Regression and correlation analysis. New Palgrave: A Dictionary of
Economics 4, 120123 (1987)
10. Freedman, D.A.: Statistical Models: Theory and Practice. Cambridge University Press,
Cambridge (2005)
11. Shannon, C.E.: A mathematical theory of communication. ACM SIGMOBILE Mobile
Computing and Communication Review 5(1), 355 (2001)
12. Gupta, B.B., Joshi, R.C., Misra, M.: ANN Based Scheme to Predict Number of Zombies
in DDoS Attack. International Journal of Network Security 13(3), 216225 (2011)
1 Introduction
Federated Environment (FE) can be defined as a collaborative, sharing of resources or
services between groups, environment between several organizations. The two well
known FE application examples are Centers of Excellence (COE) and Federated
Identity Management (FIM) [1]. The later one allows users to use their authentication
(AuthN) credentials with home organization (from Identity Provider (IDP)) to access
services (from Service Providers (SP)) within the federation. The Single-Sign-On
(SSO) [2] facility plays a major role in reducing the number of users accounts by
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 250259, 2011.
Springer-Verlag Berlin Heidelberg 2011
251
reducing too many and repeated AuthN to various sites. The three major entities
involved are: (1) User - an entity that access a service or multiple services (2) IDP an entity that performs user AuthN, and (3) SP- entity that offers services to the users
[3]. In open environments SSO schemes, user identification is achieved via diverse
AuthN methods ranging from a single to multiple factors. In a worst case scenario, if
user identification process is typically based on weak method, such as a user name
and password. In this scenario, once user credentials are compromised, it immediately
opens a security breach hole. In two examples, as pointed in the data leakage reports
in [4, 5] showed that the lost of personal data in open environment can bring disaster
to whom it belongs and holds.
Access to Internet Web-based services or a resource identification or AuthN of
end-user, is mandatory to ensure they are, who they say they are. In certificate based
AuthN, user first obtains private key certificate from certificate authority and installs
it on client PC. The main problem in this case lies, how to protect the private key?
The threat model which relates to dispersed identities presented in [9] which shows
how concerns raises due to the attacks such as man-in-the-middle attack, replay
attack, fake softwares, etc to unprotected entities on user system (client). The manin-the-middle attack also can impersonate IDP and SP to obtain users credentials, or
intercept and/or tamper system or user messages, or installing Trojan horses or fake
anti-viruses [10]. With no trust infrastructure, and the lack of trust between any two
interacting parties, many of existing solutions, such as trust establishment based on
traditional methods, such as Public Key Infrastructure (PKI), or sharing of secret
keys, would have many challenges. We will present later in this paper, the Trusted
Platform Module (TPM) AuthN (certificate based) and attestation mechanism (a
platform integrity check) as a suggested solution to enhance the client side security &
existing weak trust between platforms with hardware TPM.
Trusted Computing Group (TCG) [6] replaces Trusted Computing Platform
Alliance (TCPA) [7] which is a not-for-profit organization. Its main objective include
developing, defining, and promoting open, vender neutral, and industry standards for
Trusted Computing (TC) building blocks and software interfaces across multiple
platforms [6]. For more details about TCG interested readers are referred to [6, 7, 8].
Our paper is structured as follows. In Section 2, we present federated services
challenges. Section 3 presents trusted computing temper-resistant chip based solution.
In Section 4, we present assessment of the work and we conclude with Section 5.
252
threats would eventually lead to widely damage user trust and organization reputation
due to the poor and weak AuthN mechanisms implementation. The study performed
by panda security [17] in 2009 have found that Trojans which were maliciously
designed to steal personal identifiable or financial information had lead to identity
fraud which rose staggeringly to 800 % from the first half to the second half of 2008.
In addition, researcher forecast based on the previous 14 months analysis that this rate
would increase up to 336 % (p/m) throughout 2009. The two important challenges
related to AuthN in FIMS are (1) measurement & determination of identity
information accuracy & validity, and (2) trusted services that enhance confidence.
In typical federated system, each domain has its own AuthR polices. In federation,
user in domain (X), for example, want to access a service (P) or resource (R) in
another domain (Y) is difficult to achieve without facing issues of compromising
identity and loosing personal identity information. Hence, proper AuthR mechanisms
are highly needed, i.e. when communicating with endpoints across multiple hops [18].
2.2 Trust Establishment
By analogy, in a real physical interaction between two persons coming from two
different organizations, they must undergo certain trust establishment before any
serious engagement take place between two persons. Federated systems based on a
concept to get into (login) the services (government services, education services, email services etc.) only once with username/ password or any other mechanism and
then access many services without re-login. The most common open federated
services systems are Shibboleth [24], Liberty Alliance [25], OpenID [26]. The basic
architecture of these systems is nearly same. However, request and response of
messages in theses systems varied from one to another. The common three entities
involved in such systems a user, an IDP, and a SP. In a federated services scenario, a
user requests a resource or service from SP. Lets assumes there is no prior trust
relationship exists between user and SP and the services provider depends on the
AuthN information to make access decision. The user trust IDP, associated with one
or more IDP, that they AuthN them and provide credentials associated with the users
to the SP. The SP on basis of these credentials and their owned polices allow or deny
access to the requested resource or a service.
Therefore, the federated services approaches mentioned above solve the dilemma,
user is AuthN and trusted not to misuse the provided services, of AuthN, and AuthR
but the his/her platform might be not in trustworthy state. Therefore, before
transferring credentials from IDP to SP assess the trustworthiness of user platform or
IDP & SPs platforms is mandatory.
3 Trusted Computing
Trusted Computing is a response to the rising challenges and possible costs of
networks and data security breaches. Practically TC covers a range of technologies
and standards intended to make computers safer, reliable, and less prone to viruses,
malwares, & spams. This technology can also help to make the network management
security more effective and efficient. In early 2000s, TCPA [7] now known as TCG
[6] launched the notion of trusted platform. This platform contains a hardware based
253
subsystem, called TPM [21], devoted to maintaining trust and security between
communicating machines (client, servers, H/P, etc.).
TPM is a unique paradigm to bring and establish trust among computing/ mobile
platforms. The TPM by definition is small co-processor chip that can securely store
and report information to provide a hardware root-of-trust. TPM has shielded
locations, Platform Configuration Registers (PCR) that can store cryptographic hashes
of the software loaded for execution, to store the platform configurations. These PCRs
can only be manipulates by a mechanism called TPM-Extend. The hashes stored in
PCR are used to report the platform configuration to the challenging party in a secure
and trusted manner. The mechanism, for establishment of trust that reports the
platform configuration to the challenging party is known as Remote Attestation. The
RA enables a remote party (a validation service in our case) to verify the integrity of
the remote platform through trust tokens submitted by the TPM on the target platform
(a client or server in our case).
3.1 AuthN with Private Key Protection
The four entities given in Figure 1 below a Bank service, an ISP playing the role of
Private-Certificate Authority, User agent and TPM. The TPM and User agent are both
part of the client system. In typical certificate based AuthN (e.g. public key
certificate), user obtains a certificate from Certificate Authority (CA) and stores it on
a client system. In such a process the public portion is passed on to the CA and
private part is stored at client system.
TPM
User agent
ISP (P-CA)
Service Req.
Client Certificate Req.
Tspi_TPM_CollateIdentityRequest
Perform(TSS_CollateIdentityRequest)
TPM_IDENTITY_REQ.
ISP (P-CA) signing
certificate
AIKcertificate
Activation
Perform(TPM_ActivateIdentity)
Perform(TPM_CreateWrapKey)
Perform(TPM_CertifyKey2)
Identity certificate
(user) signing.
TPM_SYM_CA_ATTESTATION.
Tspi_TPM_ActivateIdentity
Tspi_Key_CreateKey
Tspi_Key_CreateKey
Perform(TPM_CreateWrapKey)
Tspi_Key_CreateKey
Perform(TPM_CertifyKey2)
Tspi_Key_CertifyKey
Perform(TPM_Sign)
Perform(TPM_LoadKey)
Perform(TPM_Sign)
Tspi_Hash_Sign
If certificate found
verify
The storing of private key certificate on client system raises many issues.
Therefore, to overcome from above problem two precautionary steps must be taken.
Firstly, secure transferring of the public key, secondly, private key protection. Here
we present only user AuthN to a single service via two factors, i.e. TPM provide
protection to private key which involves (1) certificate and private key corroboration,
254
and (2) username and password confirmation. The AIKcertificate Request, ISP (P-CA)
signing certificate, AIKcertificate Activation, Identity certificate (user) signing are
important steps to be performed during phase-setup (Figure 1 above, left side).
Complete process given in Figure 1 above, & detailed description in (Appendix:
Table 2).
3.2 Attestation (Platform Authentication)
Attestation (platform authentication) is a mechanism which is defined in TCG
specifications, whereby the integrity measurements of the client or host platform is
performed and stored in PCR registers of the TPM chip. During attestation process
the TPM signs over the values of PCRs, and external 20-byte (160-bit) data (nonce)
using RSA private key. The confidentially of these signed PCRs and nonce are
protected by TPM. The unique aspect of the attestation is that it proves the identity,
integrity and state of the platform to the attester (requestor). The Root of Trust for
measurement (RTM), for instance, Core Root of Trust for Measurement (CRTM) is
considered as a trustworthy and reliably measure the integrity of other entities.
Secondly, Root of Trust for Reporting (RTR) proves to challenger of the local PC
embedded with genuine TPM and reliably measure and reports its configuration.
Thirdly, for Root of Trust for Storage (RTS), due to TPM memory constraint the
external keys are secured by Storage Root Key (SRK) that is also secured by RTS.
The remote attestation technique, Integrity Measurement Architecture (IMA) [19]
extended TCG attestation mechanism, actually formed on load-time measurements.
Because of space limitation please we refer interested reader to [19].
Using attestation process a TPM enabled device (such as PC, laptop, PDA, etc)
assures the remote device of its trustworthy status. The TPM consist of many keys
such Endorsement Key (EK), Attestation Identity Key (AIK), Binding, Sealing keys.
The EK is a manufactured built-in key representing the identity of each TPM enabled
platform. The EK private part using TPM signs assertion about the trusted computer
states. The remote device can verify that those assertions are signed by a genuine
TPM. The EK public part is certified by CA (P-CA) to indicate EK public part
belongs to a particular TPM. There are several benefits of using AIK over EK, they
are; (i) AIK not directly linked with the hardware TPM, (ii) prevent against EK
cryptanalysis, (iii) reduces load on TPM, because AIK uses by the CPU, while EK
uses TPM. The root of trust plays an important role in trusted chain establishment.
For federated web services system, from Attestation Models (AM) we can build
various trust models such as a Direct Trust i.e. Direct Attestation Model (DAM), and
Indirect Trust i.e Delegated Attestation Model (DeAM). In DAM either exists as a
uni-directional or mutual-directional. In uni-directional, only attestation requestor
(e.g. a server) challenges the attested platform (e.g. a client or target), and in mutualdirectional the challenger (server) and attester (client) change their positions after
each integrity measurement request and response. In an example of a mutual
directional, a server (challenger) sends an integrity measurement request to the client,
and if validation of returned measurement is successfully verified, then client sends
the integrity measurement request to the server and performs the validation. If both
measurement results are successfully validated each other then they are mutually
attested. In DAM two main disadvantages exists, that is (i) the attested platforms (e.g.
a client) need to disclose their integrity measurement information to the challenger
255
(e.g. a server), and that leads to the violation of integrity privacy disclosure to the
attestation challengers (ii) in both cases uni-directional and mutual-directional
attestation challenger needs to be capable of validating the attestation response. For
detail request and response overview among different entities (see Figure 2). Please
for more details interested readers referred to [20].
<Service-1>
TPM
TPM
<Client>
SML
5
Policy
SML
PCR
PCR
Integrity request/ response
Module
Attestation Challenger
Validation
Repository
SML
PCR
Certificate
2
7
Fig. 2. Practical delegation based trust and remote platform attestation (authentication)
architecture
256
attack relies on data to be in the RAM after power has been removed [22]. The (X)
represents that TPM is nearly strengthen the computer system security against all
software based attacks. The Table 1 given below presents some potential attacks,
vulnerable AuthN types, and examples, changed according to our requirements picked
from [23].
Table 1. Some Potential attacks, vulnerable AuthN mechanisms with examples
Attack Types
User System
Attack
AuthN Types
Password
Token
Biometric
TPM
Password
Theft,
Token
Copying, &
Eavesdropping Biometric
TPM
Password
Replay
Token
Biometric
TPM
Password,
Trojan Horses Token, Biometric
TPM
Password,
Fake Antivirus
Token, Biometric
TPM
Phishing,
Password,
pharming,
Token, Biometric
man-in-theTPM
middle
Instances
By guessing, or exhaustive searching
By exhaustive searching
By False matching
(X)
By shoulder surfing
By counterfeiting hardware, theft
By spoofing (Copying biometrics)
(X)
By replay stolen password response
By replay stolen pass code response
By replay stolen- biometric- template response
(X)
By installing of a rough client or capture device
(X)
By installation of malicious software and capture secret
info. via taking the control of client system
(X)
By using social engineering techniques, exploit the poor
usability of current web service technologies
(X)
5 Conclusion
In this paper, we discussed concerns related to federated services that involve user
AuthN, AuthR, and trust establishment in Federated Open Systems Interconnection.
We argued that the traditional certificate based AuthN which raised number of issues
such as firstly, the case when public portion of the key pair can be guessed or
calculated by the attacker, and secondly, when the storing of private key on user
system can be compromised by viruses, Trojan horses, etc. In addition current
computer platforms are lacking to establish a platform trust which makes harder to
trust remote platforms are trustworthy or untrustworthy. Therefore in distributed
environment access a TPM based trust establishment mechanism, remote attestation,
would boost the end user trust that no body can invade his computing/ mobile
platform to run or install malicious softwares. From service or resource provider
perspective that only an authentic TPM are allowed to make a request to a resource or
a service.
257
We also discussed how TCG can potentially provide solution for these issues using
both protected storage to protect private keys and platform attestation mechanisms to
establish inter platform (and hence inter system) trust among interacting systems, and
can help to overcome identity theft issues in open environment. Our assessment of
range of most common AuthN types and TPM shows that TPM provides stronger
security against range of attacks in open environment.
Currently we are in a process to create IMA based prototype to demonstrate the
remote attestation mechanism. In this demo we will show how the requester and
responding platforms attest each others that they are trustworthy or not, & guarantees
that no malicious software or code running on either platforms.
Acknowledgments. This work funded by Universiti Teknologi PETRONAS
Postgraduate Assistantship Scheme and MIMOS Berhad, Malaysia.
References
1. Chadwick, D.W.: Federated Identity Management. In: Aldini, A., Barthe, G., Gorrieri, R.
(eds.) FOSAD 2007. LNCS, vol. 5705, pp. 96120. Springer, Heidelberg (2009)
2. Pashalidis, A., Mitchell, C.J.: Taxonomy of Single Sign-On Systems. In: Safavi-Naini, R.,
Seberry, J. (eds.) ACISP 2003. LNCS, vol. 2727, pp. 249264. Springer, Heidelberg
(2003)
3. Lutz, D.: Federation Payments using SAML Tokens with Trusted Platform Modules. In:
Proceedings of the IEEE Symposium on Computers and Communications, pp. 363368
(2007)
4. Vijayan, J.: Wells fargo discloses another data breach. Computer World (2006),
http://www.computerworld.com/s/article/9002944
/Wells_Fargodisclo_nother_data_breach
5. Lemos, R.: Reported data leaks reach high in 2007. Security Focus (2007),
http://www.securityfocus.com/brief/652
6. Trusted Computing, http://www.trustedcomputinggroup.org/
7. Trusted Computing Platform Alliance (TCPA),
http://mako.cc/talks/20030416politics_and_tech_of_control/trustedcomputing.html
8. Balacheff, B., Chen, L., Pearson, S., Plaquin, D., Proudler, G.: Trusted Computing
Platforms: TCPA Technology in Context. Prentice-Hall, Englewood Cliffs (2003)
9. Khattak, Z.A., Sulaiman, S., Manan, J.A.: A Study on Threat Model for Federated
Identities in Federated Identity Management System. In: Proceeding 4th International
Symposium on Information Technology of IEEE Symposium, pp. 618623 (2010)
10. Ahn, G.-J., Shin, D., Hong, S.-P.: Information Assurance in Federated Identity
Management: Experimentations and Issues. In: Zhou, X., Su, S., Papazoglou, M.P.,
Orlowska, M.E., Jeffery, K. (eds.) WISE 2004. LNCS, vol. 3306, pp. 7889. Springer,
Heidelberg (2004)
11. Stephenson, P.: Ensuring Consistent Security Implementation within a Distributed and
Federated Environment, pp. 1214 (2006)
12. Hommel, W., Reiser, H.: Federated Identity Management: Shortcomings of Existing
Standards. In: Proceedings of 9th IFIP/IEEE International Symposium on Integrated
Management (2005)
13. Smedinghoff, T.J.: Federated Identity Management: Balancing Privacy Rights, Liability
Risks, and the Duty to Authenticate (2009)
258
14. Jsang, A., Fabre, J., Hay, B., Dalziel, J., Pope, S.: Trust Requirements in Identity
Management. In: Australasian Information Security Workshop (2005)
15. Maler, E., Reed, D.: The Venn of Identity: Options and Issues in Federated Identity
Management. IEEE Security and Privacy 6(2), 1623 (2008)
16. Madsen, P., Koga, Y., Takahashi, K.: Federated Identity Management For Protecting
Users from ID Theft. In: Proceedings of the 2005 ACM Workshop on Digital Identity
Management, pp. 7783. ACM Press, New York (2005)
17. Mills, E.: Report: ID fraud malware infecting PCs at increasing rates, Security (2009),
http://news.cnet.com/8301-1009_3-1019302583.html?tag=mncol;title
18. Shin, D., Ahn, G.-J., Shenoy, P.: Ensuring Information Assurance in Federated Identity
Management. In: Proceedings of the 23rd IEEE International Performance Computing and
Communications Conference, pp. 821826 (2004)
19. Sailer, R., Zhang, X., Jaeger, T., van Doorn, L.: Design and Implementation of a TCGbased Integrity Measurement Architecture. In: Proceedings of the 13th USENIX Security
Symposium Conference, Berkeley, CA, USA, pp. 223238 (2004)
20. Khattak, Z.A., Manan, J.A., Sulaiman, S.: Analysis of Open Environment Sign-in
Schemes-Privacy Enhanced & Trustworthy Approach. J. Adv. in Info. Tech. 2(2), 109
121 (2011), doi:10.4304/jait.2.2.109-121
21. Trusted Computing Group, Trusted Computing Group Specification Architecture
Overview v1.2. Technical Report. Portland, Oregon, USA (2003)
22. Bakhsh, S.: Protecting your data with on-disk encryption, Business Intelligence Solutions,
http://www.trustyourtechnologist.com/index.php/2010/07/07
/protecting-your-data-with-on-disk-encryption/
23. OGorman, L.: Comparing passwords, tokens, and biometrics for user authentication.
Proceedings of the IEEE 91(12), 20212040 (2003)
24. Shibboleth, http://shibboleth.internet2.edu/
25. Liberty Alliance, http://projectliberty.org/
26. OpenID, http://openid.net/
TPM Performs
TPM_Make
Identity
TSS_CollateIde
ntityRequest
Process
The user agent performs Tspi_TPM_CollateI
dentityRequest making a request to TPM to create
an AIK key & setup certificate request from ISP or
IDP or AS plays a role of P-CA.
The
TPM_MakeIdentity execution creates a new AIK
and using private key to sign structure
(TPM_IDENTITY_CONTENTS). This structure
includes public key, hashing result, identity Label.
The
user
agent
performs
TSS_
CollateIdentityRequest. It assembles the data
required by ISP (P-CA). Next it sends the IdentityRequest (to attest the new created TPM identity)
TPM_IDENTITY_PROOF to the ISP (P-CA). This
message include Identity-Binding signature to
structure (TPM_IDENTITY_CONTENTS). In
addition it consist endorsement l, conformance, and
platform credentials. The IR message is
symmetrically encrypted using a session key and
259
Abstract. Data hiding has been an integral part of human society from
the very early days dating back to BC. It has played its role for both
good and bad purposes. First instances of data hiding dates back to 440
B.C. and has been cited in several works as one of the rst known and
recorded use of steganography. Several complicated Steganographic techniques have been proposed in the past decade to deceive the detection
mechanisms. Steganalysis has also been one of the corner stones of research in the recent past to thwart such attempts of the adversary to
subterfuge detection. In this paper we present a novel, simple, and easy
to implement data hiding technique for hiding les with duplicate names.
The proposed le hiding technique Duplicate File Names uses an innocuous le as the cover medium exploiting its name and reputation as a good
le. This vulnerability was rst discovered on a Windows 98 machine
with DOS 6.1. We have tested this vulnerability on several dierent le
systems to conrm that the vulnerability exists across le systems and
not specic to older Windows le systems. Finally, we have discussed
using this method for legitimate data hiding as well as detecting when
employed for illegitimate data hiding.
Keywords: Digital forensics, duplicate le name, le hiding, identity
and data theft, steganography.
Introduction
Steganography has been a great challenge to the digital forensic community from
the very beginning. However, one has to be unbiased and recognize the good side
to Steganography like digital copyrighting and watermarking. Several techniques
have been developed to detect information hiding accomplished by various Steganographic tools employing a limited number of Steganographic algorithms. However
the adversary has been consistently successful in developing new techniques to
achieve the same. In this paper we expose a potentially serous vulnerability which
was rst discovered on a Windows 98 machine with DOS 6.1.
The problem was identied while recovering deleted les on a FAT12 formatted oppy disk using DiskEdit. Norton Diskedit is a hexeditor for logical and
physical disk drives on all Windows lesystems. It is an undocumented utility
that comes along with the standard Norton Utilities package for Windows. The
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 260268, 2011.
c Springer-Verlag Berlin Heidelberg 2011
261
Related Work
262
A. Srinivasan and J. Wu
In this section we will list the the requirements for successful data hiding and
various areas on the storage volume where data can be hidden.
3.1
Requirements
For successful data hiding using the Duplicate File Names method, the following
requirements have to be met.
1. The cover le should always have a lower starting cluster number compared
to the le to be hidden. This is because the OS, when you access a le will
always open the le with the lower starting cluster number. This is true and
has been veried on all three FAT le systems.
2. The cover le and the hidden le have to be at the same hierarchical level in
the directory structure. In light of this point, we have to ask the following
questionIs it possible to have two les with the same name but dierent contents at
the same hierarchical level- i.e., on the same drive, inside the same partition,
and inside the same folder?
The answer to this question is No. Trivially, there are two ways to attempting to create two les with the same name1. Renaming an existing le-Two les already exists inside a folder with
dierent names. Try to rename one of the them to have the same name as
263
the other by either right clicking or by opening the le and using the save
as option under le menu. An error message will pop up.
2. Creating a new le- A le already exists. Try to create a new le and save
it in the same folder as the existing one with the same name. This is same
as opening an existing le and using save as option. Once again you will
see an error message pop up.
In summary, one cannot save two le with the same name inside the same directory without overwriting. Once overwritten, the original le content will be lost
forever although parts of it may be recovered from slack space. None-the-less,
creating multiple les with duplicate names can be easily accomplished with the
use of any freely available HeX editor. This requires some knowledge of the underlying le system and the associated OS. With the help of a HeX editor, the
adversary can rename multiple les with a single name. Since, with a HexEditor,
we work below the le system, the OS will not complain about the le already
existing. Neither does the OS overwrite the contents of the original le. This
way, there can be several les with the same name inside the same directory.
This has been illustrated in Fig.1
Fig. 1. Screenshot of a diskette storing two les with exactly the same name and
extension at the at the same hierarchical level
There are several common areas on the disk that are either unused or reserved
and can serve the purpose of hiding data without interfering with the intended
primary operations of the storage partition. Below is the a list of areas common
to both OS partition and non-OS partition.
264
A. Srinivasan and J. Wu
Application Scenario
In this section we present two application scenarios in dierent domain to emphasize the potential threat that Duplicate File Name data hiding technique can
pose.
1. Scenario- 1: Child Pornography: A child pornographer can hide child porn
images and/or videos using the same name as that of an innocuous looking
image and/or video le respectively. The child pornographer can be doing
this at his work place or at home. Since two les have the same name and
clicking on either will always open the known good cover le.
2. Scenario- 2: Information Theft: A company employee easily steal condential
and proprietary data. The employee can steal the data very easily. He can
save it on to his system with the name of a le he has privilege to access.
Then copy both the original le and the le he is stealing with the Duplicate
Name and walk out. Even if there is any sceurity screeningNo body would
immediately wonder as to how two les with the same name can be copied
to the same directory.
The following two situations have to be clearly dierentiated. Duplicate les can
have the same name and or dierent names. If they have the same name and
are inside the same volume on a drive, then there will be only one root directory
entry for all copies of the le with the same name. However, if duplicate copies
have dierent names, then there will be a separate root directory entry for each
copy with a dierent name irrespective of the hierarchy they reside at. In the
former situation, as long as duplicate copies are inside the same volume, copies
with the same name will have consistent data as long as they are duplicate.
However, in the later scenario, modifying a le will not update the duplicate
copies with dierent le names.
As already mentioned, in this paper we are trying to resolve the rst scenario.
There are commercially available tools to handle the second and third scenario.
The fourth scenario is benign and poses no threat as such.
265
1. System Region
2. Data Region
System region consists of important system areas and data structures as follows1. Boot Sector
2. File Allocation Table
(a) Primary FAT
(b) Secondary FAT
3. Root Directory
For le recovery, the two most critical regions are the File Allocation Table
and the Root Directory. The standard, default size of a root directory entry
is 32 bytes and is consistent across the three FAT le systems-12, 16 and 32.
In this paper we will restrict our discussions to FAT le systems for simplicity
of conveying the idea. The 32 byte directory entry of a le stored on a FAT
formatted volume has some critical information, which are listed below, that
can be useful in detecting dierent les with duplicate names.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
File Name
File Extension
File Attribute(s)
Create Date
Created Time
Last Accessed Date
Modied Date
Modied Time
Start Cluster Number
File Size
In particular, for les that have dierent content but the same name and extension, the start cluster numbers have to be unique. The le size, in almost
all cases should be dierent as well, however it cannot serve as an evidence to
trigger suspicion nor serve as a conrmatory litmus test.
The same vulnerability can be seen from another perspective of having positive applications including hiding password les in plain sight. Such le can be
accessed and opened on the y by the methods presented later in this paper.
In this section, we will discuss the method of hiding les with duplicate name
using HeX Editor tool. The le uses size as the key requirement for choosing a
cover le. Extension is not a key concern when choosing cover le since extension
can be easily modied for the malicious le to match that of the cover le.
Without of loss of generality, we will use Good File to refer to the cover
le being used whose name will not cause any suspicion or raise ags and Bad
266
A. Srinivasan and J. Wu
Fig. 2. The two main regions of a FAT12 formatted oppy disk and regions and data
structures within the system region of a FAT12 formatted oppy disk
Detecting les with duplicate names but dierent content can be performed in
two dierent ways. Both these methods are described in detail below. Once two
267
or more les are detected to have the same name but dierent content using the
method below, then they have to be recovered with out loosing data for their
potential evidentiary value.
7.1
In this paper, we have exposed a subtle yet important vulnerability in le systems, specically FAT, that can be exploited to hide les in plain sight and
evade detection. We have also proposed simple solutions to overcome such data
hiding techniques and detect hidden les. We will continue to investigate along
these lines to uncover any such data hiding techniques that have been either
unknown or have been dismissed as too trivial. We have shown strong reasons
through example application scenarios where such simple techniques can have
a big payo for the adversary with minimum risk. In the second phase of this
project we will be developing a tool that can be used to hide information in plain
sight exploiting the same vulnerability. The tool will be primarily targeted for
education and training purposes.
As part of our future work we will be investigating anti-forensics techniquestechniques that are specically designed to hinder or thwart forensic detection
of criminal activities involving digital equipment and data. Also on our agenda
of future research is Denial-of-Service attacks exploiting le system knowledge.
References
[HBW2006] Huebnera, E., Bema, D., Wee, C.K.: Data hiding in the NTFS le system.
Digital Investigation 3(4), 211226 (2006)
[P1998] Liu, Brown: Bleeding-Edge Anti-Forensics. In: Infosec World Conference &
Expo. MIS Training Institute
268
A. Srinivasan and J. Wu
1 Introduction
Todays enterprises take advantage of the benefits of loosely coupled web services
and made it an integral part of their business process. Therefore, need for security in
business process raises the level of security needs in web services as well. The loose
coupling is possible in web services due to extensive usage of XML (Extensible
Mark-up Language). XML is used in web services for describing, requesting,
responding and so on, which drives us to secure XML messages if web services need
to be secured. The chapter just following briefs about the Web Service Model,
Chapter III about the various security issues need to be addressed in web services and
Chapter IV describes about formulation of collaborative security standard and
proposed framework which provides an interoperable and secure gateway for web
service usage. Chapter V briefs about various WS-* security standards along with the
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 269283, 2011.
Springer-Verlag Berlin Heidelberg 2011
270
M. Priyadharshini et al.
The core technologies which form the foundation of Web services are SOAP,
WSDL and UDDI.
2.1 SOAP
Simple Object Access Protocol (SOAP) is used as a standard to exchange messages
between client applications and services that run on server through Internet
infrastructure. The method invocation is made as a SOAP request and result is passed
as SOAP response. SOAP message are in form of XML and it encapsulates
<Soap:Header> as optional element and <Soap:Body> as mandatory element inside a
<Soap:Envelope>[1]. Soap Header holds the information needed by the SOAP node
271
to process the SOAP message such as authentication, routing etc. Soap body contains
the information to be sent to the SOAP message receiver. The format of SOAP
request and response will be as follows [7]:
Table 1. SOAP Request invokes OrdItem() method from http://www.Tanishq.com/Order and
SOAP Response passes order number generated on processing the order to the client
SOAP Request to Process Order
<Soap:Envelope
xmlns:Soap-ENV=
"http://schemas.xmlsoap.org/soap/envelope/"
Soap:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/">
<Soap:Body>
<Ord:OrdItem xmlns:Ord="urn:Order">
<CID>70010</CID>
<ItNum>105057</ItNum>
<ItNme>WGRWRD</ItNme>
<ItDesc>WhiteGoldRing
WithRoundDiamond</ItDesc>
<ItPrice>8332</ItPrice>
<OrdDateTime>2010-02-10
0:10:56</OrdDateTime>
</Ord:OrdItem>
</Soap:Body>
</Soap:Envelope>
272
M. Priyadharshini et al.
Table 2. (Continued)
<soap:operation soapAction=""/>
<input>
<soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/
use="encoded" namespace="urn:Order"/>
</input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
use="encoded" namespace="urn:Order"/>
</output>
</operation>
</binding>
<service name="OrderService">
<port name="Order" binding="tns:OrdItemBinding">
<soap:address location="http://www.Tanishq.com/Order"/>
</port>
</service>
</definitions>
2.2 WSDL
WSDL is an XML document which is the web service interface published by the
service providers. Service requestors who wish to access the service can read and
interpret the WSDL file. The information in the WSDL file is as follows:
2.3 UDDI
UDDI (Universal Description, Discovery and Integration) is the directory which has
list of web service interfaces provided by various businesses. The interfaces are
represented using WSDL which is rendered when businesses find the interfaces
suitable for their search. UDDI are public or private platform-independent framework
driven by service providers like Dell, IBM, Microsoft, Oracle, SAP, and Sun as well
as few e-business leaders.
Web service is a powerful technology for distributed application development and
integration. Todays most e-commerce applications are based on the involvement of
web services and hence make web service as an essential element in current scenario.
Next chapter elaborates security issues in web services.
3 Security Issues
As stated earlier Web Services rely on Internet infrastructure and hence the security
issues encountered in network is encountered in web services also.
3.1 Confidentiality
Confidentiality specifies that the content of the message should be accessed only by
the sender and receiver. This is achieved by appropriate encryption and decryption
273
algorithms applied on entire message or parts of the messages. SSL using HTTPS can
provide point-to-point data privacy i.e. security at transport level. At application level
sensitive data fields can be applied with encryption mechanisms. Sniffing or eaves
dropping is an attack with respect to confidentiality.
3.2 Authentication
Authentication is establishment of proof of identities among entities involved in the
system. Username and password are used for authenticating the user at platform level.
At message level to provide authenticity SOAP headers [5] is added with user name
and password, assigned tickets and certificates such as Kerberos and X.509
certificate. In application level custom methods can be included for authentication.
Single Sign on or Trust relationship need to be incorporated in routing to provide
authentication between multiple services.
3.3 Authorization
One entity may be authorised to do certain operations, and access certain information
whereas others may not be. In Web services access control mechanisms need to be
provided in form of XML (XACML and SAML). Access control may be based on
Role (RBAC), Context (CBAC), Policy (PBAC), Attribute (ABAC) and so on[2].
3.4 Non-Repudiation
Non-Repudiation is disclaiming the message sending or receiving, time of sending
and receiving the message. On critical and secure service access non-repudiation is
one of the major issues. A Central arbiter Trusted Third Party (TTP) [1] should be
introduced along with XML Signature to provide security in these cases.
3.5 Availability
Authorized resources and services available at all times are meant by availability.
Denial of Service (DOS) is the commonly encountered problem related to availability.
3.6 Integrity
The change of message content during transit leads to loss of Integrity. It is mainly
concerned with the web service description (WDSL) file. On tampering and changing
this file, intended service may not get bind to the requestor and even problems may
arise in case of composition. Proper Hashing algorithm or XML Signature may
overcome this issue.
274
M. Priyadharshini et al.
which serves as a gateway to ensure the security of the web service access from
various distributed client applications. Web Service model involves the process of
publishing and invoking services. Proposed Security Framework includes security list
formation and corresponding parameter list which is devised as a collaborative
security standard.
Static Analyser is the component which is invoked during registering of service,
which will guide the service provider or the publisher to customise and hence record
the security standard values for the Standard List as well as corresponding Parameter
List.
(1)
Where
SL Standard List
PL (SL) Parameter List of Standard List Item
Slog Service Log
af registering or access function
4.2 Collaborative Security Standard
Collaborative security standard consist of Standard List and Parameter List. A
Standard list is selected based on the precise understanding of the security needs and
the WS-* Security Standards and their associations, which could address the needs.
275
Standard List (SL) formulated with WS-*(all XML Security standards) pertaining to
security as input:
SL = {I | I WS}
WS = {t | t sf(WS-*)}
Where
SL Standard List
I - Standard List Item
sf selection function selecting among WS standard Items
with security as objective
(2)
Parameter List (PL) for each Standard List (SL) which are found to be suitable for
inclusion:
PL = {P | P pf (SL)}
(3)
Where
pf Projection function to list out only mutually exclusive parameters
276
M. Priyadharshini et al.
Security Framework includes security list formation and corresponding parameter list
which is devised as a collaborative security standard.
5.2 WS-SecurityPolicy
WS-SecurityPolicy[8] consists of the security related assertions such as Security
Token which tells the requestor which security token need to be used while calling a
given web service. The other assertions include assertions specifying about Integrity,
Confidentiality, and Visibility which are used to specify the message part that need to
be protected and that parts need to remain unencrypted. Message expiry can be
prompted using Message Age exception.
For Instance, XPath based
SignedElements assertion is used to arbitrary message element that need Integrity
protection. The RequiredParts and RequiredElements using QNames and XPath are
used to specify the header element the message should contain.
WS-SecurityPolicy also consists of assertions related to cryptographic algorithms,
transportation binding and the order of applying cryptographic algorithms.
5.3 WS-Security
WS-Security Standard addresses Confidentiality and Integrity of XML messages
transferred as request and responses. The header <wsse:Security>[12] is used to
attach security related information. WS-Security standard defines cryptographic
processing rules and methods to associate security tokens. Since SOAP messages are
processed and modified by SOAP intermediaries, mechanisms such as SSL/TLS are
insufficient to provide end-to-end security of SOAP messages and hence WS-Security
gain importance.
WS-Security specifies that signature confirmation attribute included to digital
signature of request and again back included in the response message, as signed
receipt , in order to ensure that the request or response are tied to corresponding
response or request.
WS-Security defines a mechanism to associate a security token by including them
in the <wsse:Security> header and a reference mechanism to refer the tokens in
binary and XML formats. Username Token Profile adds literal plaintext password,
hashed password, nonce (time variant parameters), and creation timestamp to already
available Username Token. Kerberos token profile defines the way in which
Kerberos tickets are embedded into SOAP messages. The Other profiles include WSSecurity X.509 Certificate token profile, SAML token profile and Rights
Expression Language Token profile.
5.4 WS-SecureConversation
WS-Secure Conversation [10] defines way to establish security contexts identified
by an URI, which will permit existing SSL/TLS connection to be shared by
subsequent requests to a web server in the transport level. When overheads related to
key management raises due to introduction of message level security and as a result of
which scalability becomes a problem this standard proves to be a better solution.
There are three different ways to establish Security contexts. First, SCT (Security
Context Token) retrieval using WS-Trust i.e. SCT is retrieved from a security token
277
service trusted by the web service. Second, SCT created by the requestor which has a
threat of getting rejected by the web service. Third, using security context mutually
agreed by requestor as well as provider using challenge-response process. This is SCT
is then used to derive the session key, which is used for subsequent encryption and
authentication codes. When Security context time exceeds the communication session
then it will be cancelled but if it gets expired then it has to be renewed.
5.5 WS-Trust
WS-Trust [11] standard introduces Security Token Service which is a web service
that issue, renew and validate security tokens. While multiple trust domains are
involved, one security token can be converted into other by brokering trust. When a
requestor wants to access a web service and he doesnt hold the right security token
specified in the policy. The requestor may state the available token and ask for the
needed token to STS else requestor may delegate the responsibility of finding the
right token to STS itself and state only available token and just ask for the right
token.
When the requestor includes time variant parameters as entropy while requesting
for token, STS will return a secret key material which is called proof-of-possession. In
this case token may be a certificate whereas the proof-of-possession is the associated
private key. Requestor who needs an authorisation token for a colleague which need
to be valid only till a particular time period can get a token from WS-Trust.
5.6 WS-Federation
Federation means two or more security domains interacting with each other, letting
users to access the services from other security domain. Each domain has its own
security token service and each of them has their own security policies.
There are few XML standards used along with the WS-* security standards
discussed above, which could help those standards in addressing the security issues.
They include XMLSignature, XMLEncryption, SAML (Security Assertion Mark-up
Language), XACML (Extensible Access Control Mark-up Language) and XKMS
(XML Key Management Specification) and so on.
XMLSignature. XMLSignature is the protocol which describes the signing of digital
contents as whole or in parts. This provides data integrity and also important for
authentication and non-repudiation of web services. This may also be used to
maintain integrity and non-repudiation of WSDL files to enable definition of web
service to be published and later trusted.
XMLEncryption. XMLEncryption ensures confidentiality and hence provide secure
exchange of structured data [3]. XMLEncryption can be applied to parts and even for
documents in persistent storage, in contrast to SSL or VPN. Algorithms such as RSA,
Triples DES are used for encryption, combination of these algorithms also prove to
increase security during message exchange.
278
M. Priyadharshini et al.
SAML. SAML [4] is an XML standard for asserting authentication and authorisation
information. Single sign-on (SSO) between different systems and platforms are
realised using SAML. SAML does not establish or guarantee the trust between
participants instead assumes and requires trust between them. Also SAML does not
guarantee confidentiality, integrity or non-reputability of the assertions in transit. This
could only be provided by XMLEncryption and XMLSignature or any other
mechanisms supported by underlying communication protocol and platform.
XACML. Extensible Access Control Mark-up Language express access control rules
and policies used to derive access decision for set of subjects and attributes. In case of
multiple rules and policies encoding rules, bundling rules into policies and defining
selection and combination algorithms are done by XACML.
Access control list in XACML consists of four tuples:
279
Purpose
Related Standards
WS-Policy
WS-SecurityPolicy
WS-SecurityPolicy
WS-Security
WSSecureConversation
WS-Trust
WS-Trust
WS-Federation
WS-Security
WS-SecureConversation
WS-Federation
WS-Security
WS-Security
WS-SecuirtyPolicy
WS-Federation
WS-Security
WS-SecurityPolicy
WS-Trust
280
M. Priyadharshini et al.
Standard List
WS-Security
WS-Trust
Authentication
WS-Security
Non-repudiation
Availability
Integrity
WS-SecureConversation
WS-Security
WS-Security
WS-SecurityPolicy
Parameter List
XMLEncryption
SAML Assertion
XACML Assertion
Username Token Profile
Kerberos token profile
Certificate token profile
SAML token profile
Rights Expression
Language token profile
STS,X.509,Kerberos
XMLSignature
XMLSignature
Username Token Profile
Kerberos token profile
Certificate token profile
SAML token profile
Rights Expression
Language token profile
281
Table 5. We provide a listing for the above said scenarios, which gives the list of Security
Objectives, possible Standard List and corresponding Parameter List, which could be the inputs
from Static Analyzer to our system and used by Dynamic Analyzer during discovering and
binding process
Scenario
# 1:
Provider:
Diagnostic
Laboratories
Requestor:
Doctors
#2:
Provider:
Accounting
Offices
Requestor:
Bank
Security
Challenge
Confidentiality
Authorisation
Authentication
Nonrepudiation
Confidentiality
Integrity
Standard List
Parameter List
SL= {WS-Security,
WS-Trust, WSSecureConversation }
WS= {WS-Security,
WS-Trust, WSSecureConversation |
sf (WS-Security, WSTrust, WSSecureConversation,
WS-SecurityPolicy)}
PL= { pf (XMLEncryption,
SAML Assertion, XACML
Assertion, Username Token
Profile ,Kerberos token
profile, Certificate token
profile ,SAML token
profile, Rights Expression
Language token profile,
STS Token, X.509 Token,
Kerberos Token)}
PL= {XMLEncryption,
SAML Assertion, XACML
Assertion, (Username
Token Profile || Kerberos
token profile || Certificate
token profile|| SAML token
profile || Rights Expression
Language token profile),
(STS Token || X.509 Token
|| Kerberos Token)}
PL= { pf (XMLEncryption,
XMLSignature, Username
Token Profile ,Kerberos
token profile, Certificate
token profile ,SAML token
profile, Rights Expression
Language token profile)}
PL= {XMLEncryption,
XMLSignature, (Username
Token Profile || Kerberos
token profile || Certificate
token profile|| SAML token
profile || Rights Expression
Language token profile)}
SL= {WS-Security,
WS-SecurityPolicy }
WS= {WS-Security,
WS-SecurityPolicy |
sf (WS-Security, WSTrust, WSSecureConversation,
WS-SecurityPolicy)}
8 Evaluation Process
The formulation of collaborative security standard done by the framework can be
justified by performing combinations of testing appropriate to the security objectives.
Inputs for this testing are taken from Slog managed by Security Manager.
282
M. Priyadharshini et al.
n
Security Metric sm =
i=1
Where
(Nai Nfi)
(4)
Nai
9 Conclusion
To provide better interoperability it is not enough to have a good level of
understanding on these WS-* Security Standards but collaboration of these standards
need to be clearly known without any discrepancies. Web Services Interoperability
Organization (WS-I) provides security profiles which specifies the best combinations
of these standards, yet it is difficult to devise a customized collaborative security
standard and a framework to implement the standard which is proposed in this paper.
The Optimization of the customization process can be performed by the logs
maintained by the Security Manager component which will be taken care during the
implementation of the above proposed framework.
References
1. Sinha, S., Sinha, S.K., Purkayastha, B.S.: Security Issues in Web Services: A Review and
Development Approach of Research Agenda. AUJST: Physical Sciences and
Technology 5(II) (2010)
2. Zhang, Y., Sun, C., Yang, J., Wang,Y.: Web Services Security Policy. In: International
Conf. on Multimedia Information Networking and Security (2010)
3. Liu, W.-j., Li,Y.: Research and Implementation Based on Web Services Security Model.
In: International Conference on Innovative Communication and Asia-Pacific Conference
on Information Technology and Ocean Engineering (2010)
4. Nortbotten, N.A.: XML and Web Service Security Standards, IEEE Communications
Surver & Tutorials, 3 (Third Quarter 2009)
5. Kadry, S., Smaili, K.: A Solutions for Authentication of Web Services Users. Information
Technology Journal 6(7), 987995 (2007)
6. Geuer-Pollman, C., Calessens, J.: Web Services & Web Services Security Standards.
Information Security Technical Report, 10, 1524, Published by Elsevier (2005)
7. WSDL Binding for SOAP 1.2,
http://schemas.xmlsoap.org/wsdl/soap12/soap12WSDL.htm
283
1 Introduction
Web users request for accurate search results. Most of the Nave users are poor in
experts terminology in which they failed build right query to the search engine, due
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 284292, 2011.
Springer-Verlag Berlin Heidelberg 2011
285
this as one of the reason search engines are limited in capability in the providing
accurate results. All most Google, Yahoo, Bing, Ask, etc search engines are in a
nascent stage. Still they are interested in doing research to give better results to the
end users through one click. Query expansion is one dimension of search engines
problem, in which it allows to add new terms to the base query to form new query
for better understandability of search engine. We had a survey on query expansion
techniques in [7] our previous work. Even we found the difficulty to improve search
results by adapting WordNet for term selection for Query reformulation [8]. With
this experience [7] [8] we proposed a novel technique to improve the search results.
One basic idea is to record the user interaction with the search engine. This
information can be used by the user to feedback the base results. Such information
is known as click-through data. This information helps to learn similarity between
or among the query keywords. Firsthand information is always needed to decide the
relevance of the search results. Similarity measure is a function that computes
the degree of similarity between two vectors [6]. Different similarity measures
are used to increase the function output as the item becomes more similar to the
query.
The query term based query expansion refers to the measurement of similarity
between the terms of a query with the utilization of the similarity propagation of web
pages being clicked [9] and the document term based query expansion refers to the
measurement of similarity between or among document terms and search queries
primarily based on the search engines query log of data [9]. The idea behind this is,
that the web pages are similar if they are visited by users, which are issuing related
queries and these queries are considered similar if the corresponding users visit
related pages. The problem of web personalization has become very popular and
critical with the faster growth of users in using WWW. The process of customizing
web to meet the needs of specific users is called Web Personalization [10].Web
customization is to meet the needs of users with the aid of knowledge obtained from
the behavior of user navigations. User visits are essentially sequential in nature that
needs the services of efficient clustering techniques, These provides sequential data
Set similarity measure or S3M that are able to capture both the order of visits
occurrence and the content of the web-page. We discuss how click-through
information is used in section 3. We explore the importance of similarity measures in
section 2 as Related Work.
2 Related Word
Similarity Measures(SM) are used to calculate the similarity between documents ( or
Web Items) and search query pattern. SM helps to rank the resulted items in the
search process. It provides flexibility to present more relevant retrieved item in the
search in the desired order. SM is used for Item clustering and term clustering.
Statistical indexing and similarity measures [11].
286
V. Kakulapati et al.
Where Wij is weight of term i in Item j , and Wij is Weight of term I in query q.
Wi j = TFi j / TOTFj
TFi j = Fj /{ max(Fj )}
Where TFij is occurrence of Term j in Item i and TOTFj is Total Term Frequency
of term j in all Items of the Database. Sometimes less frequent terms in an item may
have more importance than more frequent terms; in this case Inverse Item Frequency
(IIF) is taken into consideration i.e TF-IIF weighting.
Wi j = TFi j * IIFi = TFi j * Log (N/IF i )
Where N is total terms, IFi is Item Frequency. This is represented as binary vector
and weighted vector. In binary vector inner dot product is number of matched query
terms in Item. In Weighted vectors, it is the sum of product of the weights of the
matched terms. It also used for clustering the Similar Items:
SM(Ii , Ij)= ( Termi *Termj )
This Inner dot product is unbounded good for larger Items with more number of
unique terms. But one drawback of this technique is, it finds how many query terms
have matched with Item terms, but not how many are not matched. Sometimes we use
inverse Similarity for Relevance calculation in such cases it fails to provide good
results.
2.2 Cosine Similarity Measure
Inner dot product Similarity Measure is normalized by Cosine angle between two
vectors. Cosine Similarity Measure (CSM) is defined as
- ij .q
CSM(Ij , Q) = -------|ij| .|q|
CSM(Ij , Q) =
287
Fig.1 Describes the similarity between Query Q terms and Item I 1 & I2 terms with
angle 1 and 2 respectively. If the two vectors of Item Term and Query terms
coincide and aligned to same line i.e. angle distance is zero, then those two vectors
are similar [12]. Like few of the above many similarity measures are used to match
the terms of user search to the repository item set. We used same similarity measures
for comparison, but comparing information is taken not only from base search pattern,
we extended the initial search pattern with the user personalized information and
other sources of information to match the items that improve the search results.
2.3 User Personalization
To improve the relevance of the user queries, user query logs and profiling is to be
maintained as user logs. User Personalization can be achieved using adaption of user
interface or adaption of content needed to specific user. To judge the relevance of
search results users have no common mechanism. The order of ranking by user
interest give better understanding of query results for future analysis. In domain
specific search tools the relevance is closer to the ranking order and easy to judge the
relevance. To capture the user behavior for future prediction [13] they used ranking
quality measures. Using Implicit Feedback whether user get satisfied or not is
predicted through learning by finding indicative features including way of search
session termination, time spent on resultant pages[14]. The behavior of engine is
observed by measuring the quality of ranking functions and observing natural user
interactions with the search engine [15].
3 Click-through Data
Measuring the similarity of search queries is observed by quarrying the increasing
amount of click-through data recorded by Web search engines, which maintain log of
288
V. Kakulapati et al.
the interactions between users and the search engines [16]. The quality of training
data considered by humans has major impact on the performance of learning to rank
algorithms [17]. Employing human experts to judge the relevance of documents is the
traditional way of generating the training examples. But in real time , it is very
difficult, time-consuming and costly. From few observations [6] [7] [8] [11] [12] [14]
[15] Simple Relevance judgment and normal personalization of user queries has no
much affect in improving the search results. In this paper we claim a novel approach
for selecting alternate source for user behavioral information i.e. click-through data.
Click-through data helps the user to captures the similar features from the past user
navigations and searches for alternate items to retrieve. This approach has significant
information to decide whether the user option for relevance feedback improves search
results or not. We used different similarity measures for matching the click through
data aided to the personalized query logs or simple query logs.
3.1 Click-through Data Structure
We took manually collected dataset for implementation setup. Our document
collection consisting of 200 faculty profiles consisting of standardized attributes given
as good meta-data. We begin ranking our document set using Coarse Grain Ranking
Algorithm. Coarse grain ranking is good for the document ranking if the items are
containing required query terms. This algorithm scores each document by computing
a sum of the match between the query and the following document attributes: name of
faculty, Department or branch, qualification summary, experience track, subjects
handled publication details, references and other details. When we gave query to User
interface it returns the following results:
Query: CSE Faculty with minimum of 5 years experience
Table 1. Ranking order of retrieved results for the above query
1
From the profiles document set that we have taken to experiment the model, we got
the above result in the first attempt of query CSE Faculty with minimum of 5 years
experience. We found interesting results i.e. 1, 3, 5 are relevant to the query and 2, 4,
6 are not relevant to the query. Due to blind similarity measure the results are not
fruitful. Now we need user judgment for deciding the relevance of search results. The
289
user clicks are preserved for the future search process. If user clicks 3rd result first
then it has to reserve the first rank among the relevance list. For capturing such click
through data, we built a Click-through data data-structure as triplet. Click-through
data in search engines is a triplet which consists of the query a, the ranking b
presented to the user, and the set c or <a,b,c> of links that the user clicks for every
navigation.
3.2 Capturing and Storing Click-through Data
Click through data can be captured with little overhead and without compromising the
functionality and usefulness of the search engine. This does not add any overhead for
the user compared to explicit user feedback in particular. The query q and the returned
ranking r are recorded easily when ranking (resulted) is displayed to the user. A
simple system can be used to keep log of clicks. The following system was used to do
the experiments in this paper. We recorded queries submitted, as well as clicks on
search results. Each record included the experimental condition, the time, IP address,
browser, a session identifier and a query identifier. We define a session as a sequence
of navigations (clicks or queries) between a user and the search engine, where less
than 10 minutes passes between subsequent interactions. When attribute is clicked in
query results keep track of recording clicks occurring within the same session as the
query. This is important to eliminate clicks that appeared to come from stored or
retrieved and captured search results. Sometimes if user is continuing search more
than 10 minutes it is built in such a way that it continues the recording process. In
order to capture the click through data as we used middle server. This proxy server
records the user clicks information. It has no effect on overhead of the user in search.
To give faster results we need to reduce processing time called overhead, in general
recording increases the overhead, but in our approach recording click through data
and ranking information has no effect on operational cost. The click-through data is
stored in a triplet format <q,r,s> Data-Structure. The query q and rank order r can be
recorded when search engine returns initial results to the user. To record clicks, a
middle server maintains a data store of the log file. User queries are given unique Ids,
while searching IDs are stored into log file along with query terms and the rank
information r. User need not think of storing Links displayed by the results page, but
direct him to a proxy server. These links are steps to encode IDs of queries and URLs
of the item being suggested. Recording of query, ranking order and URL address
happens automatically through proxy server whenever a user clicks the feedback link.
The server redirects the user to the clicked URL through HTTP protocol. All this
process is done with no more operating cost, which keeps the search engine to present
the results to the user with no much extra time.
290
V. Kakulapati et al.
5 Experimental Setup
We implemented the above concept using Java. We took 200 Faculty Profile Item Set
S and Created Click-through Data set in a Table. Whenever user gives choice click
from the retrieved Items to the visual place we recorded the click through data in to
Click-through Data Table. Using Base algorithm 1 we rank the items in initial search
process. We ran the search tool for more than 100 Times and build a click-through
data table. For experimenting the algorithm 2, we ran the Search process again for
multiple numbers of times and observed the results are more accurate than the initial
search. This process has a number of advantages including, it is effortless to execute
while covering a large collection of Items and the essential search engines provide a
foundation for comparison. The Striver meta-search engine works in the following
way. The user will type a query into the interface of the Striver. The query is then
forwarded to MSN Search, Google, Excite, AltaVista, and Hotbot. The retrieved
results of the pages returned by search engines are analyzed and diagonized for top 50
attempts that are suggested are somehow extracted. For every link, the system
displays the name of the page along with its uniform resource locator (URL). The
results of our experiment are shown in Table 2.
291
Q.
No
Query
Average
Relevance
Average
Improvement
CSE Faculty
50.00%
82.00%
25.00%
98.00%
Experience Faculty in
Computers
60.00%
79.00%
Experience
10.00%
18.00%
Minimum Experience
Computer Science
Engineering
15.00%
50.00%
Computer Science
Engineering Faculty
Teaching Faculty
40.00%
66.00%
CSE
20.00%
50.00%
CSE Faculty
Faculty
12.00%
50.00%
CSE Faculty
80.00%
50.00%
CSE Faculty
References
1. Baeza-Yates, R.A., Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval.
Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)
2. Beitzel, D.M., Jensen, E.C., Chowdhury, A., Grossman, D., Frieder, O.: Hourly analysis of
a very large topically categorized Web query log. In: Proceedings of the Annual
International ACM SIGIR Conference on Research and Development in Information
Retrieval, pp. 321328 (2004)
292
V. Kakulapati et al.
3. Shen, X., Dumais, S., Horvitz, E.: Analysis of topic dynamics in Web search. In:
Proceedings of the International Conference on World Wide Web, pp. 11021103 (2005)
4. Kumar, P., Bapi, R., Krishna, P.: SeqPAM: A Sequence Clustering Algorithm for Web
Personalization. Institute for Development and Research in Banking Technology, India
5. Cohen, W., Shapire, R., Singer, Y.: Learning to order things. Journal of Artificial
Intelligence Research
6. Shen, H.-z., Zhao, J.-d., Yang, Z.-z.: A Web Mining Model for Real-time Webpage
Personalization. ACM, New York (2006)
7. Kolikipogu, R., Padmaja Rani, B., Kakulapati, V.: Information Retrieval in Indian
Languages: Query Expansion model for telugu language as a case study. In: IITAIEEE,
China, vol. 4(1) (November 2010)
8. Kolikipogu, R.: WordNet Based Term Selection for PRF Query Expansion Model. In:
ICCMS 2011, vol. 1 (January 2011)
9. Vojnovi, M., Cruise, J., Gunawardena, D., Marbach, P.: Ranking and Suggesting Popular
Item. IEEE Journal 21 (2009)
10. Eirinaki, M., Vazirgiannis, M.: Web Mining for Web Personalization. ACM Transactions
on Internet Technology 3(1), 127 (2003)
11. Asasa Robertson, S.E., Spark Jones, K.: Relevance Weighting of Search Terms. J.
American Society for Information Science 27(3) (1976)
12. Salton, G.E., Fox, E.A., Wu, H.: Extended Boolean Information Retrieval.
Communications of the ACM 26(12), 10221036 (1983)
13. Kelly, D., Teevan, J.: Implicit feedback for inferring user preference: A bibliography.
ACM SIGIR Forum 37(2), 1828 (2003)
14. Fox, S., Karnawat, K., Mydland, M., Dumais, S., White, T.: Evaluating implicit measures
to improve web search. ACM Transactions on Information Science (TOIS) 23(2), 147
168 (2005)
15. Radlinski, F., Kurupu, M.: How Does Clickthrough Data Reflect Retrieval Quality? In:
CIKM 2008, Napa Valley, California, USA, October 26-30 (2008)
16. Zhao, Q., Hoi, S.C.H., Liu, T.-Y.: Time-dependent semantic similarity measure of queries
using historical click-through data. In: 5th International Conference on WWW. ACM,
New York (2006)
17. Xu, X.F.: Improving quality of training data for learning to rank using click-through data.
In: ACM Proceedings of WSDM 2010 (2010)
Introduction
294
In this paper, we construct a Mel lter bank that is able to extract MFCCs
of the subsampled speech which are signicantly correlated to the MFCCs of
original speech compared to the Mel lter banks discussed in [5]. This is experimentally veried in two ways (a) through the Pearson correlation coecient and
(b) through speech recognition experiments on AN4 speech database [1] using
open source ASR engine [2]. Experimental results show that the recognition accuracy on subsampled speech using models developed using original speech is as
good as the recognition accuracy on original speech and as expected degrades
with excessive subsampling.
One of the prime applications of this work is to enable use of acoustic models
created for desktop speech (usually 16 kHz) with telephone speech (usually 8
kHz) especially when there is access to only the acoustics models and not to
the speech corpus specically as in Sphinx. The rest of the paper is organized
as follows. In Section 2, largely based on our previous work [5], procedure to
compute MFCC features and the relationship between the MFCC parameters
of the original and subsampled speech is discussed. In Section 2.1, new lter
bank is proposed. Section 3 gives the details of the experiments conducted to
substantiate advantage of proposed modied lter bank and we conclude in
Section 4.
As shown in [5], let x[n] be a speech signal with a sampling frequency fs and be
divided into P frames each of length N samples with an overlap of N/2 samples,
say, {x1 , x2 xp xP }, where xp denotes the pth frame of the speech signal
N 1
x[n] and is xp = x p N2 1 + i i=0 . Computing MFCC of the pth frame
involves,
295
1. Multiply xp with a hamming window w[n] = 0.54 0.46 cos n
N ,
2. Compute discrete Fourier transform (DFT) [7]. Note that k corresponds to
the frequency lf (k) = kfs /N .
Xp (k) =
N
1
xp [n]w[n] expj
2kn
N
for k = 0, 1, , N 1
n=0
where m = 1, 2, , F and p = 1, 2, , P .
7. Compute DCT of Lp (m) to get the MFCC parameters.
rp
{x[n]} =
F
Lp (m) cos
m=1
r(2m 1)
2F
(2)
is given by
F
r(2m 1)
Lp (m)cos
rp {y[n]} =
(3)
2F
m=1
where r = 1, 2, , F and
Lp (m)
= ln
S1
k =0
1
1
M (m, k )
Xp (k + lS)
l=0
(4)
296
Note that Lp and M are the log Mel spectrum and the Mel lter bank of the
subsampled speech. Note that a good choice of M (m, k ) is the one which gives
(a) the best Pearson correlation with the MFCC (M (m, k) of the original speech
and (b) best speech recognition accuracies when trained using the original speech
and decoded using the subsampled speech. Kopparapu et al [5] chose dierent
constructs of M (m, k ).
2.1
(5)
Equation (5) is based on the observation that Mel lter outputs for m > seems
to decay exponentially.
Experimental Results
3.1
297
Proposed
mean variance
0.85609 0.04176
0.90588 0.02338
0.9284 0.01198
0.94368 0.00633
0.96188 0.00005
0.98591 0.00037
0.989 0.00025
0.99451 0.00006
1
0
best
mean
0.67837
0.70064
0.7201
0.7321
0.7465
0.8030
0.8731
0.9503
1
in [5]
variance
0.14535
0.1280
0.1182
0.1010
0.0846
0.0448
0.0188
0.0029
0
3.2
We used the 948 training speech samples of AN4 database to build acoustic
models using SphinxTrain. Training is done using MFCCs calculated on the
16 kHz (original) speech les. Recognition results are based on the 130 test
speech samples In Case A we used 30 MFCCs while in Case B we used 13
MFCC but concatenated them with 13 velocity and 13 acceleration coecients
298
Fig. 2. Comparing ASR accuracies of both methods for dierent values of sampling
factors ()
Fig. 3. Sample log Filter bank outputs of original speech, and subsampled speech using
the proposed Mel lter bank and the best Mel lter bank in [5]
299
The better performance of the proposed Mel lter bank in terms of recognition
accuracies can be explained by looking at a sample lter bank output shown in
Fig. 3. Filter bank output of the proposed Mel lter bank construct (red line
+) closely follow that of original speech Mel lter bank output (blue line x),
while even the best reported lter bank in [5] (shown in black line o) shows a
shift in the lter bank outputs.
Conclusion
The importance of this Mel lter bank design to extract MFCC of subsampled
speech is apparent when there are available trained models for speech of one sampling frequency and the recognition has to be performed on subsampled speech
without explicit creation of acoustic models for the subsampled speech. As a
particular example, the work reported here can be used to recognize subsampled
speech using acoustic (HMM or GMM) models generated using Desktop speech
(usually 16 kHz). We proposed a modied Mel lter bank which enables extraction of MFCC from subsampled speech which correlated very well with the
MFCC of the original sampled speech. We experimentally showed that the use
of the modied Mel lter bank construct in MFCC computation of subsampled
speech outperforms the Mel lter banks developed in [5]. This was demonstrated
at two levels, namely, in terms of a correlation measure with the MFCC of the
original speech and also through word recognition accuracies. Speech recognition
accuracies for larger values of can be improved by better approximating the
missing Mel lter outputs using bandwidth expansion [6] techniques, which we
would be addressing in our future work.
References
1. CMU: AN4 database, http://www.speech.cs.cmu.edu/databases/an4/
2. CMU: Sphinx, http://www.speech.cs.cmu.edu/
3. Davis, S.B., Mermelstein, P.: Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences. IEEE Trans. Acoust.
Speech Signal Processing 28(4), 357366 (1980)
4. Jun, Z., Kwong, S., Gang, W., Hong, Q.: Using Mel-frequency cepstral coecients in
missing data technique. EURASIP Journal on Applied Signal Processing 2004 (3),
340346 (2004)
5. Kopparapu, S., Laxminarayana, M.: Choice of mel lter bank in computing mfcc
of a resampled speech. In: 10th International Conference on Information Sciences
Signal Processing and their Applications ISSPA, pp. 121124 (May 2010)
6. kornagel, U.: Techniques for articial bandwidth extension of telephone speech. Signal Processing 86(6) (June 2006)
7. Oppenheim, S.: Discrete Time Signal Processing. Prentice-Hall, Englewood Clis
(1989)
8. Quatieri, T.F.: Discrete-time speech signal processing: Principles and practice,
vol. II, pp. 686713. Pearson Education, London (1989)
9. Reynolds, D.A., Rose, R.C.: Robust text-independent speaker identication using
Gaussian mixture speaker models. IEEE Transactions on Speech and Audio Processing 3(1) (January 1995)
1 Introduction
In medical image analysis, segmentation is an indispensable step in the processing.
Image segmentation is the process of partitioning the image into meaningful sub
regions or objects with the same attribution [6]. Brain tumor segmentation for
magnetic resonance image (MRI) is a difficult task that involves image analysis
based on intensity and shape [1, 4]. Due to the characteristics of the imaging
modalities segmentation becomes a difficult but important problem in biomedical
application. Manual segmentation is more difficult, time-consuming, and costlier
than automated processing by a computer system. Hence, medical image
segmentation scheme should posses some preferred properties such as fast
computation, accurate and robust segmentation results [2, 3].
The proposed frame work employs with segmentation schemes viz. (i) Modified
Fuzzy thresholding and (ii) Modified minimum error thresholding. The method
includes two stages; initially the tumor along with suspected tumorized region is
extracted using the segmentation scheme mentioned and which is followed by the
morphological operation to remove the unwanted tissues. More over the segmentation
schemes are comparatively analyzed based on the performance measure. The proposed
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 300308, 2011.
Springer-Verlag Berlin Heidelberg 2011
301
2 Methodology
Automated computerized image segmentation [20] is very important for clinical
research and diagnosis. A wide variety of approaches [5,7] have been proposed for
brain MR image segmentation which mainly relies on the prior definition of tumor
boundary. The paper mainly aims to present new and sophisticated methods of
automatically selecting a threshold value for segmentation. The general block diagram
describing the proposed work is shown in Fig.1.
Input
MR Image
Segmentation
Scheme
Post
Processing
Output
MR Image
302
The parameter selected to have fuzziness is the gray level intensity values. The block
diagram for the proposed method is displayed in Fig 2.
Input
Image
Initial
Threshold
Selection
Fuzzy
Cmeans
Thresholding
Post
Processing
Output
Image
T = max grayvalue / 2
(1)
J = h j d j, v
j i
i
i =1 j= 0
(2)
The objective function equation (2) can be iteratively minimized by computing the
means with the equation (3) and updating the membership with equation (4)
L
v =
i
j= 1
L
j=1
(j) =
j i
h
j i
jh
(3)
(4)
2/( 1)
1+ d j, v /d j, v
2
1
Pre
Processing
Valley
Point
Removal
Minimum
Error
Thresholding
Post
Processing
Output
Image
303
1
W2
i+ M j+ M 2
1 i+ M j+ M
I
(
k,
l)
I(k, l)
2
W iM jM
k =iM jM
(5)
As the internal local minimum can adversely affect the threshold selection the first
valley point corresponding to background has to be suppressed [18]. The histogram
provides a narrow peak corresponding to the background. Initially, two local maxima
(peak) yj and yk are computed. The valley point can be obtained using
Vt = ( y j + y k )/2
(6)
After the valley point removal, threshold selection is carried out through minimum
error thresholding algorithm ([14], [15]). Using this optimal threshold abnormal
tissues are extracted. In order to remove the unwanted tissues after segmentation,
morphological erosion and dilation is performed for improving the efficiency.
304
value obtained through the algorithm is 89 and for further improvement in result
erosion and dilation is performed. For Gliomas type data set, inorder to get proper
segmentation the first valley point is removed and first valley point obtained is 28.
The minimum error threshold value obtained through the algorithm is 144 and for
further improvement in result erosion and dilation is performed. For metastas type
data set, Inorder to get proper segmentation the first valley point is removed and
first valley point obtained is 34. The minimum error threshold value obtained
through the algorithm is 110 and for further improvement in result erosion and
dilation is performed. For meningiomas type data set inorder to get proper
segmentation the first valley point is removed and first valley point obtained is 31.
The minimum error threshold value obtained through the algorithm is 162 and
for further improvement in result erosion and dilation is performed. The results
obtained are shown in fig 5.
Type
Cancer
of
T2
Weighted
T2 Flair
Average
Fuzzy
Post
Image
Threshold
Processed
Image
Image
Astrocytomas
Glioma
Metastas
Meningiomas
305
SE =
TP
*100
GT
(4)
(5)
Average
Minimum
Post
Image
ErrorThreshod
Processed
Image
Image
Astrocytomas
Glioma
Metastas
Meningiomas
306
Tumor Type
Astrocytomas
Name
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Tumor
Isolated
11779
14349
16709
16295
15957
TP
7984
11385
13125
13313
13291
FP
3795
2964
3584
2982
2666
GT
8048
11464
13139
13660
13994
FN
64
79
14
347
703
SE
99.20
99.310
99.89
97.45
94.97
98.16
CR
0.75
0.86
0.86
0.86
0.85
0.840
Tumor
Isolated
12053
11775
7698
12804
15069
TP
4913
7201
6914
5924
4276
FP
7140
4574
784
6880
10793
GT
4937
7229
6923
5949
4319
FN
24
28
9
25
43
SE
99.51
99.61
99.87
99.57
99.00
99.51
CR
0.27
0.67
0.94
0.41
-0.25
0.41
Tumor
Isolated
15135
17470
20001
20284
17119
TP
13307
13576
14777
17709
15555
FP
1828
3894
5224
2575
1564
GT
13518
13751
14924
18153
16466
FN
211
175
147
444
911
SE
98.43
98.72
99.01
97.55
94.46
97.64
CR
0.91
0.84
0.81
0.90
0.89
0.87
Tumor
Isolated
43325
46048
43375
36850
49307
TP
12017
9806
8780
13807
10632
FP
31308
36242
34595
23043
38675
GT
12031
9806
8798
14157
10697
FN
14
0
18
350
65
SE
99.88
100
99.79
97.52
99.39
99.31
CR
-0.30
-0.84
-0.96
0.16
-0.81
-0.55
Avg
Name
Glioma
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Avg
Name
Metastas
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Avg
Meningiomas
Name
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Avg
307
Tumor Type
Name
Slice 1
Slice 2
Astrocytomas Slice 3
Slice 4
Slice 5
Tumor
Isolated
9222
12726
14647
18494
16118
TP
7848
11329
13099
13602
13604
FP
1374
1397
1548
4892
2514
GT
8048
11464
13139
13660
13994
FN
200
135
40
58
390
Avg
Glioma
Name
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
Metastas
Avg
CR
0.88
0.92
0.93
0.81
0.88
0.89
Tumor
Isolated
TP
FP
GT
FN
SE
CR
5239
8143
7873
6454
4831
4804
7212
6918
5860
4177
435
931
955
594
654
4937
7229
6923
5949
4319
133
17
5
89
142
97.30
99.76
99.92
98.50
96.71
98.44
0.92
0.93
0.93
0.93
0.89
0.92
Tumor
Isolated
5485
10353
14685
15044
19633
TP
3712
8907
13150
12968
14726
FP
1773
1446
1535
2076
4907
GT
3988
9616
13518
13751
14924
FN
276
709
368
783
198
SE
93.07
92.62
97.27
94.30
98.67
95.19
CR
0.70
0.85
0.91
0.86
0.82
0.83
Avg
Name
Slice 1
Slice 2
Slice 3
Slice 4
Slice 5
SE
97.51
98.82
99.69
99.57
97.21
98.56
Tumor
Name
Isolated TP
FP
GT
FN
SE
CR
Slice 1 3536
3016
520
12031
9015
25.068
0.22
Slice 2 2632
2383
249
9806
7423
24.30
0.23
1498
175
8798
7300
17.02
0.160
Meningiomas Slice 3 1673
Slice 4 2997
2746
251
14157
11411 19.39
0.18
Slice 5 3279
3129
150
10697
7568
29.25
0.28
Avg
23.01
0.218
From the quantitative analysis, it is observed that both the methods for comparable results.
4 Conclusion
The paper presents two new approaches for automatic segmentation of tumors from
MR images. The approaches shows promise in effectively segmenting different
tumors with high segmentation efficiency correspondence ratio. A potential issue that
is not handled by the proposed method is extraction of tumor if the intensity level is
less. The method can further extended through clustering methodologies, which
should been even suitable for Meningiomas type tumors.
Acknowledgement
The author would like to thank S. Alagappan, Chief consultant Radiologist, Devaki
MRI & CT scans, Madurai, INDIA for supplying all MR images.
308
References
1. Macovski, A., Meyer, C.H., Noll, D.C., Nishimura, D.G., Pauly, J.M.: A homogeneity
correction method for magnetic resonance imaging with time-varying gradients. IEEE
Trans. Med. Imaging 10(4), 629637 (1991)
2. Clark, M.C., Goldgof, D.B., Hall, L.O., Murtagh, F.R., Sibiger, M.S., Velthuizen, R.:
Automated tumor segmentation using knowledge based technique. IEEE Trans. on
Medical Imaging 17(2), 238251 (1998)
3. Lenvine, M., Shaheen, S.: A modular computer vision system for image segmentation.
IEEE Trans. on Pattern Analysis and Machine Intelligence 3(5), 540557 (1981)
4. Kichenassamy, S., Kumar, A., Oliver, P.J., Tannenbaum, A., Yezzi, A.: A geometric
snake model for segmentation of medical imagery. IEEE Trans. on Medical Image
Analysis 1(2), 91108 (1996)
5. Sahoo, P.K., Soltani, S., Wong, A.K.C.: A survey of Thresholding Techniques. Computer
Vision, Graphics, and Image Processing 41, 233260 (1988)
6. Gonzalez, R.C., Woods, R.E.: Digital Image Processing, 2nd edn. Pearson Education,
London (2002)
7. Illingworth, J., Kittler, J.: Threshold Selection based on a simple image statistic. Computer
Vision, Graphics, and Image Processing 30, 125-147 (1985)
8. Yan, H., Zhu, Y.: Computerized Tumor Boundary Detection Using a Hopfield Neural
Network. IEEE Transactions on Medical Imaging 16(1) (1997)
9. Gauthier, D., Wu, K., Levine, M.D.: Live Cell Image Segmentation. IEEE Transactions on
Biomedical Engineering 42(1) (January 1995)
10. Calvard, S., Ridler, T.: Picture thresholding using an iterative selection method. IEEE
Trans. Systems Man Cybernet. SMC-8, 630632 (November 1978)
11. Biswas, P.K., Jawahar, C.V., Ray, A.K.: Investigations on Fuzzy thresholding Based on
Fuzzy Clustering. Pattern Recognition 30(10), 16051613 (1997)
12. Ostu, N.: A threshold selection method from gray level histogram. IEEE Trans. System
Man Cybernet. SMC-8, 6266 (1978)
13. Kapurs, J.N., Sahoo, P.K., Wong, A.K.C.: A new method for gray-level picture
thresholding using the entropy of histograms. Computer Vision Graphics Image
Process. 29, 273285 (1985)
14. Illingworth, J., Kittler: Minimum Error thresholding. Pattern Recognition, 19(1), 4147
(1985)
15. Danielsson, P.E., Ye, Q.Z.: On minimum error thresholding and its implementations.
Pattern Recognition Letters 7, 201206 (1988)
16. Cheng, H.-D., Freimanis, R.I., Lui, Y.M.: A novel Approach to Micro calcification
Detection Using Fuzzy Logic Technique. IEEE Transactions on Medical Imaging 17(3),
442450 (1998)
17. Mendelsohn, M.L., Prewitt, J.M.S.: The analysis of cell images. Ann. N. Y. Acad.
Sci. 128, 10351053 (1966)
18. Goldgof, D.B., Hall, L.O., Fletcher-Heath, L.M., Murtagh, F.R.: Automatic Segmentation
of non-enhancing brain tumors in magnetic resonance images. Artificial Intelligence in
Medicine 21, 4363 (2001)
19. Middleton, I., Damper, R.I.: Segmentation of MR Images Using a Combination of Neural
networks and active contour models. Medical Engineering & Physics 26, 7176 (2004)
20. Pradhan, N., Sinha, A.K.: Development of a composite feature vector for the detection of
pathological and healthy tissues in FLAIR MR images of brain. ICGST-BIME
Journal 10(1) (December 2010)
Abstract. For Human beings, image processing occurs in the occipital lobe of
the brain. The brain signals that are generated for the image processing
is universal for all humans. Generally, the visually impaired people lose sight
because of severe damage to only the eyes (natural photoreceptors) but the
occipital lobe is still working. In this paper, we discuss a technique for
generating partial vision to the blind by utilizing electrical photoreceptors to
capture image, process the image using edge & motion detection adaptive VLSI
network that works on the principle of bug flys visual system, convert it into
digital data and wirelessly transmit it to a BioMEMS implanted into the occipital
lobe of brain.
1 Introduction
Since visually impaired people only have damaged eyes, their loss of sight is mainly
because their natural photoreceptors (eyes) are unable to generate signals that excite
the neurons in the occipital lobe of the brain. The temporal lobe in the human brain is
responsible for the visual sensation. It is proved that the neurons of the occipital lobe
in a blind patient are healthy and have the potential to create visual sensation if the
required signals are fired to the neurons in that region. Thus here we are discussing a
technique of transmitting visual data digitally into the occipital lobe of the brain by
wireless means, in the brain a BioMEMS device is implanted to receive this wireless
digital data. The visual data transmitted by external means into the brain is received
by a Patch Antenna that is present on the BioMEMS device. This digital data tapped
by the patch antenna is then converted into analog signal using a resistor controlled
wein bridge oscillator. This analog signal obtained from the wein bridge oscillator is
equivalent to the signals that are required by the occipital lobe neurons to create
visual sensation in human beings.
The visual sensation occurs in temporal lobe but the image processing in human
beings is done in the occipital lobe of the brain. Our main agenda is to generate same
image processing signals in blind peoples mind. The brain signals also referred to as
Visual Evoked Potential (VEP) is obtained from EEG tests of normal people [3].
The whole Process carried out in EEG test is given in Fig 1a. The EEG signals
obtained from normal people serve as a means of reference for us to design our
system. An adaptive VLSI network is used to recognize the edges & motion, based on
these a suitable decision to identify the edges is made. Fig 1b shows the block
diagram of our system.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 309317, 2011.
Springer-Verlag Berlin Heidelberg 2011
310
311
range is shown in Figure 3, it consists of a MOS transistor where the source of the
transistor forms the photodiode & channel forms the barrier that results in logarithmic
response of intensity.
Now this forms the basic photoreceptor cell. The number of electrons excited is
dependent on the light intensity i.e. color Eg=nhv, the number of electrons emitted
into the conduction band is dependent on wavelength of light hence on color, thus
there is a small change in current/voltage when an edge is detected. The correlation
between adjacent cells is extracted to detect edges; figure 4 shows a simplified 2 x 2
photoreceptor array & correlation between the adjacent cells.
Usually spatial-temporal model is used for motion detection, but since we have to
have a real time motion detection system, this model needs prediction of speed to
induce delays, so this creates a problem. Hence so called Template Model proposed
by G.A.Horridge [4] is used for motion detection.
312
313
on the errors of the adaptive network is shown in figure 6. After two cycles of
adaptation process which ever has the minimum error, that particular edge network &
motion network is dominant & the brain signal equivalent to that is generated. Figure
7 shows a method to select the minimum errors. In the circuit, the comparator values
give the minimum error function of the four networks Ek1, Ek2, Ek3 and Ek4.
Depending on these the digital values are selected that are obtained from the ADC of
the VEP of the particular edge/motion.
314
Fig. 9. EEG test signal with 4 frequency regions f1, f2, f3 and f4
315
Wireless Digital Data Communication: The digital data from the Pseudo SRAM cell
will now have to be transmitted to the BioMEMS that is implanted inside the patients
brain. To establish this communication link we need to use wireless technology. The
data from the SRAM cell is transmitted using a wireless patch antenna operated at
300MHz frequency. Also, there will be one more patch antenna, meant only for
receiving data, is embedded on the surface of the BioMEMS device. This patch
antenna is tuned to operate in the band or around 300MHz.
The digital data has to be encoded, because the resistance values must have
different resonant frequencies so that the particular resistance is selected. This is
achieved by having a Voltage Controlled Oscillator [8] V.C.O in which, the frequency
is dependent on the magnitude of the applied voltage.
Fig. 10. Pseudo SRAM Memory cell to store and transmit data
BioMEMS: The BioMEMS [9] is implanted into the blind persons occipital lobe. It
contains 5 parts namely: 1. Patch Antenna Receiver, 2. Resistor Controlled Schmitt
trigger and double integrator and 3. Demultiplexing Circuit and 4. A 4 x 4 silicon
platinum Electrode Array.
The patch antenna receiver receives the digital encoded data wirelessly. The gain
controlled scmitt trigger generates signals depending upon the received digital
encoded data from the receiver antenna. The resistors in the ciccuits as shown in fig11
is controlled through the resistors are implemented using ujt and the rlc circit is
used to tune the resistor to a particular frequency and hence control the selection of
the resistor of double integrator circuit shown in figure 11, the output voltage of the
oscillator is controlled by the resistor network. Thus signal corresponding to only the
transmitted digital data. As explained above the VEP is sum of the potential of neuron
firing. Hence the signal generated by the wein bridge oscillator has to be
demultiplexed and then apply the voltage signals to the neurons. Figure 14 shows the
Demultiplexer circuit used to demultiplex the signals and apply the same to the
electrode array.
316
Fig. 11. Simulated circuit of Schmitt trigger and dual integrator Gain Controller Circuit that
should be incorporated on BioMEMS
Thus, the demultiplexer is used to drive voltages of the electrodes that are placed
on the neurons. The silicon material is used to create the 4 x 4 electrode array; we
used this material because of the biocompatibility of silicon for BioMEMS
application [10].The simulated results are as shown in fig12.The output of the first
integrator is triangular and the output of the second integrator is sine wave. Since ujt
317
and micro strip antenna is not available in multisim. Resistors are controlled using
switching MOSFET. This is also shown in figure 12.
4 Conclusion
A technology to enable partial vision in visual impaired people is discussed here.
Since majority of the blind people have the occipital lobe healthy, we are using new
technologies to artificially excite brain neurons, like using a BioMEMS 4 x 4
electrode arrays that is precisely firing the neurons with required brain signals. The
brain signals are generated using VLSI circuits, the VLSI circuit processes an image
captured by electrical photoreceptors for this purpose.
The EEG signal is known to be the summation of the individual neuron firing. So
the output generated from the gain control circuit is given to demultiplexer the
frequency of the clock is twice as the frequency of the output. The demultiplexed
output is given to the respective MEMS electrode .This information is got from the
EEG electrode configuration.
References
1. Yakovleff, A.J.S., Moini, A.: Motion Perception using Analog VLSI. Analog Integrated
Circuits & Signal Processing 15(2), 183200 (1998) ISSN:0925-1030
2. Mojarradi, M.: Miniaturized Neuroprosthesis Suitable for Implantation into Brain. IEEE
Transaction on Neural Systems & Rehabilitation Engineering (March 2003)
3. Rangayanan, R.M.: Visual Evoked Potential Biomedical Signal Processing Analysis. A
Case Study Approach. IEEE Press, Los Alamitos
4. Sobey, P.J., Horridge, G.A.: Implementation of Template Model For Vision. Proc. R. Soc.
Lond. B 240(1298), 211229 (1990), doi:10.1098/rspb.1990.0035
5. Nguyen, C.T.-C.: MEMS Technology for Timing and Frequency Control. Dept. of
Electrical Engineering and Computer Science
6. Schmidt, S., Horch, K., Normann, R.: Biocompatibility of silicon-based electrode arrays
implanted in feline cortical tissue. Journal of Biomedical Materials Research (November
1993)
1
National School of Engineers of Tunis,
BP. 37 Le Belved`ere, 1002 Tunis, Tunisia
brahim.missaoui@enit.rnu.tn
National Institute of Applied Science and Technology
INSAT, BP 676 centre urbain cedex, Tunis, Tunisia
zied.lachiri@enit.rnu.tn
Introduction
The human auditory system has a remarkable ability to separate the target
sounds emitted from dierent sources. However, it is very dicult to replicate this functionality in their machine counterparts. This challenging known as
cocktail-party problem has been investigated and studied by many researchers
in the last decades [20].
The blind source separation (BSS) is a technique for recovering a set of the
source signals from their mixture signals without exploring any knowledge about
the source signals and the mixing channel. Among the solutions to BSS problem independent component analysis (ICA) approach is one of the popular BSS
methods are often used inherently with them. The ICA is a statistical and computational technique in which the goal is to nd a linear projection of the data
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 318328, 2011.
c Springer-Verlag Berlin Heidelberg 2011
319
where the source signals or components are statistically independent or as independent as possible [17]. In the instantaneous blind separation, many algorithms
have been developed using this approach [19] such as ICA based on the mutual
information minimization [2,27], maximization of non-Gaussianity [1,6,4] and
maximization of likelihood [3,12]. To perform the blind separation task, the ICA
approach can use the second or higher-order statistics. For instance, SOBI [13]
is the Second order blind identication algorithm which extract the estimated
signals by applying a joint diagonalization of a set of covariance matrix. Similarly, the Jade algorithm is introduced in [10] based on higher-order statistics
and use a Jacobi technique in order to performed a joint diagonalization of the
cumulant matrices.
Some approach combines the ICA algorithm with another technique. For instance, the geometric information [29]and the subband decomposition [24] can
be used in combination with ICA. In [5], the mixture is decomposed using the
discrete wavelet transform and then the separation step is performed in each
sub band. The approach proposed in [22,25] employed the wavelet transform as
the preprocessing step and the separation task is then done in time domain. In
this paper, we propose a blind separation system to extract the speech signals
from their observed signals in the instantaneous case. The proposed system use
undecimated wavelet packet decomposition [9] for the transformation of the two
mixtures signals into adequate representation to emphasize the non-Gaussian
nature of mixture signals which pre-requirement for ICA and then performed a
preliminary separation [22,25,23]. Finally, the separation task is carried out in
time domain.
The rest of the paper is organized as follows. After the introduction, the
section 2 introduces the blind speech separation problem and describes the FastICA algorithm used in the proposed method. In section 3, undecimated wavelet
packet decomposition is presented. Then in section 4, the proposed method is described. Section 5 exposes the experimental results. Finally, Section 6 concludes
and gives a perspective of our work.
In this section, we formulate and describe the problem of blind speech separation
by focusing mainly on the ICA approach.
2.1
Problem Formulation
The main task of the blind speech separation problem is to extract the original
speech signals from their observed mixtures without reference to any prior information on the sources signals or the observed signals under the assumption
that the source signals are statistically. The observed signals contain a dierent
combination of the source signals. This mixing model can be represented in the
instantaneous case where the number of mixtures signals equal that of source
signals by:
X(t) = AS(t) .
(1)
320
Where X(t) = [x1 (t) .. xn (t)]T is a vector of mixture signals, S(t) = [s1 (t) ..
sn (t)]T is the unknown vector of sources signals and A is the unknown mixing
matrix having as dimension (n n).
The Independent component analysis is a statistic method of BSS technique,
which tends to solve this problem by exploiting the assumption of independence
of the source signals. This method consist to nd the separating matrix known
as unmixing matrix W = A1 , whose used to recover the original independent
components as Y = W X. Their principle can be depicted by gure 1. The key
idea is to maximize the non-Gaussianity for attempting to make the sources
as statistically independent as possible under some fundamental assumptions
(i.e. the sources) are
and certain restrictions [17]: The components si (t) of S(t)
assumed to be statistically independent with non-gaussian distribution.
In order to measure the non gaussianity or independence, the ICA approach
exploits the high-order statistics and information-theoretic criteria such as the
kurtosis or dierential entropy called negentropy [17]. FastICA algorithm [6,17],
which based on negentropy, is one of the most popular algorithms performing
independent component analysis.
2.2
FastICA Algorithm
The FastICA is one of an ecient algorithm which performs the ICA approach.
It realizes the blind separation task by using a point iteration scheme in order to
nd maximum of the non-Gaussianity of projected component. The non gaussianity can be measured through the value of negentropy which dened as the
dierential entropy:
(2)
J(y) = H(ygauss ) H(y) .
Where H(y) represents the dierential entropy of y and it is computed as fallows:
H(y) = f (y) log(f (y))dy .
(3)
The negentropy can be considered as the optimal measure of the gaussianity.
However, it is dicult to estimate the true negentropy. Thus, several approximations are used and developed such the one developed by Aapo Hyvarinen et
al [6,17]:
J(y) =
p
321
(4)
i=1
where ki , gi and v are respectively positive constants, the non quadratic functions and Gaussian random variable. The fundamental xed-point iteration is
performed by using the following expression:
i )} E{g (WiT X
i )} Wi .
i g(WiT X
Wi (k) E{X
(5)
3
3.1
In our BSS system, we use the undecimated wavelet packet decomposition using
Daubechies4 (db4) of an 8 kHz speech signal. This decomposition tree structure
consists of ve levels and it is adjusted in order to accords critical band characteristics. The sample rate of speech signal used in this work is 8 Khz which leads
a bandwidth of 4 kHz. Therefore, the audible frequency range can be approximate with 17 critical bands (barks) as shown in Table 1. The tree structure of
undecimated wavelet packet decomposition is obtained according to this results
critical bandwidths [9]. It is depicted in gure 2, The frequency bandwidth for
each node of the UWPD tree is computed by the following equation:
cbw(i, j) = 2j (Fs 1) .
(6)
Where i = (0, 1, .., 5) and j = (0, .., 2j 1) are respectively the number of levels
and the position of the node and Fs is the sampling frequency.
322
The idea behind employing wavelet transform as a preprocessing step is to improve the non-Gaussianity distribution of independent components that is a
pre-requirement for ICA and to increase their independency [22,25]. Inspired
from this idea, we propose a new blind separation system, in the instantaneous
mixture case, to extract the speech signals of two-speakers from two speech
mixtures.
The proposed system use the undecimated wavelet packet decomposition for
transformed the two mixtures signals into adequate representation to emphasize
the non-Gaussian nature of mixture signals. The UWPD tree is chosen according to critical bands of psycho-acoustic model of human auditory system. The
results signals are used to estimate the unmixed matrix W using the FastICA
algorithm [6]. The separation task is then done in the time domain. Our speech
separation system, shown in gure 3, contains two modules shown in dotted
boxes. The rst module (Preprocessing Module) consists to extract appropriate
signals from the observed signals to improve the source separation task. The second module (Separation module) performs the source separation using FastICA
algorithm [6]. The Description for each module is given bellow.
4.1
Preprocessing Module
The rst module corresponds to the preprocessing step that decomposes the
observed signals using a perceptual lter bank. This lterbank is designed by
323
Fig. 2. The CB-UWPD tree and its corresponding frequency bandwidths (perceptual
lterbank)
adjusting undecimated wavelet packet decomposition tree, according to critical band characteristics of psycho-acoustic model [9]. Each result coecients of
the two mixtures can be viewed as an appropriate signal. Thus, we have many
possibilities in the choice of the best coecients. In order to increase the non
Gaussianity of the signals that is a pre-requirement for ICA, we need to nd
the best coecients which improves the source separation task. The coecients
selection is done by using Shannon entropy criterion [22,25,15]. The following
steps summarize the procedure of the selection algorithm:
Step 1: Decompose each mixture signals into undecimated wavelet packet.
Step 2: Calculate the entropy of each node Cj,k of UWPD tree.
Step 3: Select the node which has the lowest entropy.
The Shannon entropy is computed for each node (j, k) as follow:
H(j, k) =
pi log(pi ) .
Where
pi =
Cj,k (i)
.
X(k)2
(7)
(8)
324
With Cj,k are the UWPD coecients and X is the mixture signal.
4.2
Separation Module
In this module, the separation task in done and can be devised into two steps,
the rst one consists on generating the unmixing matrix W using the FastICA
algorithm [6]. This step uses the result signals of the previous module as new
inputs of FastICA. The two input signals correspond to the UWPD coecients
having the lowest entropy. The second step consists on extracting the estimated
speech signals using the matrix W and taking into account the original mixtures
signals.
325
To evaluate our system, we use dierent performance metrics such as the blind
separation performance measures introduced in BSS EVAL [11,30], including various numerical measures of BSS performance. We exploit in this work, the Signal
to Interference Ratio (SIR) and Signal to Distortion Ratio (SDR) measures. To
generate these measures, the estimated signals si (n) must be decomposed into
the following component sum:
si (n) = starget (n) + einterf (n) + eartef act (n) .
(10)
where starget (n), einterf (n) and eartef act are, respectively, an allowed deformation of the target source si (n),an allowed deformation of the sources which takes
account of the interference of the unwanted sources and an artifact term which
represents the artifacts produced by the separation algorithm. Then, the SIR
and SDR ration are computed using the last decomposition as:
starget (n)2
.
einterf (n)2
(11)
starget (n)2
.
einterf (n)2 + eartef act (n)2
(12)
SIR = 20 log
SDR = 20 log
In order to evaluate the quality of the estimated speech signals, the segmental
and overalla Signal to Noise ration are used. In addition, a subjective test is
done using perceptual evaluation of speech quality PESQ, which is an objective
method, dened in the ITU-T P.862 standard [16]. The PESQ measure is a score
comprise between 0.5 and 5 db and equivalents to the subjective Mean Opinion
Score.
The experiment results of our proposed system has been compared to that of
FastICA algorithm [6], described in section 2, and two well-known algorithms
SOBI [13] and Jade [10].
The obtained results are summarized in four tables. The table 2 presents the
BSS evaluation, including SIR and SDR ration, obtained after separation task by
proposed method, SOBI, Jade and FastICA. We observed that the SIR SDR
and their values for the proposed method is improved compared to FastICA. The
SIR average is 55.93 db for the proposed method, 48.03db for FastICA, 50.17
db for Jade and 26.60 db for SOBI.
Table 3 and 4 illustrates segmental SNR and overall SNR. We can see that
the estimated signals obtained by our method have better values than that of
the other methods. for instance, we have obtained overall SNR improvement of
9 db compared with FastICA.
To measure the speech quality of the estimated signals, the BSS evaluation
measures is reported in terms of PESQ. As depicted in table 5, the proposed
326
Table 2. Comparison of SIR and SDR using SOBI, Jade, FastICA and proposed
Method (PM)
SIR(Signal 1)
SIR(Signal 2)
SDR(Signal 1)
SDR(Signal 2)
Average
Table 3. Comparison of segmental SNR using Sobi, Jade, FastICA and proposed
Method (PM)
SOBI Jade FastICA PM
Seg SNR (Signal 1) 22.58 33.56 30.79 32.79
Seg SNR (Signal 2) 20.47 29.40 31.15 33.03
Table 4. Comparison of Overall SNR using Sobi, Jade, FastICA and proposed Method
(PM)
SOBI Jade FastICA PM
Overall SNR (Signal 1) 26.92 54.72 44.39 51.11
Overall SNR (Signal 2) 26.29 45.63 51.68 60.75
Table 5. Comparison PESQ using SOBI, Jade, FastICA and proposed Method (PM)
SOBI Jade FastICA PM
PESQ (Signal 1) 2.58 3.29 3.25 3.29
PESQ (Signal 2) 3.45 4.14 4.27 4.38
method is still more eective in terms of perceptual quality than FastICA and
the other techniques.
Conclusion
327
References
1. Comon, P.: Independent component analysis: A new concept? Signal Processing 36(3), 287314 (1994)
2. Bell, A.J., Sejnowski, T.J.: An information maximization approach to blind separation and blind deconvolution. Neural Computation 7, 10041034 (1995)
3. Cardoso, J.F.: Infomax and maximum likelihood for blind separation. IEEE Signal
Processing Letters 4, 112114 (1997)
4. Wang, F.S., Li, H.W., Li, R.: Novel NonGaussianity Measure Based BSS Algorithm
for Dependent Signals. In: Dong, G., Lin, X., Wang, W., Yang, Y., Yu, J.X. (eds.)
APWeb/WAIM 2007. LNCS, vol. 4505, pp. 837844. Springer, Heidelberg (2007)
5. Xiao, W., Jingjing, H., Shijiu, J., Antao, X., Weikui, W.: Blind separation of speech
signals based on wavelet transform and independent component analysis. Transactions of Tianjin University 16(2), 123128 (2010)
6. Hyv
arine, A.: Fast and robust xed-point algorithms for independent component
analysis. IEEE Transactions on Neural Networks 10(3), 626634 (1999)
7. Fowler, J.: The redundant discrete wavelet transform and additive noise. IEEE
Signal Processing Letters 12(9), 629632 (2005)
8. Shensa, M.: The discrete wavelet transform: Wedding the `
a trous and Mallat algorithms. IEEE Trans. Signal Processing 40(10), 24642482 (1992)
9. Tasmaz, H., Ercelebi, E.: Speech enhancement based on undecimated wavelet
packet-perceptual lterbanks and MMSE-STSA estimation in various noise environments. Digital Signal Processing 18(5), 797812 (2008)
10. Cardoso, J.F.: Higher-order contrasts for independent component analysis. Neural
Computation 11, 157192 (1999)
11. Vincent, E., Gribonval, R., Fevotte, C.: Performance Measurement in Blind Audio
Source Separation. IEEE Transactions on Audio, Speech, and Language Processing 14(4), 14621469 (2006)
12. Chien, J.T., Chen, B.C.: A New Independent Component Analysis for Speech
Recognition and Separation. IEEE Transactions on Audio, Speech and Language
Processing 14(4), 12451254 (2006)
13. Belouchrani, A., Abed-Meraim, K., Cardoso, J.F., Moulines, E.: A blind source separation technique using second order statistics. IEEE Trans. Signal Processing 45,
434444 (1997)
14. Gargour, C., Abrea, M., Ramachandran, V., Lina, J.M.: A short introduction to
wavelets and their applications. IEEE Circuits and Systems Magazine 9(2), 5758
(2009)
15. Coifman, R., Wickerhausser, M.: Entropy-based algorithms for best-basis selection.
IEEE Transactions on Information Theory 38, 713718 (1992)
16. ITU-T P.862, Perceptual evaluation of speech quality (PESQ), an objective method
for end-to-end speech quality assessment of narrow-band telephone networks and
speech codecs. International Telecommunication Union, Geneva (2001)
17. Hyv
arinen, A., Karhunen, J., Oja, E.: Independent Component Analysis. Wiley
Interscience, New York (2001)
18. Wang, L., Brown, G.J.: Computational Auditory Scene Analysis: Principles, Algorithms, and Applications. Wiley/IEEE Press, Hoboken, NJ (2006)
19. Haykin, S.: Neural Networks and Learning Machines, 3rd edn. Prentice-Hall, Englewood Clis (2008)
20. Cichocki, A., Amari, S.: Adaptive Blind Signal and Adaptive Blind Signal and
Image Processing. John Wiley and Sons, New York (2002)
328
21. Mallat: A Wavelet Tour of Signal Processing: The Sparse Way, 3rd edn. Academic
Press, London (2008)
22. Moussaoui, R., Rouat, J., Lefebvre, R.: Wavelet Based Independent Component
Analysis for Multi-Channel Source Separation. In: IEEE International Conference
on Acoustics, Speech and Signal Processing, pp. 645648 (2006)
23. Usman, K., Juzoji, H., Nakajima, I., Sadiq, M.A.: A study of increasing the speed
of the independent component analysis (lCA) using wavelet technique. In: Proc.
International Workshop on Enterprise Networking and Computing in Healthcare
Industry, pp. 7375 (2004)
24. Tanaka, T., Cichocki, A.: Subband decomposition independent component analysis
and new performance criteria. In: IEEE International Conference on Acoustics,
Speech and Signal Processing, pp. 541544 (2004)
25. Mirarab, M.R., Sobhani, M.A., Nasiri, A.A.: A New Wavelet Based Blind Audio Source Separation Using Kurtosis. In: International Conference on Advanced
Computer Theory and Engineering (2010)
26. Walden, A.T., Contreras, C.: The phase-corrected undecimated discrete wavelet
packet transform and its application to interpreting the timing of events. Proceedings of the Royal Society of London, 22432266 (1998)
27. Chien, J.T., Hsieh, H.L., Furui, S.: A new mutual information measure for independent component alalysis. In: IEEE International Conference on Acoustics, Speech
and Signal Processing, pp. 18171820 (2008)
28. Fisher, W., Dodington, G., Goudie-Marshall, K.: The TIMIT-DARPA speech
recognition research database: Specication and status. In: DARPA Workshop on
Speech Recognition (1986)
29. Zhang, W., Rao, B.D.: Combining Independent Component Analysis with Geometric Information and its Application to Speech Processing. In: IEEE International
Conference on Acoustics, Speech, and Signal Processing (2009)
30. Fevotte, C., Gribonval, R., Vincent, E.: BSS EVAL toolbox user guide, IRISA,
Rennes, France, Technical Report 1706 (2005)
1 Introduction
There are a sheer number of applications where visual object tracking becomes an
essential component. These applications include surveillance system to know the
suspicious activity, sport video analysis to extract highlights, traffic monitoring and
human computer interaction to assist visually challenged people. Even the
performance of high level event analysis is highly depends on the accuracy of an
object tracking method.
Multi-object tracking is one of the most challenging problems in computer vision.
The challenges are due to change in appearance of the objects, occlusion of objects
and splitting of object. Occlusion occurs either due to one object is occluded by
another object or an object is occluded by some component of the background. Split
may occur due to merged object or because of errors in the segmentation method. An
error in the split may mislead the tracker. A good multi-object tracking method should
be able to detect changing numbers of objects in the scene, adding and removing
objects and also able to handle both occlusion and split events.
Kalman filtering is an efficient solution to track multiple objects [1]. However
mistakes become more frequent and are difficult to correct as the number of objects
increases. The problem can be solved using particle filtering by exploiting the
multiple hypotheses [2]. In [3], the author formulates the multi-object tracking as a
Bayesian network inference problem and explores this approach to track multiple
players. In [4], the author proposed a probabilistic framework based on HMM to
describe a multiple object trajectory tracking. The framework was able to track
unknown number of multiple objects. The association problem has been represented
as a bipartite graph in [5]. A method was proposed to maintain hypotheses for
multiple associations. They also resolved the problem of objects entering and exiting,
and handled the error due to merging and splitting objects. However, particle filterbased tracking algorithms having not enough samples that are statistically significant
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 329338, 2011.
Springer-Verlag Berlin Heidelberg 2011
330
modes, faced difficulty to track multiple objects. They are only capable to handle
partial short duration occlusion. In recent years a number of approaches are proposed
in the literature to resolve the issues of multi-object tracking [6,7,8]. However, these
methods are failed when the objects suddenly disappears or change its direction or in
case of similar colored/textured objects.
This paper describes a multi-resolution tracking framework using Daubechies
complex wavelet transform. Due to its approximate shift invariant and noise resilience
nature Daubechies complex wavelet transform based method provides efficiency and
robustness to the tracking system in varying real-life environment and even in the
presence of noise [9]. Also the wavelet transform has an inherent multi-resolution
nature that provides a rich and robust representation of an object. A multi-resolution
approach employs opportunity to perform tracking at high resolution when we require
accurate estimation of object state e.g. confusion due to occlusion, while tracking at
lower spatial resolution at other times. Therefore, in the proposed approach we exploit
the high resolution to gain more discriminative power to object model, whereas all
other tasks are performed at low resolution.
The proposed algorithm exploits a correspondence establishment approach similar
to that presented in [6], but with a different distance measure and different appearance
model based on Daubechies complex wavelet coefficients. The proposed approach
encompasses the principle of object permanence to handle the occlusion occurred due
to a background object such as an electric pole or a tree. Object permanence is
defined as the ability of an infant to understand the existence of a hidden moving
object [10].
The remaining part of the paper is organized as follows. Section 2 gives an
overview of the proposed framework. Section 3 presents the proposed multi-object
tracking approach and discusses how to handle the occlusion and split problems in
multi-object scenario. Section 4 contains results over real world video sequences, and
finally, Section 5 concludes and discusses the open issues for future research.
2 Proposed Framework
Wavelet domain provides a framework to view and process image at multiple
resolutions [11]. We have used Daubechies complex wavelet transform (CxWT), as it
is approximately shift-invariant and has better directional information with respect to
real DWT. The details of CxWT can be found in [12]. The proposed framework is
broadly subdivided into two components: 1) moving object extraction using
background subtraction 2) muti-object tracking using occlusion reasoning. Fig. 2
illustrates the block diagram of the proposed framework, which is self explanatory.
From the block diagram it is clear that all the tasks are performed in complex wavelet
domain.
The first component of the proposed framework consists of a simple and effective
background modelling and subtraction method, in which a background model is
extracted initially by a training stage. Background subtraction is then performed to
extract moving foreground pixels in the current frame using a single Gaussian method
in wavelet domain [13]. An area thresholding method is incorporated to remove the
331
Complex
Wavelet
Transform
Frame
Capture
Background
Modelling
N
Last
Frame ?
Update
Objects
Database
Background
Subtraction
Morphological
analysis
Extract Moving Objects
Y
Finish
Tracking
Multi-Object Tracking
Occlusion
Analysis
Correspondence
Establishment
Multi-Object Tracking
3 Multi-object Tracking
Mutli-object tracking algorithms should be able to establish unique correspondences
between objects in each frame of a video. The first component of the proposed
framework detects foreground pixels and form isolated regions of connected foreground
pixels, which are called blobs. The next task is to establish a correspondence between
object instances over frames. The proposed framework is capable to track any number
of objects without any prior information about the object modelling.
332
p = { pk ; k = 1: K}
Where K represents the number of histogram bins. For each bin the discrete
probabilities are formulated as:
M
pk = CN g E || xa ||2 ( b( xa ) k )
a =1
333
P(Passive), E(Exit), M(Merge). MList consists of the ID of the objects that are
involved in merging.
Suppose Oti 1 represent a i th tracked object in (t 1)th frame and Btj represent
the j th blob in t th frame respectively, where i = 1, 2,..., M and j = 1, 2,..., N . M
represents the number of objects that already being tracked in the previous frame and
N represents the number of foreground blobs in the current frame.
The distance between blob Btj and object Oti 1 can be defined as:
t 1
Bt
D x = COx i C x j
t 1
Bt
and D y = COy i C y j
(1)
C m [i, j ] = 1;
0;
Dx <
WOt 1 + WBt
i
Otherwise
and D y <
H Ot 1 + H Bt
i
j
(2)
Where W and H represent width and height of respective object and blob.
Thus correspondence matrix contains binary values. An entry 1 in the
correspondence matrix shows that there is an association between the corresponding
object ( O ) and blob ( B ). The analysis of correspondence matrix produces following
association events:
Active Track: A single blob B in current frame is associated to a single object O in
the previous frame, if the blob is isolated and not occluded. In such condition the
corresponding column and row in Cm have only one non-zero element. As soon as a
blob is declared as active track, the corresponding information in the DBobj is
updated.
Appearing or Reappearing: If a column in Cm has all zero elements then it shows
that the corresponding blob B cannot be explained by any of the existing object
hypotheses. Thus, B has to be a new region which is either caused by the entry of a
new object or the reappearance of one of the existing object. The existing object may
disappear from the scene for some time due to occlusion occurred by a background
object such as a pole or a tree. If the entry (appearance) of the region is from the
boundary of the image then it is treated as a new object, otherwise it might be an
existing object. If it is a case of existing object then the appearance feature of such
blob B is matched against the objects having a Passive status in DBobj . If a match
334
treated as a new object. If blob is detected as new object then its details should be
added to the DBobj and a Active status is assigned to it.
Exit or Disappear: If a row in Cm has all zero elements then it implies that the
hypothesis of corresponding object O is not supported by any of the foreground
blobs. Thus, O is either exited from the scene or disappeared for some time due to
occlusion occurred by a background object. If the O was near the boundary then it is
assumed to be an exit status, otherwise it is assumed that the O is disappeared for
some time. If blob is detected as an exit object then its status is updated as Exit in
DBobj . If it is the case of disappearing then the status is updated as Passive.
Merging: If a column in Cm has more than one non-zero entries. It implies that
multiple objects compete for a single foreground blob.
Splitting: If a row in Cm has more than one non-zero entries. It implies that a merged
object is splitted into its corresponding components.
3.2.1 Detecting and Correcting Occlusion
If a column in Cm has more than one non-zero entries, there are two possible causes
a) multiple objects merged together and form a single foreground blob; b) two or
more objects are in the close proximity and satisfying eqn. 2. Merging is very
common in case of objects crossing each other, standing together etc. First condition
(merging or occlusion) occurs when two or more objects come in close proximity of
each other, i.e., the minimum bounding boxes of the objects physically overlap in the
frame. Thus, the merging gives rise to a single foreground blob having area
significantly larger than corresponding objects. Suppose two objects OA and OB in
previous frame t-1 are occluded in the current frame t and give rise to a single blob
BM . In the proposed approach this BM is tracked as a new object and assumed to be a
mother object ( OM ) having two child objects OA and OB . This mother object is
added to DBobj and the ID of OA and OB are inserted in the MList of OM . The
status of OA and OB are also updated as M. This OM will be tracked in the
subsequent frames as an active track until it splits.
In case of second condition where objects seemed to be merged due to the close
proximity, the blob is mapped to object having maximum similarity. This similarity is
based on appearance feature using object model at high resolution.
3.2.2 Detecting and Correcting Splits
A merged object can be splitted into several blobs during segmentation process. There
are two possibility of merging of objects a) due to the occlusion of two or more
objects during tracking b) two or more objects might enter the scene in a group. If
merging is due to occlusion such as in the above example OM , then splitting
335
using the appearance features of objects. These child objects are then tracked as
existing objects. The objects details are updated in DBobj and the status is changed as
Active.
If merging is due to the group entry then splitting produces new objects. The
details of these new objects are added to the DBobj and an Active status is assigned.
After splitting the merge object ( OM ) is released from the DBobj .
4 Experimental Results
A qualitative evaluation of the proposed approach is carried out in four video
sequences. The first two sequences are from PETS-2009 dataset, which provides a
challenging multi-object scenario. The third sequence is from Hall Monitoring video
consists of the problem of noise due to the indoor illumination. Since several lighting
sources are present in the Hall Monitoring scenario, so target and background
appearance is significantly affected. The last video is recorded in outdoor
environment of our institute campus. The image resolution is 760 x 576, 352 x 240
and 720 x 480 for PETS video, Hall Monitoring and Campus video respectively.
The experiments have been started with the first set of PETS-2009 image
sequences. The ID of the object is labeled at the middle of the bounding box. A green
color label shows a new or reappeared object. A white color label shows an active
tracked object. Whereas a yellow color label with a red bounding box shows a merged
object. The top image in fig. 3, demonstrates the trajectory of objects on the image
plane. Fig. 3(a) shows the start of the scenario having seven objects. Fig. 3(c)
illustrates the object having ID#5 is occluded behind the electric pole and disappears
from the scene for few frames. This object is reappeared in fig. 3(d) and correctly
tracked by the proposed approach using the concept of object permanence. In the
meantime objects having ID#6 and ID#7 come very close and form a single merged
Fig. 3. Snapshots from tracking results of the PETS 2009 image sequence 1
336
Fig. 4. Snapshots from tracking results of the PETS 2009 image sequence 2
object. Figs 3(d-f) show that the proposed algorithm, enables the tracking of objects
ID#6 and ID#7 during the merge period. Figs 3(e-f) also show the partial occlusion of
object due to background component.
Another experiment was performed on the second set of PETS-2009 image
sequences. A crosswalk scene is analysed in this experiment. Fig. 4(a) shows the
tracking objects at the start of the scenario. In fig. 4(b) the occlusion takes place
between object ID#2 and object ID#3. Fig. 4(b) and fig. 4(d) illustrate that the
proposed scheme detects and corrects occlusion effectively in the presence of heavy
occlusion as shown in fig. 4(c). Figs 4(e-f) again show the effectiveness of the
proposed scheme during heavy occlusion.
The next experiment was performed on the Hall Monitoring image sequences. In
this scenario, the background color distribution is similar to the trousers of the first
object and also this image sequence is suffered from noise caused by variations in the
337
From the experimentation results, we conclude that our method obtains satisfactory
results to track multiple objects and successful in coping with the problem of split and
occlusion. However, it is not validated in crowded scenes.
5 Conclusion
In this paper we have presented a Daubechies complex wavelet transform based
framework for tracking multiple objects aiming to resolve the problem occur due to
the presence of noise, occlusion, and split error. The appearance feature of objects at
multi-resolution level is used to resolve the problem of occlusion and split error. The
obtained experimental results in four video sequences show that our approach can
cope successfully the interactions, occlusions and split in challenging situations.
References
1. Mittal, A., Davis, L.: M2tracker: A Multi-view Approach to Segmenting and Tracking
People in a Cluttered Scene. International Journal of Computer Vision 51(3), 189203
(2003)
2. Smith, K., Gatica-Perez, D., Odobez, J.-M.: Using Particles to Track Varying Numbers of
Interacting People. In: Proceedings of the Conference on Computer Vision and Pattern
Recognition (2005)
338
3. Nillius, P., Sullivan, J., Carlsson, S.: Multi-target Tracking - Linking Identities using
Bayesian Network Inference. In: Proceedings of the Conference on Computer Vision and
Pattern Recognition, vol. 2, pp. 21872194 (2006)
4. Han, M., Xu, W., Tao, H., Gong, Y.: Multi-object Trajectory Tracking. Machine Vision
and Applications 18(3), 221232 (2007)
5. Joo, S.W., Chellappa, R.: Multiple-Hypothesis Approach for Multi-object Visual
Tracking. IEEE Transactions on Image Processing 16, 28492854 (2007)
6. Senior, A., Hampapur, A., Tian, Y.-L., Brown, L., Pankanti, S., Bolle, R.: Appearance
Models for Occlusion Handling. Journal of Image and Vision Computing 24(11), 1233
1243 (2006)
7. Rad, R., Jamzad, M.: Real Time Classification and Tracking of Multiple Vehicles in
Highways. Pattern Recognition Letters 26(10), 15971607 (2005)
8. Amer, A.: Voting-based Simultaneous Tracking of Multiple Video Objects. IEEE
Transactions on Circuits and Systems for Video Technology 15, 14481462 (2005)
9. Jalal, A.S., Tiwary, U.S.: A Robust Object Tracking Method Using Structural Similarity in
Daubechies Complex Wavelet Domain. In: Chaudhury, S., Mitra, S., Murthy, C.A.,
Sastry, P.S., Pal, S.K. (eds.) PReMI 2009. LNCS, vol. 5909, pp. 315320. Springer,
Heidelberg (2009)
10. Huang, Y., Essa, I.: Tracking Multiple Objects through Occlusions. In: Proceedings of the
IEEE Conference on Computer Vision and Pattern Recognition, pp. 10511058 (2005)
11. Wang, Y., Doherty, J.F., Duck, R.E.V.: Moving Object Tracking in Video. In:
Proceedings of 29th IEEE Intl Conference on Applied Imagery Pattern Recognition
Workshop, pp. 95101 (2000)
12. Lina, J.-M.: Image Processing with Complex Daubechies Wavelets. Journal of
Mathematical Imaging and Vision 7(3), 211223 (1997)
13. Ugur, B., Enis, A., Aksay, A., Bilgay, M.A.: Moving object detection in wavelet
compressed video. Signal Processing: Image Communication 20, 255264 (2005)
14. Comaniciu, D., Ramesh, V., Meer, P.: Kernel-based Object Tracking. IEEE Transactions
on Pattern Analysis and Machine Intelligence 25(5), 564575 (2003)
Abstract. A vision based trac sign recognition system collects information about road signs and helps the driver to make timely decisions,
making driving safer and easier. This paper deals with the real-time detection and recognition of trac signs from video sequences using colour
information. Support vector machine based classication is employed
for the detection and recognition of trac signs. The algorithms implemented are tested in a real time embedded environment. The algorithms
are trainable to detect and recognize important prohibitory and warning
signs from video captured in real-time.
Keywords: trac sign recognition, support vector machine, pattern
classication, realtime embedded system.
Introduction
Driver Assistance Systems(DAS) that help drivers to react to changing road conditions can potentially improve safety [1,2,3]. Computer vision based methods,
which have the advantage of high resolution, can be employed to recognize road
signs and detect lane markings, road borders and obstacles. The input is usually a video captured from a camera xed on the vehicle. Automatic recognition
of trac signs is an important task for DAS. Trac signs are standardized by
dierent regulatory bodies and are designed to stand out in the environment.
Moreover, signs are rigidly positioned and are set up in clear sight to the driver.
These factors reduce the diculty in designing recognition algorithms. Nevertheless, a number of challenges remain for a successful recognition. Weather and
lighting conditions can vary signicantly in trac environments. Additionally, as
the camera is moving, motion blur and abrupt contrast changes occur frequently.
The sign installation and surface material can physically change over time, inuenced by accidents, vandalism and weather resulting in rotated and degenerated
signs. Another problem is occlusion from other objects such as trees.
The trac sign detection algorithms commonly rely on shape and colour of
the trac signs [3,4,5,6,7]. Shape based methods detect the signs using a set
of predened templates and hence is sensitive to total or partial occlusion and
target rotation. Colour based methods detect signs in a scene using the pixel
intensity in RGB or HSI colour spaces. There are very few work reported in
literature which deal with actual real-time embedded implementations. Goedeme
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 339348, 2011.
c Springer-Verlag Berlin Heidelberg 2011
340
R. Kumaraswamy et al.
System Overview
In this paper, we present a system for detection and recognition of trac signs.
The block level representation of the trac sign detection and recognition system
is shown in Figure 1.
The trac sign detection and recognition system consists of three stages.
1. ROI Selection : In this stage the candidate blobs are segmented from the
input frames by thresholding in RGB color space. The extracted blobs are
rotation corrected, cropped and resized to a size of 64x64.
2. Shape Classication : Blobs obtained from the colour segmentation process
are classied according to their shape using multiclass SVM.
3. Pattern Recognition : Blobs classied as circle or triangle are sent to the
pattern recognition stage. This stage involves pattern segmentation, feature
extraction and SVM based pattern classication.
2.1
ROI Selection
The rst task involved is the segmentation of the trac sign. Road signs are
designed to stand out from the environment, so colour is the natural choice for
segmentation. Dierent colour spaces can be employed for segmenting trac
signs. Hue in the HSI colour model is a very good representative for colour. We
found Hue and Saturation based schemes have better illumination invariance.
But conversion from RGB to HSI is computationally expensive. So for the real
time implementation in embedded platform, we have used RGB colour space.
341
Once the color based segmentation is done, the image pixels are grouped
together as connected components. As we expect multiple signs in some frames,
we do a connected component labelling. Blobs not having a minimum size and
aspect ratio are discarded. This eliminates most of the unwanted and noisy
blobs.The limits for blob size and aspect ratio were empirically derived using
standard road signs. A minimun blob size of 400 pixels and an aspect ratio
between 0.6 and 2.5 has been used for selecting the candidate blobs.
The candidate blobs obtained may not be aligned with the horizontal axis.
The rotation angle is calculated from the bottom Distance to Border(DtB) vectors [10] and the blobs are reoriented in a reference position. Once the rotation correction is done, the candidate blobs are cropped and resized to a size
of 64x64.
342
2.2
R. Kumaraswamy et al.
The blobs that are obtained from the segmentation stage are to be classied
in this stage according to their shape. In order to perform shape classication,
nonlinear multi-class SVM is employed.
1) Shape Feature Extraction: The rst step in shape classication is to make
feature vectors for the input to the non linear multi-class SVM. Many methods
have been proposed for extraction of feature vectors [8,9,10]. We use DtB as the
vectors for training SVM. DtB is the distance from the external edge of the blob
to its bounding box. Thus for a segmented blob we have four DtB vectors for left,
right, top and bottom. Each DtB vector has a length of 64. The main advantage
of this method is its robustness to several factors such as rotation and scale.
This feature is invariant to rotations, because all blobs have been previously
orientated in a reference position using the DtB vectors. The DtB vectors for
left,right,top and bottom are concatenated and subsampled to a length of 64.
Figure 2 shows the resampled DtB vectors for segmented triangular,circular and
yield signs.
2) Shape Classication: In this work three shapes viz,circle, triangle and
inverted triangle are considered for classication. The non linear SVM trained
using the distance to border features enables the classication of a trac sign.
A detailed description on the training aspects of non linear SVM is given in
section 2.4.
2.3
Pattern Classication
Once the shape classication process is completed, the candidate blobs belonging
to circle or triangle are being sent to the pattern recognition stage. The inverted
triangle trac signs obtained in shape classication are considered directly for
YIELD sign. If the number of white pixels is above a preassigned threshold,
then it is classied as YIELD sign. In order to perform pattern recognition of
circular and triangular trac signs non linear multi-class SVMs are employed.
1) Pattern Segmentation: The pattern is extracted from a virtual masked
region within the segmented blob. This masked region is obtained from the left
and right DtBs used in the shape detection. The top and the bottom limits are
manually chosen from the prior knowledge of the region in which the pattern
resides. Now the pattern is obtained by thresholding the black region of the
segmented intensity blob.
2) Feature Extraction: Projections and DtB features are used in the recognition of triangular signs whereas DtB alone is used for recognizing circular signs.
For triangular signs, the projection of the cropped pattern is found along the x
axis and y axis. The x and y projections are both resampled to a length of 32
each and then concatenated to form the projection feature vector of length 64.
(a)
(d)
(b)
(e)
343
(c)
(f)
Fig. 2. (a) Segmented Circular Blob (b) Segmented Triangular Blob (c)Segmented
Blob for Yield sign (d) Distance to Border for Circular Blob (e) Distance to Border for
Triangular Blob (f) Distance to Border for Yield
Left and Right DtBs each resampled to 32 samples and concatenated to form
the DtB feature vector. For triangle the full feature vector is formed by concatenating the projection and DtB vectors. For the blobs classied as circular,
a red area checking is performed. If the total red area inside the blob is greater
than a threshold, it is considered as either STOP sign or DO NOT ENTER
sign. Inorder to distinguish between the STOP sign and DO NOT ENTER
sign, we search for a continuous pattern of white pixels. If there exists such a
pattern, the blob is classied as DO NOT ENTER otherwise it is classied as
a STOP sign.
For circular signs other than STOP and DO NOT ENTER, the DtBs
resampled to a length of 64 forms the nal feature vector. In the case of circular speed limit signs, the rst digit alone is cropped and used in the feature
extraction. Figure 3 shows the segmented blobs and the feature vectors used for
training the multiclass non-linear SVM for pattern recognition.
3) Pattern Recognition: In the recognition stage, multi-class SVM classiers
with a RBF kernel is used. We have used two SVM classiers- one for the circular
sign and the other for the triangular sign. For the current real-time implementation, we have restricted the classication to 6 circular signs and 8 triangular
signs. It is possible to include more signs without changing the present classier
structure. By extending this hierarchical classication, we can include signs with
other colours also.
344
R. Kumaraswamy et al.
(a)
(b)
(c)
(d)
Fig. 3. (a) Red Triangular Segmented Blobs and the corresponding extracted pattern(b) Red Circular Segmented Blobs and the corresponding extracted pattern(c)
Extracted features for red triangular blobs(d) Extracted features for red circular blobs
2.4
We summarize here the details of SVM classiers and the training strategy.
1) Support Vector Machine: Support Vector Machine is a machine learning
algorithm which can classify data into several groups. It is based on the concept of
decision planes, where the training data is mapped to a higher dimensional space
and separated by a plane dening the two or more classes of data. The extensive
introduction about SVMs can be found in [11]. The formulation of SVMs deals
with structural risk minimization (SRM). SRM minimizes an upper bound on
the Vapnik Chervonenkis dimension, and it clearly diers from empirical risk
minimization, which minimizes the error on the training data. For the training
of SVMs, we have used the library LIBSVM [12].
345
2) Cross validation and Grid search: The accuracy of SVM model is largely
dependent upon the selection of the model parameters. There are two parameters
c and g while using an RBF kernel in the SVM classication. g is the kernel
parameter gamma and c is the cost parameter. The value of c controls the tradeo
between allowing training errors and forcing rigid margins. Increasing the value
of c results in over tting. It results in an increase in the misclassications, but
creates a more accurate model. Hence an optimal value should be chosen for the
parameter c. The cross validation procedure can prevent the over tting problem.
In v -fold cross-validation, the training set is rst divided into v subsets of equal
size. Sequentially one subset is tested using the classier trained on the remaining
v-1 subsets. Thus, each instance of the whole training set is predicted once [12].
Grid search tries values of (c,g) across a specied search range using geometric
steps and picks up the values with the best cross validation accuracy. For shape
classication, the (c,g) values used are (2,0.00781). For pattern recognition the
(c,g) value used are (2,0.25 ) for triangular signs and (2,2) for circular signs.
Experimental Results
346
R. Kumaraswamy et al.
(a)
(b)
(c)
(d)
(e)
Fig. 6. Results obtained from the embedded platform (a) Test input frame(b) Thresholded image (c) Segmented Blobs of interest(d) Extracted Patterns (e)GUI Showing
Classication Results
347
Conclusion
We have proposed a new hierarchical scheme for real-time detection and classication of trac signs on an embedded platform. We have introduced low complexity
algorithms for detection and feature extraction, suitable for real-time implementation. The algorithms were developed in MATLAB/Simulink environment and
automatically generated C code was ported to ARM core of OMAP and tested
with real-time video input. Without any further code optimization, a performance
of 5 frames per second was achieved. Considering the fact that processing is not
usually required for every frame, this frame rate is already nearly real-time. The
proposed scheme is a very good candidate for real-time realization of multiclass
trac sign recognition within the limited computing resources of embedded processors. With some modications, the scheme is expected to be extensible to trac
signs following conventions other than the Vienna Convention.
348
R. Kumaraswamy et al.
References
1. de la Escalera, A., Moreno, L.E., Salichs, M.A., Armingol, J.M.: Road Trac Sign
Detection and Classication. IEEE Transactions on Industrial Electronics 44(6),
848859 (1997)
2. de la Escalera, A., Armingol, J.M., Mata, M.: Trac Sign Recognition and Analysis
for Intelligent Vehicles. Image and Vision Computing 21, 247258 (2003)
3. Fang, C., Chen, S., Fuh, C.: Road Sign Detection and Tracking. IEEE Transactions
on Vehicular Technology 52(5), 13291341 (2003)
4. Miura, J., Itoh, M., Shirai, Y.: Towards Vision Based Intelligent Navigator: Its Concept and Prototype. IEEE Transaction on Intelligent Transportation Systems 3(2),
136146 (2002)
5. Bascon, S.M., et al.: Road Sign Detection and Recognition Based on Support Vector
Machines. IEEE Transactions on Intelligent Transportation Systems 8(2) (June
2007)
6. de la Escalera, A., Armingol, J.M., Pastor, J.M., Rodriguez, F.J.: Visual Sign
Information Extraction and Identication by Deformable Models for Intelligent
Vehicles. lEEE Transactions on Intelligent Transportation Systems 5(2), 5768
(2004)
7. Liu, H., Liu, D., Xin, J.: Real Time Recognition of Road Trac Sign in Motion
Image Based on Genetic Algorithm. In: Proceedings 1st. Int. Conf. Mach. Learn.
Cybern., pp. 8386 (November 2002)
8. Kiran, C.G., Prabhu, L.V., Abdu Rahiman, V., Kumaraswamy, R., Sreekumar, A.:
Support Vector Machine Learning based Trac Sign Detection and Shape Classication using Distance to Borders and Distance from Center Features. In: IEEE
Region 10 Conference, TENCON 2008, November 18-21. University of Hyderabad
(2008)
9. Kiran, C.G., Prabhu, L.V., Abdu Rahiman, V., Kumaraswamy, R.: Trac Sign
Detection and Pattern Recognition using Support Vector Machine. In: The Seventh International Conference on Advances in Pattern Recognition (ICAPR 2009),
February 4-6. Indian statistical Institute, Kolkata (2009)
10. Lafuente Arroyo, S., Gil Jimenez, P., Maldonado Bascon, R., Lopez Ferreras, F.,
Maldonado Bascon, S.: Trac Sign Shape Classication Evaluation I: SVM using
Distance to Borders. In: Proceedings of IEEE Intelligent Vehicles Symposium, Las
Vegas, pp. 557562 (June 2005)
11. Abe, S.: Support Vector Machines for Pattern Classication. Springer-Verlag London Limited, Heidelberg (2005)
12. Chang, C., Lin, C.: LIBSVM: A Library for Support Vector Machines (2001),
http://www.csie.ntu.edu.tw/~ cjlin/libsvm
13. Goedeme, T.: Towards Trac Sign Recognition on an Embedded System. In:
Proceedings of European Conference on the Use of Modern Electronics in ICT,
ECUMICT 2008, Ghent, Belgium, March 13-14 (2008)
14. Souki, M.A., Boussaid, L., Abid, M.: An Embedded System for Real-Time Trafc Sign Recognizing. In: 3rd International Design and Test Workshop, IDT 2008
(December 2008)
15. Muller, M., Braun, A., Gerlach, J., Rosenstiel, W., Nienhuser, D., Zollner, J.M.,
Bringmann, O.: Design of an automotive trac sign recognition system targeting
a multi-core SoC implementation. In: Proceedings of Design, Automation and Test
in Europe, Dresden, Germany, March 8-12 (2010)
1 Introduction
For vision based driver safety applications a camera is mounted on the vehicle to
capture continuous and real time videos. Uneven surface of the roads and mechanical
vibrations of the vehicle during capture, affect the quality of these videos. The
distortions arising from such kind of jitter makes them unpleasant for viewing. Such
motion of the camera also makes it difficult to process and extract important
information from the images. Hence, the video needs to be corrected and stabilised
against any unintentional movement of the camera.
Video can be stabilized using either hardware sensors or by software techniques.
Hardware sensors are usually expensive and have a limited range of correction. Hence
they are less preferred. Software techniques use image processing methods to estimate
and compensate for the unintentional motion.
Over the past decade, a number of methods have been proposed to stabilize video
using image based methods. Any image based method used for stabilization consists
of 2 main steps: motion estimation and motion compensation. Different kinds of
feature extraction and matching methods have been used to obtain a match between
frames, for example, Block Matching [1], [5], SIFT [2] etc. Motion estimation is done
by comparing the features across subsequent frames and obtaining the parameters for
the motion models like translation or affine. The motion vectors which are obtained
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 349357, 2011.
Springer-Verlag Berlin Heidelberg 2011
350
due to local motion in the image are eliminated using RANSAC [3] or iterative least
squares algorithms [10]. IIR filters were used in [4] and Kalman filter and its
variations were used in [6], [9] to estimate the intentional motion; optical flow
techniques [7] have also been used to smoothen the motion vectors. The final step of
motion correction uses geometrical transformations to compensate for the
unintentional motion estimated by the motion estimation module. Fig. 1 illustrates the
generalized block diagram of a video stabilization algorithm.
While most accurate methods in literature use complex methods that are also time
consuming, the proposed algorithm uses simple techniques and is fast, to be used for
real time applications. The smooth motion quality in the output video is favourable for
viewing and further processing in applications for object segmentation, detection etc.
The paper is organised as follows: we describe feature extraction and feature matching
scheme used for this algorithm in section 2. In section 3 Motion estimation and
compensation are discussed. Section 4 contains the results of experiments performed
on different videos and we present the conclusions in section 5.
351
between successive image frames in the video. Features are extracted in one frame
and compared with those in preceding frame to obtain the correspondence. The jitter
or unintentional motion can be in the form of translational, rotational and scale
variations. Hence the features selected should be robust to all these variations. Image
frames also need to be enhanced, to enable better extraction of the selected features.
2.1 Corner Features
In this method, we use Harris corner detector [8] to detect features in the image. A
slight modification of Harris corner detection technique is used, to ensure uniform
distribution of corners across the image. Using Harris corner detection in its original
form gives very high number of corners in images or areas in an image which
contains details like multiple objects, people, trees etc and very few corners in images
or areas in an image containing plain regions like sky or water. In order to obtain a
sufficient number and a uniform distribution of features across the image in any
scenario, pre-processing is done to enhance the corners and they are detected in all the
four quadrants using an adaptive threshold.
A combination of cross correlation and confidence value of the corner is used to
match the corner features. In template matching, an image block of size
centered
about the corner point in the present frame is used as a template to be matched with
similarly obtained image blocks about the feature points in the previous frame. The
best match is obtained by comparing the normalized cross-correlation values obtained
by template matching against each image block and a minimal threshold value is set
to reject false matches.. The following equation gives the value of normalized crosscorrelation and the minimum threshold condition
0.8
(1)
In the above equation, is the normalized cross-correlation value, N is the size of the
image block, x and y are the pixel values of the image blocks from present and
previous frames respectively. Templates are usually sensitive to rotation, scaling and
illumination changes. However, it is safe to assume that such variations in subsequent
frames are very less when the image block size is chosen carefully, hence template
matching usually gives a proper match.
As the strength of the corner pixel does not change drastically in subsequent
frames, the matched image block is further validated by comparing the pixel intensity
(confidence) value of the feature extracted (corner).
2.2 Edge Based Template Matching
The extraction of corner points is time consuming as it gives a large number of
features and template matching needs to be done further for all the obtained features.
In order to decrease the computation, edges are used instead of corners, as it requires
very less computation to extract edges than to extract corners. The image is smoothed
as a pre-processing step to eliminate the edges that arise due to noise.
352
Canny edge detection is performed on the smoothed image to obtain the connected
edges. The image is uniformly divided into image blocks (IB) of size
and each
block is checked for edges present. The equation to obtain the fraction of edge content
in IB is given below
1
0
0
.
0
(2)
is the fraction of edge pixels in the image block IB. The blocks are discarded if the
fraction e is less than a minimum threshold . The centre point of IB can be used as
the feature point.
Since only a few matching features are sufficient for estimating the motion vectors,
we can choose the required number of image blocks and perform template matching
to identify corresponding image blocks in the previous frame. For each selected IB in
the present frame, a corresponding search window of size (
2 ,
2 ) is
selected from the previous frame.
and
are distances in x and y directions which
are dependent on the maximum translation possible in respective directions. The best
match is obtained by comparing the normalized cross-correlation values.
The computation time for this method is minimal because template matching is
done only for the selected blocks, as compared to corner features where the template
matching is done for all the obtained feature points.
(3)
P is the total number of feature points selected. If the difference between the error
and the
_
is greater than a threshold for a feature point then it is
discarded. This process successfully eliminates the outliers due to local motion.
3.1 Motion Estimation
The relationship between the co-ordinates of present and previous frames using affine
model is shown in the following equation.
=
1
*
0
353
(4)
(5)
(6)
and
are scaling in x and y directions respectively and is the angle of
rotation. The matched co-ordinates from successive frames are pooled to form a
matrix.
=
1
*
0
1
.
(7)
(8)
(9)
where,
is the estimate of the intentional motion in the present frame,
is the
motion vector obtained using motion estimation step, the subscripts p and (p-i) denote
the respective frame numbers, k is length of the moving average filter. The estimated
) is subtracted from the motion vector obtained using
intentional motion (
354
motion estimation to obtain the motion due to jitter. The compensation is done for the
jittery motion to obtain a stabilized video. The intentional motion estimated may not
be equal to the actual intentional motion, but the aim of video stabilization is to obtain
a video that is free from jittery motion and pleasing to the eye, rather than to exactly
track the intentional motion.
4 Experimental Results
The algorithm has been tested by performing informal subjective evaluation of the
output corresponding to 20 videos taken for different test conditions. The test
scenarios considered are jittery videos with dolly motion, with stationary and moving
objects, videos having variations in illumination conditions etc. Compared to corner
based template matching, edge based template matching for video stabilization is
much faster. It takes 40 to 50ms to correct the unintentional motion in each frame that
corresponds to 20 to 25 fps (frame rate per second) on a 3.0GHz Intel Pentium 4
processor using Open-CV software. The performance can also be significantly
improved if implemented on embedded boards, which are commonly used for vision
based applications.
(a)
(b)
Fig. 2. Filtered motion vectors obtained using moving average filter. (a) along horizontal
direction (b) along vertical direction.
In Fig 2, we see that the motion vectors obtained after application of moving
average filter (thicker line in the figures) have fewer jitters and are much smoother
than the estimated motion vectors. The filtered motion vector is free from jitters and
the video thus obtained is smooth.
Fig 3 shows the comparison of stabilized and original image sequences at different
instances. The highlighted areas along the perimeter in the right-hand-side of the
images indicate the unintentional motion that is compensated for in that particular
image frame. The highlighted area also gives an idea of the type of distortionswhether translational, rotational or scale- that are caused due to jitter, with respect to
the previous frame. The sequence on the left side of Fig. 3(a) and 3(b) is the original
sequence and the sequence of the right side is the stabilized sequence. Videos in Fig
3(a) and 3(b) are taken in low light and bright light conditions respectively.
(a)
355
(b)
Fig. 3. Stabilized sequence of a video which undergoes dolly motion. Original sequence is on
the left side and the stabilized sequence is on the right side of the images.
The images in Fig. 4(a) and 5(a) are obtained by overlapping 20 consecutive
frames of original video sequence and images, Fig. 4(b) and 5(b) are obtained
similarly for the stabilized video sequence. Since there is dolly motion present in the
video, we expect a motion blur when successive frames in the sequence are
overlapped. However, the edge information should not vary drastically. The original
sequence is affected by jitter along x and y directions and due to rotation. Notice the
highlighted portions in the images, it is difficult to identify the objects in the original
image sequences of Fig. 4(a) and 5(a) due to excessive blurring, but they can clearly
be identified in the stabilized image sequences of Fig. 4(b) and 5(b). Further
confirmation can be obtained by comparing the edge maps of the original and
stabilized image sequences. The edge maps in 4(d) and 5(d) are much more detailed
than the edge maps in figures 4(c) and 5(c).
The proposed algorithm does not give the expected results in scenarios where the
number of features detected in background is very less than the foreground. Consider
an example of a boat moving on water, the background consists of sky and water,
there are very few corner points in the background, and the corner points obtained are
mainly due to the boat. The motion estimated using these vectors gives the local
motion of the boat and not the motion of the camera.
356
(a)
(b)
(c)
(d)
Fig 4. The figures are obtained by overlapping 20 consecutive frames. (a) Original Image
sequence (b) Stabilized Image sequence (c),(d) Corresponding edge maps.
(a)
(b)
(c)
(d)
Fig 5. The figures are obtained by overlapping 20 consecutive frames. (a) Original Image
sequence (b) Stabilized Image sequence (c),(d) Corresponding edge maps.
357
5 Conclusions
In this paper, we have presented a simple and computationally efficient video
stabilization algorithm that is robust to distortions in translation and rotation. We
estimate the global motion vectors and filter them to obtain a stabilized sequence. The
accuracy of other methods known in literature relies heavily on the complexity of
features used for matching, and as such, give poor performance with respect to time
and computation.
The speed and performance of this algorithm for stationary videos is excellent and
suitable for use in real time applications. The speed of the algorithm reduces slightly
for videos containing intentional motion; however, it is acceptable for any practical
case. When used as a pre-processing step of an object detection scheme, the detection
accuracy can improve due to the stabilization. Also, the quality of output is smooth
and pleasing to view.
References
1. Vella, F., Castorina, A., Mancuso, M., Messina, G.: Digital image stabilization by
adaptive block motion vector filtering. IEEE Trans. on Consumer Electronics 48(3)
(August 2002)
2. Lowe, D.: Distinctive image features from scale-invariant key points. International Journal
of Computer Vision 60(2), 91110 (2004)
3. Fischler, M.A., Bolles, R.C.: A Paradigm for Model Fitting with Applications to Image
Analysis and Automated Cartography. Comm. of the ACM 24, 381395 (1981)
4. Jin, J.S., Zhu, Z., Xu, G.: A Stable Vision System for Moving Vehicles. IEEE Transaction
on Intelligent Transportation Systems 1(1), 3239 (2000)
5. Ko, S.J., Lee, S.H., Lee, K.H.: Digital image stabilizing algorithms based on bit-plane
matching. IEEE Transaction on Consumer Electronics 44(3), 617622 (1998)
6. Litvin, A., Konrad, J., Karl, W.C.: Probabilistic video stabilization using Kalman filtering
and mosaicking. In: Proc. of SPIE Electronic Imaging, vol. 5022, pp. 663674 (2003)
7. Chang, J., Hu, W., Cheng, M., Chang, B.: Digital image translational and rotational
motion stabilization using optical flow technique. IEEE Transactions on Consumer
Electronics 48(1), 108115 (2002)
8. Harris, C., Stephens, M.: A combined corner and edge detection. In: Proceedings of the
Fifth IEEE International Conference on Automatic Face and Gesture Recognition, pp.
287293 (May 2002)
9. Tico, M., Vehvilainen, M.: Robust Method of Videos Stabilization. In: EUSIPCO
(September 2007)
10. Chang, H.C., Lai, S.H., Lu, K.R.: A robust and efficient video stabilization algorithm. In:
ICME 2004: International Conference on Multimedia and Expo., vol. 1, pp. 2932, 7, 30,
40, 49, 64. IEEE, Los Alamitos (2004)
Abstract. Gaining the understanding of objects present in the surrounding environment is necessary to perform many fundamental tasks. Human vision
systems utilize the contour information of objects to perform identification of
objects and use prior learnings for their classification. However, computer
vision systems still face many limitations in object analysis and classification.
The crux of the problem in computer vision systems is identifying and grouping
edges which correspond to the object contour and rejecting those which correspond to finer details.
The approach proposed in this work aims to eliminate this edge selection
and analysis and instead generate run length codes which correspond to different contour patterns. These codes would then be useful to classify various
objects identified. The approach has been successfully applied for day time
vehicle detection.
Keywords: Object Classification, Discrete Haar Wavelet Transform, Contour
Pattern Detection, Run length Codes.
1 Introduction
The basic task required for any such system is recognition of objects present in the
surrounding environment. The human vision is a highly sophisticated system which
has evolved over millions of years and handles this task with ease. But computer
vision and hardware are still in a comparative nascent stage. Hence suitable logic
needs to be developed to compensate for lack of sophisticated hardware.
From detailed studies and research performed, it has been observed that the strongest cue for identification and recognition of objects is the boundary i.e. the contour of
the object. Human vision system has highly developed cells and complex mechanisms
for detection and grouping of bar, gratings and edges observed into object contours.
Computer vision systems perform this task in an analogous manner. They identify
possible edges of objects and use developed logic for identifying regions in the image
which correspond to real world objects.
There is an inherent non-trivial task of filtering out edges corresponding to finer details and grouping of boundary edges. A major challenge faced in this task is preparing
data structures and logical algorithms for automatic object detection for a variety of
environmental scenes, pose and appearances [1].
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 358367, 2011.
Springer-Verlag Berlin Heidelberg 2011
359
In this work, it is proposed that instead of detecting edges and then grouping those,
the structure of the objects can be inferred from suitable distribution of edges. Hence
filtering out of weak edges, grouping of strong edges and connecting them automatically can be avoided. Representation for the object structure for automatic parsing is
handled by encoding the structure in run length binary codes. This method is experimented for daytime vehicle detection in complex urban scenes.
360
distribution can be used for classification and reducing the complex and time consuming learning process.
The transform can be represented as the weighted sum and differences over the entire image. This weighted sum is termed as the coefficient of the Haar wavelet basis
functions. Haar wavelet coefficients are of high value where there are distinct edge
features.
Haar Wavelets are utilized for vehicle detection because they offer many advantages such as
361
They are simple to implement with algebraic operations of averaging and differencing with less time complexity.
They encode edge information from multiple scales inherently. They also form
orthogonal basis and thus provides a non redundant compact representation of
the image structure.
4 Contour Suppression
One of the problems with contemporary edge detectors is that they do not make a
distinction between contours of objects and edges originating from textured regions.
Detection of edges is very much dependant on filtering out noise as well as unimportant edge features. So a biologically motivated technique is used to improve the edges
detected by using Haar Transform.
In human vision, classical receptive field (CRF) is the region for which neural cells
gives maximum response for edges of specific orientation and size. [12].
A cell simulated in the CRF is also affected by the stimulus given to cells outside
the defined CRF. The effect is inhibitive in nature and is referred to as non-classical
receptive field (non-CRF) inhibition.
Using this inhibition, texture regions can be handled by edge detectors. Normal
edge detectors will exhibit strong stimulus for contours and less for texture edges. So
there can be separation in edges belonging to boundary region and those belonging to
texture of region
A centre surround model is used for suppression on edges. This model is based on
neurons present in retina. Essentially it is positive scaling factors at centre which
decrease towards negative values at the edges [13].
362
Thus we can observe that the kernel values are selected such that the centre of the
region is affected by a large positive scaling while the boundaries of the regions are
affected by a negative scaling. This negative scaling is the inhibitive effect observed.
0
1
0
0
0 = { [1 , 0 , 1] , [ 0, 1, 0] , [ 0, 0,1] }
1
To illustrate, plots for some common euclidean structures are shown in Fig. 4. The
bars indicate the nomralised run value for specific element of code.
363
Thus, the run length code for regular shapes follows deterministic trend. This fact
is used in detecting the vehicles in day time where removing the false detection after
segmentation is one of the challenging tasks. Run length code for potential vehicle
regions follows some deterministic pattern over the false vehicle regions.
Further section elaborates on the approach of using this variance value for classification in day time vehicle detection.
7 Classification
The edges detected in the image are the structural information of the objects. Contour
suppression logic is added in the approach to improve the accuracy of detected edges.
Then the edge pixels are scaled to binary format by thresholding.
After this edge detection, the pixel coefficients are used as features for learning
algorithms. In approaches outlined earlier, an extensive training database and algorithms such as SVM, NN are used for classification.
It is hypothesized that it is possible to represent the edge pixels as structural information using some features and separate the classes by simple linear thresholding.
To ratify this hypothesis a series of experiments with different approaches was
performed as follows
7.1 Profile Based Classification
The structural information in itself can also act as a feature for classification by using
the row dimensional profile of the edge pixels. This profile is generated by summing
the pixel values row wise. The deterministic nature of this profile can be used to separate the classes. This nature can be quantified in form of the variance of the profile.
7.2 Run Length Based Classification
It is observed that discontinuities in the rows at column level are lost in dimensional
profiling. So the pixels are represented as runs of 1s in a particular row. This was
364
done to represent the structure more accurately. The deterministic nature of the run
length code is quantified in form of the scatter obtained in the data points of the code.
The forward difference of the run length code is obtained to remove the scaling in
intensity levels as well as to obtain the transitions in runs. The forward difference is a
1-D array of length equal to the obtained run length code. This array is assumed as the
data set and the variance of the data set is calculated. It is observed that this variance
value proves to be capable of differentiating non-vehicles and vehicles efficiently.
7.3 Comparative Analysis
To evaluate the proposed approach against previous state of art approach , a comparative analysis was done on the run length code approach and the approach using SVM
and level scaling (3rd Approach) as proposed by Wen et al.[]
Here, the comparison parameter was the accuracy tradeoff and the reduction in
time complexity and efforts.
7.4 Performance Evaluation
Classification of true and false vehicles is usually performed over a test database.
Training is done using a small subset to select various parameters such as thresholds.
Performance measures for classification considered are false classification ratio and
true classification ratio for vehicle candidate.
CRt = Nt / Ni+
(1)
CRf = Nf / Ni-
(2)
where,
CR is Classification Ration
N is Labels identified as belonging to a particular Class
Ni is Labels predefined as belonging to a particular Class
8 Experimental Results
The training set consists of 20 vehicles and 20 non vehicles. A test dataset of 100
vehicles and 100 non vehicles was collected in varying conditions for day time. This
dataset was used for classification of vehicles and non-vehicles.
8.1 Profile Based Classification
The randomness of the dimensional profile obtained as described earlier is used to
classify the vehicle regions. This randomness can be found by using the spread of the
profile data points and the corresponding variance values. A suitable threshold is
selected for separation of the two classes using the training data .This threshold is the
mean value of the range of thresholds available.
365
Class
Vehicle
Non-Vehicle
N
100
100
Ni
74
77
CR
74
77
Accuracy in %
74
77
Class
Vehicle
Non-Vehicle
Ni
100
100
89
72
CR
89
72
Accuracy in %
89
72
Thus it is observed that if the value of the threshold is set to the median of the
range of available linear threshold values, there is an increase in the vehicle detection
accuracy by almost 15%. This is observed however for a small test data-set.
8.3 Comparative Analysis
The approach followed by Wen et al. using SVM is compared for the improvement in
time complexity.
It is observed that for training and testing the same database for SVM the time
complexity is increased as compared to our approach
The SVM comparison is done using the SVM and Kernel Methods Matlab Toolbox
which is implemented entirely in Matlab. The simulation was done on an Intel Core
2 Duo processor with 2.19 GHz processing speed and 3 GB RAM. The time measured
is on basis of the standard CPU time scale.
Table 3. Comparitive Analysis based on SVM
Classification Approach
Profile based
2.6186 seconds
SVM based
8.1191 seconds
The accuracy of the proposed approach is less as compared to SVM with SVM being over classified at 100 % accuracy on a small data set.
366
367
References
1. Basu, M.: Gaussian-based edge-detection methods: A Survey. IEEE SMC-C (32), 252
260 (2002)
2. Matthews, N.D., An, P.E., Charnley, D., Harris, C.J.: Vehicle detection and recognition in
greyscale imagery. Control Eng. Practice 4(4), 473479 (1996)
3. Goerick, C., Detlev, N., Werner, M.: Artificial neural networks in real-time car detection
and tracking application. Pattern Recognition Letters 17, 335343 (1996)
4. Sun, Z., Bebis, G., Miller, R.: On-road vehicle detection using Gabor filters and support
vector machines. Digital Signal Processing, 10191022 (2002)
5. Papageorgiou, C., Poggio, T.: A trainable system for object detection. International Journal of Computer Vision 4(4), 1533 (2000)
6. Sun, Z., Bebis, G., Miller, R.: Quantized wavelet features and support vector machines for
on-road vehicle detection. In: 7th International Conference on Control, Automation, Robotics and Vision, vol. 3, pp. 16411646 (2002)
7. Sun, Z., Bebis, G., Miller, R.: On-road vehicle detection using optical sensors: a review.
In: IEEE International Conference on Intelligent Transportation Systems, pp. 585590.
IEEE Press, Washington, DC (2004)
8. Sun, Z., Bebis, G., Miller, R.: Monocular precrash vehicle detection: features and classifiers. IEEE Transactions on Image Processing (2006)
9. Wen, X., Yuan, H., Yang, C., Song, C., Duan, B., Zhao, H.: Improved Haar Wavelet Feature Extraction Approaches for Vehicle Detection. In: Proceedings of the 2007 IEEE Intelligent Transportation Systems Conference, Seattle, WA, USA, September 30-October 3
(2007)
10. Canny, J.F.: A computational approach to edge detection. IEEE PAMI 8(6), 679698
(1986)
11. Mallat, S.: A Wavelet Tour of Signal Processing
12. Grigorescu, C., Petkov, N., Westenberg, M.A.: Contour detection based on non-classical
receptive field inhibition. IEEE Trans. on Image Processing, 729739 (2003)
13. Papari, G., Campisi, P., Petkov, N., Neri, A.: A multiscale approach to contour detection
by texture suppression. In: SPIE Image Proc.: Alg. and Syst., San Jose, CA, vol. 6064A
(2006)
14. Canu, S., Grandvalet, Y., Guigue, V., Rakotomamonjy, A.: SVM and Kernel Methods
Matlab Toolbox. In: Perception Systmes et Information. INSA de Rouen, Rouen (2005)
1 Introduction
The major challenge in road transportation is to increase the safety of the passengers.
A survey on the vehicle accidents statistics [3] predicts 10 million injuries each year.
Amongst these, rear-end collisions and forward collisions are most common types of
road accidents, wherein the major threat to the driver is due to other vehicles. Vehicle
detection and tracking find a major application in all collision avoidance systems.
Vehicle detection can be accomplished either by hardware sensors like radar or
laser, or by vision based software methods. Hardware sensors such as laser and radars
are very expensive and cannot be used in low-end vehicles. Ultrasound sensors are
cost effective but their application is restricted due to the limited detection range.
A number of vision-based techniques have been used over the past few years to
detect vehicles in various road scenarios. Vision based methods used for vehicle
detection can be categorized based on hypothesis generation or hypothesis
verification [1]. K.Lim, L.Ang, K.Seng and S.Chin present a comparative study on
few vehicle detection techniques in [1]. The study shows that some methods are
symmetry based, but symmetry estimation is sensitive to noise. Shadow based vehicle
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 368377, 2011.
Springer-Verlag Berlin Heidelberg 2011
Real Time Vehicle Detection for Rear and Forward Collision Warning Systems
369
detection does not provide a systematic way to choose proper threshold and could be
affected due to illumination variations. Other methods based on texture, motion,
entropy analysis, stereo vision etc. are computationally expensive. However, the
presence of over bridge, flyover roadways, and signboards may decrease the
performance of above-mentioned techniques. Couple of methods use profiling, optical
flow and edge detection for detecting vehicles [4], [2].
N. Matthews, P. An, D. Charnley, and C. Harris [6], used edge detection to find
strong vertical edges to localize left and right position of a vehicle,. The left and right
position of a vehicle is estimated by finding the local maximum peaks of the vertical
profile.
Most of the mentioned methods use classifiers after vehicle segmentation, which
increases the computation time and sometimes classifies vehicle as non-vehicle.
In the proposed work, videos are captured from a moving car for both rear and
forward collisions. The captured videos are analysed for detecting forward path and
passing-by vehicles. The ROI is selected based on lane detections and using the
concept of vanishing point. The vehicle regions are localized using profiling. Once
the probable regions are detected, further processing based on vehicle geometry such
as vehicle base, aspect ratio etc. removes false detections The method is robust to
detect vehicles under normal day-light highway conditions. Since classifiers are not
used, it provides a very real time performance.
The proposed work is presented as follows. Section 2 provides the algorithm
details for detecting forward vehicles. Section 3 provides algorithm details for
detecting passing vehicles followed by tracking module in section 4. The experiments
and results are summarized in section 5 followed by conclusion in section 6.
Fig. 1 illustrates the block diagram for the proposed vehicle detection algorithm.
370
(a)
(b)
Fig. 2. (a) Original image, (b) Region of interest
2.1
ROI Selection
For forward vehicle detection case, it is assumed that vehicles are present only
between the end lanes of the road and below the vanishing point, original image and
region of interest is shown in Fig. 2(a) and 2(b) respectively. The lanes are detected
using Hough transform [5], applied on the canny image. Hough transform provides
multiple lanes and needs further analysis to extract the required region. The outer
most lanes are selected based on the lane slope. Analysis showed that if the slope is
selected varying from 5 to 175 degrees, the required lanes can be extracted. The result
of the extracted lane is presented in Fig. 3(a). Based on the extracted lanes, the
vanishing point is computed and the required ROI selected. The selected ROI is as
shown in Fig. 3(b). In case of rear-end systems; the lane detection is done for only
one side using the above-mentioned procedure.
(a)
(b)
Real Time Vehicle Detection for Rear and Forward Collision Warning Systems
371
2.2 Profiling
Edge based profiling is performed on the selected ROI. Foremost, the horizontal and
vertical edge detection is performed on the ROI region using sobel operator. The
obtained edge image consists of edges due to vehicles and some noise edges due to
lanes and irregularities on the road. The false edges are discarded based on their
lengths using morphological opening functions. A threshold edge map is created for
prominent edges. To compute edge profile, we sum up the edges column wise and
row wise for vertical and horizontal edge image respectively using Eq. 1, Eq. 2
respectively, where v and h are vertical and horizontal projection vectors. A large
value for vi indicates pronounced vertical edges along V ( xi , y , t ) . A large value for
i=1
i=1
h = (h1,h2,......
hm) = (H(xi , y1,t),........
.,H(xi , yn,t)) .
(1)
(2)
j =1
372
detected. Horizontal edge detection is used to obtain the edge due to base of the
vehicle as shown if Fig. 6. A square window is considered around horizontal edge and
the number of non-zero pixels for the same image block is checked in the canny edge
image, if the percentage of non-zero pixels is more than a predetermined threshold,
the block is retained else discarded. This procedure helps to eliminate the false
detection due to other objects like poles or sign board. The detected objects are
retained on basis of their aspect ratio and maximum/ minimum areas. This further
reduces false detections.
Real Time Vehicle Detection for Rear and Forward Collision Warning Systems
373
|I
x , y R
( x, y) I k ( x, y) | .
(3)
4 Tracking
In order to further improve the real time performance of the system, tracking module
is introduced after the detection block. The method uses histogram based tracking
374
module using mean-shift algorithm [7]. The detected vehicle is represented using a
rectangular region with centre position co-ordinates (c x , c y ) and width and height
dimensions
intensity histogram within the rectangular region. The target vehicle in the current
image is located and tracked in subsequent frames. The tracking module tracks all
detected vehicles for next N frames (N=10). The tracking module also provides
consistency in drawing boxes round the vehicles and removing misdetections in
adjacent frames. Tracking results are presented in Fig. 8.
5 Experiments
The algorithm is tested on multiple videos for both rear and forward scenarios. The
forward scenarios are considered for highway conditions whereas the rear scenario is
considered for city conditions. The accuracy of the algorithm is presented in Table.1.
The results include data taken on highways and different Indian road scenarios,
described as follows.
Table 1. Result obtained
Total Frames
Forward
Collision
Rear-end
collision(Bright
Condition)
Rear-end
collision (Rainy
Condition)
Detected
Vehicles
2824
Accuracy
94.13%
False Positive
Rate
0.19
647
92.45%
0.2
919
51.9%
0.4
Real Time Vehicle Detection for Rear and Forward Collision Warning Systems
375
a)
For bright condition, the number of total vehicles was 700 in 500 frames,
of which 560 vehicles were detected correctly. The output is shown in
Fig. 10.
b) For rainy condition, the total number of vehicles was 1800 in 1000 frames,
of which 919 vehicles were detected correctly. The output is shown in
Fig. 11.
As presented in the results, the algorithm achieves best performance in highwayroad scenarios with an accuracy of about 95%. It is observed that the vehicles in
the same lane as that of the host vehicle (in-path) are always detected by the
mentioned technique, and the misdetections are generally for the side and
passing-by vehicles. The performance of the algorithm deteriorates for city type
conditions where the results are poor in case of rain weather. As shown, in rainy
conditions, accuracy is poor due to reflections from vehicles and other objects on
the road. The processing speed of the proposed algorithm is 15 fps and can be
used in real time applications.
(a)
(b)
(c)
(d)
Fig. 9. Highway road conditions for forward vehicle detections. Algorithm analysed for
N=2000 frames.
376
(a)
(b)
(c)
Fig. 10. Normal bright city condition for rear vehicle scenario
(a)
(b)
(c)
Fig. 11. Rainy condition for rear vehicle scenario
Real Time Vehicle Detection for Rear and Forward Collision Warning Systems
377
6 Conclusions
This paper presents a simple robust real-time application for detecting vehicles in
rear-and forward collision regions for daytime scenarios. Results from experimental
video sequence demonstrate the high performance of the system and low false
positive rate under ideal road scenarios. The algorithm has a very high accuracy at
detecting in-path vehicles. The performance is degraded under rainy weather
scenarios because of improper segmentation obtained from multiple edges due to
reflections from various objects. The algorithm finds applications in collision warning
systems, where warning is provided to the host vehicle is case of a possible collision.
The algorithm is more effective for highway type of scenarios in normal daylight
conditions. Future work includes developing robust technique for detecting vehicles
under various weather conditions and for NIR videos.
References
1. Lim, K.H., Ang, L.M., Seng, K.P., Chin, S.W.: Lane-vehicle detection and tracking. In:
International Multi Conference of Engineers and Scientists, March 18-20, vol. 2 (2009)
2. Betke, M., Haritaoglu, E., Davis, L.S.: Real-time multiple vehicle detection and tracking
from a moving vehicle. Machine Vision and Application 12, 6983 (2000)
3. Sun, Z., Bebis, G., Miller, R.: On-road vehicle detection: A review. IEEE Transaction on
Pattern Analysis and Machine Intelligence 28(5) (May 2006)
4. Sotelo, M.A., Barriga, J.: Rear-end collision detection using vision for automotive
application. Journal of Zhejiang University Science A 9(10), 13691372 (2008)
5. Galambos, C., Kittler, J., Matas, J.: Progressive Probabilistic Hough Transform for Line
Detection. In: IEEE Computer Society Conference on Computer Vision and Pattern
Recognition, vol. 1, p. 1554 (1999)
6. Matthews, N., An, P., Charnley, D., Harris, C.: Vehicle Detection and Recognition in
Greyscale Imagery. Control Eng. Practice 4, 473479 (1996)
7. Comaniciu, D., Ramesh, V., Meer, P.: Kernel-based Object Tracking. IEEE Transactions
on Pattern Analysis and Machine Intelligence 25(5) (May 2005)
1 Introduction
Biometric technologies can be roughly divided into those that that identify a person or
authenticate a persons identity [1]. Personal identification number (PIN) is one
commonly used confidential sequence of numerals to authenticate a persons
identity, as employed in automated teller machine (ATM) to withdraw cash or
perform other functions. In recent years, PINs have been used to authenticate debit
and credit cards in lieu of signatures. In this paper, we investigate a method to
generate PIN using only brains electrical activity (i.e. electroencephalogram (EEG)).
The advantage is obviously that it is less prone to fraud such as shoulder surfing
problem as in the conventional method of keying in the numbers.
The method follows the recent developments in brain-computer interface (BCI)
technology [2]. BCI designs were initially developed to assist the disabled to
communicate with their external surroundings as they circumvent the peripheral
nerves and muscles to create a link between the brain and computers/devices. In
recent years, BCI designs have been explored for other purposes such as biometrics
[3, 4], games design [5], virtual reality [6] and robotics [7].
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 378385, 2011.
Springer-Verlag Berlin Heidelberg 2011
379
There are many BCI paradigms, the most common being the non-invasive EEG
based. EEG based BCI designs could be further divided into those based on transient
evoked potential, motor imagery, slow cortical potential, mental task and steady state
evoked potential. Transient evoked potential method, more commonly known as the
P300 method as it is based on a potential that is generated about 300-600 ms after the
stimulus onset, is probably the method chosen by many BCI researchers due to its
simplicity and ease of use by the subjects. The thought based PIN generation
investigated here is based on this P300 based BCI.
2 Methodology
Three right handed male subjects aged 24 participated in this study. The objective of
the experiment and the description of the experiment were given to the subjects before
they signed a voluntary consent. The experiment was approved by the University of
Essexs Ethics Committee. The subjects were seated in a room with computer screen
projected about 30 cm from their eyes. The subjects had no uncorrected visual
problems. The visual stimulus paradigm is as shown in Figure 1.
0
Fig. 1. Visual stimulus paradigm
The numbers on the screen were flashed randomly with each flash lasting 100 ms
with 75 ms inter-stimulus interval (ISI). These timings were chosen from a previous
study [7]. The subjects were asked to concentrate on a given target number and to
keep a mental count of the target flashes (this is to avoid lapses of concentration).
When a target number is flashed, a positive potential about 300-600 ms after stimulus
onset in evoked and shows up in the recorded EEG signal. A total of five trials were
conducted in each session where a trial consisted of ten random flashes of each
number. A short break of 2.5 s was given between each session. A second session was
conducted on a separate week. EEG data from 32 electrodes as shown in Figure 2 was
collected using Biosemi Active Two system. The sampling rate used was 256 Hz. One
second EEG data after stimulus onset from each flash was extracted for further
processing.
380
R. Palaniappan et al.
2.1 Pre-processing
The data was bandpass filtered using a Butterworth IIR filter with order 6. Two
commonly used bandpass ranges of 1-8 Hz [9] and 1-12 Hz [10] were used. Next, the
data was downsampled to 32 samples. Windsorising as suggested in [10] was applied
to remove outlier data beyond 10th and 90th percentiles. A single hidden layer feedforward neural network classifier trained by the backpropagation algorithm was used
to train and test the performance of the processed EEG data.
2.2 Classification
Instead of treating the classification as a ten class problem, the classifier was trained
with only two outputs, one for target and another for non-target. Our preliminary
simulations show that the results are much improved following this strategy. Data
from one session was used to train the neural network while the remaining data from
the other session was used to test the performance of the classifier. To avoid
overtraining the neural network with more non-target instances as compared to target
instances, all 50 target instances (ten numbers x five flashes) were used with 50
randomly chosen non-target instances rather than the total 450 non-target instances.
The training was conducted until mean square error fell below 0.0001 or a maximum
iteration number of 1000 was reached. The hidden layer size was fixed to be similar
to the number of inputs. For example, when 32 channels were used, the size was
1024.
The two outputs of the classifier were added incrementally after each trial. As the
neural network could predict more than a single target for each trial, the maximal
output after considering all the ten flashes in a trial was taken as the predicted target.
381
The classification step was repeated ten times (to reduce effects of different neural
network weight connections) and also cross validated with the training and testing
datasets swapped and performances from these 20 runs were averaged. All the
computer simulations were conducted with MATLAB.
3 Results
Figure 3 shows the grand averaged 1-8 Hz bandpass filtered EEG response from 50
target and 50 non-target EEG signals for a subject. The occurrence of P300
component around 300-600 ms for the target flash (shown in red) as compared to nontarget (shown in blue) is evident from the figure.
Target vs non-target P300 EEG
8
-2
-4
-6
0
0.1
0.2
0.3
0.4
0.5
0.6
Time (s)
0.7
0.8
0.9
0.95
Accuracy
0.9
0.85
0.8
0.75
0.7
0.65
1-8 Hz
1-12 Hz
1
3
No. of trials
382
R. Palaniappan et al.
Classification accuracy for subject 2
1
0.95
0.9
0.85
Accuracy
0.8
0.75
0.7
0.65
0.6
1-8 Hz
1-12 Hz
0.55
0.5
3
No. of trials
Figures 4-6 shows the results from subjects using all 32 channels with passband
ranges of 1-8 Hz and 1-12 Hz. Passband range of 1-8 Hz gave improved performance
(statistically significant, p<0.1) compared to passband range of 1-12 Hz for subjects 1
and 3 when considering the first two trials. For subject 2, 1-8 Hz range gave improved
performance for all the trials. In the figures, accuracy value of 1.00 indicates perfect
classification (i.e. 100%).
Tables 1-3 shows the results comparing the performance using 1 channel, 4
channels, 8 channels, 16 channels and all 32 channels with passband range of 1-8 Hz
(passband range of 1-12 Hz was dropped from further analysis due to its poorer
performance for all the subjects). The locations of multi-channels were obtained from
[10] and are shown in Table 4, while our own preliminary simulations indicated
location Cz to be the most favourable single channel.
The results indicate that perfect classification was obtained after five trials for all
the subjects for all the channel configurations. Hence, using a single channel Cz
would be sufficient if five trials were considered.
Classification accuracy for subject 3
0.95
Accuracy
0.9
0.85
0.8
0.75
0.7
0.65
1-8 Hz
1-12 Hz
1
3
No. of trials
383
0.56
0.67
0.84
0.95
1.00
0.66
0.74
0.83
0.96
1.00
0.71
0.71
0.93
1.00
1.00
16
0.74
0.81
0.97
1.00
1.00
32
0.74
0.79
0.97
1.00
1.00
0.34
0.58
0.73
0.88
1.00
0.46
0.66
0.85
0.85
1.00
0.49
0.63
0.82
0.9
1.00
16
0.50
0.74
0.82
0.88
1.00
32
0.57
0.82
0.96
0.93
1.00
0.58
0.77
0.73
0.85
1.00
0.55
0.63
0.79
0.93
1.00
0.62
0.73
0.92
1.00
1.00
16
0.67
0.8
0.97
1.00
1.00
32
0.65
0.81
0.99
0.99
1.00
8 channels
16 channels
Fz, Cz, Pz, Oz, P7, P3, P4, P8, O1, O2, CP1, CP2,
C3, C4, FC1, FC2
Information transfer rate (ITR), which gives a measure of the performance based on
the accuracy plus number of targets in bits/min was computed using [11]:
1 P .
ITR = log 2 ( N ) + P log 2 ( P ) + (1 P ) log 2
N 1
(1)
R. Palaniappan et al.
Bits per min for subject 1
60
1 ch
4 ch
8 ch
16 ch
32 ch
Bits/min
50
40
30
20
3
No. of trials
Bits/min
30
20
3
No. of trials
Bits/min
384
30
20
3
No. of trials
385
The ITR for each subject is shown in Figures 7-9 with passband range of 1-8 Hz.
The best ITR of 57.29 bpm was obtained for subject 1 for 32 channels, which is much
higher than reported in [10]. For single channel, this was 34.60 bpm for subject 3.
4 Conclusion
A method to generate PIN based on EEG signals has been investigated here. Major
obstacle with EEG based biometric work is the cumbersome usage of many electrodes
but our results indicate that single channel Cz with passband 1-8 Hz is appropriate
for the investigated objective assuming a minimum of five trials. Furthermore, a
reduction in the number of channels will reduce the cost, computational time and
complexity. The perfect accuracy that is obtained after five trials shows the promise
behind the method for fraud-resistant PIN generation. The design of the new
capacitive electrodes will further remove the obstacle of having to use wet-EEG
electrodes thereby bringing this method closer to deployment in the real world.
References
1. Wayman, J., Jain, A., Maltoni, D., Maio, D. (eds.): Biometric Systems: Technology,
Design and Performance Evaluation. Springer, Heidelberg (2004)
2. Wolpaw, J.R., Birbaumer, N., McFarland, D.J., Pfurtscheller, G., Vaughan, T.M.: Braincomputer interfaces for communication and control. Clinical Neurophysiology 113(6),
767791 (2002)
3. Palaniappan, R., Mandic, D.P.: Biometric from the brain electrical activity: A machine
learning approach. IEEE Transactions on Pattern Analysis and Machine
Intelligence 29(4), 738742 (2007)
4. Ravi, K.V.R., Palaniapan, R.: Improving visual evoked potential feature classification for
person recognition using PCA and normalization. Pattern Recognition Letters 27(7), 726
733 (2006)
5. Neurosky, http://www.neurosky.com
6. Cho, H.-s., Goo, J.J., Suh, D., Park, K.S., Hahn, M.: The virtual reality brain-computer
interface system for ubiquitous home control. In: Sattar, A., Kang, B.-h. (eds.) AI 2006.
LNCS (LNAI), vol. 4304, pp. 992996. Springer, Heidelberg (2006)
7. Geng, T., Gan, J.Q., Hu, H.: A self-paced online BCI for mobile robot control.
International Journal of Advanced Mechatronic Systems 2(1-2), 2835 (2010)
8. Krusienski, D.J., Sellers, E.W., Cabestaing, F., Bayoudh, S., McFarland, D.J., Vaughan,
T.M., Wolpaw, J.R.: A comparison of classification techniques for the P300 speller.
Journal of Neural Engineering 3, 299305 (2006)
9. Gupta, C.N., Palaniappan, R.: Enhanced detection of visual evoked potentials in braincomputer interface using genetic algorithm and cyclostationary analysis. Computational
Intelligence and Neuroscience (Special Issue on Brain-Computer Interfaces: Towards
Practical Implementations and Potential Applications) 2007, Article ID 28692, 12 pages
(2007), doi:10.1155/2007/28692
10. Hoffmann, U., Vesin, J.M., Ebrahimi, T., Diserens, K.: An efficient P300-based braincomputer interface for disabled subjects. Journal of Neuroscience Methods 167(1), 115
125 (2007)
11. Obermaier, B., Neuper, C., Guger, C., Pfurtscheller, G.: Information transfer rate in a
five-classes braincomputer interface. IEEE Transactions on Neural Systems and
Rehabilitation Engineering 9(3), 283288 (2001)
Tolerance,
Introduction
387
how security and compliance integrity can be maintained in this new rapidly
evolving cloud computing environment. Even more concerning, though, is the
corporations that are jumping to cloud computing while being oblivious to the
implications of putting critical applications and data in the cloud. So cloud computing environment should be secure enough in maintaining cloud users trust
level as small intrusion can cause a huge loss to both cloud users as well as cloud
service executives [10]. Cloud computing being new and evolving rapidly, intrusions causing damage to its functional and operational units should be taken
care of in their early stages of development.
In this paper we present a framework for intrusion tolerance in cloud computing environment which summarizes how a number of defenses and security
techniques, especially those providing availability, integrity and condentiality
can possibly be integrated in the cloud or within its services. We have studied
the MAFTIA intrusion tolerance framework. This existing framework for intrusion tolerance does not account for essential characteristics of cloud computing,
such as scalability, elasticity, ubiquitous access, computer virtualization, relative
consistency, commodity, reliability. The new framework is obtained by mapping
available intrusion tolerance framework for dependencies such as availability,
authenticity, reliability, integrity, maintainability and safety against new cloud
computing environment wherein for each component we provide requirement,
design description (architecture, specication), reasoning and evidence (why description meets the requirement under assumptions). The framework serves as
an excellent platform for making cloud services intrusion tolerant. To test the
feasibility of the proposed framework a Cloud Computing environment is simulated using CloudSim [12] toolkit, and using Intrusion Tolerance via Threshold
Cryptography (ITTC) [7] mechanism clouds Infrastructure as a service (IaaS) is
made intrusion tolerant. Performance of the new simulated service model is measured using various performance metrics such as total execution time, intrusion
detection time, recovery time, number of cloudlets etc.
The rest of the paper includes following structure, Section 2 provides a brief
summary of the related work in this area. In section 3, we propose our framework.
Section 4 gives the validation of our proposed framework and the paper concludes
in Section 5.
Related Work
A dependable system is dened as one that is able to deliver a service that can
justiably be trusted [1]. Attributes of dependability include availability (readiness for correct service), reliability (continuity of correct service), condentiality
(prevention of unauthorized disclosure of information), and integrity (the absence of improper system state alterations). An intrusion-tolerant system is a
system that is capable of self diagnosis, repair, and reconguration while continuing to provide a correct service to legitimate users in the presence of intrusions.
388
The MAFTIA Project, funded by the European Union, systematically investigated the tolerance paradigm for security in order to propose an integrated
architecture built on this paradigm and to realize a concrete design that can be
used to support the dependability of many applications [4]. MAFTIA was the
rst project that uniformly applied the tolerance paradigm to the dependability
of complete large-scale applications in a hostile environment and not just for
single components of such systems. Its major innovation was a comprehensive
approach for tolerating both accidental faults and malicious attacks in large-scale
distributed systems, including attacks by external hackers and by corrupt insiders. The framework proposed is strongly inspired by the MAFTIA framework,
but we have applied it to an emerging Cloud Computing environment.
A Component Based Framework for Intrusion Tolerance (CoBFIT) [5] provides a platform for building and testing a variety of Intrusion tolerant
distributed systems. The CoBFIT framework, by virtue of its design and implementation principles, can serve as a convenient base for building components
that implement intrusion-tolerant protocols and for combining these components in an ecient manner to provide a number of services for dependability.
This framework is studied to identify the possible components in the proposed
framework.
The Intrusion Tolerance by Unpredictable Adaptation (ITUA) Project proposes to develop a middleware-based intrusion-tolerant solution that helps applications survive certain kinds of attacks. The main goal of ITUA is to add
intrusion tolerance to CORBA architecture by modifying the middleware itself and an existing crash tolerant group communication system (C Ensemble).
These projects do not directly address the specic problem of intrusion tolerance
in cloud environment, but they include the notions of replication, reconguration
that also belong to our framework.
3
3.1
The Framework
Overview of Framework
Fig. 1 shows the intrusion tolerance framework based on the layered design of
cloud computing architecture. In layered design, physical cloud resources along
with core middleware capabilities form the basis for delivering IaaS and PaaS.
The user-level middleware aims at providing SaaS capabilities. The top layer
focuses on application services (SaaS) by making use of services provided by
the lower layer services. PaaS/SaaS services are often developed and provided
by third party service providers, who are dierent from the IaaS providers. In
these service layers, framework components implement the structure of intrusion tolerance in the form of abstractions, primitives, and supporting software
mechanisms that are commonly needed for the creation of intrusion-tolerant services. The framework also shows the components which are to be managed by
the Cloud Security Administration System to make Cloud services intrusion tolerant. It is important to note that implementing any of the cloud computing
service in the proposed framework will not make the service intrusion-tolerant.
389
The service will be intrusion tolerant only if the protocol or the algorithm upon
which the service is based is intrusion tolerant by design.
3.2
Framework Components
Layered Design
1. User Level: This layer includes applications that are directly available to
end-users. We dene end-users as the active entity that utilizes the SaaS
applications over the Internet. These applications may be supplied by the
Cloud provider (SaaS providers) and accessed by end-users either via a subscription model or a pay-per-use basis. Alternatively, in this layer, users
deploy their own applications.
2. Middleware: Cloud computing services rely on several layers of middleware
services that must be able to withstand intrusions and attacks from a very
wide range of players. For an intrusion tolerant service by design, its protocol
or algorithm should be implemented in middleware. It is composed of User
Level Middleware and Core Middleware.
390
391
causes that could give rise to the same detectable impairment. Also it is
necessary to distinguish the internal detectable impairment (error) from the
external impairment (i.e., failure in the service delivered to a user) that
intrusion tolerance techniques aim to prevent [4].
Fault Treatment. At middleware and system level of cloud computing, Cloud
Security Admisnistration is responsible for fault handling.
1. Fault Diagnosis: Fault diagnosis is concerned with identifying the type and
locations of faults that need to be isolated before carrying out system reconguration or initiating corrective maintenance. It involves,
(a) Intrusion diagnosis, i.e., trying to assess the degree of success of an intruder in terms of system corruption.
(b) Vulnerability diagnosis, i.e., trying to understand the channels through
which the intrusion took place so that corrective maintenance can be
carried out.
(c) Attack diagnosis, i.e., nding out who or what organization is responsible
for the attack in order that appropriate litigation or retaliation may be
initiated.
2. Fault Isolation: In Cloud Computing environment fault isolation is needed
to make sure that the source of the detected error(s) is prevented from
producing further error(s). It involves,
(a) Blocking cloud service request from an intrusion containment region that
is diagnosed as corrupt.
(b) Removing a corrupted host from the datacenter or, with reference to the
root vulnerability/attack causes.
(c) Uninstalling software versions with newly-found vulnerabilities
(d) Arresting and taking legal action on an attacker.
3. System Reconguration: All the protocols and algorithms required for cloud
services provisioning are implemented in middleware level. Depending on
the damage level caused due to intrusion in the system, reconguration in
both middleware and system level is required to be carried out by Cloud
Security Administrator. In an intrusion tolerant Cloud environment possible
reconguration actions include,
(a) Virtualization software downgrades or upgrades (using appropriate versions are available on-line for this to be done automatically)
(b) Changing a voting threshold (say from 5-out-of-9 voting to 6-out-of-9
voting) after two corrupt servers have been isolated, so that a further
intrusion can be masked
Cloud Security Administration System. Cloud Security Administration
System is responsible for handling and treating security issues in Cloud environment. Standards that are relevant to security management practices in
the cloud are Information Technology Infrastructure Library (ITIL), ISO/IEC
27001/27002 and Open Virtualization Format (OVF) [6]. Information Technology Infrastructure Library is set of best practices and guidelines that dene
392
an integrated, process-based approach for managing information technology services. Open Virtualization Format (OVF) enables ecient, exible, and secure
distribution of enterprise software, facilitating the mobility of virtual machines
and giving customers vendor and platform independence.
4
4.1
Framework Validation
Simulation Environment
To test the feasibility of the proposed framework a Cloud Computing environment as shown in Fig. 2 was simulated using CloudSim [12] toolkit.
In Cloud Computing user submits a cloudlet (cloud service request) to UBroker who is responsible for nding a suitable cloud for servicing user. Cloud
Exchange keeps information about various clouds such as currently available
resources. Upon accepting cloudlets the Cloud Coordinator sends it to D-Broker
who is responsible for creating Virtual Machines on Hosts Machines constituting
a Datacenter. All the cloudlets are scheduled and executed on these Virtual
Machines. The results are updated and sent back to the user.
Intrusion Tolerance via Threshold Cryptography. The simulation toolkit
is extended to add Intrusion Tolerance capability by adding new classes into it. In
this environment, Cloud Coordinator can execute cloud request (cloudlets) only
if the hosts running inside the datacenter are legitimate. For this the datacenter
authentication key is distributed among the hosts using Shamir Secret Sharing
algorithm [2].
393
394
Simulation Results
The performance overhead of incorporating Intrusion Tolerance is measured under dierent scenarios, with varying threshold of secret sharing i.e. k (Fig. 3),
number of hosts in a datacenter i.e. n (Fig. 4), number of hosts failed in a datacenter (Fig. 5). Fig. 3 shows that performance overhead (measured with varying
cloudlets) is maximum for n=2k-1 i.e. 5 out of 9 hosts sharing a secret. Fig. 4
shows performance overhead increases with increase in the number of Hosts in a
datacenter keeping the number of cloudlets constant. In case of intrusions, the
total execution cost involves intrusion detection cost and system recovery cost.
Fig. 5 shows datacenter performance in case of failure of Hosts. Total execution
time increases with the number of Hosts failed.
395
References
1. Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Trans., Dependable and Secure
Computing 1(1), 1133 (2004)
2. Shamir, A.: How to share a secret. Comm. of the ACM 22, 612613 (1979)
3. Saidane, A., Nicomette, V., Deswarte, Y.: The Design of a Generic IntrusionTolerant Architecture for Web Servers. IEEE Trans. 6, 4558 (2009)
4. Powell, D., Stroud, R.: Malicious-and Accidental-Fault Tolerance for Internet Applications: Conceptual Model and Architecture. Technical Report 03011, Project
IST-1999-11583 MAFTIA, Deliverable D21, LAAS-CNRS (January 2003)
5. Ramasamy, H.V., Agbaria, A., Sanders, W.H.: CoBFIT: A Component-Based
Framework for Intrusion Tolerance. In: 30th EUROMICRO Conference (EUROMICRO 2004), pp. 591600 (2004)
6. Information Technology Infrastructure Library,
http://www.itil-officialsite.com/home/
7. Intrusion Tolerance via Threshold Cryptography,
http://crypto.stanford.edu/~ dabo/ITTC/
8. Reynolds, J.C., Just, J., Clough, L., Maglich, R.: On-Line Intrusion Detection
and Attack Prevention Using Diversity, Generate-and-Test, and Generalization.
In: HICSS 2003, Track -9, vol. 9 (2003)
9. Pal, P., Schantz, R., Atighetchi, M., Loyall, J.: What Next in Intrusion Tolerance.
BBN Technologies, Cambridge
10. Popovic, K., Hocenski, Z.: Cloud computing security issues and challenges. In:
IEEE Trans. MIPRO, 2010 Proceedings of the 33rd International Convention, pp.
344349 (May 2010)
11. Proposed Security Assessment and Authorization for U.S. Government Cloud Computing (November 2010), http://www.govinfosecurity.com/
12. Buyya, R., Ranjan, R., Calheiros, R.N.: Modeling and Simulation of Scalable Cloud
Computing Environments and the CloudSim Toolkit: Challenges and Opportunities. University of Melbourne, Australia (July 2009)
1 Introduction
Due to popularity and advance application of Mobile Ad-hoc networks which neither
has fixed infrastructure nor administrative support, where as a conventional wireless
network requires both fixed infrastructure and centralized administration for their
operation [1]. For such a complex network, providing Quality of Service (QoS) is
critical and challenging issue. Traditional MANET routing protocols focused on
finding a feasible route from a source to destination, without any consideration for
optimizing the utilization of network resources or for supporting application specific
QoS requirements [8-10] where the most concerned thing was to find the path from
source to destination which is the shortest among all existing path. Hence to support
QoS, the essential problem is to find a route with efficient available resources, such as
finding the lowest cost or most stable route that meets the QoS constraints. When we
say stable route we actually mean the paths whose time of contact is high in given
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 396405, 2011.
Springer-Verlag Berlin Heidelberg 2011
397
duration of time. Here the simulation was run to check the number of contacts the
nodes make with each other in given simulation time, if the contacts made by the
nodes to each other are stable then we say such link as stable link hence those links
are highly durable and can be trusted in predicting the path which is optimal from
source to destination.
1.1 Previous Work
In our previous work Application of Parallel K-Means Clustering Algorithm for
Prediction of optimal path in Self Aware Mobile Ad-Hoc Networks, in that work we
have found the optimal path from source to sink using the K-Means clustering
algorithm which is one of the popular clustering techniques used for minimizing the
total distance between the group's members and its corresponding centroid; which is
the representative of the group, by finding the best division of n entities in k groups.
The K-Means clustering mines the large datasets in order to find the centroid for the
obtained information from running the simulation for the nodes in the network hence
once the centroid of the cluster was found we tried to group the pattern based on to
which cluster they belonged, hence we finally were able to find the best, good and bad
cluster and find to which cluster the available paths belong to.
The rest of the paper is organized as follows: Section 2 provides an overview
of Map-Reduce technique; Section 3 describes previous result and analysis. 4
Proposed solutions.
398
399
similar to Table 1. The results obtained by Map-phase where clusters are created are
shown in Table 2. Once the clustering is done the master reassigns the reduce phase to
all workers where the worker will compare the each entries of Table 1 with the cluster
average value to decide where it falls i.e. Best, Good or Bad cluster. Results of
Reduce phase are shown in Tables 3.
Table 1. Results Obtained From Software Agents For Nodes 0 And 1
Packet
delivery
ratio
98
95
97
98
94
93
90
93
85
Throughput in
Kbps
Delay in ms
1000.89
998.56
1054.93
980.89
1000.89
1001.01
968.89
997.89
890.09
Packet lost
65
56
65
75
35
55
85
35
55
Packet Sent
12
10
6
24
20
22
06
14
23
Packet Received
668
670
640
658
629
668
635
647
640
650
655
629
650
640
650
630
650
630
Throughput Delay
in Kbps
ms
in
Packet lost
Packet
Sent
Packet
Received
97
1054.93
65
640
629
95
989.355
70.16
14.16
661.1
647.5
90.66
962.9
41.66
19
638
630
This is the intermediate result; which is obtained as the result of map phase. During
the map phase the master will divide the work; example: if there are 5 nodes and if
there are only 2 workers who are been registered with the master, in the first stage the
master will divide the work into (01; 02 ) to worker1 where 01 is the information
obtained when the simulation was run between the nodes 0 and 1, similarly (03, 04)
will be assigned to worker2 now master check if there are any more files still
remaining and since the path 05 is yet to be assigned it will be assigned to worker1
back in round robin fashion. Now the worker who receives the above information will
perform K-Means algorithm and creates the clusters as shown in Table 2. From the
obtained map phase results the master will re-assign the reduce phase to all the
workers where it decides to which cluster the hop belongs to. The reduce phase results
are shown in Table 3.
400
CLUSTER 0 (BEST)
0 TO 1
0 TO 2
0 TO 3
0 TO 4
0 TO 5
3
5
3
8
0
CLUSTER
1 (GOOD)
5
1
2
1
0
CLUSTER
2 (BAD)
2
4
5
1
0
REMARKS
GOOD
BEST
BAD
BEST
NOT REACHABLE
From the above readings we are able find that the hop 0 to 2 and 0 to 4 are optimal
available hops between 0 to all nodes and node 5 is not reachable from 0. Hence
by running the K-Means for rest of all available path obtained by running the
simulation following clusters can be obtained for the paths available; hence the Table
IV shows the result of both map and reduce phase. Following figure 2 shows how the
above stimulation is done to find the effective optimal available path from source 0 to
destination 5.
401
to the dynamic nature of MANETs, maintaining the precise link state information is
very difficult. Finally, the reserved resource may not be guaranteed because of the
mobility caused path breakage or power depletion of the mobile hosts. QoS routing
should rapidly find a feasible new route to recover the service.
Due to the maturity and improving performance of Ad-Hoc Network and wireless
Network its demand and application are improving in very rapid pace due to which
the maintenance of the service is becoming a challenging task. The Key challenge
would be to overcome and face the frequently changing network topology. However,
many applications require stable connections to guarantee a certain degree of QoS. In
access networks, access point handovers may disrupt the data transfer. In addition,
service contexts may need to be transferred to the new access points, introducing
additional overhead and delays to the connection.
Link stability helps in establishing of stable paths between connection peers
between one ends to the other. Re-routing is especially costly in these networks
without infrastructure, since it usually results in (at least partly) flooding the network.
The stability of a link is given by its probability to persist for a certain time span,
which is not necessarily linked with its probability to reach a very high age. Little
work has been published so far on this topic. The related concept of signal stability,
well known from cellular networks, has been used to find the right time for a
handover. Variations in the received signal strength may hint to the movement pattern
of the connection peers and thus allow an estimation of a probable connection loss.
However, received signal strength is largely dependent on actual radio conditions.
Due to fading effects those measurements are subject to large fluctuations.
Here we are able to eliminate those pair of nodes who hardly contact with each
other by which the total time taken for prediction of optimal path from source to
destination can be decreased to much higher percentage, when the simulation was run
we were able to get following Table 4 where the sample simulation result is shown for
every second reading to check whether there exist the link between 2 pair of nodes, if
there exist in time period then it is mentioned as yes else it is mentioned as no:
Table 4. Simulation for finding link stability
0
1
1
2
3
4
5
1to 4
Yes
Yes
Yes
Yes
Yes
Yes
Yes
2 to 6
Yes
Yes
Yes
Yes
Yes
Yes
Yes
3 to 4
No
No
No
No
No
No
No
3 to 6
Yes
Yes
Yes
Yes
Yes
Yes
Yes
4 to 3
Yes
Yes
Yes
Yes
Yes
Yes
Yes
4 to 5
Yes
Yes
Yes
Yes
Yes
Yes
Yes
4 to 6
No
No
No
No
No
No
No
5 to 6
Yes
Yes
Yes
Yes
Yes
Yes
Yes
From the above Remarks we are able to notice that out of 8 exemplary nodes 2
nodes (2 to 6) and (4 to 6) time of contact is very poor hence their link stability is very
poor were in the link stability of rest of the nodes are identified as good nodes hence
network simulation can be run for only those nodes whose link stability is good, by
doing so we are able to reduce the time required to extract the information.
402
PATHS
1 to 4
2 to 6
3 to 4
3 to 6
4 to 3
4 to 5
4 to 6
5 to 6
Yes
0 to 29
0 to 12
0 to 27
0 to 24
0 to 31
0 to 31
31
0 to 31
No
30 to 31
13 to 31
28 to 31
25 to 31
NIL
NIL
0 to 40
NIL
Time of Contact
Yes
No
30
01
13
18
28
03
25
06
32
00
32
00
01
31
32
00
Remark
YES
NO
YES
YES
YES
YES
NO
YES
Figure 6 shows the comparative reading obtained when the algorithm run on 3
machines using link stability technique to that of without link stability technique.
Figure 7 shows the comparative reading obtained when the work is run using 4
workers.
403
Figure 8 was obtained when the algorithm was run on 5 machines and here also we
are able to notice the same observation which we saw in the above result but the total
time taken when the algorithm was run using 5 workers are very less when compared
to above result and it becomes more efficient when the algorithm is run using link
stability technique.
404
4 Conclusion
This Paper proposes the Advantage of including link stability prediction for predicting
the optimal path from source to destination for our previous work which is an
application of Map Reduce technique for parallelizing the K-Means algorithm for
finding the optimal effective path by creating clusters in Self Aware MANET where
each hop along the path is chosen based on whether it falls in Best, Good or Bad
cluster. Also this paper attempts to add self awareness in MANET through software
agents by interacting with the layers of the protocol stack in order to find the status of
different QoS parameters.
References
1. Chakrabarti, S., Mishra, A.: QoS issues in ad hoc wireless networks. IEEE
Communication Magazine 39(2) (February 2001)
2. Manimaran, G., Siva Ram Murthy, C.: An Efficient Dynamic Scheduling Algorithm For
Multiprocessor Real-Time Systems. IEEE Transactions on Parallel and Distributed
Systems 9(3), 312319 (1998)
3. Dean, J., Ghemawat, S.: Map-Reduce: Simpli_ed Data Processing on Large Clusters.
0018-9162/95/ D OSDI IEEE (2004)
4. Nevison, C.H.: Parallel : computing in the Undergraduate Curriculum. Colgate University
0018-9162/95/ D 1995 IEEE (December 1995)
5. Meira Jr., W., Zaki, M.: Fundamentals of Data Mining Algorithms
6. Hartigan, J.A.: Clustering Algorithms. John Wiley & Sons, Inc., New York (1975)
405
Abstract. Moving current Clouds infrastructure to trustworthy Internet scale critical infrastructure requires supporting the infrastructure
with automated management services. Thereby, the infrastructure provides, as described by NIST, minimal management eort or service
provider interaction [11]. The initial step in this direction requires understanding how experts in the domain manage Clouds infrastructure,
and how the infrastructural components are interlinked with each other.
These are the main contribution in this paper; i.e. proposes a Cloud
taxonomy focusing on infrastructure components interaction and management, provides a real life scenario of a critical application architecture
using the proposed taxonomy, and then derive the management services
using the provided scenario. Public Cloud model supports very limited
features in comparison with other models, e.g. community Cloud. In this
paper we analyze the management services at community Cloud to identify the ones which require automation to be adopted at public Cloud.
Keywords: Cloud taxonomy (3-D view), Cloud infrastructure management, infrastructure properties, self-managed services.
Introduction
407
Cloud Evolution
Prior to the virtualization era customers use to provide their application requirements to enterprise architects. Enterprise architects used to provide an
architecture which is typically designed to a specic customer application needs
and requirements. This has caused huge waste of resources, e.g. computational
resources and power consumption. Virtualization technology, which is the foundation of the Cloud infrastructure, brings tremendous advantages in terms of
consolidating resources; however, it is also associated with other problems, e.g.
security and privacy problems [2]. Virtualization era changes the mentality of enterprise architects, as the relation between users and their physical resources are
no longer one-to-one. This raises a big challenge of how such a consolidated architecture can satisfy users dynamic requirements and unique application nature.
Enterprise architects addressed this by studying the environment they inherit
prior to virtualization era, and they found dierent architectures have many
similarities. Such similarities enable enterprise architects to split the infrastructure into groups. Each set of groups can be architected and associated with
certain properties, which enable such a group to address common requirements
of certain categories of applications. For example, a group can be allocated for
applications: i) that can tolerate single point of failures; ii) that require full resilience with no single point of failure; iii) that are highly computational; iv) a
group for archiving systems, etc.
408
I.M. Abbadi
Related Work
In this paper we continue our previous work in [2] which discusses the misconceptions about Cloud computing, introduces Cloud layering concept, and derives
the main security challenges in the Cloud. In this paper we start by proposing a
Cloud taxonomy, and then derive management services and factors aecting their
actions. The factors include both infrastructure properties and user properties.
We have previously dened self-managed services and the security challenges for
providing such services in an extended abstract [1]; however, the foundations of
our previous work are claried in this paper.
There are few related work, which analyze Cloud environment (see, for example, [6,21]). These mainly focus on analyzing Cloud properties, benets, and
services from user perspectives. However, they do not discuss the Cloud infrastructure taxonomy, do not discuss management services and the properties they
require when managing Cloud infrastructure. Our proposed taxonomy does not
contradict or even replace previously proposed ones which mainly focus on different angle from ours. It is rather the opposite, as our taxonomy complete the
picture of such work which consider the physical layer as a black-box and also
does not discuss the management of Cloud infrastructure. Autonomic computing
[8] is not related to our work, as it is mainly concerned about management of
physical resources.
1.3
409
A Cloud infrastructure is analogous to a 3-D cylinder, which can be sliced horizontally and/or vertically (see Figure 1). We refer to each slice using the keyword
layer. A layer represents Clouds components that share common characteristics. Layering concept helps in understanding the relations and interactions
amongst Cloud components. We use the nature of the component (i.e. physical, virtual, or application) as the key characteristic for horizontal slicing of
the Cloud. For vertical slicing, on the other hand, we use the function of the
component (i.e. server, network, or storage) as the key characteristic for vertical
slicing.
410
I.M. Abbadi
411
Network Layer. A network layer is the backbone that provides communication medium between Clouds components. The communication medium can
be either public or private. By public we mean communication occurs over the
Clouds local or wide area network. Private, on the other hand, means communication occurs in a physically dedicated network, which is isolated from the public
network. Such a private network is especially setup between a set of components
to perform a specic function; e.g. (a.) connecting a server to dedicated storage,
as in the case of Storage Area Network (SAN) [20], and (b.) software clustering
as the case in Real Application Cluster (RAC) requires servers member in RAC
to have a private network [16].
From an abstract level the communication amongst Cloud components is organized within dened boundaries that follow a process workow. We refer to such
communication as horizontal and vertical communication, which are described
as follows (see Figure 2).
Horizontal Communication In this type Cloud entities communicate as peers
either inside a sub-layer or across sub-layers. This type of communication
does not span outside layer boundaries. We now discuss what we mean by
horizontal communication in the following examples: (a.) horizontal communication can be realized when storage systems are self-replicated in such
a way one storage entity regularly copies changes of its physical blocks to
a standby storage entity; and (c.) when Virtual Machines (VMs) within a
sub-layer collaborate in a RAC [16] and need to exchange messages to synchronize shared memory (e.g. memory fusion [16]) is also a form of horizontal
communication between VMs.
Vertical Communication In this type Cloud entities communicate with other
Cloud entities in the same or dierent layer following a process workow in
either up-down or down-up directions. This would typically works as follows:
an upper sub-layer component runs a process which generates sub-processes
that should run at lower sub-layer, following a process workow. The lower
sub-layer could be in the same or dierent layer of the upper sub-layer.
The lower sub-layer executes the sub-processes and then sends the result
back to the upper sub-layer. We provide the following example: a multi-tier
application in which the front-end in the Cloud represents a load balancing
component that receives users request and distribute them across the middletier sub-layer. The middle-tier sub-layer, which runs the application logic,
processes the request and generates sub-requests that send them to backend
sub-layer. The backend sub-layer, which runs DB instance, processes the subrequest and then generates sub-sub-request and sends them to the storage
sub-layer. These steps represent up-down communication channel. Each layer
in turn sends their response back in the opposite direction, which represents
the down-up communication channel.
There are many other important network properties, which we do not discuss
in this section for space limitations, e.g. network speed between components,
network nature, any restrictions aecting information ow as in the case of a
rewall stopping certain type of trac, network topology, etc.
412
I.M. Abbadi
413
independent physical machine. Each VM runs its own Operating System (OS),
which is referred to as guest OS. The guest OS runs the VM specic applications.
VMs running in the same physical platform are independent, share the platform
resources in a controlled manner, and they should not be aware about each other;
i.e. a VM can be shutdown, restarted, cloned, and migrated without aecting
other VMs running on the same physical platform.
2.2
In this section we identify the component that can take the role of providing
automated management services. Cloud infrastructure is composed of enormous
components, which are not easy to be managed manually. There are dierent
tools, which help Cloud employees to manage Cloud infrastructure. These cover
virtual resource management, physical resource management, network management, server management, etc. In this paper we are mainly concerned about
virtual resource management tools, which manage virtual resources and their
interaction with physical resources. There are many tools for managing virtual
resources, which are provided by dierent manufacturers (e.g. VMWare tool is
referred to as vCenter [18], Microsoft tool is referred to as System Center [12]).
Many open source tools have also been recently developed (e.g. OpenStack [15]
and OpenNebula [14]), which support additional services. In this paper, for convenience, we refer to such tools, which are used to manage virtual resources,
as Virtual Control Centre (VCC). In our previous work ([2]) we have outlined
VCC which helped us to derive cloud unique security challenges. In this paper
we discuss it considering the provided taxonomy and identify the factors that
aect its operation.
VCC establishes communication channels with physical servers to manage
Clouds Virtual Machines (VMs). VCC establishes such channels by communicating with VMM running on each server. VCC and VMM regularly exchange
heartbeat signals ensuring they are up and running. VMM regularly communicates VMs related status (failure, shutdown, etc) to VCC enabling the latter to
communicate the status to system administrators. Such management helps in
maintaining the agreed Service Level Agreement (SLAs) and Quality of Service
(QoS) with customers. In addition, and probably most importantly, VCC provides system administrators with easy to use tools to manage virtual resources
across Cloud infrastructure. This is very important considering the Cloud complex and heterogeneous nature. For example, if a physical machine fails (e.g. due
to hardware failure) then where should VMs running on top of the failed physical machine move. Also, once the failed physical machine is recovered should
VMs return back to their original hosting server or should they stay at the
guest hosting server. Such examples are managed by VCC based on policy predened by enterprise architects but managed by system administrators using
VCC.
414
2.3
I.M. Abbadi
We believe that VCC will play a major role in managing self-managed services.
We now identify the factors, which would aect decisions made by self-managed
services.
Infrastructure Properties (Static Properties) As we discussed earlier, Clouds
physical infrastructure are very well organized and managed by multiple
parties, e.g. enterprise architects, system administrators, security administrators. These parties build the infrastructure to provide certain services
and are aware about Cloud taxonomy, which we describe it early in this section. Therefore, they dene the physical infrastructure properties for each
infrastructural component, sub-layers, and layer. Providing such properties
to VCC is a foundation step for supporting automated management services.
User Properties (Dynamic Properties) A Cloud user interacts with the Cloud
provider via Cloud webpage and supplied APIs. This enables users to dene
user properties, which should cover the following for potential Cloud:
a.) Technical Requirements IaaS Cloud users would typically be organizations, which have expertise to provide enough information about their technical requirements in terms of VMs, storage, and network requirements. For
example, they provide the properties of applications to be hosted on VMs,
e.g. DBMS instances that require high availability with no single point of
failure, middle-tier web servers that can tolerate failures, highly computational application, etc. This enables the Cloud provider to identify the best
infrastructural resources that t for user requirements.
b.) Service Level Agreement (SLA) Requirements These specify quality
control factors and other legal and operational issues on user services; for
example, dene system availability, reliability, scalability (in upper/lower
bound limits), and performance metrics.
c.) User-Centric Security and Privacy Requirements Examples of these
include (i.) users need stringent assurance that their data is not being abused
or leaked; (ii.) users need to be assured that Cloud provider properly isolate
VMs that runs in the same physical platform from each other (i.e. multitenant architecture[17]); and (iii.) users need to identify location of data distribution and processing (which could be for legal reasons). Current Cloud
providers have full control over all hosted services in their infrastructure; e.g.
Cloud provider controls who can access VMs (e.g. internal Cloud employees, contractors, etc) and where user data can be hosted (e.g. server type
and location). The user has very limited control over the deployment of his
services, has no control over the exact location of the provided services, and
has no option but to trust Cloud provider to uphold the guarantees provided
in SLA.
Infrastructure Policy Policies should be dened by Cloud authorized employees and associated with layers and sub-layers to control the behaviours
of self-managed services.
Changes and Incidents These represent changes in: user properties (e.g. security/privacy settings), infrastructure properties (e.g. components reliability,
415
components distribution across the infrastructure, redundancy type), infrastructure policy, and other changes (increase/decrease system load, component
failure, network failure, etc).
Management services should automatically manage Cloud environment by nding the best match of user properties with infrastructure properties that considers infrastructure policy. For example, a sub-layer would be associated with a
set of infrastructure properties dening many important factors related to this
sub-layers itself, and how it is related to other sub-layers. Also, groups hosted
at each sub-layer are associated with users properties. These enable automated
management services to take proper actions on emergencies, as such services
would be provided with architectural factors and users requirements.
The rst subsection provides a real life scenario for an application that is currently deployed at a community Cloud provider. In this we map the scenario at
the provided taxonomy. In the second subsection we use the scenario to identify
and motivate the need for automated self-managed services.
3.1
We have architected and deployed the scenario which is provided in this section
for a production environment supporting an editorial workow. The editorial
workow depends on weather forecast application. For simplicity we assume
both editorial and weather applications have similar architectural requirements.
The system is architected as a multi-tier application, which is deployed across
community Cloud infrastructure (primary and secondary locations), to achieve
the following user properties: high system availability and reliability, disaster recovery (DR) to support business continuity, high resilience with no single point
of failure, transactions type are more write than read, system scalability (i.e.
minimum/maximum resources that can be allocated/deallocated when load increase/decrease), and security properties. We next provide a simplied architecture based on user properties and the discussed Cloud taxonomy (Figure 3
illustrates the overall architecture).
Application Middle-tier Groups These virtual layer groups run application
business logic functions, which provide services to end-users. We require two
groups as illustrated in Figure 3: the rst we refer to as weather middle-tier
group which runs weather middle-tier application component, and the second we
refer to as editorial middle-tier group which runs editorial middle-tier application
component. Both groups should be hosted using appropriate collaborating sublayer, as discussed latter. Also, the number of VMs and their specications within
each group would depend on expected load and user requirements, which we do
not discuss in this example for simplicity. But each group should at least have
two VMs, as the user requires no single point of failure. Having one VM means
if it fails the system will be down while the VM gets restarted.
416
I.M. Abbadi
Database Management System (DBMS) Groups The DBMS groups at virtual layer manage the application data (e.g. storage, retrieval, and indexing).
We require two groups as illustrated in Figure 3: the rst we refer to as weather
DBMS group which hosts weather DBMS and the second we refer to as editorial
DBMS group which hosts editorial DBMS. Both groups should be hosted using appropriate collaborating sub-layer, as discussed latter. Also, the number of
VMs and their specications within each group would depend on expected load
and user requirements, which we do not provide in this example for simplicity.
But, as in the case of application middle-tier groups, each DBMS group should
at least have two VMs to support no single point of failure.
Collaborating Sub-Layers Each collaborating sub-layer at the physical layer
is composed of three sub-layers: storage sub-layer, network sub-layer, and server
sub-layer. The server sub-layer has special properties enabling it to host the indicated type of application. The storage and network sub-layers are associated
with special properties enabling them to collaborate to support server sub-layer
properties, which can address wide range of common user requirements which
are related to a specic category of application (e.g. DBMS with no single point
of failure). The system architect should provide a resilient architecture based on
both user supplied requirements and Clouds infrastructure properties. Figure
3 provides four collaborating sub-layers: (a.) collaborating sub-layer middle-tier
(primary) which has properties enabling it to host middle-tier application groups
and is physically located at Cloud primary location; (b.) collaborating sub-layer
middle-tier (secondary) which has properties enabling it to host middle-tier application groups and is physically located at Cloud secondary location; (c.) collaborating sub-layer DBMS (primary) which has properties enabling it to host
DBMS groups and is physically located at Cloud primary location; and (d.) collaborating sub-layer DBMS (secondary) which has properties enabling it to host
417
DBMS groups and is physically located at Cloud secondary location. Collaborating groups at the primary location hosts groups at the primary location, and
acts as a backup (i.e. DR) for groups located at the secondary location. Similarly,
Collaborating groups at the secondary location hosts groups at the secondary
location, and acts as a backup for groups located at the primary location. We
now discuss some of the properties at individual sub-layers.
Storage layer The system architect should use storage sub-layers that
satisfy user requirements. For example, one of the user requirements indicates
that the system activity is more write than read. For performance reasons this
would require RAID 1+0 for DBMS sub-layers rather than RAID 5. In addition, the user requires no single point of failure, which implies integrated storage
component should be fully redundant from inside and outside (e.g. dual communication channels, multiple processor cards). It also implies replicating data
from the community Cloud primary location to its secondary location. Replicating data can be done at dierent levels: (a.) storage sub-layers or (b.) DBMS
server sub-layers.
Server layer The scenario requires four groups, as discussed above. The
system architect should decide on server sub-layers that can host each group.
The systems architect should also associate with each group a set of properties
enabling it to satisfy consumer requirements. Understanding the nature of the
hosted application enables the system architect to even provide enhanced features in terms of using the right hardware conguration (i.e. server sub-layer)
that best suits the generic nature of the application; e.g. DBMS application,
highly computation systems, etc.
In our scenario, the system architect should: (a.) associates with all groups a
dependency property that require all groups to always run in the same physical
location at one time and on emergencies all groups should fail-over to predened
sub-layers located at DR location (such a condition ensures that all dependent
components run in the same location; e.g. avoid the case where a DBMS group is
hosted in dierent location than its corresponding middle-tier group); (b.) hosts
editorial and weather DBMS groups at server sub-layer which has properties of
hosting DBMS with no single point of failure; and (c.) hosts editorial and weather
middle-tier groups at server sub-layer which has properties of hosting middle-tier
applications. It is beyond the scope of this paper to discuss architectural reasons
beyond that, but of course all groups could be hosted using a single server sublayer or multiple sub-layers. This is based on user properties and infrastructure
properties.
Network Layer The above sub-layer components (i.e. server sub-layers
components and storage sub-layers components) must be connected using at
least two network channels. Also, related server sub-layers and storage layers
should be connected using redundant channel. For example, a DBMS server sublayer should be connected using multiple channels to related storage sub-layer.
In addition, the storage sub-layer itself should provide full resilience, which is
outside the scope of this paper to discuss.
418
3.2
I.M. Abbadi
Current public Cloud providers do not support the kind of architecture provided
in the scenario above, as it requires human intervention. In this section we aim
to derive the main services, which are mostly (at the time of writing) provided
by private and community Cloud internal employees. We also aim to show the
importance of automating such services. Public Cloud potential future, which
is expected to host critical applications should be capable of automatically and
without human intervention manage Cloud environment [11].
The rst two services we identify are system architect and resilient design. Cloud provider should provide automated application architecture (what
we refer to as system architect as a service), which should result in a resilient
design. It should also automatically deploys the resilient design (what we refer to
as resilience as a service). As we described earlier the deployment of the architecture should consider infrastructure properties and user requirements. In our
scenario a fundamental user requirement, which is especially required by critical
applications, is providing a resilient architectural design with no single point of
failure. Current Public Cloud providers only support very limited features in
this direction in comparison with the ones supported by private and community
Cloud providers. This is because fully automated management services do not
exist and public Cloud providers can only support limited features that can be
managed automatically.
The other important user expectation from a Cloud provider is to automatically adapt to failures, changes in user properties, and infrastructure properties
and policies, without aecting user applications. This is what we refer to as
adaptability as a service. This requirement is critical for potential Cloud
infrastructure. For example, when users change their requirements, the virtual
layer resources should automatically adapt to such changes, and when infrastructure physical resources get changed the virtual layer resources should also
automatically adapt to such changes without compromising users requirements.
All these changes should not compromise user requirements, security and privacy
properties.
Elasticity is one of the Cloud essential properties. In peak periods the virtual
layer resources should automatically scale up, and in o-peaks the resources
should automatically scale down. Such scaling is based on the demand and customer pre-agreed SLA, and it should not compromise user requirements, security
and privacy properties. This we refer to this as scalability as a service. Public Cloud provider at the time of writing only support vertical scalability, but
do not provide horizontal scalability. The Cloud provider should also provide
availability as a service which is related to utilizing all redundant resources.
Also, Cloud provider should provide reliability as a service which assures
end-to-end service integrity.
The combination of above services would result in higher availability and reliability as properties. Full reliance on human being requires longer time to architect
and deploy solutions, requires longer time to discover and resolve problems, and
reliance on human beings is error prone, subject to insiders threats by Cloud
419
employees, and do not provide a reliable way for measuring the level of trust in
Clouds operations. This raises the need of self-managed services that can automatically and with minimal human intervention manage Cloud infrastructure.
Automated self-managed services provide Cloud computing with exceptional capabilities and new features. For example, scale per use, hiding the complexity
of infrastructure, automated higher reliability, availability, scalability, dependability, and resilience that consider users security and privacy requirements by
design. Automated self-managed services should help in providing a trustworthy resilient Cloud computing, and should result in cost reduction. More details
about these services can be found in our extended abstract [1].
Acknowledgment
This research has been supported by the TCloud project2 , which is funded by
the EUs Seventh Framework Program ([FP7/2007-2013]) under grant agreement
number ICT-257243. The author would like to thank Andrew Martin for his
discussion and valuable comments.
2
http://www.tClouds-project.eu
420
I.M. Abbadi
References
1. Abbadi, I.M.: Self-Managed Services Conceptual Model in Trustworthy Clouds
Infrastructure. In: Workshop on Cryptography and Security in Clouds. IBM, Zurich
(March 2011), http://www.zurich.ibm.com/~ cca/csc2011/program.html
2. Abbadi, I.M.: Toward Trustworthy Clouds Internet Scale Critical Infrastructure.
In: Bao, F., Weng, J. (eds.) ISPEC 2011. LNCS, vol. 6672, pp. 7182. Springer,
Heidelberg (2011)
3. Amazon: Amazon Elastic Compute Cloud, Amazon EC2 (2010),
http://aws.amazon.com/ec2/
4. Amazon: Amazon Simple Storage Server, Amazon S3 (2010),
https://s3.amazonaws.com/
5. Armbrust, M., Fox, A., Grith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee,
G., Patterson, D.A., Rabkin, A., Stoica, I., Zaharia, M.: Above the Clouds: A
Berkeley View of Cloud Computing (2009),
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
6. Cloud Computing Use Case Discussion Group. Cloud computing use cases (2010),
http://cloudusecases.org/Cloud_Computing_Use_Cases_Whitepaper4_0.odt
7. EMC. EMC (2011), http://www.emc.com/products/category/storage.htm
8. IBM. Autonomic computing (2001), http://www.research.ibm.com/autonomic/
9. Jeery, K., NeideckerLutz, B.: The Future of Cloud Computing Opportunities
For European Cloud Computing Beyond (2010)
10. McCune, J.M., Li, Y., Qu, N., Zhou, Z., Datta, A., Gligor, V.D., Perrig, A.: Trustvisor: Ecient tcb reduction and attestation. In: IEEE Symposium on Security and
Privacy, pp. 143158 (2010)
11. Mell, P., Grance, T.: The NIST Denition of Cloud Computing
12. Microsoft. Microsoft System Center IT Infrastructure Server Management Solutions (2010), http://www.microsoft.com/systemcenter/
13. Murray, D.G., Milos, G., Hand, S.: Improving xen security through disaggregation.
In: Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference
on Virtual Execution Environments, VEE 2008, pp. 151160. ACM, New York
(2008)
14. OpenSource. OpenNebula (2010), http://www.opennebula.org/
15. OpenSource. OpenStack (2010), http://www.openstack.org/
16. Oracle. Oracle Real Application Clusters, RAC (2011),
http://www.oracle.com/technetwork/
database/clustering/overview/index.html
17. Ristenpart, T., Tromer, E., Shacham, H., Savage, S.: Hey, you, get o of my cloud:
exploring information leakage in third-party compute clouds. In: Proceedings of
the 16th ACM Conference on Computer and Communications Security, CCS 2009,
pp. 199212. ACM, New York (2009)
18. VMware. VMware vCenter Server (2010),
http://www.vmware.com/products/vcenter-server/
19. Wikipedia. Network-Attached Storage, NAS (2010),
http://en.wikipedia.org/wiki/Network-attached_storage
20. Wikipedia. Storage Area Network, SAN (2010),
http://en.wikipedia.org/wiki/Storage_area_network
21. Youse, L., Butrico, M., Da Silva, D.: Toward a unied ontology of cloud computing. In: Proceedings of Grid Computing Environments Workshop, pp. 110. IEEE,
Los Alamitos (2008)
1 Introduction
SaaS is a software delivery model in which the software is delivered and used in the
form of a service through the internet. As a new emerging software delivery model,
SaaS has proved its salient merits and promising future by its characteristics of
service oriented, internet based, pay-as-you-go and multi-tenant. It is just because of
these features that SaaS has been paid great attention to in both academic and
application areas. There have been many SaaS corporations today, such as Salesforce,
IBM, Microsoft, Google, NetSuite, 800APP, Alisoft, etc. However, the success rate of
SaaS applications is still relatively low.
Having an overview of the SaaS software lifecycle is helpful for increasing the
success rate. The study of the software lifecycle will enable software vendors to
develop software that is adaptable to new business models and new markets. For the
incentive behind the defining, modeling, and monitoring of the software lifecycle is to
increase quality and decrease costs, to strengthen the competitiveness of the
corporations in the software industry, and to make strategic choices that help them to
thrive in the software ecosystem.
Unfortunately, there has not been a ready-made lifecycle model for SaaS. On the
one hand, although the software lifecycle models have evolved from sequential
*
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 421431, 2011.
Springer-Verlag Berlin Heidelberg 2011
422
J. Song et al.
models such as Waterfall Model and V-Model, towards more iterative ones such as
Incremental Model and Spiral Model, in order to be more responsive to changes of
requirements and reduce rework to a great extent, they are not suitable for SaaS
software. That is because, in SaaS mode, software vendors no longer function as
independent units. They have become networked, i.e., software vendors are depending
on other software vendors, outsourcers, value-added-resellers, and so on. And SaaS
software has more roles and the interactions between them are much more complex
than traditional software. On the other hand, even though SaaS has been around for
quite some time, there is little research about its lifecycle model. The modeling
challenge lies in the fact that SaaS is a new emerging technology, and all of the
existing SaaS software is at an infant stage, so we cannot deduce or validate the SaaS
lifecycle model through the case studies of them.
In this paper, we propose a SaaS lifecycle model by the following four steps.
Firstly, we study the SaaS ecosystem and its compositions, drawing the conclusion
that the lifecycle model can be deduced through analyzing the roles and activities
appearing in the SaaS ecosystem. Secondly, we design an algorithm to cluster the
interactions into lifecycle phases based on the data produced by the agent-based
simulation system, the details of which are abbreviated in this paper. Finally, we
deduce the lifecycle model based on the data produced by the simulating system. The
lifecycle model deduced mainly includes the following five phases: Requirement
Definition, Development, Deployment, Operation and Retirement.
The rest of this paper is organized as follows. Following the introduction, we
briefly introduce the related works in section 2. Then, we illustrate the SaaS software
ecosystem in section 3. Section 4 elaborates on our lifecycle model deducing
approach. Finally, we summarize our work and present our future works in section 5.
2 Related Works
So far, there have been some traditional software lifecycle models, such as Waterfall
Model (originally defined by Royce in 1970), V-Model, Prototyping Model,
Incremental Model and Spiral Model (developed by Boehm in 1986). However, none
of them is suitable for SaaS software because of its new features. In addition,
researchers have made some efforts in the SaaS software related area. [1] specified a
generalized service lifecycle including the following six phases: Service Analysis,
Design, Implementation, Publishing, Operation and Retirement. [2] presented a threeperspective model of SECO (software ecosystem) by using the software supply
network modeling technique, and a few definitions about SECO are available in both
[3] and [4]. [5] proposed a unified lifecycle template in which the software lifecycle is
composed of roles, activities, artifacts and supports. Unfortunately, the above
researches are scattered for software lifecycle service, and SECO, not special for SaaS.
Therefore, based on the above researches, we propose a deduced SaaS lifecycle model
based on roles and activities. It synthesizes the research methods mentioned in those
papers. However, we meet such a challenge during the deducing process: We could not
deduce or validate the SaaS lifecycle model through the case studies of the existing
SaaS software, for SaaS is a new emerging technology, and all of the existing SaaS
software is at an infant stage. Fortunately, we find a way, which adopts intelligent
agent technology, to handle the challenge proposed above. An intelligent agent is an
423
entity that perceives the environment and takes actions to change the environment to
reach the desired environmental state [6], and multi-agent systems can be used to solve
problems which are difficult or impossible for an individual agent to solve.
SaaS corporations thrive in the software ecosystem where their services are used
by others (external or internal service customers) and they themselves utilize services
from others (internal or external service providers). As shown in Fig. 1, SaaSISV is
supplied with components from Outsourcer and OtherISV. When the SaaSISV has
developed a service, it registers the service in the service pool provided by the
Operator, and the Tenant can search the service pool for the services they need.
Finally, they can sign the rent contract with the SaaSISV.
In our approach, SaaS ecosystem is composed by Role, Activity, Artifact, and
Support, which are organized around SaaSLifecycle. As shown in Fig.2,
SaaSLifecycle has a one-to-many relationship with the other four objects, that is, one
SaaSLifecycle has multiple roles, activities, artifacts, and supports (corresponding to
"1*" shown in Fig.2). Role is a type of actors responsible for the activity. A role
may be responsible for multiple activities under multiple supports. Activity is mainly
responsible for the workflows of the software lifecycle. An activity may be a higher
level activity as a parent activity or a lower level activity as a child activity. It is
noteworthy that, a parent activity here corresponds to a phase, while a child activity
refers to an atomic task. An activity may have multiple artifacts under multiple
supports. Artifact is the output of an activity, which in return can be also used as input
of other activities. Support mainly provides supports for the software development.
424
J. Song et al.
1
1
Sa a SLife cy cle
1
1
1..*
1..*
R ole
input
A ct iv it y
1
output
A rt ifa ct
1..*
1..*
+children
+parent
1
0..*
Su pport
0..*
0..*
1..*
If necessary, it can be subdivided into several different types such as tools, templates,
checklists, standards, guidelines, instantiation guidance and so on. Both artifact and
support have a corresponding relationship with other objects like role and activity.
Based on the research about the SaaS ecosystem and our knowledge of software
lifecycle, we make our point as follows. Interactions between roles are supposed to
show regional characteristics in the timeline, and each lifecycle phase can be
characterized by a series of specific interactions involved specific roles. Therefore, we
think, if we record all of the interactions occurred between roles during the lifecycle,
and then cluster them using an algorithm, we can finally get the portioned lifecycle
phases only based on roles and activities. In the next section, we will elaborate on our
deducing approach by four steps.
4 Deducing Approach
According to our previous research, we have decided to deduce the lifecycle model
based on roles and activities through a clustering algorithm based on the data
produced by a SaaS lifecycle simulating system which adopts the intelligent agent
technology. We take the following four steps:
Step1: Extract the roles and activities and define the data structure we need;
Step2: Simulate the lifecycle process by an agent-based simulating system;
Step3: Design a clustering algorithm and carry it out based on the data acquired from
the above simulating system;
Step4: Analyze the clustering results and define the phases.
SaaS is a new technology, and the existing SaaS software are at an infant stage, so we
cannot deduce or validate the SaaS lifecycle model through the case studies of them.
In order to deal with this problem, we adopt intelligent agent technology to simulate
the whole process of the lifecycle. But the details of the agent-based simulation
system are abbreviated in this paper. In this paper, we only describe Step1, 3 and 4.
425
Activity
Research: Define the requirement by market researching
Feedback: Give the requirement feedbacks to the researcher
Develop: Develop the software according to the requirement specification
Integrate: Integrate the developing system for developer
Provide: Provide the basic resources for developer
Provide: Provide the developing tools and middleware platforms for developer
Deploy: Deploy the software on the operating platform
Operate: Provide the software for tenants to subscribe
Subscribe: Subscribe the functions they need
Add Users: Authorize a user to use the software
Use: Do their business using the software
Maintain: Solve the problems appeared during the operation
Promote: Promote the software market
The definition 2-3, TimeLine and Interaction are the basis of the definition 4-6.
Definition 2. TimeLine: TimeLine is the temporal range of lifecycle, and it is
composed by a sequence of TimeUnits which stand for the measures of time, such as
weeks, days or hours. Let t be a TimeUnit and T be a TimeLine, then TimeLine can be
described as follows:
T= { ti | 1 i NT } NT is the number of TimeUnits in T
ti, tj T, if i < j, then ti < tj
426
J. Song et al.
Or igina lUs e r
R e s e a r che r
Ia a SISV
De v e lope r
De p loy e r
Ope ra t e r
M a int a ine r
Int e gr a t or
P a a SISV
Te na nt
Us e r
P ro m o t or
Definition 4. Event: Event records the interactions happened in the same TimeUnit.
Let e be an event and E be the event set, and then they can be described as follows:
e = < te , e >
in which te T, e
E = { ei | 1 i NE } NE is the number of events in E
= {TE , E }
in which TE =
NE
NE
i =1
i =1
tei , E = ei
Note: te is the TimeUnit when the interactions happened. e is the set of interaction
which happened in the same te.
Without loss of generality, we assume that "day" is the TimeUnit of TimeLine for
lifecycle phase, and then the occurrence of a particular interaction can be measured by
"date". Therefore, event is treated as "daily event" as well.
Definition 5. Phase and Lifecycle: Phase exists to accomplish some specific tasks in
TimeLine, and lifecycle is composed of continuous phases. Let pn be a nth phase, then
it can be defined as the cluster of events (En) in a certain duration (TEn):
Lifecycle = {pn} = {En}
N
in which1 n N, T = TEn
n=1
427
From Definition 5, a conclusion can be drawn that, the process of deducing the
lifecycle equals the process of clustering events (or partitioning E) into N continuous
phase (E1, E2,, EN). So in next definition, we define the similarity between events.
Definition 6. Event Similarity: Event similarity is the formula which is used for
calculating the similarity of two events, for the further clustering. ei, ej E, i, j NE:
In this section, we give the algorithm designed for clustering the phases based on the
data produced by the agent-based simulation system. Details of the agent-based
simulation system are abbreviated here. Traditional clustering algorithm can be divided
into five categories. Among them, hierarchical clustering algorithm is simple, fast and
able to effectively handle large data sets. Therefore, we choose the hierarchical method
in our approach. In accordance with the formation of the hierarchy, hierarchical
method can be divided into agglomerative method and divisive method.
In our approach, we take two steps to execute the clustering. Firstly, we divide the
lifecycle into several rough phases through the first cluster using the divisive method
according to the calculated interval. Secondly, we divide each rough phase into more
adequate phases through the second cluster using the agglomerative method. We
schematize the clustering process in Fig. 4.
The similarity threshold used in the second cluster is set at 0.6. The clustering
algorithm is as follows:
428
J. Song et al.
429
In this section, we display the clustering results in Fig. 5 and define the phases
acquired from it.
In Fig. 5, the X corridor expresses the date in TimeLine; the Y corridor expresses
the id of the interaction. Fig.5-a gives the interactions happened during the whole
lifecycle. Through the first cluster, we divide the lifecycle into 3 rough phases which
is shown in Fig.5-b . Then we carry out the second cluster in each phase created by
the first cluster, and the result is shown in Fig.5-c. Finally we integrate the phases
according to our common knowledge of lifecycle. The result is shown in Fig.5-d.
Now, we get deducing SaaS lifecycle model. It includes the following five phases:
Requirement Definition, Development, Deployment, Operation and Retirement. The
definitions of the phases are as follows:
z
Requirement Definition
This phase focuses on the service requirement definition which forms the input
of development phase. The requirement is captured through the interaction
between Researcher and the Original User. It comes to an end when the
Researcher submits the requirement specification to the Developer.
Development
This phase is responsible for developing the SaaS software according to the
requirement specification. The Developer first asks the System Integrator to
integrate the developing system before they begin the development. And the
Integrator has to get the hardware and software resources from the IaaS ISV and
PaaS ISV.
430
z
J. Song et al.
Deployment
Once the service is built, it will be deployed on the operating platform and
registered in the service pool. This requires the interaction between the Deployer
and the Operator.
Operation
After deploying, operation starts. In this phase, service is in operation, actively
consumed by Users; Users can submit feedbacks and improvement proposals.
The number of Users may increase, be stable or decrease (see Fig.6-d). The
service will typically undergo revisions, extensions, or promotions. Here, the
Maintainer is the decision-maker, deciding which measure should be taken
through analyzing the Users feedbacks and the running logs. For example,
when the number of Tenants is decreasing, the Maintainer may assign the
Promoter for market promotion or assign the Researcher for development of
new features.
Retirement
When the service is not used anymore, the retirement phase arrives. The service
will be taken out of the service pool in this phase.
All of the works are contributed to our research on SaaS lifecycle. We believe that the
proposed lifecycle model will provide guidelines for developing, operating and
maintaining SaaS software. Future works of this research include: Further improve
the agent-based simulation system, and provide much more detailed information on
the simulation, such as the internal business logic employed by roles when
determining what interaction to initiate next, how to do bugs/errors miscalculations
factor in revision requests, and what is the statistical model for such bugs to occur;
Enrich the lifecycle model with much more detailed phases and verify it by case
study.
References
1. Kohlborn, T., Korthaus, A., Rosemann, M.: Business and Software Service Lifecycle
Management. In: IEEE International Enterprise Distributed Object Computing Conference
(2009)
431
2. Jansen, S., Finkelstein, A., Brinkkemper, S.: A Sense of Community: A Research Agenda
for Software Ecosystems. In: ICSE 2009, Vancouver, Canada, May 16-24 (2009)
3. Bosch, J.: From Software Product Lines to Software Ecosystems. In: International Software
Product Line Conference (SPLC 2009), USA, August 24-28 (2009)
4. Kittlaus, H.-B., Clough, P.: Software Product Management and Pricing. Key Success
Factors for Software Organizations. Springer, Heidelberg (2009)
5. He, R., Wang, H., Lin, Z.: A Software Process Tailoring Approach Using a Unified
Lifecycle Template. IEEE, Los Alamitos (2009); Smith, T.F., Waterman, M.S.:
Identification of Common Molecular Subsequences. J. Mol. Biol. 147, 195197 (1981)
6. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall, New
Jersey (1995)
1 Introduction
In a recent survey by Fujitsu Research Institute [1], it was revealed that 88% of
potential cloud consumers surveyed are worried about who has access to their data
within the cloud, and would like to have more awareness of what goes on in the
clouds backend physical servers. Such surveys have not only identified trust as the
key barrier to cloud computing uptake, but also enhanced the urgency for researchers
to quickly address key obstacles to trust [1-3].
From a system design perspective, the notion of trust can be increased via reducing
risk when using the cloud. While risk can be greatly mitigated via privacy protection
and security measures such as encryption, they are not enough, particularly as full
encryption of data in the cloud is at present not a practical solution.
There is a need to complement such preventative controls with equally important
detective controls that promote transparency, governance and accountability of the
service providers. This paper focuses on the detective controls of tracing data and file
movements in the cloud.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 432444, 2011.
Springer-Verlag Berlin Heidelberg 2011
433
2 A Trust-Related Scenario
Figure 1 shows a typical trust-related scenario which many potential cloud customers
fear [1]. A customer stores some sensitive data in a file (see Fig. 1 top-left; red icon)
within a virtual machine (VM) hosted by a provider s/he has subscribed to. Upon
uploading the data, failsafe mechanisms within the cloud will typically back it up, and
perform load balancing by creating redundancies across several virtual servers and
physical servers in the service providers trusted domain. From the files creation to the
backup processes, large numbers of data transfers occur across virtual and physical
servers (black solid-line arcs; Fig. 1), and several memory read/write transactions to
both virtual and physical memories are involved (blue dotted-line arcs; Fig. 1). If all
such transactions and the creation of new duplicate files are logged, monitored and
accounted for, we would be able to trace the file history and log the access history and
content modifications, i.e. achieving cloud accountability and auditability.
Even if a malicious insider of the CSP attempts to transfer the sensitive file/ data to
a target outside the cloud (e.g. in Fig. 1, via email), we will be well-equipped to
know when, where, how and what was being leaked, and by whom. This empowers
both the CSP and the consumers, as problematic processes and even insider jobs may
be investigated. This also removes some barriers to confidence in the cloud.
434
Fig. 1. An example scenario in cloud computing, showing the importance of accountability and
auditability
435
436
437
need to be able to track from the lowest-level system read/write calls all the way to
the irregularities of high-level workflows hosted in virtual machines in disparate
physical servers and locations. Also, there is a need to trace the routes of the network
packets within the cloud.
3)
Logging
File-centric perspective logging is performed on both virtual and physical layers in
the cloud. Considerations include the lifespan of the logs within the cloud, the detail
of data to be logged and the location of storage of the logs.
4)
Safe-keeping of Logs
After logging is done, we need to protect the integrity of the logs prevent
unauthorized access and ensure that they are tamper-free. Encryption may be applied
to protect the logs. There should also be mechanisms to ensure proper backing up of
logs and prevent loss or corruption of logs. Pseudonymisation of sensitive data within
the logs may in some cases be appropriate.
5)
Reporting and Replaying
Reporting tools generate from logs file-centric summaries and reports of the audit
trails, access history of files and the life cycle of files in the cloud. Suspected
irregularities are also flagged to the end-user. Reports cover a large scope: virtual and
physical server histories within the cloud; from OS-level read/write operations of
sensitive data to high-level workflow audit trails.
6)
Auditing
Logs and reports are checked and potential fraud-causing loopholes highlighted.
The checking can be performed by auditors or stakeholders. If automated, the process
of auditing will become enforcement. Automated enforcement is very feasible for
the massive cloud environment, enabling cloud system administrators and end-users
to detect irregularities more efficiently.
7)
Optimising and Rectifying
Problem areas and security loopholes in the cloud are removed or rectified and
control and governance of the cloud processes are improved.
4.2 Cloud Accountability Abstraction Layers
Next we address the important question: what data to log? The answer ranges from a
system-level log to a workflow-level audit trail transactional log. Such a range shows
that there are many abstraction layers of data, and a framework is needed to reduce
this kind of ambiguity and increase research focus and impact. As such, we propose
the following layers of accountability in a cloud:
Workflow Layer
Data Layer
System Layer
Fig. 3. Abstraction Layers of Accountability in Cloud Computing
438
Figure 3 shows the abstraction layers for the type of logs needed for an accountable
cloud. It is important to note that the focus is on the abstraction layers of logs and not
on architectural layers. Hence, it is independent of virtual or physical environments.
The data and workflow abstraction layers are derived from related works in data and
workflow provenance [9, 16, 17], and the system layer is derived from related works
in trusted computing platforms [18, 19] and system logging literature [20, 21].
Such explicit definition of layers in Figure 3 allows us to efficiently identify the
areas of their application and their focus areas. At a glance, the three layers look
deceptively simple, but the problem is more complex than it looks. Each layer has a
slightly different set of sub-components for each different context. Our model
simplifies the problem and makes accountability more achievable. The usefulness of
layers is also analogous to OSI [22] and TCP/IP [23] networking layers. Let us now
discuss the scope and scale of each layer:
4.2.1 System Layer
At the lowest level lie the system layer logs. The system layer consists of logging
within the following components:
1)
File System
Even though the file system is technically part of the OS, we explicitly include it as
a major component in this system layer. This is because, in order to know, trace and
record the exact file life cycle and history, we often have to track system read/write
calls to the file system. From the system read/write calls, we can also extract the
virtual and physical memory locations of the file, providing more information for
further forensic investigations. The file-centric perspective [25] is also the area which
is less emphasized by current tools. Cloud computing needs to have more emphasis
on file-centric logging, and the tracing and logging of a files life cycle (i.e. creation,
modification, duplication, destruction).
3)
Network Logs
As clouds are vast networks of physical and virtual servers over a large number of
locations, we need to also monitor network logs within the cloud. Network logs [26,
27] are logs specific to data being sent and received over the network.
439
440
1)
Central Watchdog/ Manager Service
In this approach, a watchdog service manages a certain set of nodes, and watches
over the physical and virtual logs of all layers and stores the logs centrally. While this
is more economical and easier to maintain, such a watchdog service would
undoubtedly be vulnerable to network routing problems, interference or use of false
identities.
2)
Local File Tracking Embedment
In this approach, we envision that a file is designed to dedicate some of its memory
for storage of bite-sized local logs and provenance data. Currently, this is very
difficult to achieve in current file extensions as they are usually predefined without
much consideration of local logging.
3)
Domain segregation
Accountability in cloud computing will be more achievable if there is a clear
design of different domains from the perspective of CSPs or customers. Internal
Zones can depict the CSPs own network, with Trusted Zones for its Collaborators,
and External Zones for networks outside these two zones. If the data leaves
authorized zones, the event will be flagged.
7 Related Research
Cloud accountability and auditing are growing areas of active research. We
summarize some key elements below:
7.1 Governance, Risk Management and Compliance (GRC) Stack of the Cloud
Security Alliance (CSA) [34]
CSA is a non-profit organization formed to promote the use of best practices for
providing security assurance within Cloud Computing, and provide education on
441
Cloud Computing uses [35]. Two projects from the CSAs GRC Stack [35] are very
relevant to our paper:
CloudAudit [36] An ongoing API project hosted on Google Code, and aims
to provide the technical foundation to enable transparency and trust in private and
public cloud systems.
442
addresses the System layer of accountability in the cloud. Despite this, it focuses only
on virtual layers and is not virtual-to-physical complexities.
7.6 Data and Workflow Provenance Research [17]
From the field of databases, data and workflow provenance research focuses on
recording histories of derivation of final outputs of data at different levels of
abstraction within databases. Provenance research may offer clues to recording logs in
the workflow and data layers of cloud accountability.
8 Concluding Remarks
We highlighted accountability and auditability as an important perspective towards
increasing trust in cloud computing. Several complexities introduced by the clouds
nature of elasticity were discussed. Some examples include (1) tracking of virtual-tophysical mapping and vice versa, (2) multiple operating system environments, (3)
logging from file-centric perspective, (4) live and dynamic systems, and (5) the scale,
scope and size of logging.
Achieving accountability and auditability in cloud computing will also empower:
automated monitoring and enforcement; Sarbanes-Oxley (SOX) audits in Clouds;
cloud security forensics; learning and analytics of usage behavior.
To simplify and enable efficient scoping of this complex problem, we proposed the
Cloud Accountability Life Cycle (CALC) and three abstraction layers. With these
conceptual foundations, researchers and practitioners can design tools and approaches
which address all areas of cloud accountability. This paper also discussed imminent
roadblocks to achieving accountability. In addition to related work discussions,
technical and policy approaches were suggested.
Moving forward, we are developing the different modules in the CALC, eg.
logging and mapping of virtual machines to physical machines. We believe that with
CALC, we would have a model that enables us to have a Trusted Cloud environment
where there is accountability and auditability.
Acknowledgments. The authors would like to thank their HP Labs colleagues Peter
Jagadpramana and Miranda Mowbray for their input.
References
1. Fujitsu Research Institute: Personal data in the cloud: A global survey of consumer
attitudes (2010)
2. Gross, G.: Microsoft presses for cloud computing transparency (2010),
http://www.infoworld.com/d/cloud-computing/microsoftpresses-cloud-computing-transparency-799
3. Strukhoff, R.: Cloud Computing Vendors Need More Transparency (2010),
http://cloudcomputing.sys-con.com/node/1308929
443
4. Pearson, S., Benameur, A.: Privacy, Security and Trust Issues Arising from Cloud
Computing. In: The 2nd International Conference on Cloud Computing. IEEE, Indiana
(2010)
5. Pearson, S., Charlesworth, A.: Accountability as a way forward for privacy protection in
the cloud. In: Cloud Computing 2009, pp. 131144 (2009)
6. Armbrust, M., et al.: A view of cloud computing. Communications of the ACM 53(4), 50
58 (2010)
7. Garfinkel, S.: An Evaluation of Amazons Grid Computing Services: EC2, S3, and SQS
(2007)
8. Chappell, D.: Introducing windows azure. Microsoft (2009)
9. Buneman, P., Khanna, S., Tan, W.: Data provenance: Some basic issues. In: Foundations
of Software Technology and Theoretical Computer Science, pp. 8793 (2000)
10. Cloud Security Alliance: Top Threats to to Cloud Computing Report, Ver.1.0 (2010)
11. Baldwin, A., Shiu, S., Beres, Y.: Auditing in shared distributed virtualized environments.
HP Technical Reports (2008)
12. HyTrust. HyTrust Appliance (2010),
http://www.hytrust.com/product/overview/
13. Silberschatz, A., Galvin, P., Gagne, G.: Operating system concepts. Addison-Wesley, New
York (1991)
14. Hyperic: CloudStatus (2010), http://www.cloudstatus.com/
15. Shende, J.: Live Forensics and the Cloud - Part 1. Cloud Computing Journal (2010),
http://cloudcomputing.sys-con.com/node/1547944
16. Buneman, P., Khanna, S., Wang-Chiew, T.: Why and where: A characterization of data
provenance. In: International Conference on Database TheoryICDT 2001, pp. 316330
(2001)
17. Tan, W.: Provenance in databases: Past, current, and future. Data Engineering 2007, 3
(2007)
18. Pearson, S., Balacheff, B.: Trusted computing platforms: TCPA technology in context.
Prentice Hall PTR, Upper Saddle River (2003)
19. Proudler, G.: Concepts of trusted computing. In: Mitchell, C.J. (ed.) Trusted Computing.
IEE Professional Applications of Computing Series, vol. 6, pp. 1127. The Institute of
Electrical Engineers (IEE), London (2005)
20. Hansen, S., Atkins, E.: Automated system monitoring and notification with swatch. In:
USENIX Associations Proceedings of the Seventh Systems Administration (LISA VII)
Conference (1993)
21. Roesch, M.: Snort-lightweight intrusion detection for networks. In: Proceedings of the
13th USENIX Conference on System Administration, LISA 1999, Seattle, Washington
(1999)
22. Zimmermann, H.: OSI reference modelThe ISO model of architecture for open systems
interconnection. IEEE Transactions on Communications 28(4), 425432 (2002)
23. Stevens, W.: TCP/IP Illustrated: The Protocols, vol. I. Pearson Education, India (2004)
24. Chow, R., et al.: Controlling data in the cloud: outsourcing computation without
outsourcing control. In CCSW 2009: Proceedings of the 2009 ACM Workshop on Cloud
Computing Security. ACM, New York (2009)
25. Rosenblum, M., Ousterhout, J.: The design and implementation of a log-structured file
system. ACM Transactions on Computer Systems (TOCS) 10(1), 2652 (1992)
26. Slagell, A., Wang, J., Yurcik, W.: Network Log Anonymization: Application of CryptoPAn to Cisco NetFlows. In: NSF/AFRL Workshop on Secure Knowledge Management
(SKM 2004), Buffalo, NY (2004)
444
27. Slagell, A., Yurcik, W.: Sharing computer network logs for security and privacy: A
motivation for new methodologies of anonymization. In: Proceedings of SECOVAL: The
Workshop on the Value of Security Through Collaboration (August 2005)
28. Gray, J., Reuter, A.: Transaction processing: concepts and techniques. Morgan Kaufmann,
San Francisco (1993)
29. Peters, T.: The history and development of transaction log analysis. Library Hi
Tech. 11(2), 4166 (1993)
30. Ko, R.: A computer scientists introductory guide to business process management (BPM).
ACM Crossroads 15(4), 1118 (2009)
31. Ko, R., Lee, S., Lee, E.: Business process management (BPM) standards: a survey.
Business Process Management Journal 15(5), 744791 (2009)
32. Anthony, R.: Planning and control systems: a framework for analysis. Division of
Research, Graduate School of Business Administration, Harvard University (1965)
33. Cloud Security Alliance: Trusted Cloud Initiative (2010),
http://www.cloudsecurityalliance.org/trustedcloud.html
34. Cloud Security Alliance: Cloud Security Alliance Governance, Risk Management and
Compliance (GRC) Stack (2010),
http://www.cloudsecurityalliance.org/grcstack.html
35. Cloud Security Alliance (2010), http://www.cloudsecurityalliance.org/
36. Cloud Security Alliance: CloudAudit (A6 - The Automated Audit, Assertion, Assessment,
and Assurance API) (2010), http://cloudaudit.org/
37. Knode, R.: CloudTrust 2.0 (2010),
http://scap.nist.gov/events/2010/itsac/presentations/day2/Se
curity_Automation_for_Cloud_Computing-CloudTrust_2.0.pdf
38. Mowbray, M., Pearson, S., Shen, Y.: Enhancing privacy in cloud computing via policybased obfuscation. The Journal of Supercomputing, 125 (2010)
39. Pearson, S.: Taking account of privacy when designing cloud computing services. In:
Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud
Computing. IEEE, Los Alamitos (2009)
40. Mowbray, M., Pearson, S.: A client-based privacy manager for cloud computing. In:
Proceedings of the Fourth International ICST Conference on COMmunication System
softWAre and middlewaRE, COMSWARE 2009. ACM, New York (2009)
41. Haeberlen, A.: A case for the accountable cloud. ACM SIGOPS Operating Systems
Review 44(2), 5257 (2010)
42. Haeberlen, A., et al.: Accountable virtual machines. In: Proceedings of the 9th USENIX
Symposium on Operating Systems Design and Implementation, OSDI 2010 (2010)
Abstract. Cloud Computing has become another buzzword after Web 2.0. The
phrase cloud computing originated from the diagrams used to symbolize the
internet. Cloud computing is not a completely new concept; it has intricate
connection to the grid Computing paradigm, and other relevant technologies
such as utility computing, cluster computing, and distributed systems in general.
With the development of cloud computing, a set of security problems appears.
Security issues present a strong barrier for users to adapt into Cloud Computing
systems. Several surveys of potential cloud adopters indicate that security is the
primary concern hindering its adoption. This paper introduces the background
and service model of cloud computing. Along with this, few of security issues
and challenges are also highlighted.
Keywords: Cloud computing, Grid computing, Security.
1 Introduction
The cloud computing is a new computing model that provides the uniform access to
wide area distributed resources on demand. The emergence of cloud computing has
made a tremendous impact on the Information Technology (IT) industry over the past
few years, where large companies such as Google, Amazon and Microsoft strive to
provide more powerful, reliable and cost-efficient cloud platforms, and business
enterprises seek to reshape their business models to gain benefit from this new
paradigm[1]. However, there still exist many problems in cloud computing today. A
recent survey by Cloud Security Alliance (CSA) [2] shows that security have become
the primary concern for people to shift to cloud computing.
In this paper, we investigate the security concerns of current Cloud Computing
systems. As Cloud Computing referred to both the applications delivered as services
over the Internet and the infrastructures (i.e., the hardware and systems software in the
data centers) that provide those services [3], we present the security concerns in terms
of the diverse applications and infrastructures. More concerns on security issues, such
as availability, confidentiality, integrity control, authorization and so on, should be
taken into account.
The rest of the paper is organized as follows: Section 2 highlights the basic cloud
computing definitions and architecture. Section 3 and 4 presents the security issues
and challenges. The paper is concluded in Section 5.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 445454, 2011.
Springer-Verlag Berlin Heidelberg 2011
446
i)
ii)
iii)
447
448
449
3.1 Security Issues Based on the Delivery and Deployment Model of Cloud
In SaaS, providers are more responsible for security. The clients have to depend on
providers for security measures. As public cloud is less secure than private clouds, the
stronger security measures are required in public cloud. Also in SaaS, it becomes
difficult for the user to ensure that proper security is maintained or not. Private clouds
could also demand more extensibility to accommodate customized requirements. The
following key security elements [11] should be carefully considered as an integral part
of the SaaS application development and deployment process:
i)
ii)
iii)
iv)
v)
vi)
vii)
viii)
ix)
x)
Data security
Data locality
Data integrity
Data segregation
Data access
Data confidentiality
Network security
Authentication and authorization
Availability
Identity management and sign-on process
In PaaS, customers are able to build their own applications on top of the platforms provided. Thus it is the responsibility of the customers to protect their applications as
providers are only responsible for isolating the customers applications and workspaces
from one another [6]. So, maintaining the integrity of applications and enforcing the
authentication checks are the fundamental security requirements in PaaS.
450
IaaS is mainly used as a delivery model. The major security concern in IaaS is to
maintain the control over the customers data that is stored in providers hardware.
The consumers are responsible for securing the operating systems, applications, and
content. The cloud provider must provide low-level data protection capabilities [6].
Based upon the deployment model, public clouds are less secure than the other
cloud models as it allows users to access the data across wide area network. In public
cloud, additional security measurements like trust are required to ensure all
applications and data accessed on the public cloud are not subjected to malicious
attacks [12]. Utilization on the private cloud can be much more secure than that of the
public cloud because of it is specified for some particular organization. A hybrid
cloud is a private cloud linked to one or more public clouds. Hybrid clouds provide
more secure control of the data and applications as each and everything is centrally
managed [12].
Fig 3, illustrates the information security requirements coupled with the Cloud
computing deployment model and delivery models [12, 13]. In Fig 3[12], an X
denoting mandatory requirements and an asterisk (*) denoting optional requirements.
Each of the security requirements will be highlighted below in context of cloud
computing:
A. Authorization
Authorization is an important information security requirement in Cloud computing to
ensure referential integrity is maintained. It follows on in exerting control and
privileges over process flows within cloud computing. In case of public cloud,
multiple customers share the computing resources provided by a single service
provider. So proper authorization is required irrelevant of the delivery model used. In
private cloud, authorization is maintained by the system administrator.
B. Identification & authentication
As the major concerns in public and private cloud include internal and external
threats, data collection, privacy and compliance, so, it is the cloud service providers
ability to have a secure infrastructure to protect customer data and guard against
unauthorized access. We need to have some identification and authentication process
to verifying and validating individual cloud users based upon their credentials before
accessing any data over the cloud. Thats why identification and authentication is
mandatory security requirement in public and private cloud.
C. Integrity
The integrity requirement lies in applying the due diligence within the cloud domain
mainly when accessing data. Therefore ACID (atomicity, consistency, isolation and
durability) properties of the clouds data should without a doubt be robustly imposed
across all Cloud computing delivery models.
D. Confidentiality
In Cloud computing, confidentiality plays a major part especially in maintaining
control over organizations data situated across multiple distributed databases.
Asserting confidentiality of users profiles and protecting their data, that is virtually
accessed, allows for information security protocols to be enforced at various different
layers of cloud applications.
451
452
4 Security Challenges
Cloud computing environments are multinomial environments in which each domain
can use different security, privacy, and trust requirements and potentially employ
various mechanisms, interfaces, and semantics [6]. Main security challenges in cloud
computing and their solutions are discussed below:
4.1 Service Level Agreement
A Service level agreement (SLA) [14] is a part of a service contract between the
consumer and provider that formally defines the level of service. It is used to identify
and define the customers needs and to reduce areas of conflict like Services to be
delivered Performance, Tracking and Reporting Problem Management Legal
Compliance and Resolution of Disputes, Customer Duties and Responsibilities,
Security IPR and Confidential Information Termination.
4.2
By using the cloud services, the user can access the information from various places
over the internet. So we need some Identity Management (IDM) [6] mechanism to
authenticate users and provide services to them based on credentials and
characteristics. An IDM system should be able to protect private and sensitive
information related to users and processes .Every enterprise will have its own identity
management system to control access to information and computing resources.
4.3 Data- Centric Security and Protection
In cloud computing, number of customers can share, save and access the data over the
cloud. So data from one customer must be properly segregated from that of another
and it must be able to move securely from one location to another [6]. Cloud
providers must implement the proper security measures to prevent data leaks or access
by third unauthorized parties. The cloud provider should carefully assign privileges to
the customers and also ensure that assigned duties cannot be defeated, even by
privileged users at the cloud provider. Access control policies should be properly
implemented. When someone wants to access data, the system should check its policy
rules and reveal it only if the policies are satisfied. Existing cryptographic techniques
can be used for data security.
4.4 Trust Management
In cloud computing environments, the customer is dependent on provider for various
services. In many services, the customer has to store his confidential data on the
providers side. Thus, a trust framework should be developed to allow for efficiently
capturing a generic set of parameters required for establishing trust and to manage
evolving trust and interaction/sharing requirements.
453
5 Conclusion
In this paper key security considerations and challenges which are currently faced in
the Cloud computing are highlighted. Many enhancements in existing solutions as
well as more mature and newer solutions are urgently needed to ensure that cloud
computing benefits are fully realized as its adoption accelerates. Cloud computing is
still in its infancy, and how the security and privacy landscape changes will impact its
successful, widespread adoption.
References
1. Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: state-of-the-art and research
challenges. Journal of Internet Services and Application 1(1), 718 (2010)
2. Cloud Security Alliance , http://www.cloudsecurityalliance.org
3. Zhou, M., Zhang, R., Xie, W., Qian, W., Zhou, A.: Security and privacy in cloud
computing: a survey. In: The Proceedings of IEEE 6th International Conference on
Semantics, Knowledge and Grids, pp. 105111 (2010)
4. Mell, P., Grance, T.: The NIST definition of Cloud Computing, version 15. National
Institute of Standards and Technology (NIST), Information Technology Laboratory
(October 7, 2009), http://www.csrc.nist.gov
5. Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Bandic, I.: Cloud Computing and
emerging IT platforms: vision, hype, and relatity for deliverling computing as the 5th
utility. Future Generation Computer System 25(6), 599616 (2009)
6. Takabi, H., Joshi, J.B.D.: Security and privacy challenges in cloud computing
environment. IEEE Journal on Security and Privacy 8(6) (November 2010)
7. Yang, J., Chen, Z.: Cloud computing research and security issues. In: The Proceeding of
IEEE International Conference on Computational Intelligence and Software Engineering,
pp. 13 (2010)
8. Kaur, P., Kaushal, S.: Security concerns in cloud computing. In: Accepted For
International Conference on High Performance Architecture And Grid Computing-2011.
Chitkara University, Rajpura (2011)
454
9. Gens, F.: New IDC IT Cloud Services Survey: Top Benefits and Challenges. In: IDC
eXchange (2009), http://blogs.idc.com/ie/?p=730
10. Brodkin, J.: Gartner: Seven cloud-computing security risks. In: Infoworld 2008 (2008),
http://www.infoworld.com/d/security-central/gartner-sevencloudcomputing-security-risks-53?page=0,1
11. Subashini, S., Kavitha, V.: A survey on security issues in service delivery models of cloud
computing. Journal of Network and Computer Application, 111 (2010)
12. Ramgovind, S., Eloff, M.M., Smith, E.: The management of security in cloud computing.
In: The Proceedings of IEEE Conference on Information Security for South Africa-2010
(2010)
13. Dlamini, M.T., Eloff, M.M., Eloff, J.H.P.: Internet of People, Things and Services The
Convergence of Security, Trust and Privacy. In: The Proceeding of 3rd Annual
CompanionAble Consortium Workshop-IoPTs, Brussel (December 2009)
14. Kandukuri, B.R., Paturi, R., Rakshit, A.: Cloud Security Issues. In: The Proceedings of
IEEE International Conference on Service Computing, pp. 517520 (2009)
1 Introduction
Cloud computing [1] is Internet based system development in which large scalable
computing resources are provided as services over the Internet to users. The services
that can be provided from the cloud include Software as a Service (SaaS), Platform as
a Service (PaaS) and Infrastructure as a Service (IaaS). Cloud computing becomes
more and more popular in large scale computing and data store recently due to it
enables the sharing of computing resources that are distributed all over the world and
it allows enterprises to obtain as much computation and storage resources as they
require, while only paying for the precise amount that they use. Customers pay for the
computational services that they receive, like we pay for Internet services, electricity
and gas. In an open cloud computing framework, scheduling service requests with
guaranteeing QoS constrains present a challenging technical problem [3].
Clouds aim to power the next generation data centers by exposing them as a
network of virtual services (hardware, database, user-interface, application logic) so
that users are able to access and deploy applications from anywhere in the world
on demand at competitive costs depending on users QoS (Quality of Service)
requirements [6]. In cloud computing there are resources like storage, processing,
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 455462, 2011.
Springer-Verlag Berlin Heidelberg 2011
456
V. Reddy Chintapalli
457
Fig. 2. RAINBOW-VM based service computing framework for utility computing [2]
458
V. Reddy Chintapalli
the service requests and maintaining the actual usage of resources. This approach
supports negotiation of QoS between users and providers to establish service-level
agreement (SLA) and allocation of system resources to meet the SLAs.
In grid computing, Auction system and reservation systems are two existing
resource allocation policies. In Auction/Bid resource allocation system [7,8], only one
winner gets a particular resource, all losers have to bid for other resources elsewhere,
and may fail many times before they get a chance to run their jobs. For those people
that have less money, they may never get a chance to run their jobs. So, it is neither
efficient nor fair. On the other hand, once a bid is accepted, it is fixed; if a user or the
system wants to change the resource allocation that will be difficult. Where as in
reservation system [9], the advantage is guaranteed resources IN ADVANCE.
Reservation systems reduce the risk of jobs, but the reservation may be not accurate
due to inaccuracy of job length estimation. For example, if a job reserved one-hour,
but actually need 1.5 hours, the job may be abandoned after 1 hour. But if a user
wants to reserve 2 hours to make sure the job is completed, then 0.5 hour is wasted,
since no other jobs can use it. Although reservations allow low risk and low latency,
the efficiency is also low because some tasks do not use their entire reservations.
Where as in our proposed algorithm, we are considering multiple clouds by
introducing three entities and we are using RAINBOW framework to improve the
resource utilization. The major distinction between our resource allocation approach
and other resource allocation approaches discussed in next Section is that our
approach can maximize utilization of limited system resources to reach maximum
throughput according to throughput requirements, and resource status, rather than just
serving users service-requests in first-in-first-serve manner by matching available
system resources upon the arrival of the user requests and requirements.
459
Fig. 3. Coordination among users, brokers, and resource allocators in multiple clouds
cloud providers and it will decide whether the request is accept or reject by checking
the QoS requirements. After checking the QoS requirements the broker will assign
that job to service provider with minimum cost.
Resource Allocator: It is an interface between cloud provider and the brokers. The
resource allocator in every cloud will take the service requests from the brokers and
by applying the proposed algorithm it will get the estimated cost and time. These
values will send to the broker from where it gets the request.
4.1 Cost and Time Optimization Algorithm
Assumptions:
(1) For each service request, the time spent on each available resource can be
known. Many techniques are available to achieve this [5].
(2) Each resource has a fixed price according to its capacity.
Users will submit the service requests to broker from anywhere in the world. Along
with the service requests the users will give the budget and deadline constrains. After
collecting the service requests from different users, the brokers will send these
requests to multiple clouds for calculating the estimated costs and time. After getting
the request from broker, every cloud will find out the estimated cost and time for that
request using the given algorithm and send this information to the broker from where
it got the request. In any cloud, if the resources are not free then by adding the request
to resource queue it will find out the estimated cost and time. After collecting the
estimated costs and time from multiple clouds, the broker will submit the request to
the cloud which completes the requests with minimum cost and time by satisfying the
user requirements. The pre-requirement of our algorithm is for each service request,
the time spent on each available resource is known.
460
V. Reddy Chintapalli
Algorithm
Input: Requests with deadline (Di) and budget (Bi) constraints.
Output: Either allocates the request to any cloud which takes minimum cost to
Complete or reject the request if it is not satisfying the constraints.
Begin
Steps:
1: For all the service requests i
2: For all cloud j
Begin inner for loop
3: Get the available resource information in the cloud (from Resource
Allocator).
4: For each available resource, find out how much time it will take to complete
and with how much cost on that resource (Let time is saved in
CalculatedETi and cost saved in CalculatedCi).
5: SORT the resources by increasing order of cost. If two or more resources
have the same cost, order them such that powerful ones are preferred first
(which takes less time to complete the request).
6: for all sorting resources
Do
7: If (CalculatedETi <Di and CalculatedCi < Bi)
1. Send this information to broker from where it got request.
2. Come out from inner for loop.
End for
8: If there is no resource by satisfying the constraints
/* that means it is not possible to allocate request to currently available
resources*/
9: Then, by adding the request to resource Queue, estimate the cost and time for
all the resources in the cloud.
10: For all these, select the one by satisfying the given constrains with minimum
cost and Return the estimated cost and time to the broker from where it got
the request.
End inner for loop
11: If it is not possible to allocate the request to resource in any cloud then send
message to the broker allocation is not possible.
End
5 Experimental Framework
In this section we provide some details about implementation of the proposed
algorithm. We have developed a simulation setup for testing this algorithm in Java.
We are considering multiple users, multiple brokers and multiple cloud providers.
Every user is associated with one broker and each broker is connected to different
cloud providers. Here, we are generating the required number of cloud providers and
required number of free servers in every cloud dynamically and on each server we are
461
generating random data. Every user has separate user ID, every broker has related
broker ID and the service request from every user has separate request ID.
User Modeling: The users will give type of service and request number to
corresponding broker along with two constraints deadline and budget. Every request
has separate request ID.
Broker Modeling: The broker will get the service requests from different connected
users. The broker will save this information for further process and send every request
to connected cloud providers. After finding the estimated cost and time for the given
service requests, the resource allocator in all clouds will send this information to
broker from where it got requests. The broker will select the cloud provider which
takes least cost by using quick sort. If more than one cloud provides same cost then
the cloud provider which computes in less time will consider.
Resource Allocator Modeling: Every cloud has resource allocator. It will get the
service requests from different brokers along with given constraints. It has the
currently available resource information so it will find the estimated cost and time on
that resources. Among these it will select the resource which takes less cost. If any
resource completes with same cost then we are considering time. It will find estimate
cost and time for all requests it received. If any resource in that cloud does not satisfy
the given constraints then simply it send message saying that the request cannot be
satisfied. After getting the confirmation of resource allocating from broker, the cloud
will computes the request and send results to particular user based on user ID.
5.1 Time Complexity
The time complexity of the proposed algorithm depends on the number of clouds and
the availability of resources in every cloud. Let us assume that n is the number of
cloud providers and m is the maximum number of available resources among all
clouds. The estimated cost for the given service request will be calculated for each
cloud and the cloud which takes minimum cost will be selected. So, the time
complexity for the proposed algorithm is O (nmlogm + nlogn).
462
V. Reddy Chintapalli
References
1. Wang, L., Tao, J., Kunze, M., Canales, A., Castellanos, Kramer, D., Karl, W.: Cloud
Computing: Early Definition and Experience. In: 10th IEEE International Conference on
High Performance Computing and Communications (2008)
2. Song, Y., Li, Y., Wang, H., Zhang, Y., Feng, B., Zang, H., Sun, Y.: A service-oriented
priority-based resource scheduling scheme for virtualized utility computing. In:
Sadayappan, P., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2008. LNCS,
vol. 5374, pp. 220231. Springer, Heidelberg (2008)
3. Guiyi, W., Athanasios, V., Yao, Z., Naixue, X.: A game-theoretic method of fair resource
allocation for cloud computing services. Spinger Science Business Media, LLC (2009)
4. Song, Y., Wang, H., Li., Y., Feng, B., Sun, Y.: Multi-Tiered On-Demand Resource
Scheduling for VM-Based Data Center. In: 9th IEEE/ACM International Symposium on
Cluster Computing and the Grid, pp. 148155 (2009)
5. Dogan, A., Ozguner, F.: Scheduling independent tasks with QoS requirements in grid
computing with time-varying resource prices. In: CCGRID, pp. 5869 (2002)
6. Buyya, R., Yeo, C.S., Venugopal, S.: Market-oriented cloud computing: Vision, hype, and
reality for delivering IT services as computing utilities. In: Proceedings of the 10th IEEE
International Conference on High Performance Computing and Communications (2008)
7. Buyya, R., Abramson, D., Giddy, J., Stockinger, H.: Economic models for resource
management and scheduling in grid computing. In: The Journal of Conferency and
Computation: Practice and Experience (CCPE), maio (2002)
8. Lawson, B., Smirni, E.: Multiple-queue backfilling scheduling with priorities and
reservations for parallel systems. In: 8th Workshop on Job Scheduling Strategies for
Parallel Processing (2002)
9. Lai, K., Rasmusson, L., Adar, E., Sorkin, S., Zhang, L., Huberman. B,A.: Tycoon: a
distributed market-based resource allocation system. Technical report, Hewlett-Packard
laboratories, palo alto, CA (2004)
10. Yang, C., Lin, C., Chen, S.: A Workflow-based Computational Resource Broker with
Information Monitoring in Grids. In: 5th International Conf. Grid and Cooperative
Computing, pp. 105206 (2006)
11. Venugopal, S., Chu, X., Buyya, R.: A negotiation Mechanism for Advance Resource
Reservation using the Alternate Offers Protocol. In: 16th International Workshop on
Quantity of Service (2008)
12. Hewlett-Packard : HP Utility Data Centre Technical White Paper (October 2001),
http://www.hp.com
13. Barham, P., Dragovic, B., et al.: Xen and the art of virtualization. In: SOSP, pp. 164177
(2003)
14. VMware Infrastructure: Resource Management with VMware DRS by VMware, Inc. 3145
Porter Drive Palo Alto (2006)
1 Introduction
Multimedia watermarking is concerned with imperceptibly embedding a short amount
of information in an audio, image or video frame. With the rapid growth of Internet
technologies in all walks of life, copyright protection, authentication of ownership,
and validation of multimedia sources are of paramount importance. By indiscernibly
hiding a watermark on a stock picture, for instance, any alteration, or claims of false
ownership, can be detected. Other applications of watermarking include automatic
retrieval of patient records such as radiographic images, invisible marking to avoid
tampering of surveillance video tapes with location, time, etc., and fingerprinting.
In this paper we describe a technique for embedding predetermined information as
watermark on a set of pixels in a compressed color image using pixel modification at
a selected bit index. The proposed technique is ensures imperceptibility of the
watermarked image while maintaining robustness to additive noise simulating
attacks at low levels. In the next section a brief review of some of the existing
image watermarking methods including the bit modification technique, and issues in
watermarking in general are presented. Following this, we describe the proposed bit
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 463472, 2011.
Springer-Verlag Berlin Heidelberg 2011
464
K. Gopalan
2 Image Watermarking
Digital watermarking can be considered a subset of steganography or data hiding on a
medium for the purpose of establishing ownership or integrity of the media signal.
While the goal of steganography is to transmit a significantly large payload of hidden
information employing an innocuous signal, watermarking embeds a short amount of
information on a specific image, video or audio signal to ascertain the author and/or
authenticity of the signal. Both cases rely on the imperfections of the human visual
and/or auditory system in perceiving changes made to a multimedia signal.
Generally, it is preferable to carry out embedding and retrieval of embedded
information with the use of a strong key to thwart illegal attempts to extract or destroy
the information.
For easy retrieval of the embedded information, a comparison between the original
(host) media signal and the embedded stego signal can be carried out in spatial or
spectral domain, for example with the difference yielding the hidden information.
While this escrow technique is quite simple, it requires the original signal, which
renders it unsuitable for watermarking or for covert communication if the same host is
used more than once. A better alternative is to employ oblivious extraction of the
hidden information using a key and/or location associated with the embedding
process. Oblivious or blind extraction, clearly, is preferred for watermarking for
copyright and authentication applications.
In the case of watermarking or information hiding on a host image or video frame,
embedding techniques generally exploit the psychovisual masking phenomenon due
to the low sensitivity of the human visual system (HVS) to small changes in
luminance, masking effect of the edges, varying sensitivity to contrasts as a function
of spatial frequency, and low sensitivity to very low spatial frequencies as in
continuous changes in brightness in an image.
Conceptually, a set of visually masked two-dimensional spectral points can be
determined for a given host image, and pixels may be modified at some or all of these
points in the spatial or frequency domain in accordance with the data for
imperceptible hiding [1 - 4]. Masked spectral points can be obtained using
psychovisual contrast or pattern masking frequencies from the discrete cosine
transform (DCT) of each block of an image. Difficulty of and the number of steps
involved in evaluating the masked points, however, has led to the development of
techniques that take advantage of the HVS limitation in an indirect manner.
Manipulation of the DCT coefficients of an image by rounding or otherwise changing
their values, for example, can result in an indiscernible image [2].
Image embedding techniques for covert communications typically use spread
spectrum steganography in which a narrow band pseudorandom noise is spread over a
varying wide band carrier [5 - 7]. The low density of the noise spread over the carrier
renders the embedding imperceptible. Although it is a highly robust, multiple keybased technique, complexity of the encoding and decoding processes limits the use of
spread spectrum image steganography to secure military communications.
465
Bit modification by inserting a small amount of data in the least significant bit
(LSB) position, in particular, of pixels, is a simple and common technique for highpayload embedding. By altering the LSB values of selected pixels based on their
locations or intensity levels, a large volume of information can be hidden with
little noticeability of change in image. Pixel bit alteration in accordance with the
hidden data may be carried out, and extracted from the stego image, with or without a
key [2].
Extending the technique with a key for audio embedding in secure communication
applications has received attention recently [8-10]. In particular, altering other than
the LSB for data robustness has been shown to be a viable technique for reasonably
high payload audio steganography [8, 10]. This technique, using a key of any desired
size, is also highly useful in covert transmission due to its oblivious extraction of the
hidden data.
The next section describes the proposed pixel embedding procedure at a selected
bit index for watermarking an image with a known set of data.
466
K. Gopalan
If the number of bits N in the watermark data is large, it may not be possible to find
N pixels that alternate in bit values at the kth index. In such a case it is essential to
determine an area consecutive or otherwise of rows or columns where the original
pixel intensity is varying so that any modification in any color is likely to result in
little or no discernible change.
The next section describes the implementation of the above watermarking
procedures and discusses the experimental results.
467
Original Image
Fig. 1. Original Image (left), and the Image Watermarked in Red at Bit Index 5 with 56 Bits
(right)
Fig. 2. Original Image in Fig. 1 (left) Watermarked in Red at Bit Index 6 with 56 Bits
If an image is such that the bit values at the selected bit index in a sequence of N
pixels do not alternate, or if the transmission environment is likely to add noise to the
watermarked image, watermark locations may be selected a priori based on intensity
variation, and the row (or, column) location/s may be added to the key. As an
example, each of the 7 ASCII characters in CALUMET used above was appended
with 8 bits each of header (= [0 0 0 0 1 1 1 1]) and footer (= [1 1 1 1 0 0 0 0]) data for
a total of 7x24 = 168 bits in the watermark. For this N = 168, an arbitrary set of rows
and columns were used to study the effect of modifying pixel bits. Fig. 3 (left) shows
the result of hiding the watermark in the 4th bit position of 24 consecutive columns in
7 rows, both selected arbitrarily, in the original image shown in Fig. 1 (left). For the
row, column pairs (77, 29), (96, 49), (128, 71), ( 151, 91) , (180, 111), (208, 129),
468
K. Gopalan
(219, 157), watermarking in the red does not appear to indicate any visible change; if
the red intensity alone is mapped, however, effect of bit modification is evident in
certain rows (above the right eye and near the nose, for example) as seen on the right
in Fig. 3.
Red WM'd in bit 4 with 168 bits
Fig. 3. Longer Watermark (168 Bits) Embedded in Red in Bit Index 4 (left); Grayscale Image
of the Watermarked Red Color (right)
Using the same pairs of rows and columns for hiding the 168-bit watermark in
green in bit index 4, on the other hand, causes less noticeable change in the image, as
evidenced in Fig. 4. This is due to the fact that the intensity variations in green are
possibly in the same sequence at the 4th bit level at the selected pixels as the
watermark data, hence, modifying the pixels at the green color does not cause any
change in intensity. Thus, a careful choice of the areas for watermarking is imperative
in the bit modification procedure, as with any other hiding technique, for
imperceptibility.
4.2 Robustness of Watermark to Noise
Because of the high bit index used for modification, it is reasonable to expect the
watermark to remain intact when noise at low levels is added to the watermarked
image. This was verified for salt and pepper noise of up to a density of 0.005, on
average, added to the entire image or to the watermarked color. As an example, the
watermarked image at bit index 4 in green (Fig. 4) is shown in Fig. 5 with salt and
pepper noise added at a density of 0.005. Although the image is noisy, no error
resulted from the extraction of the hidden data at the specified bit index in the rows
and columns used for pixel modification. In fact, noise at even higher levels in many
cases showed little effect on the modified bits at index 4. Correct retrieval of the
watermark was, similarly, observed for low levels of Gaussian and speckle noise
added to the watermarked image.
469
Fig. 5. Watermarked Image (Fig. 4) with salt and pepper noise added at a density of 0.005
As a second example, the image shown in Fig. 6 was embedded with the same
watermark of 168 bits at the blue color. The watermarked image, with its embedded
blue color shown in Fig. 7, retained the hidden data imperceptibly. Also, oblivious
extraction with and without added noise resulted in correct retrieval of the watermark.
Noise immunity in retrieving the watermark was also similar to that for the
previous image at low levels of additive noise such as salt and pepper noise.
470
K. Gopalan
Brandyrose
Blue in BR - Original
Fig. 7. Original (left) and Watermarked (right) Image of Fig. 6 shown with the Watermarked
Color alone
5 Discussion
As the results in the previous section indicate, modifying pixel values at a selected bit
index is a viable technique for embedding watermarks on images. The selection of
rows (or, columns), as stated, is important in achieving an imperceptible embedding
of the watermark in any image. Although explicit evaluation of visually masked
regions and employing these regions for hiding information is necessary for covert
communication, the complexity of the evaluation, clearly, is not warranted for
471
6 Conclusion
A simple method for watermarking images and video frames using pixel modification
at a selected bit index has been proposed. The technique results in indiscernible
hiding of a small payload of data that can be retrieved without the use of the original,
unembedded host image or video frame. By selecting a high bit index, the hidden data
or watermark can be rendered robust to low levels of additive noise.
The proposed bit modification can be extended to video frame watermarking by
selecting the color, locations and frames. Additionally, a watermark may be split into
several parts and hidden in a sequence of frames for detecting tampering and/or
missing frames. This is useful in the transmission of security videos over the Internet,
for example.
References
1. Anderson, R.J., Petitcolas, F.A.P.: On the limits of steganography. IEEE J. Selected Areas
in Communications 16(4), 474481 (1998)
2. Bender, W., Gruhl, D., Morimoto, N., Lu, A.: Techniques for data hiding. IBM Systems
Journal 35(3&4), 313336 (1996)
3. Wu, M., Liu, B.: Data hiding in image and video.I. Fundamental issues and solutions.
IEEE Transactions on Image Processing 12, 685695 (2003)
4. Wu, M., Yu, H., Liu, B.: Data hiding in image and video.II. Fundamental issues and
solutions. IEEE Transactions on Image Processing 12, 696705 (2003)
5. Swanson, M.D., Kobayashi, M., Tewfik, A.H.: Multimedia data-embedding and
watermarking technologies. Proc. IEEE 86, 10641087 (1998)
6. Cox, I.J., Kilian, J., Leighton, F.T., Shamoon, T.: Secure spread spectrum watermarking
for multimedia. IEEE Trans. Image Proc. 6, 16731687 (1997)
472
K. Gopalan
7. Marvel, L.M., Boncelet Jr., C.G., Retter, C.T.: Spread spectrum image steganography.
IEEE Trans. Image Proc. 8(8), 10751083 (1999)
8. Gopalan, K.: Audio Steganography Using Bit Modification. In: Proc. of the IEEE 2003
International Conference on Multimedia and Exposition, ICME 2003 (July 2003)
9. Cvejic, N., Seppanen, T.: Increasing robustness of LSB audio steganography using a novel
embedding method. In: Proc. of the International Conference on Information Technology:
Coding and Computing (ITCC 2004), vol. 2(5-7) (April 2004)
10. Gopalan, K., Shi, Q.: Audio Steganography using Bit Modification A Tradeoff on
Perceptibility and Data Robustness for Large Payload Audio Embedding. In: Proc. of the
19th International Conference on Computer Communications and Networks (ICCCN
2010) Workshop on Multimedia Computing and Communications, Zurich, Switzerland
(August 2010)
Introduction
The massive media consumption in terms of media streaming has increased the
presence of enormous amount of video copies, which leads to huge piracy issues.
Controlling the copyright of the huge number of videos uploaded everyday is a
critical challenge for the owner of the popular video web servers. For example,
latest survey says that users upload 65,000 new videos each day on video sharing
websites like YouTube and also on an average, a viewer watches more than 70
videos online in a month [1] and the number is expected to keep growing.
In general, a video copy is dened as,a transformed video sequence, which is
visually less similar and does not contain any new and important information,
compared to the source video. There are two general approaches for detecting copies of a digital media: digital watermarking and Content Based video
Copy Detection (CBCD). The primary idea of CBCD technique is, detecting
video copies using the media itself which contains enough unique information.
The purpose of any CBCD system is, when a query video is given, to nd out
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 473480, 2011.
c Springer-Verlag Berlin Heidelberg 2011
474
the original video from which the query is taken, even if the query is modied
by means various transformations. CBCD techniques can be classied into two
major categories Global descriptor and Local descriptor techniques. Global descriptors like Ordinal measure [2], Color histograms [3] are compact and easy to
extract, but they are less robust against region based attacks. Local descriptors
like SIFT [4], SURF [5], PCA-SIFT [6] etc., use local interest points for feature extraction. The main drawback of local descriptors is generation of several
hundreds of features for a single video frame, resulting in high computational
cost.
Since color is one of the dominant and distinguishing visual feature of an image, in this paper, we employed a color descriptor of MPEG-7 standard [7], called
as Dominant color descriptor (DCD), which extracts the representative colors
of an image. The Generalized Lloyd algorithm (GLA) is the most extensively
used algorithm to extract the dominant colors of an image [8]. However, GLA
suers due to following drawbacks: 1) It needs expensive computational cost, 2)
It is time consuming, and 3) It mainly depends upon initial specications like
distance, number of clusters, centroid etc. In most of the CBCD systems, major
challenging problem is computational cost of feature extraction and matching,
because a huge video databases need to be checked. So, the main focus of this
paper is to provide easily extractable and compact feature descriptors with low
computational cost.The main contributions of this paper are as follows:
1. We use a new DCD extraction technique, which is easy to extract and compact (on average 12 to 20 numbers), when compared with existing color
clustering techniques.
2. We present an adaptive video signature pruning method, by which the total
number of video signatures of a given video are reduced by greater extent
(up to 58 %).
The rest of the paper is organized as follows: Section 2 introduces the framework
of the proposed scheme along with signature extraction and matching techniques;
Section 3 shows the experimental results of proposed scheme, followed by the
conclusion in Section 4.
Proposed Scheme
Figure 1 describes the framework of the proposed scheme, in which key frames
are extracted from master video using the sampling method. Then for each key
frame, Frequency image [9],representing the distribution of same feature pixels
is calculated.Selecting R, G and B colors as three features of an image, for each
pixel,the frequency of the same color pixels is calculated.Then, Dominant color
descriptors of each frame are calculated by making use of frequency images. By
applying simple pruning strategy to the extracted feature vectors, nal set of
representative dominant colors of an image are calculated and stored in feature
database of video les. Whenever user presents a query video, frequency image generation and DCD extraction is performed.Finally the feature vectors are
compared and the result of copy detection task is reported.
475
2.1
Fingerprint Extraction
Using uniform sampling method with the rate of 5 frames per second, key frames
are obtained from master video les. Since DCD captures the dominant or representative colors in a given image, it is referred to as dominant color descriptor.
The dominant color descriptor consists of the representative colors and their relative distribution in a given image or region. Dominant color descriptor (DCD)
replaces the whole image color information with a small number of representative colors.The dominant color descriptor of MPEG-7 standard is dened as [10],
F = {{ci , pi , vi }, s}, i = 1, 2, 3, ..N,
(1)
where N is the total number of dominant colors for an image, ci is a 3-D dominant
color vector, pi is the percentage for each dominant color, such that pi values are
normalized to 1.The color variance vi and spatial coherency s are optional parameters. The color variance vi describes the variation of the color values of the
pixels in a cluster around the corresponding representative color and the spatial
coherency s represents the overall spatial homogeneity of the dominant colors in
the image. In order to extract DCD, we used frequency image of frames, in which
each pixel represents the frequency of the same color pixels. In our scheme, we
476
1
3
5
used RGB color space. Using the frequency image of frames, the corresponding
DCD features are extracted. Consecutive images in a video sequence have very
similar color statistics [11] hence, we developed a new video signature pruning
method, which reduces the total number of descriptors required to characterize
the given image. In order to prove our method, we performed two sets of experiments for signature extraction. In the rst baseline method, the DCDs extracted
from frequency images are considered as signatures of corresponding video les.
In the second pruning based adaptive method, we are comparing the DCD of
each frame with that of previous frame, and if the similarity between DCD exceeds the threshold, then the latter DCD is considered as new representative
color of given video le.In our experiments we have considered 35 as threshold
value.Table 1 shows the details of extracted feature descriptors, using both baseline & pruning based adaptive methods for 1, 3, 5 minutes videos respectively.
From the Table 1 data, it is observed that, the proposed pruning based adaptive extraction method reduces the total number of feature descriptors by 58%,
31% and 29% respectively. So, based on the above facts, we have considered the
pruning based adaptive extraction method in order to perform this CBCD task.
2.2
Fingerprint Matching
(3)
N1
i=1
p2i +
N2
j=1
qj2
N1
N2
i=1 j=1
2ai,j pi qj
(4)
477
where ai,j is the similarity coecient between colors ci and bj . The similarity
coecient ai,j is given by,
di,j
1 dmax
if di,j Td
(5)
ai,j =
0
if di,j > Td
where di,j is Euclidean distance between two colors ci and bj , and the threshold
Td is the maximum distance used to judge whether two color features are similar
or not.The distance dmax = Td ,where and Td are set as 1.2 and 25 in our
experiments.
(a)
(b)
(c)
(d)
Experimental Results
478
(a)
(b)
(c)
(d)
Fig. 3. Comparison of PR Curves for Dierent Transformations: (a) Rotation (b) Image
Ratio (c) Noise addition (d) Resolution Change
and detection eciency of our approach respectively. From the video database,
we randomly selected 15 videos, ranging from 5 to 8 seconds. Dierent kinds
of transformations, that are given by, 1) Blurring, 2) Zooming-in, 3) Zooming-out, 4) Contrast Change, 5) Rotation, 6) Random Noise Addition, 7) Image
Ratio and 8) Resolution Change are applied to those 15 videos to generate 120
video copies. Then, selected 15 videos are used as the query videos to search the
database. To evaluate the eciency, the computational cost of the single video
copy detection is discussed.
3.1
(6)
Recall = T P/(T P + F N ),
(7)
479
True Positives (TP) are positive examples correctly labeled as positives. False
Positives (FP) refer to negative examples incorrectly labeled as positives. False
Negatives (FN) refer to positive examples incorrectly labeled as negatives.
Figure 2 shows the comparison of precision and recall values of our approach with that of algorithm(1), stands for the approach [13], with respect
to the blurring, zooming-in, zooming-out and contrast change transformations.
In algorithm(1),authors have used Ordinal measure for extracting features of
frames.The experimental results show that our scheme produces better detection results compared to the reference method. From Figure 2, we can observe
that for recall values 0.8 & above, our scheme gives good precision values which
is almost equal to 1, whereas the precision values of the reference method vary
from 0.7 to 0.8. Figure 3 shows the results in terms of precision and recall values
of the proposed and reference methods for various types of image transformations, that include rotation, image ratio, noise addition and resolution change.
These results show that our scheme produces better precision values as 0.98 ,0.97
etc.,when compared with that of the reference method.
3.2
In most of the CBCD systems, the major challenge is total computation time
required to implement copy detection task. In order to evaluate the eciency of
our approach, we have compared the computational cost of our approach with
that of Kim s approach [14]. In [14] authors have used luminance of frames as
feature descriptors for their CBCD task.The experiments are conducted on a
standard PC with 3.2 GHz CPU and 2 GB RAM. Table 2 gives the computational cost details of both proposed and reference methods. The results from
Table 2 demonstrate that our scheme is more ecient, when compared to Kim
s approach by reducing the total computational cost up to 65%.
Table 2. Computational Cost Comparison of Kim and Proposed Methods
Task
5 Min
1 Min 3 Min
5 min
Feature Extraction
52.561
Feature Comparison
0.648 1.140
2.689
55.250
Conclusion
In this paper, we presented a simple and video signature method using Dominant
Color Descriptors of MPEG-7 standard. Experimental results show that our approach provides good performance in terms of detection accuracy rates and also
480
reduces the computational cost, when compared with the existing approaches.
Further, our future work will be targeted at the following:
1. Multi- feature CBCD system, in which audio signatures are also incorporated
with the existing approach.
2. To increase robustness of existing system against various transforms like
Cropping, Camcording, Encoding, Gamma Correction etc.
Acknowledgments. We would like to thank the anonymous reviewers for their
valuable comments and suggestions.
References
1. Wu, X., Hgo, C.-W., Hauptmann, A.G., Tan, H.-K.: Real Time Near Duplicate
Elimination for Web Video Search with Content and Context. IEEE Transactions
on Multimedia 11(2) (2009)
2. Bhat, D., Nayar, S.: Ordinal Measures for Image Correspondence. IEEE Transactions on Pattern Analysis and Machine Intelligence, 415423 (1998)
3. Shen, H.T., Zhou, X., Huang, Z., Shao, J.: UQLIPS: A real-time near-duplicate
video clip detection system. In: VLDB (2007)
4. Lowe, D.G.: Distinctive Image Features from Scale-Invariant Key Points. Journal
of Computer Vision, 91110 (2004)
5. Bay, H., Tuytelaars, T, Van Gool, L.: SURF: Speeded Up Robust Features. Computer Vision and Image Understanding, 346359 (2008)
6. Ke, Y., Sukthankar, R.: PCASIFT: A More Distinctive Representation for Local
Image Descriptors. In: Computer Vision and Pattern Recognition (CVPR), pp.
506513 (2004)
7. Manjunath, B.S., Salembier, P., Sikora, T.: Introduction to MPEG-7 - Multimedia
Content Description Interface. John Wiley and Sons, West Sussex (2002)
8. Lloyd, S.P.: Least Squares Quantization in PCM. IEEE Transactions. Information
Theory 28, 129137 (1982)
9. Kashiwagi, T., Oe, S.: Introduction of Frequency Image and applications. In: SICE
Annual Conference 2007, Japan (2007)
10. Deng, Y., Manjunath, B.S., Kenney, C., Moore, M.S., Shin, H.: An ecient color
representation for image retrieval. IEEE Transactions on Image Processing 10,
140147 (2001)
11. Roytman, E., Gotsman, C.: Dynamic Color Quantization of Video Sequences. IEEE
Transactions on Visualization and Computer Graphics 1(3) (1995)
12. Open Video Project, http://www.open-video.org
13. Cho, H.-J., Lee, Y.-S., Sohn, C.-B., Chung, K.-S., Oh, S.-J.: A Novel Video Copy
Detection Method Based on Statistical Analysis. In: International Conference on
Multimedia & Expo. (2009)
14. Kim, J., Nam, J.: Content-based Video Copy Detection using Spatio-Temporal
Compact Feature. In: International Conference on Advanced Communication Technology ICACT 2009 (2009)
1 Introduction
The globalization of the Internet has led to increased distribution of multimedia files,
generating digital mechanisms that can communicate high quality information in
compressed form and deploy them in real-time to the mobile user. Advances in video
compression and communication allow multimedia information to be displayed on
mobile devices. But due to limited resources, especially memory, it is necessary to
use particular techniques as Video Streaming; this technique requires real time video
or large stored videos be divided in synchronized parts. These parts are communicated
independently but synchronously visualized in the mobile phone. The most important
topic of Video Streaming is that concurrently there are parts of the video leaving the
Server, travelling in the Network and visualizing in the phone.
Mobile and wireless communication has grown dramatically in recent years.
Worldwide there are many communication facilities based on standards such as:
Wireless Fidelity (Wi-Fi) [1], Worldwide Interoperability for Microwave Access
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 481490, 2011.
Springer-Verlag Berlin Heidelberg 2011
482
T. Gualotua et al.
(WiMAX) [2] allowing communication to a very small economic cost to the user.
However, the data transmission in wireless channels suffers from many errors,
frequent packet loss and radio coverage is not always high which can produce
frequent radio disconnections of mobile phones. These disconnections are totally
unpredictable and their adverse effects on communication can only be mitigated.
The most widely used protocol for Video Streaming is Real Time Streaming
Protocol (RTSP) (described in Request For comment (RFC) 2326). This protocol, or
its recent variants based on Hypertext Transfer Protocol (HTTP) [3] [4] or Real Time
Messaging Protocol (RTMP) [5], run over Real Time Protocol (RTP) and Real Time
Control Protocol (RTCP) for sending video frames and control of arrival to the
mobile phone. In special cases such as the Nokia N95 it can be used an additional
protocol called Real Time Data Transfer (RDT) [6] which carries out additional
control over the state of the wireless network that connects the mobile phone (3G
networks only). The RTSP typically uses Transmission Control Protocol (TCP) for
signaling. This represents a new problem associated with the wireless cannel
disconnections. This is because neither RTP nor RTCP are appropriate protocols to
control (without an additional middleware) mobile phone disconnections. In addition,
because it is necessary to carry out a RTSP session to download the video, when a
long-term disruption occurs (1 minute approximately) the session is lost and must be
restarted negotiating again all the connection parameters. It implies to receive video
from the beginning. This causes enormous anger in the mobile phone user leaving the
RTSP session. This is not a minor problem, on the contrary, it is a significant issue for
several reasons: the operator o manager of multimedia content can lose Money due to
user neglect, the wireless cannel can be congested with video frames that no one will
see (are out of radio coverage) and can degrade the use of the other services at that
time are using the wireless network. Therefore, we think it is important to continue
working on this problem, especially for new platforms for smart mobile telephones.
Recent Market Research [7] [8] demonstrate that mobile phones with Android are
the most currently used for multimedia applications. Moreover, all these phones have
wireless communication interfaces, enabling them to receive Video Streaming at low
cost.
In this paper we present the implementation of our mechanism, that controlled the
video communication and visualizing on portable computers [9] [10] and mobile
devices like Nokia N95 [11], to the new mobile phones with Android. The basic idea
was to prevent the user to re-initiate an RTSP session and to allow the user to receive
lost video frames (temporarily stored in a buffer until mobile device back into the
coverage area). These video frames are visualized while the video server is sending
other video frames. As in previous cases we have used a software agent architecture
[12] [13] providing artificial intelligence methods. Our software mechanism uses the
Java Agent Development Environment (JADE) platform, in particular the version:
JADE powered by Lightweight Extensible Agent Platform (JADE-LEAP) [14] [15]
which is an open source multi-agent system that meet the standards Foundation for
Intelligent Physical Agents (FIPA) [16]. The important innovations in this paper are
the follows: a) we have used free open source video platforms like: Video LAN (VLC)
[17] and the YouTube video service whose provides a high level of practical
483
484
T. Gualotua et al.
2.
3.
4.
5.
There is a video server (real time o on demand) that uses Video Streaming
technique to communicate a large amount of video data to mobile phone
whose user is moving.
Eventually, the mobile phone can be in an area where there is no radio
coverage, or the transport layer protocols or Internet application does not
respond during a time interval increased (from 10 seconds to 1 minute).
The wireless channel may be congested causing intermittent disconnections
of low duration (less than 10 seconds).
As a result Video Streaming service experiences unpredictable disruptions.
Moreover, it is useless to have a statistical method to predict disruptions
because in practice it is impossible to have a probability of success of
disruption that is reliable.
The control parameters in mobile devices (bandwidth, delay, error rate and
display quality) change due to client mobility and unpredictable behavior of
wireless communications.
485
given to place, it warn the agents to restart dialogue from the point where the
disconnection was produced [22].
Our mechanism for mobile phones identifies the following entities (Fig. 1.): A
RTSP Video Streaming server, an Agent Proxy Server (APS), an Agent Proxy Client
(APC) and the Client device which is displaying video frames.
The APS has two functions, the first is to receive messages from the APC and sent
to the server as the ports assigned in the negotiation and the remaining function is to
both receive messages from the server and send to the APC. The APC allows the
mobile device to receive and send messages of RTSP, RTP and RTCP safely. This
APC implements storage and communication mechanisms, as well as filtering the
RTSP negotiation to be as transparent as possible. This resides on the mobile device
which ensures that the agent will never disconnect client. By placing agents in the
APS and APC, they cooperate to define when the phone is out of coverage using MTP
signaling and taking care to resolve intermittent disconnects and automatically resume
Video Streaming session. The messages of FIPA-Agent Communication Language
(ACL) that cannot be delivered to the mobile phone are stored in the buffer of the
APS, and they will be sent once the reconnection is achieved.
One of the benefits of JADE-ANDROID is that they try to reconnect the APS and
APC for some time. MTP defines the waiting time to reconnect the client (default
value is one minute); this waiting time defines the maximum size of the buffer of the
APS. When the connection between the agents is restored, the APC will read the
sorted frames in the buffer and then it will send them to the video player in the mobile
phone (Client). Thus, the Client will retrieve the video from the break point.
486
T. Gualotua et al.
3 Experimental Results
In our previous work we had worked with a video server set for us in Java that used
the Motion Joint Photographic Expert Group (MJPEG) [23] video format which
basically compresses each video frame as a JPEG image. The MJPEG format was the
worst choice because it does not take advantage of temporal images compression.
That means the Server will send approximately a similar amount of traffic in each
RTP packet which should cause a high waste of bandwidth. But it will simplify the
observation of service disruptions because it is simple to observe the absence of
traffic in the Wi-Fi Channel in the period of time d. In this paper we have used freely
distributed servers widely used and more powerful video encoding formats. On the
one hand, we have complicated the interaction between the proxies and the video
Server. On the other hand, we have improved the detection of video packets when
disruptions occur and should be subsequently retrieved from the buffer. The reason
we do this is to provide more practical realism to our mechanism to mitigate the
adverse effects of video disruptions. The improvements include:
1.
A video server that has been used for testing, VLC (one of the free
distribution that is currently used worldwide). The other server we have used
was YouTube that represents the most widely used multimedia service
worldwide today. In both cases we have tried to deliver video encoded in a
compatible format with Android.
2. The configuration of the video format used is as follows: for video the
H.264/AVC codec, bit rate 9000 kbps, 25 fps, width 176, height 144 and for
audio the Advanced Audio Coding (AAC), bit rate of 128 kbps, 1 channel and
the sampling rate of 44100.
We have used a wireless network with a Wi-Fi access point at 54Mbps. A 2.20 GHz
AMD processor laptop with 4 GB of RAM and wireless card Atheros AR5009 IEEE
802.11 a/g/n wireless adapter. A Centrino Duo 1.66 GHz processor laptop with 1 GB
487
of RAM and a wireless card Intel Pro / Wireless 3945ABG. The model of the mobile
device is a Google Nexus One with Android with a QSD 8250 Qualcomm processor
at 1 GHz and 512 MB of RAM.
We have achieved several tests considering the following cycle: in-out-in coverage
in order to test the effectiveness of JADE-ANDROID for retrieving video frames
packets after a service disruption. We show the sequence of FIPA ACL messages
exchanged between the APS and APC in the Fig. 2. As can be seen the recovering of
the RTSP session is done correctly.
We present some results taking into account the communication of video and
audio due to we tested that there are problems when the size of the packet increases
(video) but there is no problem when the size of the packet is short (audio). In Fig. 3
and Fig. 4 we show the jitter and delay for audio and video separately comparing the
using of JADE-ANDROID and without it.
In Fig. 5 is shown that practically all the packets sent by the Server (audio and
video) are received by the Client using JADE-ANDROID. This is not the case
without JADE-ANDROID. Moreover, in this last case, the quality of visualization is
very high.
488
T. Gualotua et al.
When it was out of coverage about 30 seconds, the audio and video packets are
successfully recovered (no packet losing). A delay is produced when reconnecting,
because the packets stored in the buffer must be released and their delay must be recalculated. When the phone was out of coverage during 30 to 45 s, the audio and
video packets always arrive to the Client. The audio packets were presented with
100% of quality, but the video frames were delayed and sometimes were not
visualized because the buffer size was very small and failed to recalculate the frame.
This was due to the timestamp, so the PvPlayer decided to remove the packets with
long delay, causing the application did not respond.
We found limitations in JADE-ANDROID. It limits to only one agent by each
application. But in order to obtain a high quality application we need three agents by
application. That is, one agent in charge to manage the RTSP and RTCP messages (a
shared channel can be used for these protocol messages). One agent that manages the
audio communication using a dedicated channel and another agent for managing
video communication.
489
protocol does not efficiently handle service disruptions and cannot be used to
implement corrective actions. As with previous platforms, for Android our
mechanism was tested in practice and experimental results show that it does not
cancel the RTSP session and the mobile phone user cannot stop viewing any of the
video frames that would be lost if no use our mechanism. It is necessary to clarify that
a maximum time for reconnection must be specified in order to avoid wasting
resources on the Server.
An important issue to work is the predictive mechanisms to manage mobility and
apply delivery prediction techniques. In this way the mechanism would anticipate a
possible interruption of service with a considerable degree of reliability (remember
that it is impossible to predict exactly service disruptions in wireless networks).
Another interesting issue is the generation of intelligent mechanisms to carry out the
analysis and selection of video frames to be stored based user profiles applying
artificial intelligence to create agents for other mobile devices that seek adaptability to
the actual conditions of wireless channel. This would maximize the memory in the
APS because it would store only those video frames are strictly necessary and that the
user profile has indicated. A third interesting issue is the development of a multiagent
system that allows dynamic creation of agents on the server for each customer which
allows applying Video Streaming technique with high-quality videos. This would
achieve to improve the performance of multimedia information communication when
multiple mobile devices connect to server at the same time because each JADE agent
works point to point.
References
1. Hernndez, K., Pelayo, J., Aguirre, L.: Broadband Transmission to Rural Areas. In: Eighth
LACCEI 2010, pp. 25 (2010)
2. Gabriel, C.: WiMAX; The Critical Wireless Standard (March 2011), Download available
http://eyeforwireless.com/wimax_report.pdf
3. Deshpande, S.: Adaptive timeline aware client controlled HTTP streaming. In: Proc. of
SPIE, pp. 25 (2009)
4. Begen, C., Akgul, T., Baugher, M.: Watching video over the Web, part I: streaming
protocols. IEEE Internet Comput. (2011)
5. Real-Time Messaging Protocol (RTMP) Specification. Adobe Systems Inc. (March 2011),
Download available http://adobe.com/devnet/rtmp.html
6. Nokia N95, Nokia Inc. (March 2011), Download available
http://nokia.es/link?cid=PLAIN_TEXT_815211
7. Market Research (March 2011), Download available
http://altersem.com/blog/wpcontent/uploads/2010/09/EstudioDeMercadoMobileInternet.pdf
8. Trends in Mobile Operating Systems (March 2011), Download available
http://noticiasdot.com/wp2/2010/12/14/android-sera-elsistema-operativo-mas-popular-en-el-verano-del-2012/
9. Suarez, A., Macias, E.: Automatic Resumption of Streaming Sessions over Wi-Fi Using
JADE. IAENG International Journal of Computer Science, IJCS 33(1), 16
490
T. Gualotua et al.
10. Suarez, A., Macias, E., Martin, J.: Light Protocol and Buffer Management for
Automatically Recovering Streaming Sessions in Wi-Fi Mobile Telephones. In:
Proceedings of the IEEE Second International Conference on Mobile Ubiquitous
Computing, Systems, Services and Technologies, UBICOMM 2008, pp. 8076 (2008)
11. Suarez, A., Macias, E., Espino, F.J.: Automatic Resumption of RTSP Sessions in Mobile
Phones using JADE-LEAP. IEEE Latin America Transactions 7(3), 38 (2009)
12. Gao, L., Zhang, Z., Towsley, D.: Proxy-Assisted Techniques for Delivering Continuous
Multimedia Streams. IEEE/ACM Transactions on Networking 11(6), 884894 (2003)
13. Bellavista, P., Corradi, A., Giannelli, C.: Mobile Proxies for Proactive Buffering in
Wireless Internet Multimedia Streaming. In: Proceedings of the IEEE International
Conference on Distributed Computing Systems Workshop (ICDCSW 2005), pp. 297304
(2005)
14. Bellifemine, F., Caire, G., Poggi, A., Rimassa, G.: JADE, A White Paper. Journal of
Telecom Italia Lab 3(3), 619 (2003)
15. Caire, G., Piere, F.: LEAP USER GUI (March 2011), Download available
http://jade.tilab.com/doc/tutorials/LEAPUserGuide.pdf
16. FIPA, The Foundation for Intelligent Physical Agents (March 2011), Download available
http://fipa.org/.
17. VideoLAN projects media player, free software under GPL licensed (March 2011),
Download available http://videolan.org/vlc/
18. Vallejo, D.: A multi-agent system for optimizing the rendering. Department of Computer
Science, pp. 823. University Castilla La Mancha (2006)
19. Caire, G.: JADE Tutorial. JADE Programming for Beginners (2011), Download available
http://jade.tilab.com/doc/tutorials/JADEProgrammingTutorial-for-beginners.pdf
20. Gotta, D., Trucco, T., Ughetti, M.: Jade Android Add-On Guide (March 2011), Download
available
http://jade.tilab.com/doc/tutorials/JADE_ANDROID_Guide.pdf
21. Shoham, Y., Leyton-Brown, K.: MULTIAGENT SYSTEMS Algorithmic, GameTheoretic, and Logical Foundations, pp. 330381. Cambridge University Press,
Cambridge (2009)
22. Suarez, A., Macias, E., Espino, F.J.: Automatic Resumption of RTSP Sessions in Mobile
Phones using JADE-LEAP. IEEE/ACM Transactions on Networking 11(6), 884894
(2003)
23. Muralles, W.: Analysis, Evaluation and Recommendation of Digital Video Formats
(March 2011), Download available
http://biblioteca.usac.edu.gt/tesis/08/08_7716.pdf
Abstract. In this paper, the performance of Video Protocols was tested on three
well known IP transition mechanisms such as IPv6to4, IPv6in4 and Dual-Stack.
The protocols involved in this experiment were MPEG-1, MPEG-2, and MP-4
protocol. In this experiment two tunnelling and a Dual-Stack mechanisms were
configured and impact of these mechanisms on Video packets was observed.
The parameters measured using the above test-bed were throughput, impactedthroughput (due IP transition mechanisms) and CPU utilization. The results
indicate that as video packet size is increased, impact of IP transition
mechanism becomes significant. Observation for Dual-Stack mechanism shows
that it performed much better than other two tunnelling mechanisms (IPv6to4 &
IPV6in4). IPv6to4 tunnelling mechanism had less impact on video packets
while IPv6in4 had the highest impact of all three protocols tested. Comparison
between video protocols illustrates that MPEG-2 was highly impacted by
tunnelling mechanisms having almost the same amount of bandwidth wasted
while MP4 was least impacted by tunnelling mechanism. More detail of results
is covered in this paper including CPU utilization and impacted-throughput.
Keywords: Video, performance analysis, protocols, IPv6to4, IPv6in4 & DualStack mechanism, and Linux Ubuntu 10.10.
1 Introduction
A recent study [1] indicates that Video over IP is one of the most important and fast
growing technology in the digital world. Larger numbers of users prefer to have
Video over IP available at any of the computing devices they use from any location.
Thus, usage of Video over IP would require each device to have an IP address in
order to communicate over the internet. There are several other issues that Video over
IP would face challenges from. These would be size of video packets for smaller
devices and quality of video over NGN internet infrastructures using various
protocols. Video over IP is mostly being used over IPv4 infrastructure (Internet);
however futuristic research study of video states that video over IP would face greater
challenges ahead, when it will be used over IPv6 networks and has to integrate with
both IPv4 and IPv6 networks. In this experimental based research we have set up a
network test-bed environment, to investigate and clarify how video quality is
impacted by IP transition mechanisms [2].
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 491500, 2011.
Springer-Verlag Berlin Heidelberg 2011
492
2 Background
The researchers considered the issue relating to the growth of IPv6 that provides a
number of advantages on adoption, and its co existence with the currently popular
IPv4. However, there still remains the issue of IPv6 not being able to communicate
directly with IPv4 networks. To resolve this problem, different IP transition
mechanisms have been designed such as Dual-Stack, IPv6-to-4 and IPv6-in-4
mechanisms.
IPv6-to-4 and IPv6-in-4 are two major tunnelling mechanisms which were mainly
designed for IPv6 users. It allows IPv6 based network users to communicate with
other IPv6 based networks through IPv4 cloud (Internet). These tunnelling
mechanisms were structured to carry IPv6 based packets through IPv4 cloud by
encapsulating IPv6 packets with IPv4 header and sending them via IPv4 cloud. It then
de-capsulate the packets at the other end and deliver them to their destination.
IPv6-to-4 tunnel is considered as automatic tunnel and it requires prefixed IP
addresses. It does not work with private IPv4 addresses and it cannot use multicast
addresses or the loop-back address as the embedded IPv4 address [3]. IPv6-in-4
493
3 Related Works
This section discusses earlier studies undertaken in this and related areas. In [4] the
researchers have used a technique called Adaptive Significance Determination
Mechanism in Temporal and Spatial domains (ASDM-TS) for H.264 videos over IP
dual-stack network with DiffServ model. The packet loss scenario was mainly
focused for various video protocols as each video protocol has different error
transmission characteristics. Usage of fixed model for video traffic which priorities
video packets in different sequences is not successful and degrades the quality of
video due to loss of important video packets. However with new technique (ASDMTS) simulated results show that it improves the performance of video traffic over IP
dual-stack mechanism.
In another study [5], the authors have carried out an experiment on Dual-Stack
mechanism using four different types of traffic (Video, Internet, FTP & VoIP). NS-2
(Network Simulator 2) tool was used to identify the performance of multiple traffic
and parameters covered were Bandwidth, packet loss and delay. MPEG-4 protocol
was selected to transmit video traffic over Dual-Stack mechanism using different
packet sizes and results were compared. Final discussion covering the overall results
mentioned that IPv6 is better than IPv4 using all four types of traffics tested.
Moreover IPv6 allows more bandwidth, and adds less delay over large packet sizes
while IPv4 does not provide high bandwidth and is limited in regard to large packet
size traffic [5].
494
4 Network Setup
The proposed network test-bed was setup based on three different configurations. There
are three networks as shown in Figure 1 below. There are two IPv6 based networks
that were connected to each other via IPv4 network. To establish a connection between
two IPv6 based networks via IPv4 cloud, IP transition mechanisms were configured.
Three different types of IP transition mechanisms were involved in these networks
such as IPv6to4, IPv6in4 and Dual-Stack. One by one we configured each of these
495
In addition we have setup a pure IPv4 based networks and pure IPv6 based
networks and performed similar tests on these networks in order to compare and
differentiate the results. The test-bed shown above is based on two IPv6 networks
through IPv4 cloud and both IPv6 networks are connected to each other using IP
transition mechanisms (IPv6to4, IPv6in4 & Dual-Stack). All tests were conducted
under same circumstances using same services on each workstation.
The hardware used in this experiment includes four workstations; two performed
as clients and other two were configured as routers. Linux (Ubuntu 10.10) operating
system was installed on both router machines and three IP transition mechanisms
were implemented on those routers. Authors used a tool called CPU-Z to identify all
the components used. Following is a list of hardware components, which were
involved:
496
versions of internet protocols (IPv4 & IPv6) and works across a range of operating
systems including Linux, Windows and Mac. It also has the ability to broadcast live
audio, video and supports multiple voice and video protocols such as MPEG-1,
MPEG-2 and MP4.
Gnome is a traffic monitoring tool [12] that allows users to audit and measure the
performance of a live network. It has the capability to capture and measure
throughput, CPU utilization and RAM utilization. Gnome was explicitly selected as it
could detain and monitor the traffic during encapsulation and de-capsulation sectors.
Other tools have the ability to measure the traffic performance over a network;
however they cannot obtain the performance results during encapsulation and decapsulation at IP transition segments. Gnome has that special ability to monitor the
traffic when it is being encapsulated or de-capsulated. This tool allowed us to capture
the throughput and impacted-throughput caused by IP transition mechanisms.
6 Experimental Design
Two platforms of VLC were installed on each client machine at both ends of
networks and Gnome was installed on a router. First VLC player was used to stream
live video conference and was received at other end using VLC Player. Same way
another VLC player was used to stream video back to the client, to make it two ways
video conferences. Then Gnome tool was setup on Router 1 machine where
encapsulation and de-capsulation is processed. Hence all measurements were made at
Router 1. In this experiment data was captured at 30 seconds intervals. The tests were
repeated over 10 times to gain more accuracy in results. Next sections presents tests
results obtained from this experiment.
7 Results
The metrics involved in this experiment are the pure throughput, impacted-throughput
(due tunnelling) and CPU utilization. This section covers three video protocols
namely, MPEG-1, MPEG-2 and MP4 performance over the two pure IP versions
followed by the transition mechanisms and their average results are presented in
graphs and Table 1.
Figure 2 below illustrates the MPEG-1 actual throughput and additional impactedthroughput due to encapsulation process. Throughput obtained using IPv4 was
approximately 250 Kilobytes per second while using IPv6 it slightly increased due to
the bigger header size of IPv6 packets. Dual-Stack provided marginally more
throughput than IPv6 as Dual-Stack works by enabling both IPv4 & IPv6 protocol
stacks at the same, which may cause slight impact on video packets. The results
measured over IPv6in4 tunnel was the highest at approximately 367 Kilobytes per
second and IPv6to4 tunnelling was marginally close at approximately 364 Kilobytes
per second. It is clear from the graph shown below that using IPv6in4 tunnel will
require at least 110 Kilobytes per second extra bandwidth on your actual throughput.
Due to IPv6in4 tunnel 110 Kilobytes per second will be wasted and it will be costly
for users as high amount of bandwidth gets wasted. IPv6to4 tunnel provides less
impact than IPv6in4 tunnel at approximately 3 Kilobytes per second.
497
T h ro u g h p u t (K iB /s )
IPv4
IPv6
Dual Stack
IPv6to4
IPv6in4
T h r o u g h p u t (K iB /s )
IPv6
Dual Stack
IPv6to4
IPv6in4
The results for MPEG-2 protocol indicate that IPv6in4 tunnel had the highest
impact on bandwidth. Throughput traffic measured over IPv4 shows that it takes 530
Kilobytes per second to have a two way video conference while using IPv6 it takes 536
Kilobytes per second. Observation over Dual-Stack indicates that it caused about 4
Kilobytes per second, more bandwidth wastage than IPv6. IPv6in4 tunnel had at
approximately 883 Kilobytes per second by wasting 347 Kilobytes per second. IPv6to4
had less impact on throughput than IPv6in4 at approximately 4 Kilobytes per second.
The throughput results for MP-4 protocol are visible in Figure 4. It describes that
using IPv4 at approximately 110 Kilobytes per second bandwidth provides a two
498
way video conference while using IPv6 it takes 125 Kilobytes per second. Dual-Stack
mechanism caused slight impact on throughput at approximately 3 Kilobytes per
second more than IPv6. Impact measured over IPv6in4 tunnel was higher than
IPv6to4 tunnel at approximately 20 Kilobytes per second. Observation over IPv6in4
shows that it caused at least 71 Kilobytes per second bandwidth wastage while
IPv6to4 had at least 52 Kilobytes per second wastage.
Th roughput (K iB /s )
IPv6
Dual Stack
IPv6to4
IPv6in4
Protocols
IPv4
MPEG-1
MPEG-2
MP-4
29.6
31.4
30.9
CPU Utilization%
DualStack
31.0
30.03
28.0
28.05
31.5
33.4
IPv6
6to4
26.6
27.6
33.3
6in4
27.4
26.0
31.7
Table 1 shows results of CPU utilization. These results were captured during the
performance test of each video protocol using the two IP versions and IP transition
mechanisms. The results for MPEG-1 and MPEG-2 had consistent CPU usage on
both IP versions and three mechanisms. However, results for MP-4 were marginally
higher than MPEG-1 and MPEG-2. It was due to the high compression system
operating for MP-4 protocol.
499
Acknowledgments
We would like to acknowledge Unitec, Institute of Technology for supporting the
research team and providing us this opportunity to complete this research.
References
1. Norton, W.B.: Internet Video: The Next Wave of Massive Disruption to US Peering
Ecosystem. In: Presented at the Asia Pacific Regional Internet Conference on Operational
Technologies (APRICOT), Bali, Indonesia (2007)
2. Tao, S., Apostolopoulos, J., Guerin, R.: Real-Time Monitoring of Video Quality in IP
Networks. IEEE/ACM Transactions on Networking 16(5), 1052 (2008)
3. Stockebrand, B.: IPv6 in Practice. A Unixers Guide to the Next Generation Internet.
Springer, Heidelberg (2007)
4. Lee, C., Yu, Y., Chang, P.: Adaptable Packet Significance Determination Mechanism for
H.264 Videos over IP Dual Stack Networks. In: IEEE 4th International Conference on
Communications and Networking, pp. 15 (2009)
500
1 Introduction
Recent studies [1], [2] and [3] indicate that Video over IP is an important technology,
which is growing rapidly and has a vital role ahead. Futuristic studies also specify that
reliability and availability of Video over IP on all types of electronic devices will be
on demand. Hence Video over IP would require more IP addresses in order to permit
larger numbers of devices to be connected over the internet. Several other concerns
are expected to arise and Video over IP has to deal with related issues, in order
to enhance the performance of Video over IP. Issues like video packet size for mobile
devices and quality over next generation networks (NGN) are yet to be resolved.
Currently Video over IP is mainly being transmitted over IPv4 networks (Internet).
However, according to researchers a greater challenge exists for transmitting video
over IP over IPv6 infrastructure. In this scenario we have implemented an
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 501511, 2011.
Springer-Verlag Berlin Heidelberg 2011
502
infrastructure based on NGN including IPv6 to identify the quality of Video over IP
using IP transition mechanisms [4].
MPEG (Moving Picture Experts Group) is a working group of specialists formed
by international organisations with a view to set standards for audio, video and
multimedia (MM) communications. MPEG has collaborative organisations and works
with a range of universities, industries, and research institutions. MPEG standard
characterizes multiple ways to broadcast audio and video such as multimedia streams
that are compressed and transmitted concurrently within the MPEG standards.
MPEG-1, MPEG-2 and MPEG-4 are commonly used standards form the range of
MPEG standards, which are used for audio and video transmission. MPEG-3 was
designed for High Definition TV compression and became redundant with its features
merged with MPEG-2. MPEG-1 was the first MM compression method, which had a
speed at approximately 1.5 Mega bits per second (ISO/IEC 11172). Considering the
low bit rate of 1.5Mbps for MM services, this standard provides lower sampling rate
for the images and uses lower picture rates of 24-30 Hz. The final outcome results a
lower picture quality.
The popular format known as MP3 is formed from the parts of MPEG-1 and
MPEG-2 standards. MPEG-2 provides broadcast quality video and is specially used
for TV transportation. The typical broadcast rates for MPEG-2 standard are higher
than MPEG-1 while MPEG-4 standard uses compression techniques that result in
higher throughput that is greater than MPEG-2. This aids transport of application
level MM like computer graphics, animation and regular video files. In some cases
MPEG-4 decoder is capable of describing three dimensional pictures and surfaces for
files with .MP4 file extension.
Matroska Multimedia Container, MKV is an open standard free container file
format that can hold an unlimited number of video, audio, picture or subtitle tracks
inside a single file. Unlike other similar formats, such as MP4, AVI and ASF, MKV
has an open specification (open standard) and most of its code is open source. The
formats are .MKA for audio only, .MKS for subtitles only, .MKV for audio, video,
pictures and subtitles and .MK3D for stereoscopic/3D video. Matroska is also the
basis for .webm (WebM) files. Matroska is based on a binary derivative of XML,
called the Extensible Binary Meta Language (EBML) which bestows future format
extensibility, without breaking file support in old parsers.
Flash Video is viewable on most operating systems, using the Adobe Flash Player
and web browser plug-ins and is very popular for embedded video on the web and
used by YouTube, Google Video, metacafe, Reuters.com, and many other news
providers. FLV is a container file format used to deliver video over the Internet using
Adobe Flash Player (versions 6 to10). There are two different video file formats
known as Flash Video: FLV and F4V. FLV was originally developed by Macromedia.
The audio and video data within FLV files are encoded in the same way as they are
within SWF files Flash Video content may also be embedded within SWF files. The
F4V file format is based on the ISO base media file format. Flash Video FLV files
usually contain material encoded with CODECS following the Sorenson Spark or
VP6 video compression formats. The most recent public releases of Flash Player
(collaboration between Adobe Systems and MainConcept) also support H.264 video
and HE-AAC audio.
503
2 Background
To resolve the issue of shortage in IPv4 addresses for the future, IPv6 was introduced
to the computer world. In addition it also provides a number of other advantages on
adoption. However, IPv6 still has one major issue since it does not communicate
directly with IPv4 networks. To resolve this issue, researchers have designed various
IP transition mechanisms known as IPv6 over 4, NAP-PT, Dual-Stack, IPv6to4 and
IPv6-in-4 mechanisms, which allows IPv6 based networks to communicate with other
IPv6 based networks via the IPv4 cloud.
IPv6-to-4 and IPv6-in-4 are two vital tunnelling mechanisms which are available
on multiple operating systems including Windows and Linux OSs. The main purpose
of these tunnelling mechanisms was to enable IPv6 based networks to communicate
to other IPv6 based networks through IPv4 networks (internet). The function of
tunnelling mechanisms was designed to carry IPv6 packets via IPv4 networks using
encapsulation process and add IPv6 packets into IPv4 header. It then executes decapsulation process at the other end and removes IPv4 header and deliver pure IPv6
based packets to their destinations.
IPv6-to-4 tunnel operates as an automatic tunnel using prefixed IP addresses. A
special method is used to calculate prefixed IP addresses for both IPv4 and IPv6. It
also does not work with private IPv4 addresses and it cannot use multicast addresses
or the loop-back address as the embedded IPv4 address [5]. IPv6-in-4 tunnel is also
known as configured tunnel, which needs to be configured manually among hosts. It
has the capability to operate at any given IP address and does not require any prefixed
IP addresses, unlike IPv6to4 tunnel. Each of these tunnels has a special virtual
interface, which requires different setup configuration. IPv6to4 tunnel is created and
setup in an interface called tun6to4 whereas IPv6in4 tunnel is created and setup in an
interface called IPv6-in-4. Dual-Stack mechanism is established by enabling both
versions of IP (IPv4 & IPv6) protocol concurrently and they both operates
simultaneously. It allows IPv4 based nodes particularly to communicate with only
IPv4 based nodes while IPv6 based nodes specifically communicate with IPv6 based
nodes; however IPv6 nodes cant communicate IPv4 nodes.
IP transition mechanisms have proposed a solution by allowing IPv6 based
networks to communicate with other IPv6 based networks through IPv4
infrastructures. However, there are still major concerns that are noticeable with use of
504
3 Related Works
This section covers related areas of research which was undertaken by other
researchers in past years. In [6] a method was designed and tested which purposed a
solution to packet loss issue in video transmission. The method used is called
Adaptive Significance Determination Mechanism in Temporal and Spatial domains
(ASDM-TS) for H.264 videos packets using IP dual-stack infrastructure with
DiffServ model. The video packet loss issue was undertaken in depth and multiple
video protocols were involved as each protocol is based on different characteristics
and experiences different errors during transmission. A model which used fixed
packets for video traffic and prioritised video packet progression differently is
ineffective and reduces the quality of video packets due to significant packet loss in
the process of transmission. However, using this new method (ASDM-TS) can
improve the packet loss in video transmission especially when it is broadcast over IP
dual-stack mechanism.
In this scenario different types of traffic including video was tested and analyzed
on dual-stack mechanism. In [7], authors conducted an experiment and performed
Video, Internet, FTP & VoIP traffic over dual-stack mechanism. The tool known as
NS-2 (Network Simulator 2) was selected to carry out the tests and metrics considered
were packet loss, bandwidth and delay. Video protocol involved was MPEG-4 and it
was transmitted over Dual-Stack mechanism using various packet sizes and outcome
was compared. It was concluded at the end, that usage of IPv6 is much better than
IPv4 no matter which traffic is transmitted. Furthermore IPv6 has the capacity to
transmit more bandwidth, and cause less delay for large packet sizes whereas IPv4 is
limited and provides less bandwidth for large packet sizes.
505
Communication between two countries was setup using IPv6 to identify the
behaviour of video traffic over a live network. In [8] authors observed video
transmission over pure IPv6 and results obtained were compared with IPv4 based
networks. The tests include HD (High Definition) video packets with and without
compression system on both networks (IPv4 & IPv6) and one-way and two-way
communication system was established between both countries. The traffic analysis
outlines that 0.1% packet loss was measured over one-way transmission on IPv6
based networks while two-way transmission added significant packet loss at
approximately 44%. The video transmission over IPv4 states that there is no major
concern while using one-way and two-way video communication and outcome is
stable for both. However, results for IPv6 indicates that using two-way transmission
has caused significant impact on packet loss (44%) due to the network devices.
Overall it was concluded that devices used in the infrastructure of IPv6 have caused
this major packet loss as these device are not compatible with each other in regards to
IPv6 traffic forwarding.
An investigation over packet loss was conducted using video traffic. In [9]
investigation was conducted to identify and compare packet loss occurrence in video
transmission due to the process of error concealment and without error concealment.
Lotus multi-view sequence was established that enables 8 views at a time and each
view provides 500 frames. Outcome over packet loss shows that there was packet
loss at approximately 2% without using error concealment process and caused
significant damage to video quality. However using error concealment produced
much better results and the quality of video over IP infrastructure was efficient.
A new structure of carrying 3D traffic over IP networks was designed and a solution
was proposed for 3D IP-TV. In [10] authors designed a technique called IP-3DTV
Network Management System which was established on both versions of IP (IPv4 &
IPv6). Another study was carried out to enhance the performance of video over IP
networks using two techniques known as SBF-H and RBF-H. The techniques
mentioned above have the capability to select the appropriate packets during video
transmission and forward them in bi-directional multiple lanes. The outcome was
obtained based on simulated test environment. It outlines that having RBF-H technique
could enhance video traffic while SBF-H is appropriate in most conditions [11].
In this paper [12] the researchers setup a network for simulation environment and
performed voice and video packets over WLAN (Wireless Local Area Network) using
multiple protocols. The outcome obtained from the tests shows that three different
types of channels can be broadcasted concurrently without having significant packet
loss in video transmission. The authors concluded at the end that the outcome
achieved from these tests which was conducted in LAN (Local Area Network)
environment, can be applied over WAN (Wide Area Network) without causing any
impact on video quality.
In [13], another study was undertaken and real-time network was established to
observe the original packet loss on a live network. Impact of frame rate on real-time
transmission was also investigated in [14] and [15], the research in [16] takes it to the
next level by testing effects of video on next generation network (NGN) and future
architectures.
506
4 Network Setup
The proposed network test-bed was established using four different setups. First setup
was based on pure IPv6, second enabled dual-stack mechanism. Third and fourth
setup involved the two tunnelling mechanism known as IPv6to4 and IPv6in4. There
are three networks in each setup as illustrated in Figure 1 below. Two networks at
both ends are based on IPv6 configurations while the cloud is based on IPv4
configuration. To establish a connection between two IPv6 based networks through
IPv4 cloud, two tunnelling and dual-stack mechanisms were configured. The two
tunnelling mechanisms included are IPv6to4 and IPv6in4. One by one each of these
mechanisms was configured to setup a connection between IPv6 based networks.
Throughout these networks Cat5e cables were used for physical connectivity.
As visible below a client workstation is connected to a router using IPv6
configuration and then a router is connected to another router using IPv4
configuration. Second router is connected to a client using IPv6 configuration.
IPv6to4 and IPv6in4 tunnelling mechanisms were configured on both router
machines. For Dual-Stack mechanism all the workstations and routers had both
versions of IPs enabled (IPv4 and IPv6 concurrently). Linux (Ubuntu 10.10) operating
system was installed on both routers and static routing was used for both versions of
IPs (IPv4 & IPv6).
In addition pure IPv6 based networks were set up and similar tests performed on
these networks in order to compare the results. The test-bed shown above is based on
two IPv6 networks through IPv4 cloud and both IPv6 networks are connected to each
other using IP transition mechanisms (IPv6to4, IPv6in4 & Dual-Stack). All tests were
conducted under same circumstances using same services on each workstation.
The hardware used in this experiment contains four workstations; two machines
performed as clients and other two were as routers. Linux (Ubuntu 10.10) platform
was installed on both router machines and three IP mechanisms were established on
each of the two routers. Authors used a tool called CPU-Z to identify all the
components are identical. List of hardware components is mentioned below:
507
6 Experimental Design
Two applications of VLC player were installed on each client workstation at both
sides of networks and Gnome was setup on a router machine. First VLC application
was setup to stream live video conference using one of the video protocols and it was
received at other end of the network using another VLC application. Same way
another VLC application was setup to stream live video back to the client, to make it
two ways video conferences. Then Gnome tool was configured on a router machine
where encapsulation and de-capsulation was processed. In this experiment data was
captured at 30 seconds intervals. The tests were repeated over 10 times to gain more
accuracy in results. Next section presents tests results obtained from this experiment.
7 Results Analysis
The parameters covered in this experiment are actual-throughput, impactedthroughput and CPU utilization. This section presents performance of five different
video protocols namely, MPEG-1, MPEG-2, MPEG-4, MKV and FLV over two
tunnelling and Dual-Stack mechanism and their average results are shown in graphs
and Table 1 below.
Actual-throughput: This is original throughput of two way video conference with
no additional traffic impact due to encapsulation. It simply carries video packets and
delivers them to their destinations with no addition to the packet size.
508
Throughput
(KiB/s)
Throughput vs Impact-Throughput
IPv6to4
IPv6
750
600
450
300
150
0
MPEG-1
MPEG-2
MPEG-4
MKV
FLV
Video Protocols
Throughput
(KiB/s)
Throughput vs Impact-Throughput
509
IPv6in4
IPv6
750
600
450
300
150
0
MPEG-1
MPEG-2
MPEG-4
MKV
FLV
Video Protocols
Throughput
(KiB/s)
Throughput vs Impact-Throughput
Dual-Stack
IPv6
500
400
300
200
100
0
MPEG-1
MPEG-2
MPEG-4
MKV
FLV
Video Protocols
CPU Utilization%
MPEG-2
MPEG-4
MKV
FLV
Dual-Stack
30.0
28.1
33.4
29.1
26.3
IPv6to4
26.6
27.4
27.1
25.1
33.3
31.7
30.1
28.9
26.2
26.4
IPv6in4
510
mechanism. The results for IPv6to4 and IPv6in4 didnt show much inconsistency for
CPU usage while Dual-Stack was slightly higher than both of them. It is because both
versions of IP operate concurrently. Comparison between protocols also didnt have
much variation. However, results for MPEG-4 were marginally higher than all four
protocols (MPEG-1, MPEG-2, MKV & FLV). It is due to high compression method
used to process MPEG-4 protocol. Least amount of CPU was used during FLV tests,
as it can be seen from Table 1 above that FLV had 26 percent usage of CPU no matter
which mechanisms it was tested on. It is due to the size of this protocol which
requires less processing power.
Acknowledgments
We would like to show appreciation to UNITEC, Institute of Technology for
supporting the research team and providing us this opportunity to fulfil this research.
511
References
1. Atenas, M., Garcia, M., Canovas, A., Lloret, J.: MPEG-2/MPEG-4 Quantizer to Improve
the Video Quality in IPTV Services. In: IEEE Sixth International Conference on
Networking and Services, pp. 4954 (2010)
2. Schierl, T., Gruneberg, K., Wiegand, T.: Scalable Video Coding Over RTP and MPEG-2
Transport Stream in Broadcast and IPTV Channels. IEEE Journals on Wireless
Communications 16(5), 6471 (2009)
3. Kim, S., Yongik, Y.: Video Customization System using Mpeg Standards. In: IEEE
International Conference on Multimedia and Ubiquitous Engineering, pp. 475480 (2008)
4. Tao, S., Apostolopoulos, J., Guerin, R.: Real-Time Monitoring of Video Quality in IP
Networks. IEEE/ACM Transactions on Networking 16(5), 1052 (2008)
5. Stockebrand, B.: IPv6 in Practice. A Unixers Guide to the Next Generation Internet.
Springer, Heidelberg (2007)
6. Lee, C., Yu, Y., Chang, P.: Adaptable Packet Significance Determination Mechanism for
H.264 Videos over IP Dual Stack Networks. In: IEEE 4th International Conference on
Communications and Networking, pp. 15 (2009)
7. Sanguankotchakorn, T., Somrobru, M.: Performance Evaluation of IPv6/IPv4 Deployment
over Dedicated Data Links. In: IEEE Conference on Information, Communications and
Signal Processing, pp. 244248 (2005)
8. Lee, L., Chon, K.: Compressed High Definition Television (HDTV) over IPv6. In: IEEE
Conference on Applications and the Internet Workshops, p. 25 (2006)
9. Zhou, Y., Hou, C., Jin, Z., Yang, L., Yang, J., Guo, J.: REAL-TIME Transmission of
High-Resolution Multi-View Stereo Video over IP Networks. In: IEEE Conference: The
True Vision-Capture, Transmission and Display of 3D Video, p. 1 (2009)
10. Luo, Y., Jin, Z., Zhao, X.: The Network Management System of IP-3DTV Based on
IPV4/IPV6. In: IEEE 6th Conference on Wireless Communications Networking and
Mobile Computing, pp. 14 (2010)
11. Xie, F., Hua, K.A., Wang, W., Ho, Y.H.: Performance Study of Live Video Streaming
over Highway Vehicular Ad hoc Networks. In: IEEE 66th Conference on Vehicular
Technology, pp. 21212125 (2007)
12. Gidlund, M., Ekling, J.: VoIP and IPTV Distribution over Wireless Mesh Networks in
Indoor Environment. IEEE Transactions on Consumer Electronics 54(4), 16651671
(2008)
13. Kukhmay, Y., Glasman, K., Peregudov, A., Logunov, A.: Video over IP Networks:
Subjective Assessment of Packet Loss. In: Tenth IEEE Conference on Consumer
Electronics, pp. 16 (2006)
14. Khalifa, N.E.-D.M., Elmahdy, H.N.: The Impact of Frame Rate on Securing Real Time
Transmission of Video over IP Networks. In: IEEE Conference on Networking and Media
Convergence, pp. 5763 (2009)
15. Sims, P.J.: A Study on Video over IP and the Effects on FTTx Architectures. In: IEEE
Conference on Globecom Workshops, pp. 14 (2007)
16. IlKwon, C., Okamura, K., MyungWon, S., YeongRo, L.: Analysis of Subscribers Usages
and Attitudes for Video IP Telephony Services over NGN. In: 11th IEEE Conference on
Advanced Communication Technology, pp. 15491553 (2009)
17. Video LAN.: Video LAN Organization: VLC Media Player(2011),
http://www.videolan.org/vlc/
18. GNOME: GNOME Documentation Library: System Monitor Manual (2011),
http://library.gnome.org/users/gnome-system-monitor/
1 Introduction
IPTV is delivery of entertainment quality video over managed IP network. It is not
just limited to delivery of broadcast television program but also extends to services
like Video on Demand (VOD) where video is unicast to customer on request. IPTV is
one facet of Triple Play (Voice over Internet protocol (VOIP), IPTV and Data
services) and Quadplay (also includes mobile services) services. It is a game changing
technology as it provides end-users a two-way communication in the delivery of
broadcast television. IPTV also offers interactive services like ordering and playing
VOD, controlling live TV (rewind and pause), Personal Video Recording (PVR), time
shifting etc. In this growing technology many telecom service providers are now
offering services like Triple/Quadplay in an attempt to gain greater market share.
In addition to providing IPTV over wireline access network, delivery of IPTV over
wireless cellular network, hybrid satellite and terrestrial wireless systems, Cable-TV
are gaining foothold.
IPTV service providers have to compete with their counterparts offering IPTV
services through wireless, cable & satellite TV. To be successful, they have to meet
and exceed todays high standards of a reliability and service quality. Service quality
is a primary reason for customer churn and dissatisfaction. Hence end-to-end
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 512523, 2011.
Springer-Verlag Berlin Heidelberg 2011
513
performance monitoring is always a very crucial role in any successful rollout and
management of IPTV offerings.
This paper will discuss about IPTV Architecture stack that shows components that
contribute in delivering IPTV services, various performance monitoring points and
performance metrics that needs to be captured for a measuring and ensuring good end
customer experience. The paper also suggests an approach for performance
monitoring and method to measure QoE aspects of IPTV.
2 IPTV Architecture
For delivering IPTV services, content needs to traverse various components. Major
components deployed for delivering IPTV services are shown in Fig.1. These are:
1.
2.
3.
4.
5.
Super Headend
Video Hub Office
Core Network
Access Network
Home Network
514
515
516
of network. Standards like ITU-T 1541[10] standard defines QoS classes for IP
network and need to be referred while measuring the service performance over
wireline network.
HTTP RTSP
Transport
Layer
TCP
RTP,
RTCP
MPEG2-TS
DHCP,
DNS,SNMP
UDP UDP
Network
Layer
Data Link
Layer
Physical
Layer
517
Access (CA)/DRM Servers, Database Servers and servers to integrate with service
provider Operational Support System (OSS) and Business Support Systems (BSS).
Devices: - Routers, Digital Subscriber Line Access Multiplexer (DSLAM) and
Encoders etc.
Network: - Access Network and Home Network etc.
Active/Passive probes or agents on all monitoring points mentioned above needs to be
planted. Active/Passive probes with varying capabilities (Video Content analysis,
Video quality, video signaling, Protocol identification, and application server
performance measurement) will be required to capture performance metrics
mentioned in Section-6. Active probe simulates user behavior by injecting test or
signaling packets while Passive approach uses devices or sniffers to watch the traffic
as it passes. It analyzes the performance on the basis of transaction/protocol/transport
stream metrics. True end-to-end monitoring will have to include client side
performance metrics measurement that can be done by either installing an agent on
client equipment or an agent in client locality. These agents will capture performance
metrics, to enable performance measurement. For measuring customer experience at
the Customer Premises Equipment (CPE) mainly two approaches are used Transport
based( on packet loss, Bit rate, loss distance, error packets etc) and Payload based(on
full reference/no reference) methods of comparing payloads quality at ingest with
that of the packet received at CPE.
5.2 System Integration
Data captured from probes and agents goes as an input to various Element
Management System (EMS) and Network Management System (NMS), Fault
management system (FMS), Performance Management System (PMS) etc. End-toEnd system will essentially mean integrating output of these various systems. Data
obtained from these systems will need to be aggregated, correlated and mapped with
IPTV service flow.
For all performance metrics that affect end customer experience threshold values
needs to be configured. If there is any breach of threshold value or some trend of
deterioration in performance metric is observed alarm should be raised. Having a
robust and flexible integration strategy will be a key to the success of a proactive endto-end end-performance monitoring solution for IPTV. All alarms raised will go as
input to Correlation engine.
5.3 Correlation Engine
Topology based correlation engine that uses the topological relationships between
networks elements can be used to do following: Isolate and unify region wise alarms or notifications received from network
elements or probes.
Establish dependencies of alarms and notifications
Identify existing or impending issues based on QoE dependencies
Deduce cause and effect relationships between alarms
518
Correlation of different alarms will help in isolating the exact location of faults and
thus will help in earlier fault diagnosis and its resolution.
5.4 Unified dashboard
A unified dashboard will greatly improve the Trouble to resolve (T2R) cycle for the
service providers. Views for performance metrics from different demarcated points
suggested above in IPTV, timely alarms proactively generated based on priority and
probability of an impending issue and role wise visibility of state of the system (SOS)
are something every provider will look for. A connected environment where all the
stakeholders are timely updated on the SOS will definitely improve customer
experience. In addition to end-to-end visibility, it will enable them to react to any
outage even before the customer complains.
6 Performance Metrics
Fig.4 above shows performance metrics and their place for measurement in end-toend platform. Major performance parameters that need to be monitored for good endcustomer experience in IPTV are as follows:-
519
Threshold values
10 Mbps CBR
VOD SDTV
520
parameters that are suggested by TR-126 [4] and ITU-T G.1080 [1] that need to be
monitored here are:
Packet Lost, Repaired and Discarded-Impact of loss will be dependent on type of
impairment. Loss from I and P frames produce different impairments than B frame
packet losses
Burst Loss Rate, Burst Loss Length
Gap Length, Gap Loss and Gap count
Loss Period, Loss Distance
Jitter should be monitored as suggested by RFC 3350[8]
Decoder concealment algorithm used. It can mitigate some perceptual impact of
losses
Bandwidth Utilization
As suggested by TR-126[4] and ITU-T1540[3] below mentioned threshold limit
(shown in TABLE 2) for these parameters should not be breached.
Table 2. Network Performance Thresholds
Parameter
Threshold Value
Latency
Loss distance
Jitter
Less than 50 ms
150-200 ms
I-Frame delay
500 ms
521
Threshold Value
Latency
Loss distance
Jitter
Less than 50 ms
150-200 ms
I-Frame delay
500 ms
7 QoE in IPTV
For services like IPTV, where user satisfaction is the ultimate metric of performance,
a method to accurately measure the QoE is required. QoE is a subjective term and
using subjective measurements on large scale is not practical as this method relies on
input from actual users watching a video. Though this method is accurate, it is
expensive and too time consuming. Therefore objective methods are used for
estimating QoE. Objective measurements, infer video quality based on the video
stream without direct input from the users. It is a very challenging task to have
objective measurements that can incorporate human perception. Objective
measurement can be done by three methods.
Payload based - J.144 (Full reference Model) and Peak Signal Noise Ratio
(PSNR) [11].
Codec aware Packet based MPQM [9]
Codec Independent packet based MDI (Media delivery index) [7]
522
MDI
MDI relies on packet-level
information.
No codec information is taken
into account.
It does not require lot of
hardware support.
It poorly correlates to human
perception
Here it is easier to isolate the
problems in video quality.
Based on comparison shown in Table 4, MDI seems to be most suitable choice for
applications like IPTV.
Media Delivery Index: - As described in RFC 4445[7] it is a diagnostic tool or a
quality indicator of video quality for monitoring network intended to deliver a video.
The MDI is expressed as delay factor (DF) and the media loss rate (MLR).
Delay Factor: - This component indicates how many milliseconds of data buffers
must contain in order to eliminate jitter.
Media Loss Rate (MLR):- It is simply defined as the number of lost or out-of-order
media packets per second.
7.1 QoE Estimation
QoE is dynamic and depends on many factors. QoE should be measured continuously.
It is a function of many factors having different weights as shown in equation-1.
Weights might be calculated by simulating the end-to-end scenario and calculating the
overall contribution of each parameter to QoE.
Quality of video is affected by impairments introduced during encoding, decoding
process and in playback of reconstructed video signals. It is inevitably introduced due
to measures taken to conserve bandwidth like codec quantization level, longer GoP
structure, lower frame rate etc. Various human factors that affect user experience are
their emotional state, previous experience or service billing. For.eg Customers who
have been watching TV on satellite or cable may be annoyed by channel change delay
523
in IPTV. Environmental factors that may affect user experience are whether you are
viewing it on Mobile, HDTV, and SDTV. A particular video will be rated differently
for HDTV and SDTV.
QoE for IPTV = f (w1*MDI + w2*Transport Layer parameters +
w3*Availability+ w4*Environment Factors + w5*Encoding and Decoding
efficiency+ w6*Human factors + w7*Service Response Time).
(1)
w1 to w7 are weights of that parameter
8 Conclusion
In this competitive IPTV market, successful service providers have to fulfill
subscribers expectation of almost zero tolerance for poor or spotty video and
unavailability of service. Delivering this kind of quality services on IP network
requires monitoring service at all time on all locations. The quality of IP video can be
affected by impairments introduced during encoding, transmission of packets,
decoding etc. Video is so sensitive that a loss of few packets may lead to freeze frames,
blank screen etc. Any such impairment may bring dissatisfaction, leading to customer
churn and thus loss of revenue. In this scenario tools for end-to-end monitoring of
IPTV becomes extremely critical. Service provider needs to monitor whole stack of
IPTV at various interfaces, servers, network elements for various performance level
parameters that impact QoE of customers. Monitoring those parameters and reflecting
their effect on the QoE, will enable the provider to take proactive action to resolve
even impending problems and also help expedite fault resolution. Customer experience
will improve many folds by detecting and resolving problems even before customer
reports for it or informing the customer proactively on possible issues. Delivering
quality IPTV services will improve customer loyalty and service provider revenue.
References
[1] Recommendation ITU-T G.1080, Quality of experience requirements for IPTV services
(2008)
[2] Recommendation ITU-T G.1081, Performance monitoring points for IPTV (2008)
[3] Recommendation ITU-T Y.1540, Internet protocol data communication service IP
packet transfer and availability performance parameters (2007)
[4] TR-126, Triple-Play Services Quality of Experience (QoE) Requirements, Broadband
Forum Technical Report 13 December (2006)
[5] TR-135, Data Model for a TR-069 Enabled STB (December 2007)
[6] ETSI TR 101 290 V1.2.1,Technical Report Digital Video Broadcasting (DVB);
Measurement guidelines for DVB systems (2001-2005)
[7] RFC 4445 proposed Media Delivery Index
[8] RFC 3550, RTP: A Transport Protocol for Real-Time Applications
[9] Branden Lambrecht, C.J., Verscheure, O.: Perceptual Quality Measure using a SpatioTemporal Model of the Human Visual System. In: Proc. SPIE, vol. 2668, pp. 450461
(March 1996)
[10] ITU-T Y.1541(02/06), Network performance objectives for IP-based services
[11] T1.TR.74-2001, Objective Video Quality Measurement Using a Peak-Signal-to-NoiseRatio (PSNR) Full Reference Technique
[12] TR-135 Data Model for a TR-069 enabled Set Top Box
1 Introduction
With the advent of the Internet and wireless communication, instantaneous transfer of
text, images and multimedia to any point on earth has become feasible. However it is
a package deal. The more one is free to go, the smaller the boundary becomes. The
easier it is to communicate, the more unsafe it is. At this point data security plays an
important role. Since digital images play a vital role in areas like medicine and
military, their confidentiality is extremely important. However securing or encrypting
images is different from doing text in terms of high amount of data and its
redundancy, high correlation between pixels and different dimensions such as gray
scale and color.
The last decade has witnessed image encryption techniques [1-6] which have tried
to disrupt the correlation and the redundancy in the ciphered images to the best
possible extent. In an attempt to exploit the nature of visual perception, encryption
techniques using only pixel permutation have also been proposed [7]. Though these
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 524533, 2011.
Springer-Verlag Berlin Heidelberg 2011
525
permutation only techniques seem to serve the purpose they are completely
vulnerable to known plaintext attacks [8]. Hence image encryption techniques too
should have the basic requirements namely, confusion, diffusion [9] and avalanche
effect.
In this paper we have proposed a color image encryption technique involving
matrix transformation, pixel diffusion and permutation. While the matrix
transformation, which produces good confusion and diffusion, is linear, the pixel
diffusion and permutation have been introduced so as to make the technique
nonlinear. This technique is specifically designed for sensitive fields like e-medicine
where misdiagnosis of diseases could result in loss of life. Our technique is unique
because it is ciphertext sensitive so that decryption doesnt yield a recognizable image
in case there is an error during transmission thereby avoiding life threatening
conclusion otherwise taken by the physician.
One good application of our technique is in PACS (Picture Archiving and
Communication System) through which medical images are archived and
communicated with confidentiality among physicians and related people. Inadequate
security of the medical records and their intentional or accidental leakage could cost
the medical center [10]. The rest of the paper is organized as follows. Initially, section
2 is about the encryption technique, followed by the experimental results in section 3.
Subsequently the key space and sensitivity analysis are done in section 4, while
section 5 constitutes the efficiency analysis. Finally conclusion remarks are drawn in
section 6.
2 Encryption Process
This technique is significantly different from our previous work [11] in 3 ways. First,
we have strengthened the key schedule, the encryption process and additionally, we
have designed it for color images. Throughout this paper we have considered 24 bit
RGB images as test images.
2.1 Matrix Transformation
The matrix transformation (MT) used in our technique is the traditional hill cipher[12]
where a key matrix of size 88 with values from 0 to 255 is generated. If the
generated matrix is not a valid key matrix (not having odd determinant), the main
diagonal elements are alone randomized until a valid key matrix is got. Randomizing
the main diagonal gives a faster result.
Encryption: C = Mat P mod 256
(1)
(2)
Where P and C are the plaintext and ciphertext respectively in the form of 18 matrix
and Mat is the key matrix. The key schedule generates 3 additional matrices by
swapping rows and columns of the key matrix as shown in Fig. 1. Each channel of the
color image is subjected to MT independently.
526
Generation of
key matrix
Mat1
Swapping
consecutive
rows to
generate Mat2
Swapping
consecutive
columns to
generate Mat3
Swapping
consecutive
rows to
generate Mat4
XOR values
in each row to
generate Key1
XOR values in
each row to
generate Key2
XOR values in
each column to
generate Key3
XOR values in
each row to
generate Key4
527
Generation of
key matrices
MT
(Mat2)
MT
(Mat1)
Plain
image
MT
(Mat3)
Cipher
Image
PB
PB
BPD-1
(Key1)
MT
(Mat4)
SPD-1
(Key2)
PB
SPD
(Key3)
BPD
(Key4)
Generation of
key arrays
N.B:
denotes matrix transpose; MT Matrix Transformation; SPD Single Pixel Diffusion;
BPD Block Pixel Diffusion; SPD-1 Inverse of SPD algorithm; BPD-1 Inverse of BPD
algorithm; PB Permutation Box
Fig. 2. Encryption process
R2
G2
B2
R3
G3
B3
R4
G4
B4
G2
R2
G1
B1
B2
R1
B4
B3
R4
G3
R3
G4
The decryption is done in the reverse direction of the encryption process. However
the MT block employs the inverse of the corresponding key matrix in the encryption
process and the inverse of the BPD-1, SPD-1, SPD, BPD and PB algorithms are used
with the same corresponding key.
Fig. 3. The original image Mandrill.png (left), the encrypted image (middle) and the decrypted
image (right)
528
Fig. 4. Histogram of the red, green and blue channels of the Mandrill.png (top) and those of the
encrypted Mandrill.png (bottom)
3 Experimental Results
3.1 Visual Test
We have tested our technique over a variety of RGB images such as Barbara, fabric,
F16, Heart, Lena, Mandrill, Peppers. Without loss of generality, we have shown the
results of a typical natural image, Mandrill.png and a typical medical image, heart.jpg.
The encrypted image in Fig. 3 and Fig. 5 doesnt have any resemblance of the original
image. Besides, the histograms at the bottom of Fig.4 and Fig.6 dont reveal any
information of the original image and shows equally probable intensity values.
3.2 Information Entropy Analysis
Entropy h is a cumulative measure of the frequency of the intensity levels in
an image. Due to the characteristic of the human eye of being insensitive to
high frequency components, an image of high entropy is not visually perceivable.
Moreover if the entropy of a signal is high the signal looks random. Entropy,
Fig. 5. Original heart.jpg (left), encrypted heart.jpg (middle) and the decrypted image (right)
529
Fig. 6. Histogram of red, green and blue channels of the original heart.jpg (on the top) and the
encrypted heart.jpg (on the bottom)
h=i ( pi log2 pi), where pi is the frequency of intensity level i in the image. The
maximum h an 8bit image can attain is 8. The average of our results in Table.1 is
7.99975. Hence an entropy attack is difficult to launch.
3.3 CrossCorrelation
The crosscorrelation coefficient, CAB between the image A and B quantifies the level
to which the image pixels are relatively randomized. The closer it is to zero, the better.
Our technique produces an absolute cross-correlation of about 10-4 in most of the
cases making a statistical attack tough.
(3)
,
Where Ai,j is the pixel in the ith row and jth column of A, r and c are the number of
rows and columns in each channel of the image respectively.
and
(4)
Barbara
7.6919
7.9998
Fabric
7.5632
7.9998
F16
6.6639
7.9997
Heart.jpg
4.9830
7.9995
Lena.tif
7.7502
7.9998
Mandrill.png
7.7624
7.9998
Peppers.jpg
7.7112
7.9998
530
100% here
0 if
1 if
,
,
,
,
(5)
100%
(6)
1
1
100%
33.4635%
Mandrill.png
512*512*3
NPCR% UACI%
U
99.6056
2
29.9482
99.5975
3
30.0023
99.6006
2
29.9843
99.5705
2
28.5434
99.6265
2
28.5987
99.6178
2
28.5877
99.6067
3
31.2287
99.6166
3
31.2768
99.6265
3
31.2747
99.6075
2
29.9383
|CAB|
710-3
210-3
310-3
610-3
110-3
310-3
510-3
810-4
210-3
Avg
Heart.jpg
360*360*3
NPCR%
99.6134
99.6173
99.5941
99.5049
99.598
99.5957
99.6173
99.635
99.6111
99.5985
UACI%
41.2312
41.1535
41.0656
43.2241
43.1686
43.1288
44.344
44.3225
44.2663
42.8782
|CAB|
210-3
710-4
110-3
110-3
410-4
410-4
810-4
310-4
810-4
Avg
Lena.tif
512*512*3
NPCR%
99.6159
99.6223
99.6071
99.5953
99.6025
99.6201
99.6067
99.5998
99.5991
99.6076
UACI%
32.91182
33.08813
33.02256
30.59989
30.6331
30.64442
27.58898
27.60079
27.6221
30.41131
531
(7)
Plaintext sensitivity
|CAB|
NPCR%
UACI%
-3
110
99.6067
33.482
110-3
99.6033
33.4443
410-4
99.6033
33.49
110-3
99.6162
33.4938
-3
410
99.5293
33.5271
310-4
99.5995
33.4658
510-5
99.5922
33.4635
-4
310
99.6067
33.458
210-3
99.6124
33.5261
Avg
99.5966
33.4834
Ciphertext sensitivity
|CAB|
NPCR% UACI%
110-3
99.6586
33.5538
110-3
99.6147
33.4318
110-3
99.6071
33.4821
710-4
99.6246
33.5148
-4
610
99.704
33.5113
610-4
99.6159
33.4595
110-3
99.6063
33.5522
210-3
99.6048
33.4317
110-3
99.5689
33.505
Avg
99.6227
33.4935
532
5 Efficiency Analysis
We have implemented the technique in MATLAB 7.10 using a PC equipped with
Intel Core2Duo T5550 @ 1.83 GHz, 2 GB RAM, 32bit Windows 7 Ultimate OS.
Theoretically both the encryption and decryption algorithms have same complexity. It
can be seen from Table. 4 that as the images dimensions increase the bit rate
increases due to the parallelism of the matrix transformation and the permutation box.
Our technique is faster than the MATLAB implementation of AES [16] which takes
at least 1742 seconds (in its fastest mode of encryption) for encrypting an 8 bit image
of size 5125123.
Table 3. Efficiency analysis
Spatial resolution of
the image
3603603
5125123
6404803
6 Conclusion
This paper presents a substitution-permutation network based encryption technique
for color images. The key space, parametric and sensitivity test results mentioned
show the cryptographic strength of the technique. The technique resists brute force,
entropy, statistical, known/chosen plaintext and differential attacks. This is the first
color image encryption technique which is ciphertext sensitive. Unlike other image
encryption techniques this technique has 0% error tolerance so that lethal decisions
are not taken based on corrupted images. The technique is faster than AES and can be
used in real time secure image transmission.
References
1. Sathish Kumar, G.A., Bhoopathy Bagan, K., Vivekanand, V.: A novel algorithm for image
encryption by integrated pixel scrambling plus diffusion [IISPD] utilizing duo chaos
mapping applicability in wireless systems. Procedia Computer Science 3, 378387 (2011)
533
2. Mao, Y., Chen, G., Lian, S.: A novel fast image encryption scheme based on 3D chaotic
Baker Maps. International Journal of Bifurcation and Chaos 14(10), 36133624 (2004)
3. MU, X-C., SONG, E.-N.: A new color Image Encryption Algorithm Based on 3D Lorenz
Chaos Sequences. In: First international Conference on Pervasive Computer, Signal
Processing and Application, pp. 269272 (2010)
4. Liu, S., Sun, J., Xu, Z.: An improved image encryption algorithm based on chaotic system.
Journal of computers 4(11) (2009)
5. Fridrich, J.: Symmetric ciphers based on two-dimensional chaotic maps. Int. J. Bifurcation
and Chaos 8, 12591284 (1997)
6. Socet,D., Magliveras,S.S., Furht, B.: Enhanced 1-D Chaotic Key-Based Algorithm for
Image Encryption. In: First International Conference on Security and Privacy for
Emerging Areas in Communications Networks, pp. 406407 (2005)
7. Usman, K., Juzoji, H., Nakajimal, I., Soegidjoko, Ramdhani, M., Hori, T., Igi, S.: Medical
image encryption based on pixel arrangement and random permutation for transmission
security. In: 9th International Conference on e-Health Networking, Application and
Services, pp. 244247 (2007)
8. Li, S., Li, C., Chen, G., Bourbakis, N.G., Lo, K.-T.: A general quantitative cryptanalysis
of permutation-only multimedia ciphers against plaintext attacks. Signal Processing:
Image Communication 23(3), 212223 (2008)
9. Shannon, C.E.: Communication theory of secrecy system. Bell Syst. Techn. J. 28, 656
715 (1949)
10. http://www.healthcareitnews.com/news/
hhs-cracks-down-provider-pay-100000-hipaa-penalties-overlost-laptops
11. J. Mohamedmoideen Kader Mastan, Sathishkumar, G.A., Bagan, K.B.: Digital Image
Security using Matrix and Non-Linear Pixel Transformation. In: International Conference
on Computer, Communication, and Electrical Technology, vol. 1 (2011)
12. Hill, L.S.: Cryptography in an Algebraic Alphabet. The American Mathematical
Monthly 36(6), 306312 (1929)
13. Overbey, J., Traves, W., Wojdylo, J.: On the keyspace of the hill cipher.
Cryptologia 29(1), 5972 (2005)
14. Forouzan, B.A.: Cryptography & Network Security. Tata McGraw-Hill, New York (2009)
ISBN-13: 978-0-07-066046-5
15. Schneier, B.: Applied Cryptography: Protocols, Algorithms and Source Code in C, 2nd
edn. Wiley, NY (1995)
16. Buchholz, J.J.: Matlab Implementation of the Advanced Encryption Standard (2001),
http://buchholz.hs-bremen.de/aes/aes.htm
Department of Maths and Computer Science, Fuqing Branch of Fujian Normal University
chenglian.liu@gmail.com
2
Department of Computer Science, Shahid Bahonar University of Kerman
kuchaki@mail.uk.ac.ir
3
Department of Mathematics, Royal Holloway, University of London
Abstract. In 2008, Harn and Ren proposed an efficient identity-based RSA multisignatures scheme which it based on Shamirs identity-based signature. In 2010,
Yang et al. pointed out two methods that he presumed make the Harn-Ren scheme
insecure. This documentation will prove that Yang et al.s first forgery attack was
incorrect and the Harn-Ren scheme is still secure.
Keywords: Multisignature, Identity-based signature, RSA Cryptosystem.
1 Introduction
With the growth of the Internet, digital signature has become very important to electronic commerce, it provides the cryptographic services authentication and data integrity where agreeance between signer and verifier is required. Is In 1984, Shamir [3]
proposed the concept of an identity-based signature (IBS) scheme based on an integer
factorization problem. Harn and Ren [1] proposed an efficient identity-based multisignature based on Shamirs scheme. Each signer needs to register at a private key generator (PKG) and identify himself before being able to joint the network. A signer is
accepted, the PKG generates a secret key for that signer based on the signers identity, and relative information. In 2010, Yang et al. [4] proposed two forgery attacks to
the Harn-Ren scheme. They claimed their methods could be successful, and also suggested improvements. In this paper, we show that Yang et al.s first claim is incorrect
and Harn-Rens scheme is still secure.
Corresponding Author: Mr. Liu is with Department of Mathematics and Computer Science,
Fuqing Branch of Fujian Normal University, China.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 534540, 2011.
c Springer-Verlag Berlin Heidelberg 2011
535
2.1 PKG
The PKG chooses its public and private key pairs as follows:
1. Runs the probabilistic polynomial algorithm Krsa to generate two random large
primes, p and q.
2. Chooses a random public key e such that gcd(e, (n)) = 1 and computes the private
key
(1)
d e1 (mod (n)).
2.2 Multisignature Generation
Signer secret key generation. In this algorithm, the signer gets a copy of his secret
key from the PKG through a two-step process:
1. A signer submits his identity to the PKG.
2. The PKG, with its private key d and the corresponding public key e, signs the message digest of the identity, denoted as ij , by generating a secret key gj , such that
gj idj
(mod n).
(2)
The gj is the signer ij s secret key. We will not distinguish between the identity and
its message digest.
Message signing. To generate an identity-based multisignature, each signer carries out
the followings steps:
1. Chooses a random integer rj and computes
tj rje
(mod n).
(3)
l
rj
(mod n),
(4)
j=1
and
H(t,m)
sj gj rj
(mod n).
(5)
The multisignature for message m is From the above algorithm, it is clear that the
signing phase of each individual signature is identical to the original IBS scheme. It is
also clear that the length of each multisignature is the same as the individual IBS.
536
(7)
(mod n).
Receiver
Zn R rj
tj rje (mod n)
Broadcasts rj to all the signers.
l
rj (mod n)
Computes t
j=1
and sj gj
H(t,m)
rj
(mod n)
(, m)
l
sj
(mod n)
j=1
?
se (i1 i2 . . . il ) tH(t,m)
= (t, s)
(mod n)
sj gj rj
(mod n),
(8)
(mod n).
(9)
1
H(t,m)
rj
In the formula
1
H(t,m)
rj
is inverse element of
H(t,m)
rj
537
(mod n),
(10)
(mod n)
(11)
in the modular n multiplicative group. Therefore, Harn-Ren scheme does not protect
the signers secret key from being exposed.
Signers
Receiver
Zn R rj
tj rje (mod n)
Broadcasts rj to all the signers.
l
rj (mod n)
Computes t
j=1
and sj gjt
H(t,m)
rj
(mod n)
l
sj
(, m)
(mod n)
j=1
?
se (i1 i2 . . . il )t tH(t,m)
= (t, s)
(mod n)
(mod n).
(12)
l
j=1
rj
(mod n),
(13)
538
and compute
H(t,m)
sj gjt rj
(mod n)
(14)
l
sj
(mod n),
(15)
j=1
se (i1 , i2 , , ij )t tH(t,m)
(mod n).
(16)
4 Our Comment
4.1 Erratum to Harn-Ren Scheme
In this section, we will point out an erratum as follow. The centre broadcasts tj to all
the signers, and each signer computes their parameters t where
t
l
tj
(mod n).
(17)
j=1
l
rj
(mod n),
(18)
j=1
and send to receiver. The signers do not pass verification phase where
se (i1 i2 il ) tH(t.m)
(mod n).
(19)
539
Receiver
Zn R rj
It should be sent tj .
tj
(mod n)
Broadcasts tj to all the signers.
It also sent tj ,
l
otherwise it causes an error in vercation phase.
tj (mod n)
Computes t
rje
j=1
and sj gj
H(t,m)
rj
(mod n)
l
sj
(, m)
(mod n)
j=1
?
se (i1 i2 . . . il ) tH(t,m)
= (t, s)
(mod n)
sj gjt rj
(20)
(mod n).
Step 1. Compute gcd(t, e) = 1, if it is not equal, then continue until to correct where
gcd(t, e) = 1.
Step 2. Use Extended Euclidean Algorithm to compute (u, v) where
(21)
tu + ec = 1.
Step 3. Compute
uH(t,m)
suj gjtu rj
(mod n),
(22)
and
ivj gjev
(23)
(mod n).
Step 4. Compute
uH(t,m)
v
gj su
j ij rj
gjev
uH(t,m)
(mod n),
(mod n).
(24)
(25)
According above statement, although Yang et al. proposed an improvement of multisignature scheme, but their scheme do not increase to the security degree.
540
5 Conclusion
As the original erratum in Harn and Rens scheme, Yang et al.s results derived an error
in the first forgery attack. The wrong result, is an incorrect assumption. Now that HarnRens multisignature scheme has proved to be secure, the Yang et al. scheme becomes
unnecessary.
Acknowledgment
The authors would like to thank our anonymous reviewers for their valuable comments.
This research was supported in part by the Fuqing Branch of Fujian Normal University
of China under the contract number KY2010030.
References
1. Harn, L., Ren, J.: Efficient identity-based RSA multisignatures. Computers & Security 27(12), 1215 (2008)
2. Micali, S., Ohta, K., Reyzin, L.: Accountable-subgroup multisignatures: extended abstract.
In: CCS 2001: Proceedings of the 8th ACM Conference on Computer and Communications
Security, pp. 245254. ACM, New York (2001)
3. Shamir, A.: Identity-based cryptosystems and signature schemes. In: Blakely, G.R., Chaum,
D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 4753. Springer, Heidelberg (1985)
4. Yang, F.Y., Lo, J.H., Liao, C.M.: Improvement of an efficient ID-based RSA multisignature.
In: 2010 International Conference on Complex, Intelligent and Software Intensive Systems
(CISIS), February 15-18, pp. 822826 (2010)
Abstract. The unique features of mobile ad hoc networks (potential nodes and
link mobility) raise certain requirements for the security mechanism. A
particularly challenging problem is how to feasibly detect and screen possible
attacks on routing protocols such as Byzantine and Black hole attacks. This
work focus on detecting routing Black Hole and Byzantine routing attacks
through security and trust based routing. A secure auto configuration scheme is
adapted and enhanced with secure public-key distribution to authorize the nodes
joining the Mobile Ad hoc Network (MANET). Integrity in messages between
source and destination is achieved via public key cryptographic mechanism and
keyed Hash MAC over a shared secret key. The proposed schemes can be
integrated with the existing routing protocols for MANETs, such as ad hoc ondemand distance vector routing (AODV) and dynamic source routing (DSR).
Introducing security mechanisms over routing in MANETs might cause
significant overhead and power consumption. Hence a security mechanism
considering the tradeoff between security and energy consumption is proposed.
A routing algorithm to establish parallel routes in order to build trust over paths
and nodes in those paths is devised. So, that compromising nodes can be
detected and paths involving those nodes are ignored. The proposed protocol
Secure Routing Protocol to combat Byzantine and Black Hole attacks
(SRPBB) is implemented in ns2 for throughput analysis in presence of attack.
Keywords: Mobile Ad hoc networks, security, routing protocol, key
management, Byzantine attack, Black Hole attack.
1 Introduction
Wireless ad hoc networks are formed by devices that are able to communicate with
each other using a wireless physical medium without having a pre-existing network
infrastructure. This network is known as Mobile Ad hoc NETworks (MANETs).
MANETs can form stand-alone groups of wireless terminals, but some terminals
connected to fixed networks too. An inherent characteristic of nodes in ad hoc
networks is that they are able to auto configure themselves without the intervention of
centralized administration.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 541548, 2011.
Springer-Verlag Berlin Heidelberg 2011
542
J. Padmanabhan et al.
2 Related Work
An analysis on current secure routing protocols used for MANETs and self-auto
configuration schemes is carried out. Secure routing protocols can be classified under
two categories, 1) integrated security mechanism with the existing routing protocol
and 2) to detect and defend specific attacks. The common practice is to secure on
demand routing protocols, such as AODV, DSR, and DSDV by using end to end
authentication. This results in secure routing protocols which includes secure efficient
ad hoc routing (SEAD) and Authenticated routing in ad hoc networks (ARAN).
SEAD[3] is an extension of DSDV. There is no delay in updates and no increment
in sequence number due to broken link. It uses one-way hash chains to authenticate
hop counts. The security mechanism in SEAD is the shared secret keys between each
pair of nodes. It has Byte overhead and packet overhead. ARAN[4] is implemented
both in AODV and DSR. In ARAN, environment has been defined as open, managed
open and managed hostile. In open environment random nodes establish connectivity
without any trusted third parties in common. In managed open environment difference
in the fact that nodes wishing to exchange information may exchange the initial
parameters. In managed hostile environment all nodes are deployed by the common
source. The weakness is that it is satisfactory only for managed open, as open
environment need a trusted certificate server and as managed open need to expose the
entire topology.
A Secure Routing Protocol to Combat Byzantine and Black Hole Attacks for MANETs
543
The latter involves protecting the routing traffic against routing attacks. These
include On-Demand Secure Byzantine Routing (ODSBR), Rushing Attack Prevention
(RAP). ODSBR [5] includes three phases namely route discovery, byzantine fault
detection, link weight management. Route discovery process involves signed request
to destination and the destination verifies authenticity of the request and creates a
response with response sequence numbers. The source in turn selects the best route
using link weight management. Authenticated acknowledgement is to be sent for
every data packet it receives. The fault nodes are identified using binary search. Route
discovery overhead and acknowledgement overhead occurs in ODSBR. RAP [6] is
defined for rushing attacks. It involves secure neighbor detection, secure route
delegation and secure route discovery. It is to be integrated with other protocol which
involves change in route discovery process.
Current auto configuration schemes [7] include Self-authentication schemes,
challenge response scheme and trust model scheme. In Self authentication scheme [8],
a node generates its public/private key pair randomly and then uses the hash value of
the public key as the IP address. Here, certificate repository is not needed. The
relationship between public key and IP address in this scheme brings the following
problem; public/private key pair per node is limited to one where as two pairs of key
are needed for signing/verifying and encryption/decryption. Hence it is vulnerable to
cipher text attack.
Challenge response scheme [9] is based on two steps, authentication and address
allocation. This scheme has two problems; only one-hop broadcast is used in the
announcement of the public key, and thus the public key is distributed only to the onehop neighbors; and the allocator might be a malicious node, hence it can assign a nondisjoint address pool to the new node, which will lead to address conflicts in the
current and subsequent address allocations. Two secure auto configuration schemes
based on trust model are analyzed. One method[10] is based on the trust value of the
neighbors. This method is vulnerable to Sybil attacks. The second method[11] is
threshold cryptography based distributed certificate authority (DCA). The problems
with the scheme are, at least k preconfigured DCA server nodes must be present in the
MANET without auto configuration and this scheme is also vulnerable to Sybil attack.
To summarize, expensive authentication mechanisms are used in protocols that
detect routing attacks.
544
J. Padmanabhan et al.
to announce the association of IP address and public key of a node to the network. A
mechanism proposed by [7] HongbouZhou et al, for secure auto configuration and
public key distribution is adapted. Secure Auto Configuration and Public Key
Distribution achieve two goals, Uniqueness of address allocation and Secured public
key distribution. It involves following procedures Generation of Parameters, Broadcast
of Duplicate Address Detection (DAD) message, Receipt of Duplicate Address
Detection (DAD) message, Forwarding of DAD message, Forwarding of NACK
message, Receipt of NACK message, and Broadcast of Commit (CMT) message.
3.2 Key Management Scheme
There are two basic key management schemes; they are public and shared-key based
mechanisms. Public key based mechanism uses a public/private key pair and an
asymmetric key based algorithm like RSA to establish session and authenticate nodes.
In a secret key based scheme a shared symmetric key is used to verify the integrity
of data.
In the proposed key management scheme whenever a node is needed to initiate
route discovery, it constructs RREQ and generates SMSG. SMSG consists of the
shared secret key that has to be shared between the source and destination and digital
signature of the same. The source node now forwards the RREQ along with the
SMSG. Once the destination receives the RREQ along with SMSGs it verifies the
digital signature via polling. It chooses the shared secret key that has been proved to
be valid and detects the misbehavior if the digital signature sent via a path seems to be
invalid. The destination reports the source regarding the misbehavior and hence every
intermediate nodes record it for the future trust factor calculation. Once the source
receives the RREP it starts transmitting the data encrypted via keyed HMAC
algorithm using the secret key shared between the source and destination as the key.
Key Management Scheme:
While (initiate route discovery)
{
Construct RREQ;
Generated SMSG;
LRREQ:
A Secure Routing Protocol to Combat Byzantine and Black Hole Attacks for MANETs
545
Where,
RREP Route reply
RREQ Route Request
SMSG Start Message (num+ (E(E(num,KR-PUB),KS-PRI))
num - Shared Secret key
(1)
(2)
(3)
546
J. Padmanabhan et al.
3. When the destination node receives the RREQ, it extracts the shared secret key
from the SMSG and sends the RREP message via the route with highest Trust
Factor (TF).
4. Once the route is established, the intermediate nodes monitor the link status of
the next hops in the active routes. Those that do not meet the performance and
trustworthiness requirement will be eliminated from the route.
5. When a link breakage in an active route is detected, a route error (RERR)
packet is used to notify the other nodes that the loss of that link has occurred.
Some maintenance procedures are needed as in AODV.
A Secure Routing Protocol to Combat Byzantine and Black Hole Attacks for MANETs
547
In the proposed scheme path trust evaluation parameter is given by the product of
trusts of the nodes in the path. Hence the node with minimal trust value will scale
down the entire path trust considerably. This makes the protocol to converge fast than
other existing protocol. More than reliability, the trust estimator technique proposes a
simple and feasible mechanism in consideration with availability of paths. This
mechanism adds more efficiency to the protocol.
x-axis: Time in milliseconds
6 Conclusion
It is evident from the performance evaluation that the devised routing protocol has
outperformed existing unicast routing protocols in terms of efficiency and security.
Overhead in the implemented key management scheme cause is due to public key
cryptographic mechanism being used. Hence considering the tradeoff between energy
and security a new cryptographic mechanism can be devised in the future to support
resource constraint MANET environment. Considering appropriate parameters other
than throughput, efficiency of the protocol has to be scaled and suitable adjustments
have to be carried out. To conclude an enhanced routing protocol that eliminates
byzantine and black hole attack in MANETs has been devised and implemented.
Making the protocol QoS centric is a challenging issue and to be continued with
future work.
548
J. Padmanabhan et al.
References
1. Yu, M., Zhou, M., Su, W.: A Secure Routing Protocol against Byzantine Attacks for
MANETs in Adversarial Environments. IEEE Transactions On Vehicular
Technology 58(1) (January 2009)
2. Bhalaji, N., Shanmugam, A.: Association between Nodes to Combat Blackhole Attack in
DSR based Manet. In: IEEE WOCN 2009 Conference Program Cairo, Cairo, Egypt (2009)
3. Hu, Y.-C., Johnson, D.B., Perrig, A.: SEAD: Secure efficient distance vector routing for
mobile wireless ad hoc networks. In: Proc. 4th IEEE Workshop Mobile Comput. Syst.
Appl., pp. 313 (June 2002)
4. Sanzgiri, K., LaFlamme, D., Dahill, B., Levine, B.N., Shields, C., Belding-Royer, E.M.:
Authenticated routing for ad hoc networks. IEEE J. Sel. Areas Commun. 23(3), 598610
(2005)
5. Awerbuch, B., Curtmola, R., Holmer, D., Nita-Rotaru, C.: ODSBR: An On-Demand
Secure Byzantine Routing Protocol. JHU CS Tech. Rep.Ver.1 (October 15, 2003)
6. Hu, Y.-C., Perrig, A., Johnson, D.B.: Rushing Attacks and Defense in Wireless Ad Hoc
Network Routing Protocols. In: WiSe 2003, San Diego, California, USA (September 19, 2003)
7. Zhou, H., Mutak, M.W., Ni, L.M.: Secure Autoconfiguration and Public-key Distribution
for Mobile Ad-hoc Networks. In: IEEE 6th International Conference on Mobile Ad hoc
and Sensor Systems, MASS 2009 (2009) Secure Autoconfiguration and Public-key
Distribution for Mobile Ad-hoc Networks. In: IEEE 6th International Conference on
Mobile Ad hoc and Sensor Systems, MASS 2009 (2009)
8. Wang, P., Reeves, D.S., Ning, P.: Secure Address Autoconfiguration for Mobile Ad Hoc
Networks. In: Proceedings of the 2nd Annual International Conference on Mobile and
Ubiquitous Systems: Networking and Services (MobiQuitous 2005), San Diego, CA, pp.
519521 (July 2005)
9. Cavalli, A., Orset, J.-M.: Secure Hosts Autoconfiguration in Mobile Ad Hoc Networks. In:
Proceedings of the 24th International Conference on Distributed Computing Systems
Workshops (ICDCSW 2004), Tokyo, Japan (March 2004)
10. Hu, S., Mitchell, C.J.: Improving IP address autoconfiguration security in mANETs using
trust modelling. In: Jia, X., Wu, J., He, Y. (eds.) MSN 2005. LNCS, vol. 3794, pp. 8392.
Springer, Heidelberg (2005)
11. Nakayama, H., Kurosawa, S., Jamalipour, A., Nemoto, Y., Kato, N.: A Dynamic Anomaly
Detection Scheme for AODV-Based Mobile Ad Hoc Networks. IEEE Transactions On
Vehicular Technology 58(5) (June 2009)
12. Bai, F., Sadagopan, N., Helmy, A.: BRICS: A Building-block approach for analyzing
Routing protocols in ad hoc networks - a Case Study of reactive routing protocols. In:
IEEE International Conference on Communications (ICC) (June 2004)
13. Johnson, D.B., Maltz Josh Broch, D.A.: DSR: The Dynamic Source Routing Protocol for
Multi-Hop Wireless Ad Hoc Networks. RFC 4728 (February 2007)
14. Lu, S., Li1, L., Lam, K.-Y., Jia, L.: SAODV: A MANET Routing Protocol that can
Withstand Black Hole Attack. In: IEEE International Conference on Computational
Intelligence and Security (2009)
15. Sadagopan, N., Bai, F., Krishnamachari, B., Helmy, A.: PATHS: Analysis of PATH
Duration Statistics and their Impact on Reactive MANET Routing Protocols. In: ACM
International Symposium on Mobile Ad Hoc Networking & Computing (2003)
16. Nakayama, H., Kurosawa, S., Jamalipour, A., Nemoto, Y., Kato, N.: A Dynamic Anomaly
Detection Scheme for AODV-Based Mobile Ad Hoc Networks. IEEE Transactions On
Vehicular Technology 58(5) (June 2009)
Multi-Signcryption,
Blind
Multi-signature,
Introduction
Encryption and signature are fundamental tools of Public Key Cryptography for
condentiality and authenticity respectively [1]. Traditionally, these two main
building-blocks have been considered as independent entities. However, these
two basic cryptographic techniques may be combined together in various ways,
such as sign-then-encrypt and encrypt-then-sign, in many applications to ensure
privacy and authenticity simultaneously. To enhance eciency, Zheng proposed a
novel conception named signcryption, which can fulll both the functions of signature and encryption in a logical step [3] . Compared with traditional methods,
signcryption has less computation, communication and implementation complexity. As the signcryption scheme having so many advantages and extensive
application prospects it is used in multi user setting. In multi-user settings, messages are often signed in a group of members. To send messages to multiple
recipients, the base signcryption scheme could be run several times in the trivial
way. But, the trivial method is infeasible for security and performance reasons.
Thus, the new primitive called multi-signcryption should be present. In multisigncryption scheme a number of user can sign a message using some rule and
the message is sent to the verier.
Please note that the LNCS Editorial assumes that all authors have used the western naming convention, with given names preceding surnames. This determines the
structure of the names in the running heads and the author index.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 549556, 2011.
c Springer-Verlag Berlin Heidelberg 2011
550
Blind signatures were rst introduced by Chaum (1982) to protect the right
of an individual privacy. A blind signature allows a user to acquire a signature
without giving any information about the actual message or the resulting signature [4,5,6]. The properties of the blind signatures are: the signer can not to
read the document during process of signature generation and the signer can
not correlate the signed document with the act of signing. In a secure blind
signature scheme, the signer is unable to link or trace this signed message to
the previous signing process instance. This property is usually referred to as
the unlinkability property. Due to the unlinkability (blindness) property, blind
signature techniques have been widely used in the anonymous electronic cash
(e-cash) and anonymous voting systems [9].
In this paper, we propose a designated veriable blind multi-signcryption
scheme, which is an organic combination of multi signcryption and blind signature. This scheme is based on the security of three computational hard problem,
namely integer factorization(IF), discrete Logarithmic problem(DLP) and computational Die Hellman problem (CDHP) . The proposed scheme has following
advantages: (i) The size of the generated authenticated ciphertext is independent
of the number of total participating signcrypters. (ii) Except for the designated
verier, no one can obtain the signcrypted message and verify its corresponding
signature. (iii) The multi signcryptrd text is cooperatively produced by a group
of signcrypters instead of a single signcrypter. (iv) In case of a later dispute on
repudiation, the recipient has the ability to convert the authenticated ciphertext
into an ordinary one for convincing anyone of the signcrypters dishonesty. (v)
Each signcrypter of the group cannot know a relationship between the blinded
and the unblinded message and signature parameters. (vi) Only cooperation of
all signcrypterers can generate a valid blind multi-signcrypted for the designated
verier. Other third parties or some (not all) signcrypters cannot forge a valid
blind multi-signcrypted text. This scheme is more ecient for multi-party applications since the size of the generated authenticated ciphertext is independent
of the number of total participating signcrypters. In addition, the computation
costs for the verier will not increase even if the signcrypter group is expanded.
The proposed blind multi-signcryption is useful in the real life scenarios such as
e-cash system, e-bidding, online lottery system and e-commerce applications.
Outline of this paper is as follows: The proposed scheme is presented in Section
2. Section 3 contains the discussion about the scheme. Security analysis is done in
Section 4, Performance Evaluation is disscussed in section 5, nally we conclude
in Section 6.
The proposed multisigncryption scheme consisting of three parties, namely a requester(A), a group of n signcrypters (SG), a trusted party and a verier(B). The
scheme consisting of following four phases such as: setup, Blinding, signcryption,
Unblinding and verication. The parameter used in the proposed scheme is given
in Table 1.
551
Setup
Step 1:
The trusted party chooses a integer n as the product of two large primes p and
q such that p=2p1 q1 + 1 and q=2p2 q2 + 1, where p1 , q1 ,p2 , q2 are all large primes
[8]. Then he chooses g as a generator of GF(n). Then he submits n and g to the
requester(A)
Step 2:
The RequesterA chooses his/her private key xi Zn and publishes the public
keyusing DLP [4].
(1)
yi = g xi mod n
Blinding
Step 1:
Then the requester chooses an private parameter w such that w = xi yv mod n.
Then encrypt the message by multiplying the value of w with the original message, then add the private key of the sender with that multiplication
M = xi + M w mod n
(2)
After that the requester encrypt the message using the public key of the verier(B)
M = yv M mod n
(3)
552
Step 1
Each signcrypter randomly chooses an integer z and t compute the key by using
the formula
(4)
K = z||(M z) mod n
Then he nds the ciphertext by encrypting the message with the key
C = E(K, M ) mod n
(5)
After that each signcrypter computes three private element u, r and v as follows:
u = yv t mod n
(6)
r = k u mod n
(7)
v =t
logygi
r mod n
(8)
After receiving all u, r and v value from all members, a clerck who may be a
signcrypter of that group computes U, R and S as follows:
U=
N
u mod n
(9)
r mod n
(10)
i=1
R=
N
i=1
V =
N
v mod n
(11)
i=1
Then he sends this signcrypted text (U, R, V and C) to the requester, and the
requester sends this to the verier(B).
Unblind and Verification
Step 1
After nding this (U, R, V and C), the verier(B) rst checks the authenticity
as follows:
(12)
U yv V + R = R (w + 1) mod n
w = g (yi )+(xv ) mod n
(13)
If this equation holds then the verier(B) proceed to the next step, otherwise he
sent to the message back. Then the verier calculates the value of U and K as
follows:
U = g xv (V + R logygi ) mod n
(14)
K = R U 1 mod n
(15)
Then he nds the encrypted message by decrypting the ciphertext(C) with the
key(K)
M = D(K, C) mod n
(16)
553
Then he calculate the the value of M by decrypting M with his private key as
M = D(xv , M ) mod n
(17)
After that he nds the original message by Exclusive-oring M with his public
key as
(18)
M = (M g yi ) gxv mod n
Correctness
As U = g xv (V + R logygi ) mod n
= yv (t logygi R + R log ygi ) mod n
= yv t mod n
Discussion
The security of breaking the private key of requester(A) is bound in the complexity of solving DLP. Also, the concept of safe prime is used in the key generation
process which makes the scheme secure. The original message M blinded by attaching it to the private key of the requester along with a random parameter
554
choosen by him/herself. The signcrypter puts a signature on the blinded message and sends it back to the requestor. The requester checks the authenticity of
the signature and extracts the signature. Then the requester sends the signature
to a designated verier(B). The verier designcrypt the signcrypted text and
recovers the original message M. It can be also veried by only the intended
recipient of the signcryption. The accepted notion of security with respect to
the non-repudiation is existential unforgeability (EUF) under adaptive chosen
message attack. This implies message authentication and integrity. This scheme
is convertible because in any case of legal dispute verier can verify the message without the help of the signcrypter. The layout of the proposed scheme is
discussed in Figure-1.
Security Analysis
First, it is shown that how the proposed scheme resists the attacks to recover
the secret key of the signcryter. Then the proof of parameter reduction attack
and forgery attack without using one way hash function is disscussed. Finally,
the security of the blind multi-signcryption scheme is discussed.
4.1
Forgery Attack
Given the message M, a forger has to solve both Eq 5 and Eq 6 in order to get
the triplet (C,R,V) as it is uses discrete logarithm problem. Also the value of p
and q is very dicult to obtain as it is generated using safe primes. Even if both
R and V known, it is very dicult to nd the value of M and M as it uses
the private key of the verier.
Lemma 1:Neither the clerk nor the signcrypter can forge a valid signcrypted text
Proof:
As the requester sends the triplet (C,R,V) to the verier, where C= E(K, M )
mod n is its own for each signcrypter but R and V is made of summation of all
signcrypters
r and v as follows
n
r
mod
n
R= i=1
n
V= i=1 v mod n,where
r = K u mod n and v=t-logygi *r mod n, as it is made from each signcrypters
contribution, so neither the clerk nor any of the signcrypter can decrypt the
valid signcrypted text.
555
Performance Evaluation
Conclusion
556
of integrity, condentiality, authenticity, and non-repudiation can be simultaneously achieved with low computation and communication cost. It is proved and
analyzed that the proposed scheme can withstand parameter reduction attack,
forgery attack and can recover message from the signcrypted text itself. There
is no message redundancy feature used in this scheme, but still it resists forgery
attack. The scheme supports message recovery feature, as message is recovered
from the signature and there is no need to send message along with the signcrypted text. The proposed scheme can be applicable to areas such as e-voting,
e-cash and e-commerce.
References
1. Shen, Y., Xie, H., Yang, L.: The Study and Application of Group Blind Signature
Scheme in E-commerce Security. IEEE, Los Alamitos (2009)
2. Chen, X., Zhang, F., Kim, K.: ID-Based Multi-Proxy Signature and Blind Multisignature from Bilinear Pairings. Information and Communications University(ICU),
305732
3. Mohammed, E., Emarah, A.E., El-Shennawy, K.: A blind signature scheme based on
Elgamal signature. In: Seventeenth National Radio Science Conference, pp. 2224
(February 2009)
4. Liu, Y., Yin, X., Chen, J.: A Forward Secure Blind Signature Scheme.In: Congress
on Image and Signal Processing (2008)
5. Lopez-Garca, L., Martnez-Ramos, L., Rodrguez-Henrquez, F.: A Comparative Performance Analysis of Several Blind Signature Schemes. In: International Conference
on Electrical Engineering, Computing Science and Automatic Control, pp. 310315
(November 2008)
6. Fan, C.-I., Guan, D.J., Wang, C.-I., Lin, D.-R.: Cryptanalysis of Lee-HwangYang
blind signature scheme. Computer Standards and Interfaces 31, 319320 (2009)
7. Kang, B.: On the security of proxy blind multisignaturescheme without a secure
channel. In: 2nd International Conference on Computer Engineering and Technology
(2009)
8. Wang, C.-H., Hwang, T., Lee, N.-Y.: Comments on two group signatures. Information Processing Letters 69, 9597 (1999)
9. Tian, X.-X., Li, H.-J., Xu, J.-P., Wang, Y.: A Security Enforcement ID-based Partially Blind Signature Scheme. In: International Conference on Web Information
Systems and Mining (2009)
Introduction
Cloud is dened as an elastic execution environment of resources involving multiple stakeholders and providing a metered service and multiple granularities for
specied level of quality[11]. Cloud support three main deployment types Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as
a Service (IaaS) [12]. The technologies behind current Cloud infrastructure are
not new, as they have been used in enterprise infrastructure for many years [14].
Cloud computing current understanding become popular with Amazon EC2 in
2006 [5], and its infrastructure is built up of technologies and processes based
on in-house solutions. The two main characteristics of potential Cloud critical
infrastructure, which dierentiate it from traditional enterprise infrastructure
are pay-per-use payment model and automated management services [11]. Such
services provide Cloud computing with exceptional capabilities and new features. For example, scale per use, hiding the complexity of infrastructure, automated higher reliability, availability, scalability, dependability, and resilience.
These should help in providing a trustworthy resilient Cloud computing, and
should result in cost reduction.
The main objective of this paper is to identify and analyze Cloud application
middleware automated management services and their interdependency. We also
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 557571, 2011.
c Springer-Verlag Berlin Heidelberg 2011
558
I.M. Abbadi
discuss how such services help in establishing trust in the Cloud. This paper
is organized as follows. Section 2 denes the scope of the paper and related
work. Section 3 denes application layer middleware self-managed services and
their interdependence. Section 4 provides a typical multi-tier architect in cloud
environment, and discusses how the conceptual models proposed in section 3
support trustworthy and resilient multi-tier application in the Cloud. Finally,
we conclude the paper and propose our research agenda in Section 5 .
Cloud computing can conceptually be viewed from dierent angles. For the purpose of our paper Cloud computing conceptually consists of multiple intersecting
layers as follows (for detailed description about Cloud taxonomy see [1]).
1. Physical Layer This layer represents the main physical components and
their interactions, which constitute Cloud physical infrastructure. Example
of these include physical servers, storage, and network components. The
physical layer resources are consolidated to serve the Virtual Layer.
2. Virtual Layer This layer represents the virtual resources, which are hosted
by the Physical Layer. Cloud customers in IaaS Cloud type interact directly
with the virtual layer, which hosts Clouds customer applications. This layer
consists of multiple sub-layers: Virtual Machine (VM), virtual network, and
virtual storage.
3. Application Layer This layer has Clouds customer applications, which
are hosted using resources in the Virtual Layer.
Moving current Cloud infrastructure to the potential trustworthy infrastructure requires a set of trustworthy middleware services. Middleware services glue
resources within Cloud layers together by providing a set of automated selfmanaged services that consider users security and privacy requirements by design. These services should be transparent to Clouds customers and should
require minimal human intervention. The implementation of self-managed services functions in middleware would mainly depend on the middleware location
within Clouds layers. For example, a Virtual Layer Middleware is needed between Physical Layer and Virtual Layer to provide infrastructure transparent
services to virtual layer, and an Application Layer Middleware is needed between Virtual Layer and Application Layer to provide transparent management
services to applications. We have previously dened Virtual Layer Middleware
self-managed services and the security challenges for providing such services in
[3]. In this paper for clarity we mainly focus on Application Layer Middleware
self-managed services.
In this paper we continue our previous work in [4], which discusses the misconceptions about Cloud computing, discusses Cloud structural components, and
derives the main security challenges in the Cloud. In this paper we mainly focus
559
Adaptability
Adaptability is the ability to provide timely and ecient support of applications on system changes and events. Adaptability should always ensure that the
overall system properties are preserved (e.g. security, resilience, availability and
reliability) when taking an action. The Adaptability service should automatically
decide on an action plan and then manage it by coordinating with other services
in the same layer or other layers.
Figure 1 provides a conceptual model of Adaptability services functions. This
Figure provides examples of Events and Changes, which Triggers the Adaptability
service. The Adaptability service in turn Performs Actions based on the Events
and Changes. The Actions also Triggers Cascaded Actions to other services in
both Application Layer and Virtual Layer. The Adaptability Service follows a set
of rules dened by cloud authorised employees dening Actions and Cascaded
Actions.
3.2
Resilience
Resilience in application layer is the ability of system to to maintain an application features (e.g. serviceability and security) despite a number of components
560
I.M. Abbadi
561
of Cascaded Actions that are followed. Such Actions and Cascaded Actions follow
a set of rules dened by Clouds authorised employees.
3.3
Scalability
Scalability at the Application Layer is providing an application with capabilities to quickly and eciently adapt to the addition and removal of virtual
resources. For example, on peak periods the virtual layer scales resources up, and
similarly on o-peak periods the virtual layer should release unneeded resources.
These should be reected at the application to support the addition and removal
of virtual resources. Also, these should not aect fundamental system properties
and should always represent user requirements (e.g. security and privacy). The
Adaptability service at the Virtual Layer (see [3] for detailed description of Virtual Layer services) upon detecting a need for either adding resources (e.g. peak
period) or removing resources it instructs the virtual layer Scalability service to
do so. The virtual layer Scalability service should trigger the application layer
Adaptability service to adapt to changes in the Virtual Layer. The Adaptability service at the Application Layer then triggers the Scalability service at the
application layer to scale the application to adapt to such changes.
Scalability type at virtual layer can be: Horizontal Scalability, Vertical Scalability, or combination of both. Horizontal Scalability is about the amount of
instances that would need to be added or removed to a system to satisfy increase
or decrease in demand. Vertical Scalability is about increasing or decreasing the
size of instances themselves to maintain increase or decrease in demand. In this
regard application layer scalability reacts dierently to both types of scalability. For example, Horizontal Scalability means the application will be replicated
at the newly created VMs; however, Vertical Scalability means the application
needs to take advantages of the additional allocated resources (e.g. increase memory usage, spawn additional child processes). Also, in both cases the Scalability
process needs to notify the Availability and Reliability services.
Figure 3 provides a conceptual model for application Scalability service. This
Figure provides the Actions from Adaptability service that triggers the Scalability
service. The Scalability service in turn Performs appropriate Actions.
562
I.M. Abbadi
3.4
Availability
Availability of a service represents the relative time a service provides its intended functions. High levels of availability are the result of excellent resilient
design.
Reliability
Reliability is related to the success in which a service functions [15]. High endto-end service reliability implies that a service always provides correct results
and guarantees no data loss. Higher individual components reliability together
with excellent architect and well dened management processes, help in supporting higher resilience. This in turn increases end-to-end service reliability
and availability.
Reliability is of higher priority than Availability service. Most importantly it
ensures that the end-to-end service integrity is maintained (i.e. no data loss and
correct service execution). If service integrity is aected by anyway and cannot be immediately recovered, Reliability service then noties the Availability
service to immediately bring a service or part of a service down. This is to ensure that data integrity is always protected. Simultaneously, Adaptability and
Resilience service should automatically attempt to recover the system and noti system administrators in case of a decision cannot be automatically made
563
Security and Privacy at application layer is about ensuring Cloud user security
and privacy requirements are maintained by the environment surrounding the
application (it is important to re-stress that we are covering the middleware
services supporting the application and not the application itself). This for example includes (a.) protecting Cloud user data whilst in transit (transferred to
the Cloud and back to the client, and transferred between Cloud structure components), (b.) protecting the data whilst being processed by application, (c.)
protecting the data when transferred across Cloud services, (d.) protecting data
whilst in storage, and (e.) ensuring that the application runs at a pre-agreed
geographical location and also data stored at pre-agreed geographical location.
Security and privacy should be built into all other services as default option.
Figure 6 provides a conceptual model of Security and Privacy service at Application Layer. This Figure provides examples of Events and Application Services,
which trigger the Security and Privacy service. The Security and Privacy service
in turn takes Actions based on the Events or Application Services.
3.7
564
I.M. Abbadi
for clarity. In this Figure Adaptability Service acts as the heart of self-managed
services. For example, it intercepts faults and changes in user requirements,
manages these by generating action plans, and delegates action plans to other
services. To be in a position to do this, the Adaptability Service communicates
with Resilience Service, Scalability Service, and Reliability Service.
The Resilience Service requires having redundant resources, which is represented by relation Maintains on Redundancy. Excellent resilient design results
in higher availability and reliability. This is indicated using Supports relation
between Resilience Service with Availability Service and Reliability Service.
Scalability Service (it starts based on Triggers received from Adaptability Service) instructs either Adapt to Vertical Scaling and/or Adapt to Horizontal Scaling processes. It also Noties Availability Service and Reliability Service once
scaling is done.
The Reliability Service is linked with Integrity process using Must Provide
relation. The outcome of the Integrity process is fed to the Reliability Service.
If application integrity is aected by any way the Reliability Service sends an
Integrity Failure message to both Availability Service and Adaptability Service.
565
566
I.M. Abbadi
567
The proposed multi-tier application architect requires a set of trustworthy middleware, as follows (see Figure 9).
1. Virtual Layer Middleware This middleware intermediates the communication between physical layer and application layer. It should provide transparent infrastructure management services to application layer via a set of selfmanaged services (see [3] for further details). Application Layer Middleware
requires these services to support trustworthy and resilience application.
2. Application Layer Middleware As discussed before this middleware should
provide a transparent management services to server applications via a set
of self-managed services. This middleware is conceptually composed of two
parts: (a.) Server Middle-tier Middleware that supports Server Middle-tier
Application, and (b.) Server Backend Middleware that supports Server Backend Application. These middleware should coordinate amongst each other to
provide trustworthy and Resilience service between Server Middle-tier Application to Server Backend Application. They also need to coordinate with
the other types of middleware to provide trustworthy and Resilience service
between Client Frontend Application to Virtual Layer.
3. Client Frontend Middleware This middleware should provide transparent management services on Client Frontend Application via a set of selfmanaged services. The services functions should coordinate with Server
Middle-tier Middleware in order to provide trustworthy service between
client middle-tier middleware to Server Middle-tier Middleware.
4.2
568
I.M. Abbadi
to emergency the client could reduce its requests to the minimal or even do
oine processing and then upload the result on the Cloud; and (c.) on security incidents the client could temporarily follow an emergency plan. These
are just sample examples, which would be based on application nature. It is
important to re-stress at this point that the application is not necessarily a
simple HTML, as it could be an interactive application that do processing
at Clouds customer location and then communicates with Cloud for follow
up process.
2. Resilience This service is about providing resilient service at client side
when communicating with the Cloud (see Figure 2). The service, in this context, mainly attempts to re-establish failed communication with the Cloud
(i.e. with Server Middle-tier Middleware)
3. Reliability This service is concerned about maintaining service reliable
for Client Frontend Application when communicating with the Cloud (see
Figure 5). The service, in this context, ensures reliability when data transferred/received to/from Cloud, and ensures reliability when data processed
at Client Frontend Application.
4. Security and Privacy Is related to providing security measures at Cloud
customer side for Client Frontend Application (see Figure 6). This, for example, includes (a.) protecting clients data when retrieved from the Cloud and
stored or processed at client environment, and (b.) protecting data whilst
being transferred to/from the Cloud.
Server Middle-tier Middleware supports Server Middle-tier Application and
requires the following self-managed services.
1. Adaptability This service is in charge of supporting changes and events
that might aect the functions of Server Middle-tier Application, as illustrated in Figure 1. Example of these includes: (a.) problems in the Cloud,
which require relocating the service to another location. The service communicates with the Client Frontend Middlewares Adaptability service to
take an appropriate action; (b.) if Server Middle-tier Application cannot be
restarted because of hardware related issues the Adaptability service coordinates with the Adaptability service at all other dependent middleware (e.g.
virtual layer middleware and Client Frontend Middleware); and (c.) if application cannot be restarted because of dependency problem, the Adaptability
service manages this by nding dependent applications and re-validating
their availability.
2. Resilience This service covers the following examples (see Figure 2). (a.)
subject to the Client Frontend Application nature, the Resilience service
re-establish communication with the Client Frontend Middleware on failure;
(b.) re-establish communication with Server Backend Middleware on failure;
(c.) restart Server Middle-tier Application on failure; and (d.) if the application cannot be restarted because of an error (application, environment, or
3.
4.
5.
6.
569
others) the service follows appropriate procedure based on the error nature
(e.g. triggers the Adaptability service).
Scalability This service is mainly concerned about Server Middle-tier
Application adaptability issues when the hosting underneath resources scales
up/down. This covers (see Figure 3): (a.) scaling up resources allocated to
VM hosting Server Middle-tier Application. This requires the application to
follow a set of processes, e.g. spawn further child processes; (b.) scaling up
by adding a VM, which require the application to follow a dierent process,
e.g. noties the Availability service to redistribute the incoming load to the
newly created VM, and redistribute client sessions considering the new VM;
and (c.) scaling down by removing additional resources allocated in (a.)
or removing the additional VM allocated in (b.), each requires following a
somehow a reverse process and noties the Availability service.
Availability This service is in charge of distributing the load coming from
Client Frontend Application and Server Backend Application evenly across
Server Middle-tier Application redundant resources. If a resource is down,
the Availability process immediately stops diverting trac to that resource,
and re-diverts the trac to other active resources until the Adaptability process xes the problem. Also, when the hosting environment scales up/down
the Availability service re-considers incoming requests distribution based on
the nature of the scaling. These are illustrated in Figure 4.
Reliability This service is concerned about maintaining service reliable
for Server Middle-tier Application when communicating with both Server
Backend Application and Client Frontend Application. Example of processes
provided by this service include (see also Figure 5) the following: (a.) verifying reliability when data transferred/received between applications, and
(b.) verifying reliability whilst data is processed.
Security and Privacy - Is related to maintaining Cloud customers security
and privacy requirements are maintained by the environment surrounding
Server Middle-tier Application. This includes (see Figure 6) the following:
(a.) protecting clients data when retrieved from the Client Frontend Application, (b.) protecting data whilst being processed by Server Middle-tier
Application, (c.) protecting data when transferred to/from Server Backend Application, (c.) protecting data on storage, and (d) ensuring security
and privacy is preserved for all other services (e.g. securing communication
baths).
570
I.M. Abbadi
Acknowledgment
This research has been supported by the TCloud project1 , which is funded by
the EUs Seventh Framework Program ([FP7/2007-2013]) under grant agreement number ICT-257243. The author would like to thank Andrew Martin and
Cornelius Namiluko for their discussion and valuable input. The author would
also like to thank IWTMP2PS 2011 anonymous reviewers for their comments.
1
http://www.tClouds-project.eu
571
References
1. Abbadi, I.M.: Clouds infrastructure taxonomy, properties, and management services. In: CloudComp 2011: To Appear In Proceedings Of The International Workshop On Cloud Computing- Architecture, Algorithms And Applications. LNCS.
Springer, Berlin (2011)
2. Abbadi, I.M.: Operational trust in clouds environmen. In: MOCS 2011: To Appear
In Proceedings Of Workshop On Management Of Cloud Systems. IEEE Computer
Society, Los Alamitos (2011)
3. Abbadi, I.M.: Self-Managed Services Conceptual Model in Trustworthy Clouds
Infrastructure. In: Workshop on Cryptography and Security in Clouds. IBM, Zurich
(2011), http://www.zurich.ibm.com/~ cca/csc2011/program.html
4. Abbadi, I.M.: Toward Trustworthy Clouds Internet Scale Critical Infrastructure.
In: Bao, F., Weng, J. (eds.) ISPEC 2011. LNCS, vol. 6672, pp. 7182. Springer,
Heidelberg (2011)
5. Amazon : Amazon Elastic Compute Cloud, Amazon EC2 (2010),
http://aws.amazon.com/ec2/
6. Apache (2011), http://apache.org/
7. Armbrust, M., Fox, A., Grith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee,
G., Patterson, D.A., Rabkin, A., Stoica, I., Zaharia, M.: Above the Clouds: A
Berkeley View of Cloud Computing (2009),
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
8. Cloud Computing Use Case Discussion Group. Cloud computing use cases (2010),
http://cloudusecases.org/Cloud_Computing_Use_Cases_Whitepaper4_0.odt
9. Derby (2011), http://db.apache.org/derby/
10. IBM. Autonomic computing (2001), http://www.research.ibm.com/autonomic/
11. Jeery, K., Neidecker-Lutz, B.: The Future of Cloud ComputingOpportunities
For European Cloud Computing Beyond (2010)
12. Mell, P., Grance, T.: The NIST Denition of Cloud Computing
13. Microsoft Corporation. Microsoft SQL Server (2008),
http://www.microsoft.com/sqlserve
14. Sun Microsystems. Take Your Business to a Higher Level (2009)
15. Musa, J.D., Iannino, A., Okumoto, K.: Software reliability: measurement, prediction, application (professional ed.), USA, McGraw-Hill, Inc., New York (1990)
16. Oracle Application Server (2010),
http://www.oracle.com/technetwork/middleware/ias/overview/index.html
17. Oracle DBMS (2011),
http://www.oracle.com/us/products/database/index.html
18. Weblogic (2007), http://www.bea.com
19. Youse, L., Butrico, M., Da Silva, D.: Toward a unied ontology of cloud computing. In: Proceedings of Grid Computing Environments Workshop, pp. 110. IEEE,
Los Alamitos (2008)
1 Introduction
The affordability of computation, memory and disk storage is enabling large volumes
of person specific data is to be collected. Data holders with little knowledge about
privacy are releasing the information and thus compromising the privacy. On the
other fold the end users are also not aware of privacy issues and several software
giants like Google, Microsoft etc., are tracking search queries of the individuals.
In this regard protecting data from re-identification has become the most challenging
problem when important data like census, voter registration and medical information
of patients is released by hospitals, financial institutions and government
organizations for mining or survey purposes. Research towards protecting
individuals identity is being done extensively. In 2002 when medical data is linked
with the voters registration list 87% of USA population was identified with the
release data having gender, data of birth and zip code as attributes [1]. To avoid this
breach, the data is anonymized by using generalization and suppression that turned
into a protection model named k-anonymity [1]. When Netflix data set was deanonymized individuals information was exposed [2]. AOL [3] removed their query
logs immediately due to re-identification of person specific information.
When data is published, the original data table (T) as shown in the Table 1 is
anonymized and the anonymized dataset (T) (Table 3) is released for mining
purpose. The anonymized table does not contain any Identifying attributes such as
SID, Name etc., Some attributes that might reveal the information when linked with
the external dataset are termed as Quasi Identifiers (QID), for example: zip code, age,
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 572579, 2011.
Springer-Verlag Berlin Heidelberg 2011
573
date of birth etc. The elementary way of protecting the privacy for a dataset can be
done by using k-anonymity. By definition, in the anonymized data released the values
of each record are similar to atleast (k-1) other records. This is achieved with the help
of generalization and suppression. The framework of k-anonymity is to generalize or
suppress some values on Quasi Identifier attributes. Generalization [8] is achieved by
generalizing the attribute values to specific value. For example if you consider age
attribute of a person say Alice to be 23 we transform it to [20-25] range thereby
preserving the semantic nature of the attribute value. Sometimes the generalization is
achieved using the desired taxonomy tree as shown in the fig. 1.
Table 1. Original Microdata Table
Name
Alice
Bob
Korth
Jane
Korth
Harry
Sandeep
Jack
Mary
Patricia
Benny
Ally
Age
26
28
20
24
51
58
44
48
32
38
35
33
Zipcode
53053
53068
53068
53053
54853
54853
54850
54850
53053
53053
53068
53068
Gender
Male
Male
Male
Female
Male
Female
Male
Male
Female
Female
Female
Female
Disease
Cancer
HIV
Flu
HIV
HIV
HIV
Obesity
Flu
Flu
Flu
HIV
Obesity
Zipcode
53053
53068
53068
53053
54853
54853
54850
54850
53053
53053
53068
53068
Gender
Male
Male
Male
Female
Male
Female
Male
Male
Female
Female
Female
Female
Disease
Cancer
HIV
Flu
HIV
HIV
HIV
Obesity
Flu
Flu
Flu
HIV
Obesity
574
In this paper we use generalization without any loss of generality. The main
objective is that the anonymized dataset that is to be published should preserve both
privacy and utility. Our proposed algorithm (Algorithm 1) preserves anonymity and
as well as good utility by measuring the information loss on the produced anonymized
data sets which are generated by the combination of attributes. To achieve this we
adopted the k-anonymity principle for grouping the data. This paper is divided into 4
sections. Section 2 discusses the related work. The proposed work and information
loss measuring is explained in section 3 and section 4 concludes the paper.
2 Related Work
This section reviews some of the known works in the area. Statistical community
resolved re-identification of person specific data but none provided a better and
efficient solution for providing anonymity. According to [4] the statistical databases
which are used for data mining and fraud detection were released to the miner by
adding some noise to the data but on the go it deteriorated the integrity of the tuples
thereby turning out for an inappropriate use of data. On the other side some
researchers introduced aggregation technique where the data is classified into lower
and higher types and then restriction was done in a way that the higher type of the
classified data cannot be inferred [5]. The draw backs of the above mentioned
methods were overcome by k-anonymity model to an extent by using generalization
and suppression [1]. K-anonymity identifies the appropriate Quasi-Identifiers and
then generalizes them to a higher level such that the anonymized group will contain
atleast k tuples. Our proposed method adopts this principle and considers the
combination of attributes and produces different sets of anonymized dataset from
which we select the finest among all by measuring the utility of the produced
combinatorial datasets.
3 Proposed Work
One way of protecting privacy is to group the data such that person specific data
cannot be identified. In our proposed approach we adopted the k-anonymity principle
[1]. Our work is divided into two fold. We initially generate different possible
anonymized datasets considering the taxonomy tree as shown in the fig.1. The
anonymized dataset should provide privacy and utility for mining purpose. This goal
is being achieved on the second fold by calculating the information loss (I) for all the
anonymized datasets that were produced in first stage. The T table which has low
information loss will be published. This produced anonymized table is the finest
dataset that provides both anonymization and utility.
3.1 Attribute Combination Based Generalization
By definition k-anonymity applies the generalization and suppression techniques to
the attribute values and then groups the data such that anonymized dataset contains
atleast k similar tuples. Abiding to this principle we initially consider the original
575
table (DS) as shown in the table 1. Let DAi be the domain of the dataset DS and be
the attribute value set and we term the selected attributes as Quasi-Identifiers.
Initially we give an anonymized dataset and k value to the algorithm (Algorithm
1). We apply it for the entire attribute domain DAi. Then the first Quasi-Identifier
(QID) attribute i.e., DA1 is selected and the dataset is sorted in ascending order. After
sorting we calculate the count i.e., frequency of the support of each attribute value. If
DAi [vj] < k we then perform the generalization of the attribute value to a higher level
based on the taxonomy tree. We repeat this process (step 4 to 11) for the entire
domain values till the support value is greater than or equal to k.
Table 3. Anonymized Dataset D1
Age
[20-28]
[20-28]
[20-28]
[20-28]
[32-38]
[32-38]
[32-38]
[32-38]
[44-58]
[44-58]
[44-58]
[44-58]
Zipcode
[53053-53068]
[53053-53068]
[53053-53068]
[53053-53068]
[53053-53068]
[53053-53068]
[53053-53068]
[53053-53068]
[54850-54858]
[54850-54858]
[54850-54858]
[54850-54858]
Gender
Person
Person
Person
Person
Female
Female
Female
Female
Person
Person
Person
Person
Disease
HIV
Flu
HIV
Cancer
Flu
Obesity
HIV
Flu
Flu
HIV
Obesity
HIV
Age
[20-38]
[20-38]
[20-38]
[20-38]
[20-38]
[20-38]
[20-38]
[20-38]
[44-58]
[44-58]
[44-58]
[44-58]
Gender
Person
Person
Person
Person
Person
Person
Person
Person
Person
Person
Person
Person
Disease
Flu
HIV
Flu
Cancer
HIV
Obesity
HIV
Flu
Flu
HIV
Obesity
HIV
Once the selected Quasi-Identifier is generalized we sort the remaining QuasiIdentifiers in descending order. For every tuple Tx in the dataset if the tuples DAi [Vx]
and DAi [Vx+1] are not equal then for every tuple Ty to Tx if the count of the support
value of DAj [vj] < k we then generalize the attribute value and repeat the steps 18
to 23 as shown in the algorithm (Algorithm 1) until support for all the attribute values
is >=k.
576
Age
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
[20-58]
Zipcode
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
[53053-54858]
Disease
HIV
Obesity
Flu
HIV
Flu
HIV
Obesity
Flu
Cancer
HIV
Flu
HIV
577
(1)
[UI, LI] are the upper and lower limit of particular attribute I, to which the value is
generalized based on the taxonomy tree and Max, Min are the least and largest values
of the attribute I. For any categorical attribute, if r and r are the data values before
and after generalization and V is the corresponding node of r and if LV is the number
of leaf nodes of the subtree, L is the total number of leaf nodes of the taxonomy tree.
The information loss ILcat is given thereby
ILcat
(2)
For instance consider the dataset D1. According to equation (1) and (2) the
information loss for age, zipcode, sex for the first tuple are (28-20)/(58-20) = 0.21,
(53068-53053)/(54858-53053) =0.0083, (2-1)/(2-1)=1 respectively . So the total
Table 6. Information Loss for Different Anonymized Datasets
Dataset
/QIDs
D1
D2
D3
D4
D5
D6
Age
0.245
0.245
0.438
0.438
1
1
Information Loss
Zipcode
Gender
0.007
0.666
0.007
0.666
0.001
1
0.001
1
1
0
1
0
Total
0.306
0.306
0.479
0.479
0.666
0.666
578
information loss for the first tuple is (0.21+0.0083+1)/3= 0.406. This process is
repeated for all the tuples of D1 and the total information loss for D1 is 0.306. Table 6
shows different information losses for all the dataset attributes domain wise and the
total information loss is also shown. The dataset with less information loss will be
considered as the finest dataset for publishing. A graph showing information loss for
different anonymized datasets is shown in the fig.2.
4 Complexity
The complexity analysis of our approach is presented in this section. Let n be number
of tuples and m be the number of Quasi Identifier attributes. Initially, the first
attribute domain is sorted in ascending order using simple merge sort algorithm
having complexity of O (n log n). Later the support count of each attribute value is
calculated. The complexity is found to be n + n log n and once this process is done we
perform the above process (steps 14 to 28 of the algorithm (Algorithm 1)) for the
remaining (m-1) attributes whose complexity is (m-1) (n log n + n). Hence the overall
complexity of the algorithm (Algorithm 1) for m quasi identifier attributes will be m
((n log n + n) + (m -1) (n log n + n)) m2n log n.
579
information loss. The dataset that has minimum information loss will provide good
utility. The experimentation showed that the approach is practically feasible and the
information loss can be found. We limited our work to Quasi Identifiers. In future we
would like to focus on l-diversity [7] i.e., sensitive attribute based grouping.
Acknowledgments. This work was supported by Grant SR/S3/EECE/0040/2009 from
Department of Science and Technology (DST), Government of India. We thank the
anonymous reviewers for their insightful comments.
References
1. Sweeney, L.: K-anonymity: a model for protecting privacy. International Journal on
Uncertainty, Fuzziness and Knowledge-based Systems 10(5), 557570 (2002)
2. Narayanan, A., Shmatikov, V.: Robust De-anonymization of Large Datasets, (February 5,
2008)
3. Hansell, S.: AOL removes search data on vast group of web users. New York Times
(August 8, 2006)
4. Kim, J.: A method for limiting disclosure of microdata based on random noise and
transformation. In: Section on Survey Research Methods of the American Statistical
Association, pp. 328387 (2001)
5. Denning, D., Lunt, T.: A Multilevel relational data model, pp. 220234. IEEE, Oakland
(1987)
6. Iyengar, V.S.: Transforming data to satisfy privacy constraints: Special Interest Group on
Knowledge Discovery and Data Mining. In: SIGKDD, pp. 279288. ACM, New York
(2002)
7. Machanavajjhala, J.G., Kifer, D., Venkitasubramaniam, M.: l-diversity: Privacy beyond kanonymity. In: Proc. 22nd Intl. conf. Data Engg. (ICDE), p. 24 (2006)
8. Aggarwal, G., Feder, T., Kenthapadi, K., Motwani, R., Panigrahy, R., Thomas, D., Zhu, A.:
k-anonymity: Algorithms and hardness. Stanford University, Stanford (2004)
1 Introduction
Wireless mesh networking has emerged as a promising concept to meet the challenges
in next-generation wireless networks such as providing flexible, adaptive, and reconfigurable architecture while offering cost-effective solutions to service providers.
WMNs are multi-hop wireless networks formed by mesh routers (which form a wireless mesh backbone) and mesh clients. The mesh routers provide a rich radio mesh
connectivity which significantly reduces the up-front deployment cost of the network.
Mesh routers are typically stationary and do not have power constraints. However,
the clients are mobile and energy-constrained. Some mesh routers are designated as
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 580592, 2011.
Springer-Verlag Berlin Heidelberg 2011
581
gateway routers which are connected to the Internet through a wired backbone.
A gateway router provides access to conventional clients and interconnects ad hoc,
sensor, cellular, and other networks to the Internet. A mesh network can provide multi-hop communication paths between wireless clients, thereby serving as a community
network, or can provide multi-hop paths between the client and the gateway router,
thereby providing broadband Internet access to the clients.
As WMNs become an increasingly popular replacement technology for last-mile
connectivity to the home networking, community and neighborhood networking, it is
imperative to design an efficient resource management protocols for these networks.
However, several vulnerabilities currently exist in various protocols for WMNs.
These vulnerabilities can be exploited by the attackers to degrade the performance of
a network. The absence of a central point of administration makes the WMN protocols vulnerable to various types of attacks. Security is, therefore, an issue which is of
prime importance in WMNs [1]. Since in a WMN, traffic of an end user is relayed via
multiple wireless mesh routers, preserving privacy of the user data is also a critical
requirement [2]. Majority of the current security and privacy protocols for WMNs are
extensions of protocols originally designed for mobile ad hoc networks (MANETs)
and therefore their performances are suboptimal.
Keeping this problem in mind, this paper presents a novel security protocol for
node authentication and message confidentiality for WMNs. In addition it also
presents a user anonymization scheme that ensures secure authentication of the mesh
clients (i.e., the user devices) while protecting their privacy.
The key contributions of the paper are as follows: (i) It proposes a novel security
protocol for the mesh client nodes and the mesh routers. (ii) For protecting user privacy while providing a secure authentication framework for the mesh clients (user devices), it presents a novel anonymization scheme that utilizes the essential idea of
Rivest group signature scheme [3].
The rest of this paper is organized as follows. Section 2 describes related work on
routing in WMNs. Section 3 presents the details of the architecture of a WMN and the
assumptions made for the development of the proposed protocols. Section 4 and Section 5 describe the proposed security and the privacy protocols respectively. Section 6
presents some performance results of the proposed scheme, and Section 7 highlights
some future scope of work and concludes the paper.
2 Related Work
Since security and privacy are two extremely important issues in any communication
network, researchers have worked on these two areas extensively. However, as comapred to MANETs and wireless sensor networks (WSNs), WMNs have received very
little attention in this regard. This section briefly discusses some of the existing mechanisms for ensuring security and privacy in communications in WMNs.
In [4], a standard mechanism has been proposed for client authentication and
access control to guarantee a high-level of flexibility and transparency to all users in
a wireless network. The users can access the mesh network without requiring
any change in their devices and softwares. However, client mobility can pose severe
582
J. Sen
583
In [13], a mechanism is proposed with the objective of hiding an active node that
connects to a gateway router, where the active mesh node has to be anonymous. A
novel communication protocol is designed to protect the nodes privacy using both
cryptography and redundancy. This protocol uses the concept of onion routing [14]. A
mobile user who requires anonymous communication sends a request to an onion
router (OR). The OR acts as a proxy to the mobile user and constructs a onion route
consisting of other ORs using the public keys of the routers. The onion is constructed
such that the inner most part is the message for the intended destination, and the message is wrapped by being encrypted using the public keys of the ORs in the route. The
mechanism protects the routing information from insider and outsider attack. However, it has a high computation and communication overhead.
None of the above propositions, however, addresses all the security problems of a
typical WMN. Most of the schemes handle security issues at a specific layer, and
therefore, fail to provide a multi-layer attack on the protocol stack of a WMN. This
paper proposes a security and privacy framework that addresses issues both at the
access and the backbone networks while not affecting the network performance.
584
J. Sen
The proposed security protocol serves the dual purpose of providing security in the
access network (i.e., between the MCs and the MRs) and the backbone network (i.e.,
between the MRs and the IGWs). These are described the following sub-sections.
3.1 Access Network Security
The access mechanism to the WMN is assumed to be the same as that of a local area
network (LAN), where mobile devices authenticate themselves and connect to an
access point (AP). This allows the users to the access the services of the WMN
exploiting the authentication and authorization mechanisms without installing any
additional software. It is evident that such security solution provides protection to the
wireless links between the MCs and the MRs. A separate security infrastructure is
needed for the links in the backbone networks. This is discussed in Section 3.2.
Fig. 2. Secure information exchange among the MCs A and B through the MRs 1 and 2
585
Fig. 3. Steps performed by a new MR (N) using backbone encrypted traffic to join the WMN
Fig. 3 shows the three phases of the authentication process that a MR (say N) undergoes. When N wants to join the network, it scans all the radio channels to detect any
MR that is already connected to the wireless backbone. Once such an MR (say A) is
detected, N requests A for access to network services including authentication and key
distribution. After connecting to A, N can perform the tasks prescribed in the IEEE
802.11i protocol to complete a mutual authentication with the network and establish a
security association with the entity to which it is physically connected. This completes
the Phase I of the authentication process. Essentially, during this phase, a new MR
performs all the steps that an MC has to perform to establish a secure channel with an
MR for authentication and secure communication over the WMN.
During Phase II of the authentication process, the MRs use the TLS protocol. Only
authorized MRs that have the requisite credentials can authenticate to the AS and
obtain the cryptographic credentials needed to derive the key sequence used to protect
the wireless backbone. In the proposed protocol, an end-to-end secure channel between the AS and the MR is established at the end of a successful authentication
through which the cryptographic credentials can be exchanged in a secure way.
To eliminate any possibility of the same key being used over a long time, two protocols are proposed for secure key management. These protocols are presented in
Section 4. As mentioned earlier in this section, all the MRs are assumed to be synchronized with a central server using the NTP protocol.
586
J. Sen
Fig. 4 shows a collection of four MRs connected with each other by five wireless
links. The MR A is connected with the AS by a wired link. At the time of network
bootstrapping, only node A can connect to the network as an MR, since it is the only
node that can successfully authenticate to the AS. Nodes B and C which are neighbors
of A then detect a wireless network to which can connect and perform the authentication process following the IEEE 802.11i protocol. At this point of time, nodes B and C
are successfully authenticated as MCs. After their authentication as MCs, nodes B and
C are allowed to authenticate to the AS and request the information used by A to produce the currently used cryptographic key for communication in the network. After
having derived such key, both B and C will be able to communicate with each other, as
well as with node A, using the ad hoc mode of communication in the WMN. At this
stage, B and C both have full MR functionalities. They will be able to turn on their
access interface for providing node D a connection to the AS for joining the network.
587
generated (i.e., TSKL) by the AS. An MR, based on the time instance at which it joins
the backbone (tnow in Fig. 5), can find out the key (from the current list) being used
by its peers (keyidx) and the interval of validity of the key (Ti) using (1) and (2) as
follows:
TS KL
+1
= t now
keyidx timeout
T = key
i
idx
* timeout (t now TS KL )
(1)
(2)
In the proposed protocol, each WMN node requests the AS for the key list that will
be used in the next session before the expiry of the current session. This feature is
essential for nodes which are located multiple hops away from the AS, since, responses from the AS take longer time to reach these nodes. The responses may also get
delayed due to fading or congestion in the wireless links. If the nodes send their requests for key list to the AS just before expiry of the current session, then due to limited time in hand, only the nodes which have good quality links with the AS will
receive the key list. Hence, the nodes which will fail to receive responses from the
server will not be able to communicate in the next session due to non-availability of
the current key list. This will lead to an undesirable situation of network partitioning.
Fig. 5. The message exchanges between an MR and the AS in the key management protocol
The key index value that triggers the request from the nodes to the server can be set
equal to the difference between the cardinality of the list and a correction factor. The
correction factor can be estimated based on parameters like the network load, the
distance of the node from the AS and the time required for the previous response.
In the proposed protocol, the correction factor is estimated based on the time to receive the response from the AS using (3), where ts is the time instance when the first
key request was sent, tr is the time instance when the key response was received from
588
J. Sen
the AS, and timeout is the validity period of the key. Therefore, if a node fails to
receive a response (i.e., the key list) from the AS during timeout, and takes a time tlast,
it must send the next request to the AS before setting the last key.
t timeout
c = last
timeout
=0
last
if
last
timeout
if
last
< timeout
= tr ts
(3)
The first request of the key list sent by the new node to the AS is forwarded by
the peer to which it is connected as an MC through the wireless access network.
However, the subsequent requests are sent directly over the wireless backbone.
= y Ai .g i K .( g
K
i
mod pi ) mod qi
mod pi
(4)
589
* = mod qi
(5)
= K .( g iK mod pi ) x Ai . * mod qi
(6)
yi
It then computes
*
i
590
J. Sen
Security analysis: The key exchange scheme satisfies the following requirements.
User anonymity: For a given signature X, the server can only be convinced that the
ring signature is actually produced by at least one of the possible users. If the actual
user does not reveal the seed K, the server cannot determine the identity of the user.
The strength of the anonymity depends on the security of the pseudorandom number
generator. It is not possible to determine the identity of the actual user in a ring of
size n with a probability greater than 1/n. Since the values of k and v are fixed in a
b n 1
number of ( x1 , x2 ,...xn ) that satisfy the equation
ring signature, there are ( 2 )
C k ,v ( y1 , y 2 ,... y n ) = v , and the probability of generation of each ( x1 , x2 ,...xn ) is the same.
Therefore, the signature cant leak the identity information of the user.
Mutual authentication: In the proposed scheme, not only the server verifies the users, but the users can also verify the server. Because of the hardness of inverting the
hash function f(.), it is computationally infeasible for the attacker to determine ( i , i ) , and hence it is infeasible for him to forge a signature. If the attacker
wants to masquerade as the AS, he needs to compute h = H ( K s , X , Y ) . He requires xB
in order to compute X. However, xB is the private key of AS to which the attacker has
no access.
Forward secrecy: The forward secrecy of a scheme refers to its ability to defend
leaking of its keys of previous sessions when an attacker is able to catch hold of the
key of a particular session. The forward secrecy of a scheme enables it to prevent
replay attacks. In the proposed scheme, since xa and xb are both selected randomly,
the session key of each period has not relation to the other periods. Therefore, if the
session key generated in the period j is leaked, the attacker can not get any information of the session keys generated before the period j. The proposed protocol is, therefore, resistant to replay attack.
6 Performance Evaluation
The proposed security and privacy protocols have been implemented in the Qualnet
network simulator, version 4.5 [19]. The simulated network consists of 50 nodes randomly distributed in the simulation area forming a dense WMN. The WMN topology
is shown in Fig. 6, in which 5 are MRs and remaining 45 are MCs. Each MR has 9
MCs associated with it. To evaluate the performance of the security protocol, first the
network is set as a full-mesh topology, where each MR (and also MC) is directly
connected to two of its neighbors. In such a scenario, the throughput of a TCP
connection established over a wireless link is measured with the security protocol
activated in the nodes. The obtained results are then compared with the throughput
obtained on the same wireless link protected by a static key to encrypt the traffic.
After having 10 simulation runs, the average throughput of a wireless link between
a pair of MRs was found to be equal to 30.6 MBPS, when the link is protected by a
static key. However, the average throughput for the same link was 28.4 MBPS when
the link was protected by the proposed security protocol. The results confirm that the
protocol does not cause any significant overhead on the performance of the wireless
link, since the throughput in a link on average decreased by only 7%.
591
The impact of the security protocol for key generation and revocation on packet
drop rate in real-time applications is also studied in the simulation. For this purpose, a
VoIP application is invoked between two MRs which generated UDP traffic in the
wireless link. The packet drop rates in the wireless links are studied when the links
are protected with the security protocol and when they protected with a static key. The
transmission rate was set to 1 MBPS. The average packet drop rate in 10 simulation
runs was found to be only 4%. The results clearly demonstrate that the proposed
security scheme has no adverse impact on packet drop rate even if several key switching (regeneration and revocation) operations are carried out.
The performance of the privacy protocol is also analyzed in terms of its storage and
communication overhead. Both storage and communication overhead were found to
increase linearly with the number of nodes in the network. In fact, it has been analytically shown that overhead due to cryptographic operation on each message is: 60n +
60 bytes, where n represents the number of public key pairs used to generate the ring
signature [20]. It is clear that the privacy protocol has a low overhead.
592
J. Sen
References
1. Sen, J.: Secure Routing in Wireless Mesh Networks In: Funabiki, N. (ed.) Wireless Mesh
Networks (2011), Intech
http://www.intechopen.com/articles/show/title/securerouting-in-wireless-mesh-networks
2. Wu, T., Xue, Y., Cui, Y.: Preserving Traffic Privacy in Wireless Mesh Networks. In: Proc.
of WoWMoM (2006)
3. Rivest, R., Shamir, A., Tauman, Y.: How to Leak a Secret. In: Boyd, C. (ed.)
ASIACRYPT 2001. LNCS, vol. 2248, pp. 552565. Springer, Heidelberg (2001)
4. Mishra, A., Arbaugh, W.A.: An Initial Security Analysis of the IEEE 802.1X Standard.
UM Computer Science Department Technical Report CS-TR-4328 (2002)
5. Kassab, M., Belghith, A., Bonnin, J.-M., Sassi, S.: Fast Pre-Authentication Based on
Proactive Key Distribution for 802.11 Infrastructure Networks. In: Proc. of WMuNeP, pp.
4653 (2005)
6. Prasad, A., Wang, H.: Roaming Key Based Fast Handover in WLANs. In: Proc. of IEEE
WCNC, vol. 3, pp. 15701576 (2005)
7. Ben Salem, N., Hubaux, J.-P.: Securing Wireless Mesh Networks. IEEE Wireless Communication 13(2), 5055 (2006)
8. Cheikhrouhou, O., Maknavicius, M., Chaouchi, H.: Security Architecture in a Multi-Hop
Mesh Network. In: Proc. of SAR (2006)
9. Parthasarathy, M.: Protocol for Carrying Authentication and Network Access (PANA)
Threat Analysis and Security Requirements. RFC 4016 (2005)
10. Zhu, S., Xu, S., Setia, S., Jajodia, S.: LHAP: A Lightweight Network Access Control Protocol for Ad Hoc Networks. Ad Hoc Networks 4(5), 567585 (2006)
11. Perrig, A., Canetti, R., Song, D., Tygar, J.: Efficient and Secure Source Authentication for
Multicast. In: Proc. of NDSS, pp. 3546 (2001)
12. Prasad, N., Alam, M., Ruggieri, M.: Light-Weight AAA Infrastructure for Mobility Support across Heterogeneous Networks. Wireless Personal Communications 29 (2004)
13. Wu, X., Li, N.: Achieving Privacy in Mesh Networks. In: Proc. of SASN, pp. 1322
(2006)
14. Reed, M., Syverson, P., Goldschlag, D.: Anonymous Connections and Onion Routing.
IEEE Journal on Selected Areas in Communications 16, 482494 (1998)
15. Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., Levkowetz, H.: Extensible Authentication Protocol (EAP). RFC 3748 (2005)
16. Mills, D.L.: Network Time Protocol. RFC 1305 (1992)
17. Martignon, F., Paris, S., Capone, A.: MobiSEC: A Novel Security Architecture for Wireless Mesh Networks. In: Proc. of Q2SWinet, pp. 3542 (2008)
18. Cao, T., Lin, D., Xue, R.: Improved Ring Authenticated Encryption Scheme. In: Proc. of
JICC, pp. 341346 (2004)
19. Network Simulator QUALNET, http://www.scalable-networks.com
20. Xiong, H., Beznosov, K., Qin, Z., Ripeanu, M.: Efficient and Spontaneous PrivacyPreserving Protocol for Secure Vehicular Communication. In: Proc. of ICC, pp. 16
(2010)
1 Introduction
Wireless sensor networks contain large number of sensor nodes that communicate
wirelessly [8]. Each node equipped with a radio transceiver or other wireless
communications device, a small process unit, and an energy source, usually a battery.
These networks are characterized by its easy deployment and low maintenance cost. In
computer science and telecommunications, wireless sensor networks are an active
research area with numerous workshops and conferences arranged each year.
Therefore, sensor networks are the focus of significant research efforts on account of
their diverse applications that include disaster recovery, military surveillance, health
administration, environmental monitoring and construct complex physical system [10].
The main task of a wireless sensor network is the monitoring of a larger area.
Usually, the end user wants to extract information from the sensor field, this
information is gathered by the sensor nodes, and disseminated to the sensor sink.
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 593607, 2011.
Springer-Verlag Berlin Heidelberg 2011
594
Moreover, this information can be sensed and disseminated to the sink node and after
forwarded to the end user without requested by the last one. A possible solution, to
disseminate the interested data is letting the sensor nodes use the flooding technique.
Nevertheless, this technique produces a high traffic load and consumes many energy
resources.
Data Dissemination is a process by which the sensing data will be transmitted form
the source sensor node to the sink. It consists to determine the optimal path on which
the information will be disseminated. The characteristics of the networks of sensors,
like the significant density and the limited energy require specific data dissemination
protocol. However, the aim of our research consists to conceive and validate a
protocol of data of use the concept of aggregation to minimize energy
The remaining parts of this paper are organized in the following way. Section 2
reviews a set of related data dissemination protocol and summarizes some recent
works. Section 3 presents the parameters and the assumptions of our environment.
Section 4 presents our proposal and gives the necessary description of the different
concepts used in our design. Performance analysis and simulation results are
presented in Section 5. Section 6 concludes this paper.
2 Related Works
Several data dissemination protocols for sensor networks have been proposed in the
literature to address the data communication problem in these networks. Protocol
LEACH proposed in [2] is one of the first approaches of the hierarchical data
dissemination sensors networks. LEACH has been considered as an effective protocol
in energy consumption this protocol can extend the lifetime of the network [2],
compared with the other protocols. Moreover, this protocol organizes the sensor nodes
in clusters form, the elected cluster heads collect the data from its sensor nodes,
aggregate and transmit them directly to the sink node, these cluster heads changed and
elected periodically. TEEN is a protocol of data dissemination based on the clustering
technique proposed by anjeshwar & Al.[ 4 ]. TEEN uses the same strategy as LEACH
to create the clusters node, but adopts a different approach during the data transmission
phase. In this phase, TEEN uses two parameters called hardware threshold and
software threshold to determine the need of collected data transmission. PEGAGIS
[13] is another data dissemination protocol designed for sensor networks which
improves the previous LEACH. In this protocol, a sensor node communicates only
with the closest neighbors, it should wait its turn to transmit its data to the sink node.
CODE [1] is a protocol based on a virtual grid structure, where each cell of the grid
contains a node called coordinator playing the role of an intermediate node, only these
nodes coordinators take part in the process of data dissemination. This protocol
is principally inspired from some previous works like GAF [6], [7]. TTDD [14]
considers sink mobility, by constructing grid networks for each data source and
selecting a grid node as the communication portal of mobile data sinks.
Other protocol SPIN [3] considers the end-to-end communications in sensor
networks, it supposes that two sensor nodes can communicate between them without
any interference with other nodes. This protocol supposes also that the energy
consumption does not constitute a constraint, and the data are never lost.
595
In the directed diffusion protocol [15], [FHR04], data are inherently dispersed with
the physical object and retrieved via queries transferred to the object through the
network. It also envisions that the querying and monitoring the physical space may
rely on multicast mechanisms. Protocol PDDD [5] tries to surmount the disadvantage
of the multicast mechanisms used in the directed diffusion protocol. It eliminates the
gradient algorithm of directed diffusion and exploits the information of neighbor
nodes.
According to user importance, SAFE [12] considers service differentiation between
data sinks, allowing each data sink itself to specify the desired data update rate. This
aspect entails multiple level provision of data freshness.
Other protocol MMSPEED [11] presents an evolution in the protocols oriented
quality of service. MMSPEED offers several transmissions speed and establishes
more than one route form the source node to the destination. Therefore, each offered
speed defines a level of temporal QoS and each additional route helps to improve the
quality of traffic. These two mechanisms respectively make it possible to respect the
degree of criticality of each application, to transmit the data within the required times
and to avoid the problems frequently encountered like the congestion and packets
loss.
596
The proposed solution starts with an initialization phase, during which, the virtual
grid will be constructed and a header will be selected for each group. Thus, the
process of data dissemination will start in the second phase.
During the second phase, the head of the group receives the data collected by the
nodes of its group, then, it transmits them to the interested sinks hop by hop, the next
hop is defined by the indices of next cell in the grid.
During the dissemination phase, each head of group executes the necessary data
aggregation to decrease the number of transmission packets. When the head receives
data from one of its members, it will ignore all the same ones received in the next T
second, where T is the necessary time for transmission of data between the two
farthest nodes in the group.
(1)
597
(2)
Where:
1
A
r
2
r
The size r of a cell in the grid is based on the range of communication R. the cell is
square of size R (Fig. 2).
To ensure the communication between all the close nodes of the cells the distance
between the two most distant nodes in two close cells must be less than R.
For example in fig. 2, the most distant nodes are nodes 1 of cell A and node 2 of
the cell D, the distance between two nodes 1 and 2 must be less than the range of
communication R in order to be able to communicate between them. This translated
mathematically by the following formula:
4r2+4r2R2 => r R/8 => r R/(22)
(3)
598
Sinkid
Sink1
Sink1
Sink2
Pos
[1,0]
[1,0]
[0,1]
Data_type
T1
T2
T1
599
interested sink. Therefore, when a head receives the sensing data, will define the next
destination head, so this next hope will be selected as below:
(X,Y) : Cluster coordinates of the current node.
(Xsink,Ysink) : Cluster coordinates of the sink node.
(Nexthop.X,Nexthop.Y) : Cluster coordinates of next head.
Select_Nexthop()
1 { If (Xsink=X) then
2 { nexthop.X=X ;
3
Selecte_y() ; }
4 else
5 if (Xsink > X ) then
6
{ nexthop.X=X++;
7
Selecte_y() ; }
8
else
9
{ nexthop.X=X-- ;
10
Selecte_y() ; }
11 }
Select_y()
1 { if (Ysink=Y ) then nexthop.Y=Y ;
2
Else if (Ysink>Y )
3
then nexthop.Y=Y++ ;
4
Else nexthop.Y=Y-- ;
5}
4.2.1 Dynamic Power Threshold and Cluster Head Management
As motioned above, the cluster head is responsible to disseminate the sensing data
from the source sensor node to the sink witch consume more energy. Using a fixed
energy threshold to determinate the cluster head permits for the selected node to acts
as head only one time in its life and it will be the first node that will be died and like
this one by one all the node will be died, as result the network performances decrease.
In order to make the proposal protocol more efficient in energy consumption and
prolong the lifetime of the sensor nodes, we define the below formula:
New_threshold = Old_threshold-( ld_threshold /k)
(4)
K is positive integer.
We define also two fixed threshold, threshold_max and threshold_min. the
threshold_max is the initial threshold, and the threshold_min is the lowest sufficient
energy that permits the cluster head to advertise its energy exhaustion in order to
select another one.
600
Initially the energy available of the selected cluster head should be more than
the threshold_max, after certain time, the energy of the head will be decreased
and when becomes inferior to the threshold_min. the head sends a message of
Select_newHeaderr(Old_threshold) in order to select new head. The nodes which
have a residual energy higher than the threshold sent by the head will replay by
sending their energy available (Ack_newLeader(Residual_ Energie).
The sensor node which has the highest residual energy available will be selected as
new cluster head. In the worst case, where no sensor node replies on the selected new
header message, which means that all the sensor nodes have residual energy less than
the specified threshold (Old_threshold). In this case, the head defines new threshold
using the above formula and select new cluster head according to it.
However, if the residual energy of the current cluster head is less than or equal to
the threshold_min , it sends a Death_Leader(Old_threshold) message to advertise its
energy exhaustion, and the nodes will cooperate between them with the same manner
to choose a new cluster head the node which has the highest residual energy.
4.2.2 An Empty Cluster
Generally in wireless sensor networks the nodes are deployed randomly. Therefore,
the nodes density in the sensing field is variable. In our proposal, it is more possible,
after the construction of the virtual grid, to find some cluster empty (Fig. 4).
Moreover, after a certain time all the sensors nodes of the same cluster can be died.
During the data dissemination process, the next hope can be carried out on an
empty cluster, in this case the data dissemination can not be done.
To solve this problem, we suggest that the cluster head of the next hope must
delivery acknowledgement. Therefore, the source cluster head must await an
Ack_recept message from the next selected hope. If any Ack_recept message has
been received during the next T period, it will select another next head to which it will
disseminate the sensing event.
Empty
Cluster
601
The period T is the twice necessary time that a message traverses the distance
between two most distant nodes in two neighboring clusters (Fig. 5).
1
A
t1
C
t2
2
r
In the Figure5 above, the far distant nodes are the node1 in the cluster A and the
node 2 in the cluster D, t is estimated mathematically as below:
t=t1+ t2 = r8/v + r8/v
(5)
5 Performances Evaluation
This section is reserved to discuss the performance evaluation results of our proposal
protocol. The evaluation has been carried out by simulation using Glomosim
simulator [16]. To simulate the sensing data, the sensor nodes are randomly chosen to
detect and send new sensing event during the simulation time. The sensing processes
follows the model of POISSON where 60 seconds value fixed as an interval average
of this model. This interval has been varied between 1 second and 60 seconds in order
to simulate the network load and the energy consumption in case of many detected
event occurred. In this simulation, energy consumption, response time or latency from
the source node which detect the event to the sink node and traffic parameter have
been evaluated according to different metrics. Moreover, the proposal protocol has
been compared with Leach and Code using the same parameters in the same
simulator.
The table 1, below, shown the parameters of our environment. The default
dimension of the network is 1000x1000m2. And, in order to test the scalability, the
number of nodes can reach 250 on a site of 5000x5000m2.
5.1 Energy Consumption
This parameter represents the average of energy consumption by a node, It is
calculated using following formula:
602
Default value
Variation interval
Number of nodes
100
100 - 700
Initialenergy available(KW)
100
threshold_max(KW)
threshold_min (KW)
Bandwidth(Mbps)
60
15
Energy consumption(KWh)
Parameter
60
1 - 60
64
62
60
58
56
54
52
50
3
10
20
30
40
50
Threshold_max value(KW)
60
(6)
603
CODE
DDPM
LEACH
140
120
100
80
60
40
20
0
100 150 200 300 400 500 600 700
Density (Node/Km2)
Comparing these protocols, CODE is more effective than LEACH, because the last
one consumes more energy for the creation and the re-creation of the dynamic groups,
whereas CODE uses a static virtual grid. However, more our protocol appeared more
effective than CODE, because the initialization and transferred request phases used in
CODE have been eliminated.
The above figure (Fig. 8) shown the evolution of energy consumption according to
the detection event frequency.
604
CODE
DDPM
LEACH
100
90
80
70
60
50
40
30
20
10
0
0,13 0,25 0,38 0,5 0,63 0,75 0,88
For the three protocols, the energy consumption is not very affected by the number
of detected event, which means that the most energy consumption provided from the
protocol design.
5.2 Response Time
The response time is the needed average duration to disseminate the detected data
from the source to the sink node. The average time is calculated as below:
TpsAcc = Resp_time /I, I [1, N]
(7)
(8)
CODE
DDPM
605
LEACH
0,035
0,03
0,025
0,02
0,015
0,01
0,005
0
100 150 200 300 400 500 600 700
Density(Node/Km 2)
In the below Figure10, we evaluate the behavior of the response time according to
the detected event frequency. When the detection frequency increases the network
overhead decreases also, therefore the response time or the latency will be increased.
Consequently, the real time application will be influenced.
CODE
DDPM
LEACH
Response time(s)
0,03
0,025
0,02
0,015
0,01
0,005
0
0,13 0,25 0,38 0,5 0,63 0,75 0,88
During this experience we notice that the protocol Leach gives the highest response
time which increases in parallel with the detected event frequency. In the other hand,
the response time in Code is not more influenced and remains stable until the value
0,75 request/second where the response time starts to increase. Moreover, the best
response time is that given by our protocol, where it remains low and not influenced.
606
6 Conclusion
In this paper we saw that the particular nature of the sensor networks, such as the
limited lifetime of the sensors in consequence of their limited size, the multiplicity of
the components and their performances require a specific mode of communication
and represents considerable constraints.
According to the studied related works we noticed that each protocol has
advantages and disadvantages, this study allowed us to understand the mechanism of
data dissemination wireless sensor networks, which helped us to propose a new
solution that considers the requirements of the sensor networks. In this solution, we
took into account mainly the advantages and the disadvantages of the two protocols
CODES and LEACH.
The proposal protocol is based on a virtual grid structure, where each cell in the
grid contains a head responsible on the dissemination and the aggregation of the
sensed data. This head is selected periodically according to the dynamic power
threshold. In this paper we considered only the detected events and the sensed data are
disseminated from the source sensor node to the sink. The users requests are not
considered in this work and will be the object of our future paper.
References
[1] Xuan, H.L., Lee, S.: A Coordination-Based Data Dissemination Protocol for Wireless
Sensor Networks. In: Proceedings of the Sensor Networks and Information Processing
Conference, pp. 1318 (December 2004)
[2] Heinzelman, W., Chandrakasan, A., Balakrishnan, H.: Energy-effcient Communication
Protocol for Wireless Microsensor Networks. In: Proceedings of the 33rd Hawaii
International Conference on System Sciences (HICSS 2000) (January 2000)
[3] Heinzelman, W.R., Kulik, J., Balakrishnan, H.: Adaptive protocols for information
dissemination in wireless sensor networks. In: Proceedings of the ACM MobiCom 1999,
Seattle, Washington, pp. 174185 (1999)
[4] Manjeshwar, D.P., Agrawal, A.: TEEN: a routing protocol for enhanced efficiency in
wireless sensor networks. In: International Proceedings of 15th Parallel and Distributed
Processing Symposium, pp. 20092015 (2001)
[5] Lee, M.-G., Lee, S.: Data Dissemination for Wireless Sensor Networks. In: Proceedings
of the 10th IEEE International Symposium on Object and Component-Oriented RealTime Distributed Computing, pp. 172180. IEEE, Los Alamitos (2007)
[6] Akkaya, K., Younis, M.: An Energy-Aware QoS Routing Protocol for Wireless Sensor
Networks. In: The Proceedings of the IEEE Workshop on Mobile and Wireless Networks
(MWN 2003), Providence, Rhode Island (May 2003)
[7] Xu, Y., Heidemann, J., Estrin, D.: Geographyinformed Energy Conservation for Ad Hoc
Routing, Rome, Italy (2001)
[8] Akyildiz, I., Su, W., Sankarasubramanian, Y., Cayirci, E.: A Survey on Sensor Networks.
IEEE Communications Magazine 40(8), 102114 (2002)
[9] Bulusu, N., Heidemann, J., Estrin, D.: Gps-less low cost outdoor localization for very
small devices. IEEE Personal Communications Magazine 7(5), 2834 (2000)
607
[10] Estrin, D., Govindan, R., Heidemann, J., Kumar, S.: Next Century Challenges: Scalable
Coordination in Sensor Networks. In: Proceedings of the Fifth Annual International
Conference on Mobile Computing and Networks (MobiCOM 1999), Seattle, Washington
(August 1999)
[11] Felemban, E., Lee, C.-G., Ekici, E.: MMSPEED: Multipath Multi-SPEED Protocol for
QoS Guarantee of Reliability and Timeliness in Wireless Sensor Networks. IEEE
Transactions on Mobile Computing 5(6), 738754 (2006)
[12] Kim, S., Son, S.H., Stankovic, J.A., Choi, Y.: Data Dissemination over Wireless Sensor
Networks. IEEE Communications Letters 8(9), 561563 (2004)
[13] Lindsey, S., Raghavendra, C.S.: Pegasis: Power-efficient gathering in sensor information
systems . Proc. Of the IEEE, 924935 (2002)
[14] Ye, F., Luo, H., Lu, S., Zhang, L.: A TwoTier Data Dissemination Model for Large scale
Wireless Sensor Networks. UCLA Computer Science Department, Los Angeles (2002)
[15] Intanagonwiwat, C., Govindan, R., Estrin, D., Heidemann, J., Silva, F.: Directed
diffusion for wireless sensor networking. IEEE/ACM Transactions on Networking 11(1),
216 (2003)
[16] Bagrodia, R., Zeng, X., Gerla, M.: GloMoSim - A Library for Parallel Simulation of
Large-scale Wireless Networks. Computer Science Departement. University of
California, Los Angles (1999)
1 Introduction
A wireless sensor network consists of large number of low cost sensor nodes and one
or more sink node which are deployed randomly to perform sensing tasks in a given
environment. A typical sensor node has limited battery power, low computing
capability and limited memory. These sensor nodes can be deployed in a different
type of environments to perform information related tasks such as gathering,
processing and dissemination of information.
Any ID assignment algorithm should produce the shortest possible addresses
because wireless sensor networks are energy-constrained. For wireless sensor
networks, researchers have proposed attributes, instead of unique IDs, as network
addresses, and steering routing directly based on these attributes [8]. Typical queries
are not the water level at node #5546, but rather the water level in the north-west
quadrant. The final destination is, therefore, identified by attributes such as any
node in the north-west quadrant or the nearest gateway. This method has several
benefits, one of which is that more common attributes can be encoded in only a few
bits, resulting in energy savings and an increase in the nodes lifetime.
2 Related Work
Q. Zheng et al. [1] proposed a distributed scheme of energy efficient clustering with
self-organized ID assignment (EECSIA). This scheme can prolong network lifetime
in comparison with low-energy adaptive clustering hierarchy (LEACH).
A. Abraham et al. (Eds.): ACC 2011, Part IV, CCIS 193, pp. 608615, 2011.
Springer-Verlag Berlin Heidelberg 2011
609
H. Zhou et al. [2] proposed an efficient reactive ID assignment scheme for wireless
sensor networks. In this scheme the node address is required only when the data
communication is started. Therefore we can preserve more energy if the ID conflicts
are resolved during data communication. C. Schurgers et al. [3] proposed a distributed
algorithm which significantly reduces the size of MAC address. This scheme can
handle unidirectional links and is scalable in terms of assignment algorithm and
address representation. C. Schurgers et al. [4] proposed a dynamic MAC addressing
scheme to reduce the MAC address overhead in wireless sensor network. This scheme
scales well with the network size, making it suitable for wireless sensor networks with
thousands of nodes. E. O. Ahmed et al. [5] proposed a distributed algorithm that
assigns globally unique IDs to sensor nodes. In this scheme, the sensor nodes can join
the network during the execution of the algorithm or even after its termination.
J. H. Kang et al. [6] proposed a structure-based algorithm that assigns globally unique
IDs to sensor nodes. This scheme reduces the communication overhead during ID
assignment of sensor nodes and hence preserves energy and increases network
lifetime.
We categorized the ID assignment schemes as reactive ID assignment scheme,
proactive ID assignment scheme and hybrid ID assignment scheme. This paper will
evaluate the performance of reactive ID assignment scheme using directed diffusion
[2] and proactive ID assignment scheme using distributed unique global ID
assignment scheme [5].
3 Performance Evaluation
Efficient node addressing schemes are important for the optimum initialization of
wireless sensor network. Initialization can be viewed as the mechanism for individual
sensor nodes to become the part of a wireless sensor network. The aim of this paper is
to compare the performance of ID assignment schemes in wireless sensor networks.
To ensure a sufficient network lifetime, all ID assignment algorithms must be
designed with focus on energy efficiency. Therefore it is important to minimize the
communication overhead during ID assignments of nodes in wireless sensor networks
in order to save energy.
Following metrics are used to measure the performance of the ID assignment
schemes for wireless sensor networks.
Energy consumption: Energy consumed by a node which consists of the energy
consumed by sensing, transmitting, receiving, listening for packets, internal
processing, discarding a packet and even in its sleep state.
Communication overhead: It measures the number of control packets sent and
received by sensor nodes during their ID initialization.
Packet size: The size of the packet is an important factor to enhance the network
operation lifetime in wireless sensor network.
610
4 Simulation Results
The simulations are carried out using NS-2 network simulator (Version 2.33)[13] to
compare the performance of reactive ID assignment and proactive ID assignment
schemes. This simulation process considered a wireless network of 10 nodes which
are placed within a 670m x 670m area. The first node is the sink node and the last
node is the source node. The size for the address is 4 bits.
4.1 Energy Consumption
In order to evaluate the energy consumption, we set the parameter values as shown
in Table 1.
Table 1. Important simulation parameters
Parameter
Value
Initial energy
1 Joule
Transmit power
0.06 Joule
Receive power
0.03 Joule
Packet size
512 bytes
50
Simulation time
500 seconds
Simulation area
670m x 670m
Number of nodes
10
611
Figure 1 shows the result of total energy consumption by all the nodes with respect
to execution time. In proactive approach each forwarding ID is kept in a table to
maintain routing information. Maintaining routes at all times may cause high energy
utilization. However in reactive ID assignment scheme, node ID is not required if
there is no data communication. This approach will keep traffic low and hence
preserves energy.
Figure 2 shows the comparison of the total energy consumption by each individual
node after their ID initialization. Simulation results show that reactive ID assignment
scheme saves an average of 12% energy per node as compare to proactive ID
assignment scheme.
Fig. 3. The number of control packets sent and received at each node
612
613
Fig. 6. Control packets in reactive ID assignment scheme for varying packet size
Fig. 7. Control packets in proactive ID assignment scheme for varying packet size
614
5 Conclusions
In this paper we presented the performance evaluation of reactive and proactive ID
assignment schemes for wireless sensor networks. The simulation results reveals that
since reactive ID assignment approach saves much more energy in ID assignment of
nodes as compared to proactive approach, this scheme eventually targets increasing
the network operation lifetime. Moreover reactive ID assignment scheme cause much
lower communication overhead than the proactive scheme because it generates very
less numbers of control packets as compared to proactive ID assignment scheme. In
summary, longer network lifetime can be achieved with the reactive ID assignment
scheme.
There are however still many challenges in ID assignment schemes. To make
wireless sensor networks more practical, we need to develop effective ID assignment
algorithms that meet several unique requirements such as optimal packet size, reduced
startup cost in terms of execution time and energy and asynchronous wake-up of
nodes. Moreover further research would be needed in ID assignment algorithms to
address the overhead of mobility in energy constrained wireless sensor networks.
References
1. Zheng, Q., Liu, Z., Xue, L., Tan, Y., Chen, D., Guan, X.: An energy efficient clustering
scheme with self-organized ID assignment for wireless sensor networks. In: Proceedings
of IEEE International Conference on Parallel and Distributed Systems, Shanghai, China,
December 8-10, pp. 635639 (2010)
2. Zhou, H., Mutka, M.W., Ni, L.M.: Reactive id assignment for wireless sensor networks.
International Journal of Wireless Information Networks 13, 317328 (2006)
3. Schurgers, C., Kulkarni, G., Srivastava, M.B.: Distributed on-demand address assignment
in wireless sensor networks. Proceedings of IEEE Transactions on Parallel and Distributed
Systems 13, 10561064 (2002)
4. Schurgers, C., Kulkarni, G., Srivastava, M.B.: Distributed assignment of encoded MAC
address assignment in wireless sensor networks. In: Proceedings of the 2nd ACM
International Symposium on Mobile Ad hoc Networking & Computing, USA, pp. 295
298 (October 2001)
5. Ahmed, E.O., Blough, D.M., Heck, B.S., Riley, G.F.: Distributed unique global id
assignment for sensor networks. In: Proceedings of IEEE International Conference on
Mobile Ad-hoc and Sensor Systems, vol. 7, pp. 123 (November 2005)
615
6. Kang, J.H., Park, M.: Structure-based id assignment for sensor networks. International
Journal of Computer Science and Network Security 6, 158163 (2006)
7. Zhou, H., Mutka, M.W., Ni, L.M.: Reactive id assignment for sensor networks. In:
Proceedings of IEEE International Conference on Mobile Ad-Hoc and Sensor Systems,
pp. 567572 (November 2005)
8. Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed diffusion: a scalable and robust
communication paradigm for sensor networks. In: Proceedings of the Sixth Annual
International Conference on Mobile Computing and Networking, pp. 5667 ( August
2000)
9. Ali, M., Uzmi, Z.A.: An energy efficient node address naming scheme for wireless sensor
networks. In: International Networking and Communication Conference, vol. 11,
pp. 2530 (June 2004)
10. Jiang, P., Wen, Y., Wang, J., Shen, X., Xue, A.: A study of routing protocols in wireless
sensor networks. In: Proceedings of the Sixth World Conference on Intelligent Control
and Automation, vol. 1, pp. 266270 (June 2006)
11. Qui, W., Cheng, Q., Skafidas, E.: A hybrid routing protocol for wireless sensor networks.
In: International Symposium on Communications and Information Technologies, pp.
13831388 (October 2007)
12. Dai, S., Jing, X., Li, L.: Research and analysis on routing protocols for wireless sensor
networks. In: Proceedings of IEEE International Conference on Communications Circuits
and Systems, vol. 1, pp. 407411 (May 2005)
13. http://www.isi.edu/nsnam/ns
Author Index
618
Author Index
Borkar, Meenal A.
Boutekkouk, Fateh
IV-25
II-40
Author Index
Grifoni, Patrizia IV-79
Grover, Jyoti III-644
Gualotu
na, Tatiana IV-481
Guerroumi, M. IV-593
Gunaraj, G. I-192
Gunjan, Reena III-478
Gupta, Ankur I-501
Gupta, B.B. IV-244
Gupta, Deepika II-183
Gupta, J.P. I-260
Gupta, Juhi IV-205
Gupta, Priya IV-512
Habib, Sami J. II-349
Hazul Islam, SK II-628
Harivinod, N. III-396
Harmya, P. II-490, II-498, III-269
Harshith, C. II-506
Hassan, Foyzul II-154, III-349
Hati, Sumanta III-580
Hazarika, Shyamanta M. II-109, II-119
Hazra, Sayantan III-601
Hemamalini, M. IV-175
Hivarkar, Umesh N. IV-358
Hsieh, Chaur-Heh III-334
Huang, Chin-Pan III-334
Huang, Ping S. III-334
Ibrahim, S.P. Syed I-631
Indira, K. I-639
Isaac, Elizabeth IV-145
Jaganathan, P. I-683
Jagdale, B.N. II-397
Jain, Jitendra III-326
Jain, Kavindra R. III-239
Jain, Kavita I-328
Jalal, Anand Singh II-516, IV-329
Jameson, Justy II-693
Janani, S. IV-175
Jaya, IV-233
Jayakumar, S.K.V. II-234
Jayaprakash, R. II-656
Jena, Sanjay Kumar II-1
Jia, Lulu IV-421
Jimenez, Gustavo II-386
Jisha, G. IV-1, IV-137
Joseph, Shijo M. III-406
Juluru, Tarun Kumar I-34, III-590
619
620
Author Index
II-545
III-365
Mahalakshmi, T. I-310
Mahalingam, P.R. III-562, IV-137
Maheshwari, Saurabh III-478
Maiti, Santa II-172
Maity, G.K. III-249
Maity, Santi P. I-519, III-249, III-580
Maity, Seba I-519
Majhi, Banshidhar III-178
Majhi, Bansidhar IV-549
Maji, Sumit Kumar I-649
Malay, Nath III-365
Malaya, Dutta Borah II-210
Malik, Jyoti III-157
Mallya, Anita I-302
Manan, Jamalul-lail Ab IV-250
Mandava, Ajay K. I-351
Mannava, Vishnuvardhan I-250
Manomathi, M. III-415
Maralappanavar, Meena S. III-444
Marcillo, Diego IV-481
Marimuthu, Paulvanna N. II-349
Mary, S. Roselin IV-9
Masera, Guido II-374
Mastan, J. Mohamedmoideen Kader
IV-524
Mehrotra, Hunny III-178
Meinel, Christoph I-431
Mendiratta, Varun II-273
Menta, Sudhanshu III-205
Mishra, A. IV-244
Mishra, Ashok II-223
Mishra, Dheerendra IV-223
Mishra, Shivendu II-407
Misra, Rajiv I-101
Missaoui, Ibrahim IV-318
Mitra, Abhijit III-512, III-601
Mitra, Swarup Kumar III-82
Mittal, Puneet II-58
Modi, Chintan K. III-239
Mohammadi, M. III-289
Mohandas, Neethu IV-187
Mohandas, Radhesh II-685, III-10
Mohanty, Sujata IV-549
Mol, P.M. Ameera III-193
Moodgal, Darshan II-162
Morag
on, Antonio III-664
More, Seema I-361
Moussaoui, S. IV-593
Mubarak, T. Mohamed III-102
Mukhopadhyay, Sourav IV-223
Author Index
Mukkamala, R. I-446
Muniraj, N.J.R. I-270, III-168
Murthy, G. Rama IV-19
Nadarajan, R. II-366
Nadkarni, Tanusha S. II-685
Nag, Amitava II-612, II-620
Nagalakshmi, R. I-683
Nagaradjane, Prabagarane III-374
Nair, Achuthsankar S. I-284, I-294,
I-302, I-320
Nair, Bipin II-337
Nair, Madhu S. III-193, III-276
Nair, Smita IV-368
Nair, Vrinda V. I-302
Namboodiri, Saritha I-284
Namritha, R. III-634
Nandi, Sukumar I-619
Narayanan, Hari I-488
Nasiruddin, Mohammad II-154
Naskar, Mrinal Kanti III-82
Nataraj, R.V. I-631
Naveen, K. Venkat III-570, III-615
Naveena, C. III-297
Nazir, Arfan II-525
Neelamegam, P. III-111
Neogy, Sarmistha I-129, II-417
Nigam, Apurv II-430
Nimi, P.U. IV-46
Niranjan, S.K. III-297
Nirmala, M. I-223
Nirmala, S.R. III-365
Nitin, I-21, II-568, IV-25
Noopa, Jagadeesh II-490, II-498, III-269
Nurul Huda, Mohammad II-154, III-349
Oh, Deock-Gil II-595
Okab, Mustapha II-40
Oliya, Mohammad I-232
Olsen, Rasmus L. IV-37
Padmanabhan, Jayashree I-1, IV-541
Padmavathi, B. IV-70
Pai, P.S. Sreejith IV-339
Pai, Radhika M. II-460
Paily, Roy IV-165
Pais, Alwyn R. II-685, IV-386
Pais, Alwyn Roshan III-10
Pal, Arindarjit I-83
Palaniappan, Ramaswamy IV-378
621
II-442
622
Author Index
Author Index
Selvathi, D. IV-300
Sen, Jaydip IV-580
Sendil, M. Sadish I-480
Senthilkumar, Radha II-19
Senthilkumar, T.D. III-185
Shah, Mohib A. IV-491, IV-501
Shahram, Lati I-351
Shajan, P.X. III-168
Sharma, Amita I-592
Sharma, Dhirendra Kumar I-11
Sharma, Divya I-511
Sharma, H. Meena I-162
Sharma, Neeraj Kumar II-284
Sharma, Ritu I-511
Sharma, Sattvik II-506
Sharma, Sugam II-191
Sharma, Surbhi III-205
Sharma, T.P. I-421
Shekar, B.H. III-396
Shenoy, P. Deepa I-141, III-522
Shenoy, S.K. III-93
Sherly, K.K. II-693
Shringar Raw, Ram III-654
Shukla, Shailendra I-101
Shyam, D. II-99
Sikdar, Biplab Kumar III-68
Singal, Kunal III-488
Singh, Anurag III-609
Singh, Ashwani II-374
Singh, Jai Prakash IV-89
Singh, Jyoti Prakash I-83, II-612, II-620
Singh, Manpreet I-91, I-572
Singh, Puneet III-570
Singh, Rahul I-340
Singh, Sanjay II-460
Singh, Satwinder II-58
Singh, Vijander I-54
Singh, Vrijendra II-516, IV-329
Singh, Preety II-183
Sinha, Adwitiya III-132
Sivakumar, N. II-88
Skandha, S. Shiva IV-70
Smith, Patrick II-191
Sojan Lal, P. III-460
Song, Jie IV-421
Soni, Surender III-122
Sood, Manu I-511
Soumya, H.D. I-361
Sreenath, N. II-48
Sreenu, G. IV-126
623
Sreevathsan, R. II-506
Srikanth, M.V.V.N.S. II-506
Srinivasan, Avinash IV-260
Srinivasan, Madhan Kumar IV-269
Srivastava, Praveen Ranjan III-570
Srivastava, Shweta I-260
Starke, Christoph I-371
Suaib, Mohammad IV-56
Su
arez-Sarmiento, Alvaro IV-481
Subramaniam, Tamil Selvan Raman
IV-541
Suchithra, K. IV-339
Sudarsan, Dhanya IV-137
Sudhansh, A.S.D.P. IV-165
Sujana, N. I-361
Sukumar, Abhinaya I-1
Sulaiman, Suziah IV-250
Sundararajan, Sudharsan I-488
Swaminathan, A. II-648
Swaminathan, Shriram III-374
Swamy, Y.S. Kumara IV-309
Tahir, Muhammad II-471
Takouna, Ibrahim I-431
Thakur, Garima I-691
Thampi, Sabu M. I-64, IV-126, IV-145,
IV-187
Thangavel, K. II-358
Thilagu, M. II-366
Thiyagarajan, P. IV-98
Thomas, Diya I-64
Thomas, K.L. I-544, I-552
Thomas, Likewin IV-396
Thomas, Lincy III-425
Thomas, Lisha III-221
Thukral, Anjali II-273
Tim, U.S. II-191
Tiwary, U.S. III-452, III-469
Tobgay, Sonam IV-37
Tolba, Zakaria II-40
Tripathi, Pramod Narayan II-407
Tripathi, Rajeev I-11
Tripathy, Animesh I-649
Tripti, C. IV-46
Tyagi, Neeraj I-11
Tyagi, Vipin II-568
Uma, V. II-656
Umber, Ashfa II-30
Unnikrishnan, C. III-562
624
Author Index
Usha, N. IV-309
Utomo, Bima Shakti Ramadhan
II-138
Vanaja, M. I-78
Varalakshmi, P. I-411, I-471
Varghese, Elizabeth B. III-383
Varshney, Abhishek II-442
Vasanthi, S. III-213
Vatsavayi, Valli Kumari II-296
Venkatachalapathy, V.S.K. II-234
Venkatesan, V. Prasanna IV-98
Venugopal, K.R. I-141, II-636, III-522
Verma, Amandeep IV-445
Verma, Chandra I-284
Verma, Gyanendra K. III-452, III-469
Verma, Rohit I-21
Vidya, M. I-361
Vidyadharan, Divya S. I-544
Vijay, K. I-78
Vijaykumar, Palaniappan I-411
VijayLakshmi, H.C. III-342
Vinod, P. I-562
Vipeesh, P. I-270
I-328
IV-368