Вы находитесь на странице: 1из 203

International Journal of Distributed Sensor Networks

Advanced Technologies and


Communication Solutions for
Internet of Things
Guest Editors: Young-Sik Jeong, Naveen Chilamkurti,
and Luis Javier García Villalba
Advanced Technologies and Communication
Solutions for Internet of Things
International Journal of Distributed Sensor Networks

Advanced Technologies and Communication


Solutions for Internet of Things

Guest Editors: Young-Sik Jeong, Naveen Chilamkurti,


and Luis Javier Garcı́a Villalba
Copyright © 2014 Hindawi Publishing Corporation. All rights reserved.

This is a special issue published in “International Journal of Distributed Sensor Networks.” All articles are open access articles distributed
under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, pro-
vided the original work is properly cited.
Editorial Board
Miguel Acevedo, USA Iñigo Cuiñas, Spain Mohamed Ibnkahla, Canada
Sanghyun Ahn, Korea Alfredo Cuzzocrea, Italy Lillykutty Jacob, India
Ana Alejos, Spain Dinesh Datla, USA Won-Suk Jang, Korea
Mohammod Ali, USA Amitava Datta, Australia Yingtao Jiang, USA
Jamal N. Al-Karaki, Jordan Danilo De Donno, Italy Haifeng Jiang, China
Habib M. Ammari, USA Luca De Nardis, Italy Hong-Bo Jiang, China
C. Anagnostopoulos, Greece Ilker Demirkol, Spain Shengming Jiang, China
Masoud Ardakani, Canada Der-Jiunn Deng, Taiwan Ning Jin, China
Muhammad Asim, UK Longjun Dong, China Raja Jurdak, Australia
Stefano Avallone, Italy Chyi-Ren Dow, Taiwan I. Kamel, United Arab Emirates
Javier Bajo, Spain G. P. Efthymoglou, Greece Li-Wei Kang, Taiwan
N. Balakrishnan, Canada Frank Ehlers, Italy Rajgopal Kannan, USA
Prabir Barooah, USA M. Erol-Kantarci, Canada Gour C. Karmakar, Australia
Paolo Bellavista, Italy Michael Farmer, USA Jamil Y. Khan, Australia
Roc Berenguer, Spain Gianluigi Ferrari, Italy Sherif Khattab, Egypt
Juan A. Besada, Spain Silvia Ferrari, USA S. Kim, Republic of Korea
Alessandro Bogliolo, Italy Giancarlo Fortino, Italy H. Kim, Republic of Korea
Richard R. Brooks, USA Luca Foschini, Italy Lisimachos Kondi, Greece
James Brusey, UK David Galindo, France Marwan Krunz, USA
Erik Buchmann, Germany Deyun Gao, China Gurhan Kucuk, Turkey
Carlos T. Calafate, Spain Weihua Gao, USA S. S. Kumar, The Netherlands
Tiziana Calamoneri, Italy Quanbo Ge, China Kun-Chan Lan, Taiwan
Juan C. Cano, Spain Athanasios Gkelias, UK Yee W. Law, Australia
Xianghui Cao, USA Iqbal Gondal, Australia Y.-K. Lee, Republic of Korea
Jian-Nong Cao, Hong Kong Nikos Grammalidis, Greece Yong Lee, USA
J. P. Carmo, Portugal J. Gubbi, Australia S. Lee, Republic of Korea
Jesús Carretero, Spain Cagri Gungor, Turkey Seokcheon Lee, USA
Luca Catarinucci, Italy Song Guo, Japan Joo-Ho Lee, Japan
Henry Chan, Hong Kong Andrei Gurtov, Finland Kyung-Chang Lee, Korea
Chih-Yung Chang, Taiwan Mohamed A. Haleem, USA JongHyup Lee, Korea
Yao-Jen Chang, Taiwan K. Han, Republic of Korea Zan Li, China
Periklis Chatzimisios, Greece Qi Han, USA Shuai Li, USA
Ai Chen, China Z. Hanzalek, Czech Republic Shijian Li, China
Hanhua Chen, China Wenbo He, Canada Shancang Li, UK
Peng Cheng, China Tian He, USA Zhen Li, China
Jinsung Cho, Korea Junyoung Heo, Korea Ye Li, China
Thomas Wook Choi, Korea Feng Hong, Japan Jing Liang, China
Hyunseung Choo, Korea Zujun Hou, Singapore Weifa Liang, Australia
Kim-Kwang R. Choo, Australia Jiangping Hu, China Yao Liang, USA
Chengfu Chou, Taiwan Haiping Huang, China Qilian Liang, USA
Chi-Yin Chow, Hong Kong Jiun-Long Huang, Taiwan I-En Liao, Taiwan
W.-Y. Chung, Republic of Korea Yung-Fa Huang, Taiwan Wen-Hwa Liao, Taiwan
Tae-Sun Chung, Korea Xinming Huang, USA Jiun-Jian Liaw, Taiwan
Mauro Conti, Italy Chin-Tser Huang, USA Alvin S. Lim, USA
Xunxue Cui, China Wei Huangfu, China Kai Lin, China
Yaping Lin, China Seung-Jong J. Park, USA Anthony Tzes, Greece
Zhigang Liu, China Soo-Hyun Park, Korea F. Vasques, Portugal
Wenyu Liu, China Miguel A. Patricio, Spain A. B. Waluyo, Australia
Ming Liu, China Wen-Chih Peng, Taiwan Jianxin Wang, China
Donggang Liu, USA Janez Per, Slovenia Ju Wang, USA
Yonghe Liu, USA Dirk Pesch, Ireland Honggang Wang, USA
Zhong Liu, China Shashi Phoha, USA Yu Wang, USA
Hai Liu, Hong Kong Robert Plana, France Zhi Wang, China
Chuan-Ming Liu, Taiwan C. Pomalaza-Ráez, Finland T. Wettergren, USA
Leonardo Lizzi, France Antonio Puliafito, Italy Ran Wolff, Israel
Kenneth J. Loh, USA Hairong Qi, USA Yuanming Wu, China
Jonathan Loo, UK Shaojie Qiao, China Chase Qishi Wu, USA
J. López Riquelme, Spain Meikang Qiu, USA Wen-Jong Wu, Taiwan
Pascal Lorenz, France Nageswara S.V. Rao, USA Jianshe Wu, China
Chun-Shien Lu, Taiwan Md. Abdur Razzaque, Bangladesh Na Xia, China
King-Shan Lui, Hong Kong Luca Reggiani, Italy Feng Xia, China
Jun Luo, Singapore Pedro P. Rodrigues, Portugal Bin Xiao, Hong Kong
Juan Luo, China Joel J. Rodrigues, Portugal Qin Xin, Faroe Islands
Yingchi Mao, China M. Saad, United Arab Emirates Jianliang Xu, Hong Kong
Yuxin Mao, China Sanat Sarangi, India Yuan Xue, USA
Álvaro Marco, Spain Stefano Savazzi, Italy Chun J. Xue, Hong Kong
J. Martinez-de Dios, Spain Marco Scarpa, Italy Geng Yang, China
N. Meratnia, The Netherlands Arunabha Sen, USA Ting Yang, China
Shabbir N. Merchant, India Olivier Sentieys, France Hong-Hsu Yen, Taiwan
Lyudmila Mihaylova, UK Salvatore Serrano, Italy Li-Hsing Yen, Taiwan
Mihael Mohorcic, Slovenia Xiaojing Shen, China Seong-eun Yoo, Korea
José Molina, Spain Zhong Shen, China Ning Yu, China
Jose I. Moreno, Spain Xingfa Shen, China Changyuan Yu, Singapore
V. Muthukkumarasamy, Australia Chin-Shiuh Shieh, Taiwan T. Zahariadis, Greece
Kshirasagar Naik, Canada Minho Shin, Korea Hongke Zhang, China
Kameswara Rao Namuduri, USA Louis Shue, Singapore Tianle Zhang, China
G. Nikolakopoulos, Sweden Hichem Snoussi, France Jiliang Zhou, China
Alessandro Nordio, Italy Guangming Song, China Yi-hua Zhu, China
Michael O’Grady, Ireland Antonino Staiano, Italy Xiaojun Zhu, China
Gregory O’Hare, Ireland M. A. Tahir, Pakistan Yifeng Zhu, USA
Giacomo Oliveri, Italy Tan-Hsu Tan, Taiwan Yanmin Zhu, China
Saeed Olyaee, Iran Guozhen Tan, China T. L. Zhu, USA
Suat Ozdemir, Turkey Jindong Tan, USA Qingxin Zhu, China
S. Pack, Republic of Korea Shaojie Tang, USA Li Zhuo, China
M. Palaniswami, Australia Bulent Tavli, Turkey Shihong Zou, China
Meng-Shiuan Pan, Taiwan Sameer S. Tilak, USA
Ai-Chun Pang, Taiwan Chuan-Kang Ting, Taiwan
Contents
Advanced Technologies and Communication Solutions for Internet of Things, Young-Sik Jeong,
Naveen Chilamkurti, and Luis Javier Garcı́a Villalba
Volume 2014, Article ID 896760, 3 pages
A Carrier Class IoT Service Architecture Integrating IMS with SWE, Dongliang Xie, Chao Shang,
Jinchao Chen, Yongfang Lai, and Chuanxiao Pang
Volume 2014, Article ID 930472, 11 pages
SDN: Evolution and Opportunities in the Development IoT Applications,
Ángel Leonardo Valdivieso Caraguay, Alberto Benito Peral, Lorena Isabel Barona López, and Luis Javier
Garcı́a Villalba
Volume 2014, Article ID 735142, 10 pages
An Upper-Ontology-Based Approach for Automatic Construction of IOT Ontology, Yuan Xu,
Chunhong Zhang, and Yang Ji
Volume 2014, Article ID 594782, 17 pages
An Effective Routing Protocol with Guaranteed Route Preference for Mobile Ad Hoc Networks,
Feng-Tsun Chien, Kuo-Guan Wu, Yu-Wei Chan, Min-Kuan Chang, and Yi-Sheng Su
Volume 2014, Article ID 532049, 18 pages
Self-Organized Cognitive Sensor Networks: Distributed Channel Assignment for Pervasive Sensing,
Li-Chuan Tseng, Feng-Tsun Chien, Abdelwaheb Marzouki, Ronald Y. Chang, Wei-Ho Chung,
and ChingYao Huang
Volume 2014, Article ID 183090, 10 pages
Broadcast Aggregation to Improve Quality of Service in Wireless Sensor Networks, Evy Troubleyn,
Jeroen Hoebeke, Ingrid Moerman, and Piet Demeester
Volume 2014, Article ID 383678, 12 pages
A Zone-Based Media Independent Information Service for IEEE 802.21 Networks, Fábio Buiati,
Luis Javier Garcia Villalba, Delfı́n Rupérez Cañas, Ana Lucila Sandoval Orozco, and Tai-hoon Kim
Volume 2014, Article ID 737218, 6 pages
Implementation of Intelligent Electronic Acupuncture System Using Sensor Module, You-Sik Hong,
Baek-Ki Kim, and Bong-Hwa Hong
Volume 2014, Article ID 238502, 7 pages
Node Placement Analysis for Overlay Networks in IoT Applications, Yuxin Wan, Junwei Cao, Kang He,
Huaying Zhang, Peng Yu, Senjing Yao, and Keqin Li
Volume 2014, Article ID 427496, 12 pages
Constructing the Green Campus within the Internet of Things Architecture, Hsing-I Wang
Volume 2014, Article ID 804627, 8 pages
Ensuring Healthcare Services Provision: An Integrated Approach of Resident Contexts Extraction and
Analysis via Smart Objects, Nan-Chen Hsieh, Lun-Ping Hung, Jong Hyuk Park, and Neil Y. Yen
Volume 2014, Article ID 481952, 12 pages
Home Appliance Management System for Monitoring Digitized Devices Using Cloud Computing
Technology in Ubiquitous Sensor Network Environment, Yun Cui, Myoungjin Kim, Yi Gu, Jong-jin Jung,
and Hanku Lee
Volume 2014, Article ID 174097, 10 pages
GTrust: Group Extension for Trust Models in Distributed Systems, Robson de Oliveira Albuquerque,
Luis Javier Garcı́a Villalba, and Tai-Hoon Kim
Volume 2014, Article ID 872842, 9 pages
Webit&NEU: An Embedded Device for the Internet of Things, Jialiang Wang, Hai Zhao, Jiuqiang Xu,
and Yuanguo Bi
Volume 2014, Article ID 839540, 10 pages
iotSilo: The Agent Service Platform Supporting Dynamic Behavior Assembly for Resolving the
Heterogeneity of IoT, Euihyun Jung, Ilkwon Cho, and Sun Moo Kang
Volume 2014, Article ID 608972, 11 pages
Distributed Risk Aversion Parameter Estimation for First-Price Auction in Sensor Networks, Xin An,
Shuo Xu, Jiancheng Chen, and Yuan Zhang
Volume 2013, Article ID 795630, 9 pages
An Efficient Adaptive Anticollision Algorithm Based on 4-Ary Pruning Query Tree, Wei Zhang,
Yajun Guo, Xueming Tang, Guohua Cui, Longkai Wu, and Ying Mei
Volume 2013, Article ID 848746, 7 pages
Improving Performance through REST Open API Grouping for Wireless Sensor Network, Min Choi,
Young-Sik Jeong, and Jong Hyuk Park
Volume 2013, Article ID 958241, 13 pages
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 896760, 3 pages
http://dx.doi.org/10.1155/2014/896760

Editorial
Advanced Technologies and Communication
Solutions for Internet of Things

Young-Sik Jeong,1 Naveen Chilamkurti,2 and Luis Javier García Villalba3


1
Department of Multimedia Engineering, Dongguk University, Seoul 100-715, Republic of Korea
2
Department of Computer Science and Engineering, La Trobe University, Melbourne 3086, Australia
3
Department of Software Engineering and Artificial Intelligence (DISIA), School of Computer Science,
Universidad Complutense de Madrid (UCM), Ciudad Universitaria, 28040 Madrid, Spain

Correspondence should be addressed to Young-Sik Jeong; ysjeong1964@gmail.com and Luis Javier Garcı́a Villalba;
javiergv@fdi.ucm.es

Received 19 March 2014; Accepted 19 March 2014; Published 28 May 2014

Copyright © 2014 Young-Sik Jeong et al. This is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.

1. Introduction of network, computing, and storage capacity across multiple


objects, advanced security, privacy, authentication, trust and
Internet of Things (IoT) is one of the important issues to verification with the IoT applications, and numerical analysis
describe several technologies and research disciplines that and simulation technologies for IoT application with wireless
enable the IoT to reach out into the real world of physical sensor networks. The topics have been more aggressively
objects. IoT is also a novel paradigm that is rapidly gaining covered by journals in the advanced technologies and appli-
in the scenario of Wireless Sensor Networks (WSN) and cation of the related wireless sensor networks and wireless
Wireless Telecommunications. The basic idea of this concept telecommunications with the IoT [1–3]. This special issue
is the pervasive presence around our lifestyle of a variety discusses the following: advanced technologies for sensors
of things or objects [1–3]. Tremendous advances in pro- and actuators; interoperable service-oriented technologies;
cessing, wireless sensor networks, mobile communication, interoperable middleware; networking technologies for wired
and systems/middleware technologies are leading to new and wireless networking to interconnect things; application
paradigms and platforms for computing environment. There services to store, integrate, and process real-time informa-
might be many issues to realize and provide intelligent tion; infrastructure for IoT application and services and big
services and much effort and enormous attention have been data processing; quality of service for efficient resource man-
focused on the IoT. The research area poses challenges such agement; scalable management of network, computing, and
as the advanced technologies for sensors and actuators, storage capacity across multiple objects; advanced security,
identifications with objects in IoT, interoperable service- privacy, authentication, trust, and verification with the IoT
oriented technologies to share real-world data among het- applications; software defined networking and the oppor-
erogeneous devices, interoperable middleware, networking tunities in the development of IoT applications; numerical
technologies for wired and wireless networking to intercon- analysis and simulation technologies for IoT application with
nect things, application services that store, integrate, and wireless sensor networks.
process in real-time variable data streams from devices,
infrastructure for storage and computing capabilities for 2. Related Works
IoT application services and for processing big data, quality
of service assurance for efficient resource management to L.-C. Tseng et al. discussed the problem of distributed chan-
allocate, track, and resource utilization, scalable management nel assignment in self-organized cognitive sensor networks
2 International Journal of Distributed Sensor Networks

with unknown channel and unknown number of clusters in on network simulator EstiNet is provided. The experimental
the paper entitled “Self-organized cognitive sensor networks: results show network delay benefits from the proposed
distributed channel assignment for pervasive sensing.” The method.
proposed method outperforms the random selection scheme H.-I. Wang proposed the concept of the “Internet of
in terms of average capacity, while the performance loss Things” to construct a green campus environment which
compared to the exhaustive search is limited. In addition, its will realize the idea of energy saving in the paper entitled
fairness level is comparable to that of the random selection “Constructing the green campus within the Internet of Things
and surpasses the exhaustive search scheme. architecture.” The architecture of the construction of green
E. Troubleyn et al. proposed to use broadcast aggregation campus is established and three application systems have
as a solution to overcome these drawbacks. Their paper has been developed as well. The efforts of this work allow the
shown that broadcast aggregation reduces the average queue campus to manage the computer labs and the air conditioners
occupation with 2 (of the 15 available) places, which leads more efficiently. The sensor network will save more energy
to fewer packet drops and it has been entitled “Broadcast since data are reported periodically and the analysis will be
aggregation to improve quality of service in wireless sensor carried out in time to locate the problems.
networks.” This leads on its turn to a throughput and reliability A. L. Valdivieso discussed the advantages of the inno-
increase up to 23% compared with no aggregation and up vative concept of software defined networking (SDN) in
to 15% compared with unicast aggregation. Moreover, this the development of Internet of Things in the paper entitled
paper has shown that packets become less dependent on “SDN: evolution and opportunities in the development IoT
the individual timeouts per destination, which reduces the applications.” Software defined networking (SDN) appears as
drawbacks of partial aggregation. a viable alternative network architecture that allows program-
F. Buiati et al. presented a zone-based MIIS architecture, ming the network and opening the possibility of creating
in which the access networks are grouped into mobility zones, new services and more efficient applications to cover the
managed by different MIIS servers in the paper entitled actual requirements. SDN proposes the separation between
“A zone-based media independent information service for data and control planes and a centralized control of the
IEEE 802.21 networks.” The decentralized MIIS deployment network. Moreover, SDN establishes open interfaces between
provides higher resilience and scalability with regard to the the control and data plane. This paper describes this new
mobility information distribution. The results show that the technology and analyzes its opportunities in the development
proposed scheme outperforms the standard MIIS in terms of of IoT applications. It also presents the first applications and
discovery delay and signaling overhead. Future work includes projects based on this technology, such as home networking,
the study of security mechanisms and interoperator service security, virtualization, multimedia, and mobile networks,
agreement models. among others. Finally, the issues and challenges around the
Y.-S. Hong et al. implemented intelligent electronic topic are discussed.
acupuncture system using sensor modules in the paper N.-C. Hsieh et al. implemented a system to deliver appro-
entitled “Implementation of intelligent electronic acupuncture priate services according to individual needs based on its
system using sensor module.” This paper used the sensor preprocessing of classification and to further reduce the costs
modules to obtain a patient’s diagnosis signals. These sensor of manpower and loading of care staff through the analysis
modules consist of 5 parts. These sensor modules detect of assessment logs in the paper entitled “Ensuring healthcare
and analyze the abnormal signals from human body. The services provision: an integrated approach of resident contexts
authors analyzed the signals to make instructions for the extraction and analysis via smart objects.” With this systematic
treatment. And then, the researchers designed the sensing appraisal, this system can not only help care staff determine
pads for electronic acupuncture and also developed adaptive the needs of residents but also produce personalized health
wireless acupuncture system to adjust strength and time of plans (i.e., weekly schedule towards comprehensive assess-
acupuncture and several acupuncture points of patients by ment and personalized care services). Results of implemented
using fuzzy technology.
(and in use as well) system have demonstrated the feasibility
Y. Wan et al. proposed a local search algorithm, and a
that it can enhance the quality of care services to residents,
theoretical approximation ratio bound has been provided
working load of care staff, and efficiency of care-related
in the paper entitled “Node placement analysis for over-
lay networks in IoT applications.” The IoT-based overlay information management for medical institution.
node placement problem is formulized and analyzed. The Y. Cui et al. proposed a system that uses UPnP to collect
major contributions of the paper include providing the time metadata from home appliances and cloud computing tech-
complexity of multihop k-ONPP (overlay node placement nology to store and process the metadata collected from ubiq-
problem) and its theoretical limit boundary of approximation uitous sensor network environments in the paper entitled
ratio and proposing a local search algorithm. Furthermore, “Home appliance management system for monitoring digitized
the time complexity and approximation ratio boundary of the devices using cloud computing technology in ubiquitous sensor
local search algorithm are given. The proposed local search network environment.” This system utilizes a home gateway
algorithm is evaluated by both time and efficiency where and is designed and implemented using UPnP technology to
efficiency refers to the degree of approximation of algorithm search for and collect device features and service information.
results with optimal solutions. Another algorithm, TAG, is It also provides a function for transmitting the metadata from
used for comparison. Finally, a simulation experiment based the home appliances to a cloud-based data server that uses
International Journal of Distributed Sensor Networks 3

Hadoop-based technology to store and process the metadata M. Choi et al. designed Internet of Things architecture,
collected by a home appliance monitoring service. especially for wireless sensor networks in the paper entitled
R. de O. Albuquerque et al. proposed and described a trust “Improving performance through REST Open API Grouping for
model for distributed systems based on groups of peers in wireless sensor network.” The architecture consists of wireless
the paper entitled “GTrust: group extension for trust models sensor networks with a microcontroller at the very bottom
in distributed systems.” A group is defined as a collection of level. They are connected to smart devices at the next level.
entities with particular affinities and capabilities. All entities However, the computing capability of the smart devices is
may have a trust and a reputation value of each other in generally less powerful than that of the conventional devices.
the system. In many cases, it may be necessary to trust the Thus, it is necessary to offload the computation-intensive
whole system instead of one particular entity. In such cases, part by careful partitioning of application functions. This
group trust represents the trust of their particular members. research focused on designing the concept of MapReduce like
To achieve this, this paper presented a group trust calculation approach through the web service grouping of several web
model. This paper implemented the proposed model in a P2P services into one. Also, this paper proposed two methods:
simulation tool and presented main results for group trust REST API grouping and REST API caching. First, the web
calculation. service composition results in reducing energy consumption
According to J. Wang et al., a new embedded device, and communication latency by composing two or more
Webit&NEU, and its reduced embedded real-time operating REST web services into one. Second, the web service caching
system used for IoT are implemented by their China Liaoning technique provides fast access that is recently accessed or
Province Embedded Technique Key Laboratory in the paper frequently accessed.
entitled “Webit&NEU: an embedded device for the Internet of
Things.” Besides, related modules in terms of RFID technique, Young-Sik Jeong
wireless communication, and network protocol are also pro- Naveen Chilamkurti
vided in this paper. Compared with several current solutions Luis Javier Garcı́a Villalba
of connecting devices and Internet, it has the advantages of
good real-time performance, light weight, and low cost. References
E. Jung et al. suggested the agent service platform named
iotSilo in which agents can communicate and cooperate on [1] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: a
behalf of the heterogeneity devices in the paper entitled “iot- survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805, 2010.
Silo: the agent service platform supporting dynamic behavior [2] Gartner Inc., “Gartner’s Hype Cycle Special Report for 2011,”
assembly for resolving the heterogeneity of IoT.” With this 2012,http://www.gartner.com/technology/research/hype-cycles/.
delegation approach, the iotSilo can support diverse devices [3] H. S. Ning and Z. O. Wang, “Future internet of things archi-
without worrying about their differences. In designing an tecture: like mankind neural system or social organization
agent, several software design patterns are adopted to enable framework?” IEEE Communications Letters, vol. 15, no. 4, pp.
461–463, 2011.
the agent to assemble behaviors for hiding the heterogeneity
of devices. To investigate the effectiveness of the iotSilo, the
authors developed eleven different types of the IoT devices
to emulate real-world things with Arduino, deployed the
devices in both Korea and Japan, and then conducted three
experiments.
X. An et al. proposed a generalized nonparametric
structural estimation procedure for the first-price auctions
in the distributed sensor networks in the paper entitled
“Distributed risk aversion parameter estimation for first-price
auction in sensor networks.” To evaluate the performance of
the aggregated parameter estimators, extensive Monte Carlo
simulation experiments are conducted for ten different values
of risk aversion parameters including the risk neutrality case
in multiple classic scenes.
According to W. Zhang et al., to reduce these excessive
idle timeslots which the 4-ary tree anticollision algorithm
brings, an anticollision algorithm based on adaptive 4-ary
pruning query tree (A4PQT) is proposed in the paper entitled
“An efficient adaptive anticollision algorithm based on 4-
ary pruning query tree.” On the basis of the information of
collision bits, some idle timeslots can be eliminated through
pruning the 4-ary tree. Both theoretical analysis and simula-
tion results support that A4PQT algorithm can significantly
reduce recognition time and improve throughput of the RFID
system.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 930472, 11 pages
http://dx.doi.org/10.1155/2014/930472

Research Article
A Carrier Class IoT Service Architecture Integrating
IMS with SWE

Dongliang Xie, Chao Shang, Jinchao Chen, Yongfang Lai, and Chuanxiao Pang
State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications,
Beijing 100876, China

Correspondence should be addressed to Dongliang Xie; xiedl@bupt.edu.cn

Received 4 September 2013; Revised 22 January 2014; Accepted 22 January 2014; Published 22 May 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Dongliang Xie et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Integrating the sensing capabilities of wireless sensor network (WSN) into the traditional telecom network is an important stage
to realize future ubiquitous intelligence in the Internet of Things. Driven by the vision of service oriented architecture (SOA), this
paper proposed a carrier class Internet of Things (IoT) service architecture named as MUSE. MUSE integrates WSN with IMS OSE
framework to enable the WSN services to be operable and manageable. Also sensor web enablement (SWE) framework is adopted
to shield the heterogeneity of different WSNs. MUSE consists of two key entities—MUSE Enabler and MUSE Gateway. On the
one hand, the architecture promotes the node manageability and enriches the diversity of high level task planning flexibility. On
the other hand, the architecture extends the telecom context-aware service and realizes service operability and network scalability.
Moreover, the key components of the architecture and the detailed service procedure were introduced in the paper. Besides, an
intelligent building prototype with 20 nodes was illustrated and the feasibility and performance of MUSE were verified at last.

1. Introduction ubiquitous information society. The carriers emphasize much


on providing information service instead of simple network
With the ongoing development towards future internet of access. From the view of carriers, the operability of ubiquitous
things (IoT), we are standing at the beginning of the age information-oriented service of WSN/IoT should be incar-
of 50 to 100 billion intelligent devices to be connected nated as follows.
[1]. As the information acquisition engine and perception
extension of IoT, the core value of wireless sensor network Service Operability. Current sensing capability is application
(WSN) is to collect massive information in a multiangle specific, localized, and isolated rather than service-oriented.
and multiparameter way, which has been applied in many For carriers, they just treat sensing capability as a part of
fields, such as environment, transportation, industry, health information acquisition approach but not as basic service
care, and intelligent building [2]. With the huge number ability, for example, SMS, MMS, or voice. In order to catalyze
of things/objects and sensors/actuators connected to the novel context-aware applications in the future telecom field,
Internet, how to access these heterogeneous and globally it is essential for carriers to bring the variety of sensing
distributed sensor networks in a unified way and how to capabilities of WSN into the traditional service. Correspond-
operate and manage these different kinds of sensors and ingly, the carriers’ existing operation capabilities, such as
actuators efficiently are urgent to be solved. In this paper, authentication, authorization, accounting (AAA), quality of
from the view of telecom operators, we argue that integration service (QoS), and service level agreement (SLA) mechanism,
of WSN and IP multimedia subsystem (IMS) is a feasible and would enable ubiquitous perception services to be operable
cost-efficient way to address these challenges. and manageable. However, in the current carrier operation
Driven by the vision of service oriented architecture, platform, there is lack of unified information models and
information-oriented service, rather than connection-orient- service procedures designed for WSN/IoT context-aware
ed service, is gradually becoming the intrinsic feature of services.
2 International Journal of Distributed Sensor Networks

Network Scalability. In the traditional vertical design model, illustrated by a conceptual application. The prototype proves
WSN is highly customized and coupled with specific applica- that the architecture is appropriate for the future carrier class
tions. Once the WSN has been deployed, it is hard to make IoT service provision and the network load could be reduced
flexible expansion and it may even need to be redeployed effectively.
under some circumstances. Whereas future IoT needs to
enable public and uncertain users’ participatory information
acquisition, local knowledge share, and data mining, this 2. Related Work
will help to generate a consolidated view of the physical To understand and deploy the ubiquitous service of IoT is a
world. Connected by the carriers’ existing infrastructure, challenge and an unsolved problem. Many existing researches
decentralized and disrupted sensor networks could cooperate of standardization organizations, carriers, and academia are
via the heterogeneous access network. Decoupling the service introduced as follows.
and infrastructure is a feasible approach to break information
SWE, proposed by Open Geospatial Consortium (OGC),
silo and greatly improve the scalability of WSN.
is a relative comprehensive framework aiming at achieving a
Node Manageability. The future IoT service should reflect the collaborative, coherent, consistent, and consolidated sensor
semantic service into sensors/actuators operations. The carri- data collection, fusion, and distribution system. SWE makes
ers need to provide the unified and centralized management sensors discoverable and accessible and realizes the object of
for sensors/actuators registration, update, and cancellation. accessing heterogeneous WSN and sharing WSN resources.
Thus a variety of sensors, from simple thermometer, humid- Moreover, it provides task planning for sensors to acquire
ity, noise, and complex camera to triaxial accelerometer, observations of interest for flexible WSN services [4]. Yet for
could be discovered, accessed, and utilized on a global level. all, from carriers’ vision, SWE needs to be integrated into
a telecom framework to operate the perception information
Task Plan Flexibility. From the view of carriers’ service, WSN service.
could be considered as a black box and the sensing process is IMS, proposed by 3rd Generation Partnership Project
executed by the task parameters transferred to it. To enable (3GPP), is the de facto standard of the 3G/4G core networks,
flexible IoT service, task planning and adjustment mech- offering the mechanism of multimedia service provision and
anism are needed. Ubiquitous perception service should the flexible session management [5]. IMS is intended to
support the parameterized and metadata-based WSN task deliver next generation interactive and interoperable services,
assets. The function of WSN can be subjected to a feasible task cost effectively, over an architecture providing the flexibility
updating. of the Internet. It is done by having a horizontal control layer
The four features mentioned above comprise the pre- that isolates the access network from the service layer. Except
requisites of the future carrier class IoT service. In this for the original services in the service layer, Open Mobile
paper, we propose a service-oriented IoT architecture named Alliance (OMA) defines the open service environment (OSE)
as MUSE. Referring to unified nodes definition and data and the standardized mobile service enabler specifications
model of sensor web enablement (SWE) [3], MUSE promotes like Presence and XDMS, which support the creation of
the node manageability and enriches the diversity of high interoperable end-to-end mobile services. IMS functions
level task plan flexibility. Moreover, MUSE integrates WSN well with the basic multimedia services based on streaming
with IMS OSE framework, which extends the traditional media, but for the fragmented and redundant sensing data
telecom service and realizes service operability and network services like WSN, related standards and mechanisms are
scalability with IMS. Besides, there are two key components being challenged.
that are illustrated. The first one is a newly introduced service E-SENSE is an IoT research project proposed in European
enabler called MUSE Enabler, which decouples services and FP7 [6]. The goal of E-SENSE is to make ambient intelligence
the infrastructure in service ability layer. The second one is available in 3G/4G networks. To fulfill the requirements of
MUSE Gateway, which serves as a medium between the IMS different scenarios, this project proposes an architecture that
enabler and the WSN. integrates WSN into the IMS service platform and introduces
The significance of MUSE is that, on the one hand, it the design of its gateway and network protocol stack. E-
achieves effective transmission of WSN information with SENSE makes WSN manageable and controllable to some
the wide coverage of IMS and makes the service of WSN degree, whereas the WSN service is limited to providing the
operational and scalable with the third-party management of data observation service and without task planning. For the
IMS. On the other hand, it enables carriers to provide richer future ubiquitous perception service, we should introduce a
services for end users by utilizing the sensing capability and more complete service procedure.
context-aware information. European ISP Telefonica proposes an experimental plat-
The rest of the paper is organized as follows: in Section 2, form named as ubiquitous sensor networks (USN) [7, 8]. The
we introduce the related works of representative standard- project composes and expands the present service enablers
ization organizations, research institutions, and academia. such as Presence, XDM, and Billing in OMA-defined OSE
Section 3 proposes the MUSE architecture and analyses two environment. It also decouples services from WSN by intro-
key components and supporting technologies in detail. The ducing the SWE information model. USN makes it possible
four specific procedures of carrier’s operation are discussed for applications to be developed and deployed independently.
in Section 4. In Section 5, the feasibility of our framework is Whereas this project concentrating on the USN Enabler, for
International Journal of Distributed Sensor Networks 3

Telecom Application layer WSN enabler


operation
framework
SWE services
App App
AAA Storage Catalogue
Service ability layer
Service logic
IMS/third-party
enabler
SIP interface
BSS
WSN enabler
SIP
Maps IM PoC extension
Signaling trigger Service Gateway
OSS trigger
control layer IMS (HSS, CSCFs)
IMS interface
SensorML
Network
access layer O&M Service logic
Security GW GW GW GW Storage
Perception
extension layer SWE client

WSN interface

Figure 1: MUSE Architecture.

future IoT, description of service procedures, for example, acquisition, and task planning by referring to services in
gateway registration, services capabilities publishing, and the SWE framework and the catalogue service in OGC. The
network remote management, needs to be emphasized fur- MUSE Gateway manipulates adaptation of protocols between
ther. WSN and telecom networks and format conversion of data
Researchers from Concordia University propose an archi- including metadata and observation data. Finally, we describe
tecture for the integration of the sensing capabilities of several core technologies in this architecture.
WSN in IMS to provide perception information services to
end users [9, 10]. Based on the IMS Presence service, the 3.1. Overall Structure. Based on the typical layered IoT
system adopts the publish/subscribe mode to realize WSN framework, Mari Carmen Domingo tried to introduce IMS
data access. In the architecture, sensor data are stored in into the framework, which makes a beneficial tentative for
the message body of SIP message in the form of extended the future IoT ubiquitous services [12]. In this paper, MUSE
PIDF [11]. It contributes to realizing the publish/subscribe is also based on the typical layered framework shown in
mechanism by presence of service enabler which has little Figure 1, from bottom to top as follows: perception extension
influence on current architecture. We prefer to design a newly layer, network access layer, signaling control layer, service
enabler instead of modifying Presence enabler in that the ability layer, and application layer.
future IoT service needs a more flexible service provision The functions of the five layers are defined as follows.
mechanism to transmit massive and redundant data of WSN.
The above studies promote the current sensing capability (1) Perception extension layer. It realizes the effective
to service-oriented pattern to some extent, respectively. How- information acquisition and transmission of the phys-
ever, these studies have not yet proposed a systematic solution ical world.
that satisfied the four carriers’ features and requirements (2) Network access layer. It is responsible for interacting
mentioned in Section 1. This paper proposes a standardized with the IMS network, as well as both data collection
ubiquitous IoT service architecture in IMS-switched network and network management of WSN.
which accords with the standard service specifications of (3) Signaling control layer. It consists of IMS entities,
carriers. for example, HSS and CSCF. And it realizes the
functions of signaling route, access authentication,
3. Architecture Description session control, service trigger, and so forth.
(4) Service ability layer. It is responsible for integrating
MUSE satisfies the intrinsic requirements of the ubiquitous and managing the WSN resources functions such as
IoT service, and the key feature lies in supporting the service discovery and data acquisition.
decentralized and heterogeneous WSN accessing telecom
network in unified and flexible approaches. In this section, we (5) Application layer. It supplies perceptive applications
first propose the architecture of the IMS/WSN convergence to the end users by utilizing the I/O interface provided
system which follows the technical deployment specification by the service ability layer.
in IMS. Further, we design two core network components: For the mobile communication network operators, this
MUSE Enabler and MUSE Gateway. The MUSE Enabler layered architecture makes the WSN seamlessly embed-
realizes the functions of sensor networks tracking, data ded into the telecommunication networks operation and
4 International Journal of Distributed Sensor Networks

management frameworks, and the value is added to the Information SWE services
repository
information by using context awareness which comes from
detecting, storing, processing, and integrating situational and Observation
environmental information gathered by sensor nodes. data SOS SPS
In the MUSE architecture, we also introduce the infor-
mation model and the service procedure borrowing from User
SWE framework and make modifications to accord with profile SAS WNS
the service specifications of carriers. The main technological
improvements of this architecture are as follows.
(1) Data format standardization. We utilize the Sen-
sorML as the standard model and use XML Schema WSN info Catalogue
to describe sensors systems and processes. What is service
more, O&M is used for encoding observations and
measurements from a sensor [13, 14]. Service logic function
(2) Service trigger. In order to realize the service trigger
Publisher Register Notifier Subscriber
in IMS, we propose the rule of service point trigger
(SPT) for WSN services.
(3) Protocol extension. SIP messages are extended by SIP interface
modifying the header and the message body to
accommodate the control signaling. Figure 2: MUSE Enabler.
(4) Catalogue service. Catalogue service from OGC is
introduced to discover the WSN and services.
Shown in Figure 2, the reference structure of MUSE
Specifically, the two key components designed in the Enabler consists of two layers. The lower layer is SIP interface
architecture are as follows. (1) The MUSE Enabler is a central- and the upper layer includes three modules which are
ized service engine. All requests from the upper applications information repository, service logic, and SWE functions.
are handled by it and all the metadata and observation data
published by the WSN gateway are managed in it. (2) The (1) SIP interface module. SIP interface module provides
MUSE Gateway is proposed in the network access layer, standardized SIP interface through which other enti-
which connects different types of WSN with the mobile ties could interact with the enabler. It receives and
communication networks. To introduce the two components resolves SIP messages from other network entities and
into this architecture, several core technologies such as the forwards the message body according to the message
service triggering rules, the extension of SIP messages, and type.
the catalogue service are proposed.
(2) Service logic module. Service logic module takes
The advantage of this architecture is that it enables WSN
charge of service logic such as the data query of upper
as a unified, flexible, and manageable service in a standard
layer’s applications and the verification of sensor task
way.
feasibility. This module is also responsible for the
service logic of MUSE Gateway registration and data
3.2. Network Entity publishing. The workflow of the module is as follows:
resolve the SIP message of SIP interface module,
3.2.1. MUSE Enabler. MUSE Enabler is the most crucial generate a standardized description interfaced to
entity in the IMS-switched architecture we proposed. MUSE SWE function module, and invoke the SWE function
Enabler in the service ability layer is designed according to module to execute specific operations of the WSN.
the OMA OSE standard. It interacts with entities such as
Presence, PoC, and XDM through a standardized way. XDM (3) SWE functions module. Referring to the standard
enabler specifies user-specific service-related informationde- SWE service model, SWE functions module realizes
fined in well-structured XML documents. In this paper, we WSN services of data observation, task planning,
adopt the XCAP protocol as the communication protocol alerting, and notification [15]. It executes specific
between the WSN enabler and the XDM server. The goal of sensor query or operating parameter configuration
MUSE Enabler is to introduce the IoT service into the telecom according to the parameters that transmitted from the
operation platform, integrate WSN resources, and provide service logic module. In this module, the catalogue
ubiquitous perception services to end users. MUSE Enabler function executes registration and service discovery
involves three functions that are (1) registration and tracking of WSN according to the OGC catalogue service
of WSN that realize the management of WSN resources, (2) standard.
decomposition of the access request, data acquirement from (4) Information repository module. Information reposi-
related WSN, and fusion data pushing, and (3) WSN task tory module takes charge of storing WSN metadata,
planning that provides functions of WSN management and observation data, user profile, and subscription rules.
sensor observation according to the service request. Through the data access interface, SWE function
International Journal of Distributed Sensor Networks 5

module is capable of retrieving and updating data in SIP interface


the module.
Service logic function
MUSE Enabler is designed according to IMS speci- Register Publisher Subscribe Notifier
fications, which achieves the seamless migration among
different carriers. MUSE Enabler integrates sensor networks
that with distributed, heterogeneous characteristics into a Information repository SWE client
unified enabler and all the manipulations of the upper layer
Info. model Observation SAS WNS
are gathered and processed by MUSE Enabler. That shields client client
data
the differences of the underlying networks. Meanwhile, the
enabler supplies an encapsulation interface for the upper
layer, which provides convenience for third-party application Subscribe
rules SOS SPS
developers and hides the internal network of carriers. More- client client
over, it manages user profile and billing information within
the hierarchical architecture in IMS, avoids the function
duplication in the traditional vertical network structure, WSN interface
provides perfect QoS and security mechanism, and realizes Info. WSN
acquisition management
the operability of ubiquitous perception services.

3.2.2. MUSE Gateway. As a bridge that associates WSN with Figure 3: MUSE Gateway.
IMS, MUSE Gateway plays an important role in the IoT
service architecture [16]. The goal of Gateway is to enable
WSN to access the telecom network and respond to the
service request of MUSE Enabler. Gateway contains three the SIP message in the service procedure mainly
functions: (1) communication protocol adaptation. As a mul- serves for the SWE client module.
timode device, gateway could communicate with WSN that
adopts short-range wireless communication protocols such (3) SWE client module. This module realizes sensor
as ZigBee and 6LoWPAN [17] and access the IP-based IMS observation and sensor task planning and notifica-
system via xDSL, GPRS, and so forth. (2) Format conversion tion services according to the standard SWE service
of metadata and observation data: gateway adopts SensorML model. It interacts with the information repository
as the unified description for sensors and O&M as the sensor module and generates perceptual information to send
data information model, which shields the heterogeneity of to MUSE Enabler. It also calls the WSN interface and
underlying networks. (3) Support of SWE: gateway initiates realizes the WSN task planning function of service
the progress of WSN registration and responds to the upper platform.
layer request, making the service progress accord with the
standard service procedure that SWE defines. Modules cooperating with each other in Gateway stan-
As shown in Figure 3, MUSE Gateway could be divided dardize the metadata and observation data of WSN and
into three layers. As the interface to WSN, the lower layer send them to MUSE Enabler through the SIP message,
takes charge of the WSN management and WSN data collec- which eliminates the heterogeneity of WSN. Moreover, it
tion. The upper layer that interacts with IMS is responsible strengthens the WSN management of the service platform by
for receiving and sending SIP messages. The middle layer, introducing the WSN registration and task planning.
including the information repository module, the service
logic module, and the SWE client module, is responsible for 3.3. Supporting Method. Several key challenges exist in the
storing and processing sensory data. MUSE architecture as follows: (1) how the IMS service is
deployed, (2) how to use a standardized communication pro-
(1) Information repository module. This module con- tocol and data description protocol to complete the service
tains three repositories. The sensor data repository process, and (3) how to implement the WSN registration
stores observation data that WSN collects. The infor- and discovery. In this section, we design a set of supporting
mation model repository contains the sensor descrip- technologies to solve the challenges.
tion model named SensorML and the observation
data model named O&M. The subscription rules
3.3.1. Service Trigger. Service trigger is the basis of deploying
repository contains the data publishing trigger that
WSN services in IMS. The IMS service trigger can be summed
MUSE Enabler defines.
up as service requests forwarding among the network element
(2) Service logic module. This module carries out the entities according to service rules [18]. In order that the
service logic of WSN registration and observation WSN service process can be carried out smoothly, the initial
data publishing. It also responds to the request of data filtering rule is defined to correctly route the SIP message in
querying and sensor task planning that the MUSE the service process of WSN network registration and sensing
Enabler sends. This module generating and resolving information publishing.
6 International Journal of Distributed Sensor Networks

When a subscriber signs a service contract with the


internet service provider (ISP), the ISP establishes the IMS <InitialFilterCriteria>
user configuration information and stores it in HSS. Then S- <TriggerPoint>
CSCF will generate a third-party REGISTER request to the <SPT>
MUSE Enabler. Thus MUSE Enabler knows the existence of <Method>REGISTER</Method>
<SIPHeader>
the gateway and the WSN attached to it.
<header>WSN INFO</header>
SPT for the WSN gateway registration in this architecture <content>∗</content>
is shown in Algorithm 1. This SPT means that SIP message, </SIPHeader>
whose method is REGISTER and header is WSN INFO, will </SPT>
be forwarded to wsn enabler@open-ims.com server. </TriggerPoint>
By utilizing the service trigger mechanism, SIP messages <ApplicationServer>
in the service process can be forwarded to the MUSE Enabler <ServerName>sip:wsn enabler@open-ims.com
</ServerName>
correctly.
</ApplicationServer>
</InitialFilterCriteria>
3.3.2. SIP Extension. SIP message is the control protocol of
the IMS network service, which is used to create, modify, and
Algorithm 1: SPT for gateway registration.
release sessions of one or more participants. In order to realize
the basic function of network registration, data publishing,
and data query, at the same time, is compatible with the
existing IMS signaling system, the original SIP message is 3.3.3. Catalogue Service. Catalogue service is a featured
extended in this scheme. service prototype in MUSE. The integration of WSN and
The REGISTER message is responsible for registration IMS system is optimized by the SWE standardized model.
and status update of gateway in this scheme. The REGISTER Furthermore, the scalable catalogue service is designed to
message carries SensorML describing WSN network through promote the interoperability of the sensing systems and make
extending its message body [13], so as to satisfy the require- effective integration of spatial information resources. The
ments of WSN gateway registration. Specifically, SensorML integration of catalogue service and the basic SWE service
is an Extensible Markup Language based on XML encoding can be used to store and manage information such as service
in the SWE framework, which provides the standard sensor
metadata, sensor metadata, and sensing observation data.
model and observation process.
What is more, the catalogue service is used as the entrance
The PUBLISH message in the IMS domain is mainly service for external calls. The records of catalogue service are
responsible for event status update. Because the sensor mainly composed of service capability document, SensorML
message publishing in WSN is similar to the original event
describing perception description, task template, and a part
status update in IMS, the WSN gateway utilizes the PUBLISH
of the O&M describing observation data.
message to publish data. Gateway needs to construct the doc-
ument of SensorML and O&M in the body of the PUBLISH For the data request and response operations, the orig-
message to complete the publishing of the WSN metadata inal perception information services interact directly with
and observation data. Specifically, O&M describes sensing a related database. These operations’ procedures are slightly
observation data in a unified standard utilizing XML format adjusted after the integration of catalogue service to ensure
in the SWE framework [14] and thus shields the difference that the metadata database is consolidated and managed by
of sensing observation data derived from the heterogeneous the catalogue service and thus are transparent to the SWE
WSN. services and users. Some adjusted operations are shown in
SIMPLE protocol in IMS is an event notification frame- Table 1.
work, which is based on the SIP message and is extended Catalogue service provides a uniform management for
for IM and Presence services, and it mainly consists of the metadata and a more effective WSN resources integration
SUBSCRIBE message and the NOTIFY message [19, 20]. mechanism, which is expected to be one of the vital factors
In this architecture, the upper layer application utilizes the in MUSE.
SUBSCRIBE message in which filtering rules of the sensor
network are carried out to complete the subscription and
query of observation data. When sensing data meets the user’s 4. Service Procedure
subscription conditions, MUSE Enabler uses the NOTIFY
messages to notify the upper layer application that it carries We define a set of service procedures following the corre-
the relevant data description. sponding SWE service model to standardize the services
The above extension of SIP messages makes different and support the operation of MUSE. The procedures pro-
network elements communicate with each other in a stan- vide functions of discovering, accessing, and utilizing WSN
dardized message format, meets the functional requirements resources aiming at fulfilling the requirements of service
of MUSE Enabler, realizes information fusion among hetero- operations. Specifically, the main interactive procedures are
geneous sensor networks, and provides a unified interface to WSN gateway register, service discovery, observation data
upper layer applications. management, and sensor task planning.
International Journal of Distributed Sensor Networks 7

Table 1: Catalogue operations.

Operation Operation procedure


Function: the operation provides service metadata to the user.
Description: service metadata is stored in the metadata repository, which is managed by the catalogue service.
GetCapabilities
Thus the user needs to send requests to the catalogue service rather than the SWE service instance to acquire
service metadata.
Function: users acquire sensor metadata through this operation.
DescribeSensor Description: the sensor metadata is also stored in the metadata repository and the user can only interact with
the catalogue service rather than SOS itself.
Function: the operation enables WSN to register itself into a SOS instance.
RegisterSensor
Description: the sensor metadata should be forwarded to the catalogue service for further processing.

4.1. Gateway Register Procedure. The gateway register proce- 4.3. Sensor Observation Procedure. The sensor observation
dure allows MUSE Gateway to register in the corresponding procedure in MUSE is designed to enable sensor data
service instance. Based on the basic IMS third-party register consumers, such as terminal users, applications, and other
mechanism, the register message is transferred to the MUSE service instances, to acquire sensor observation data. The
Enabler; then the WSN gateway can be registered to the procedure is based on the SOS specification and redefined
corresponding SWE service instance and it will activate an to adapt the uniform management through the catalogue
update in the catalogue service. The register request carries service.
basic identification information of gateway in its message There are two typical situations of the sensor observation
head and a SensorML as its message body to describe the procedure. The first one is the observation data acquire-
sensing capability of the WSN. When the S-CSCF receives ment of data consumers. A SUBSCRIBE message with the
the message, it generates a third-party REGISTER request description of the interested perception information is sent
to the MUSE Enabler due to the trigger point downloaded to MUSE Enabler from the data consumer. This message
from the HSS. Then the MUSE Enabler triggers a SOS carries semantic requests for perception information and
operation called RegisterSensor and meanwhile requests the the message body should fit the rules of GetObservation
catalogue service to update the service ability and other operation defined in SOS. The message is then forwarded
related information. So far MUSE Enabler discovers the to the corresponding service instance. The instance queries
existence of gateway and attaches it. When the status of the the data repository to get the requested observation data
gateway is changed, an update procedure is performed to and returns an O&M document encapsulated in a NOTIFY
refresh the state information in the metadata repository. message. For the second situation, MUSE Gateway, namely,
By providing the gateway register procedure, MUSE then data producer, publishes observation data actively. To make
has the ability to manage its WSN and nodes effectively, which the procedure more flexible, two mechanisms are proposed
is the premise of WSN resource integration. as follows.
(1) Regular uploading. The sampling parameters such
as upload intervals and data types are predefined in
4.2. Service Discovery Procedure. In MUSE, the service dis-
the capability document of the corresponding SOS
covery procedure provides standardized service capabilities
instance. The only way to change these sampling
query and acquisition mechanism.
parameters is to adopt sensor task planning oper-
The user first sends the GetRecords request to the cata- ations. Due to its more efficient transmission, this
logue service in MUSE Enabler, and then a record list would mechanism is the main approach in MUSE.
be obtained as a feedback in case the request is valid. Different
from the original work flow of SWE services, this procedure (2) Initiative uploading. Similar to the InsertObservation
does not need to post requests to the specific service instance, operation defined in SOS, the mechanism enables
in that the service metadata requested by users is managed MUSE Gateway to publish observation data initia-
through the catalogue service uniformly. The user’s request is tively and thus makes the sensor data observation
actually encapsulated within a SUBSCRIBE message in SIP; flexible.
the SIP message will then be sent to the catalogue service. The sensor observation procedures standardize the pro-
For the catalogue service, it queries the metadata repository cess of requests and publishing, which supplies the data
using the given conditions and will return a service metadata foundation to upper-layer perception information services.
document if the query is valid.
By providing the service discovery procedure, MUSE can 4.4. Sensor Planning Procedure. The sensor planning proce-
manage its services in a more standardized and effective way, dure in MUSE is used for WSN task scheduling. We refer
which would support basic operations in the architecture and to the SPS standard task description encapsulated in SWE
provide a unified service interface for third-party applica- common data model, which enhances the task description
tions. through parameterization.
8 International Journal of Distributed Sensor Networks

Table 2: Suboperations of sensor planning procedure. Gas monitor Sensor nodes


Gateway
Operation Description
Reserve Freeze allocated task-related resources
Update task parameters when in reserving or
Update
execution state
Notify the service instance that the task is to be
Submit
executed

Air conditioner
Task scheduled Humidifier
Update
Light

Execution
Figure 5: Intelligent building scenario.
Submit
Complete

Ca
nce the perception information from WSN through the IMS. By
l le d
Submit the comparison of the sensor observation procedure between
led the traditional mode and the MUSE mode, the MUSE can
Fai
reduce the network load effectively.
Reserve Reserve expired
Reserved
5.1. Conceptual Application Scenario. A typical indoor struc-
ture is shown in Figure 5. Many sensors are deployed in the
Figure 4: Task state transition diagram. house, which fulfills different functions including the house
security monitoring, the family comfortable adjustment, and
the smart home energy management. All types of interested
Every sensor planning request must verify its feasibility observation data include the temperature, humidity, smoke,
by invoking the GetFeasibility operation [21]. The sensor and light. In the security monitoring function, the tempera-
planning procedure is a transaction operation. To ensure the ture and smoke are used to detect the fire emergency; in the
WSN resources are managed effectively, we propose some family comfortable adjustment function, the temperature and
suboperations which are shown in Table 2. humidity are used to control the conditioner and humidifier;
Based on our definition, a state transition diagram is and in the home energy management function, the temper-
shown in Figure 4. In the diagram, a Reserved task shall not ature, humidity, and light are used to control the lights and
change to the state of Execution unless the client confirms conditioners in the room.
it. If the client does not confirm a Reserved task in time, the In traditional WSN applications, these sensing data are
task will expire. Meanwhile an Execution task can be updated independent, though the sensor observation data type is
before the task is executed successfully and transited into similar. In the MUSE mode, all observation data of WSN
the final state, whereas, in some exceptional situations, for could be gathered by MUSE Gateway and then converged
example, when the client cancels the scheduled task or the to the MUSE Enabler. Moreover, the task requests from
server fails to complete the planned task, the task will reach upper layer applications could be adjusted flexibly through
the final state. the MUSE Enabler.
The transaction operation guarantees the instantaneity
and the accuracy of sensor planning, which improves the 5.2. Prototype Architecture and SIP Process. As shown in
utilizing efficiency of scheduled resources in certain degree. Figure 6, 20 Micaz sensor nodes are scattered in the building
The sensor planning procedure enables the MUSE to and a MB510 sink node is connected to a laptop running
support the integrated task scheduling service, which fulfills the UCT IMS Client. The sink node and the laptop perform
the requirements of the sensor observation planning and the MUSE Gateway’s functions such as data collection and WSN
WSN management planning for the service platform and thus registration altogether. The IMS core entity, including HSS
brings benefits to the service diversity and service efficiency and CSCFs, is implemented based on the open IMS core. And
of MUSE. then a monitoring and surveillance client is implemented
in an Android phone with an IMS soft terminal called IMS
5. Prototype Implementation and Proof of Droid.
Concept Application The gateway supports the multimode access such as Wi-
Fi, IEEE 802.15.4, and Bluetooth. It also supports the plug
In order to verify MUSE’s feasibility and to evaluate its and play feature and adopts basic SIP to adapt different
performance, we deployed an intelligent building prototype carriers. Because of the lack of multimode devices, we adopt
with 20 Micaz WSN nodes. Furthermore, a MUSE Gateway a tradeoff method that utilizes a MIB 510 sink node and a
based on MB510 is deployed. In the scenario, end users obtain laptop running IMS client to carry out the function of MUSE
International Journal of Distributed Sensor Networks 9

Open IMS core MUSE enabler the sampling time is 2 minutes and there are 800-byte
FHoSS CSCFs wsn enabler@openims.com temperature and humidity data totally published at one time.
hss@open-ims.com
cscf@open-ims.com So the WSN publishes 24 KB data per hour in the intelligent
humidifier application and 216 KB data per hour for all the
five applications totally.
In MUSE mode, we set the sampling time to the mini-
mum value (30 seconds), and the original data size published
once is 800 bytes. Since the data are encapsulated into O&M
format, with about 400-byte description data added, the total
(1) Register (3) Publish package size is expected to increase to 1.2 KB. As the five
(2) Subscribe (4) Notify applications can share sensor data produced by the WSN in
WSN this area, the network load decreases to 144 KB per hour. The
MUSE architecture successfully reduces the overall data size
by reusing observation data, though single time data size is
Sink
increased from 0.8 KB to 1.2 KB.
Gateway WLAN IMS client As shown in Figure 8, in the traditional mode, the data
gate@open-ims.com access point consumer@open-ims.com size increases as the increasing of application number and the
Figure 6: Prototype architecture. amplification is related to the requirements of the new added
application. In the MUSE mode, the data size is related to
the integral requirements, which has no significant change
after it increases to a certain extent. When the number
Gateway. The MB510 node is responsible for the sensing data of applications is 1 or 2, MUSE mode shows no obvious
collection, and the laptop realizes the data process function advantage in network load, due to that the observation data
and the data publish function. of MUSE involves extra data descriptions, whereas, as the
The full signaling process of the service procedure is number of applications increases to some degree, such as 3,
shown in Figure 7. To simplify the signaling process, we 4, or 5, MUSE mode reduces the data size obviously by data
replace all CSCF entities in IMS with xCSCF in the figure. multiplexing. This mechanism is adaptive in comprehensive
Gateway register: a WSN is registered at first and the cata- applications to reduce their data loads, especially for carriers
logue service updates the corresponding service information. to operate widely deployed application scenarios.
InsertObservation: the registered WSN publishes its obser-
vation data. GetRecords and GetCapabilities: consumers
query records and get interested service instance capabilities. 6. Conclusion
DescribeSensor: the users choose to get sensor descriptions. In this paper, we proposed an ubiquitous IoT service archi-
GetObservation: consumers request for sensor observation tecture named as MUSE aiming to integrate WSN over IMS
data and expected to get a return encoded by O&M. telecom framework in a flexible and unified way. MUSE
In the signaling process as shown in Figure 7, MUSE takes advantage of the SWE framework to standardize the
Enabler maintains the observation data which is published by perception information model and the WSN service pro-
MUSE Gateway periodically and end users get the data from cedure, which shields the heterogeneity of different WSNs.
MUSE Enabler when needed. This kind of proxy mode can By utilizing the OGC catalogue service, MUSE realizes the
reduce the number of SIP messages when end users request unified management of WSN and services. To realize the
the data, which improves the efficiency of data access. On integration of WSN and IMS, we defined the service trigger
the other hand, as the WSN catalogue service is added to rule of WSN services and extended the SIP protocol. And
the scheme, end users have to access catalogue service to then the reference model of two main components in MUSE
get the information of WSN and sensors before they request architecture is given. At last we illustrated four basic service
data. This may increase the network load for the WSN whose procedures which provide the service reference mode for
structure is always changed. carriers.
The advantages of integrating WSN over IMS telecom
5.3. Network Load Evaluation. In the prototype, we deploy framework remain as follows. On the one hand, the carrier’s
five perception applications to analyze the performance of strong operability enables ubiquitous perception services
network load. The five applications gather temperature and to be operable and manageable. On the other hand, the
humidity data inside the room. Undoubtedly each application services which carriers provide can be flexibly expanded and
has its own data sampling requirements like sampling time deployed.
and data type for needs of each application. The standardized integration of regional deployed WSN
In traditional mode, every sensor network provides the and wide area deployed mobile communication networks is
temperature and humidity observation, and every node has an evolution stage to realize future ubiquitous intelligence
a data package including sampling time, node identity, and in the internet of things. In the future we will continue the
sampling value, whose total size is about 40 bytes. As research and try to solve the key questions in the MUSE
shown in Table 3, for the intelligent humidifier application, architecture, such as the more grained sensor data acquisition
10 International Journal of Distributed Sensor Networks

MUSE enabler

Gateway Consumer xCSCF Catalogue service WSN services

(1) Register
Gateway (2) Register
register (3) OK (ID)
(4) OK (ID)
(5) Publish (O&M)
(6) Publish (O&M)
Insert
observation (7) OK
(8) OK
(9) Subscribe
(10) Subscribe
GetRecords
(11) Notify
(12) Notify
(13) Subscribe
(14) Subscribe
(15) Query
GetCapabilities (16) Service
capabilities
(17) Notify
(18) Notify
(19) Subscribe
(20) Subscribe

DescribeSensor
(21) Notify

(22) Notify
(23) Subscribe
(24) Subscribe
GetObservation
(25) Notify
(26) Notify

Figure 7: Signaling process of the service procedure.

Table 3: Network load under different model.


Data size single time Data size per hour
Mode Application Sampling data type Sampling period (s)
(KB) (KB/h)
Self-adaptive humidifier T and H 120 0.8 24
Patch board overtemperature
T 60 0.4 24
alarm
Original mode
Indoor temperature
T and H 60 0.8 48
conditioner
Fire alarm T and H 30 0.8 96
Plant nurseries T 60 0.4 24
Total — — — 216
Synthetic of the 5
MUSE mode T and H 30 1.2 144
applications
International Journal of Distributed Sensor Networks 11

250 [8] J. Bernat, “Ubiquitous sensor networks in IMS: an ambient


intelligence telco platformintelligence telco platform,” in Pro-
216 216
200 ceedings of the ICT-MobileSummit 2008 Conference, Estocolmo,
Network load (KB/h)

Sweden, 2008.
[9] M. El Barachi, A. Kadiwal, R. Glitho, F. Khendek, and R.
150 144 144 Dssouli, “A presence-based architecture for the integration of
120 the sensing capabilities of wireless sensor networks in the IP
100 multimedia subsystem,” in Proceedings of the IEEE Wireless
Communications and Networking Conference (WCNC ’08), pp.
72 72
60 3116–3121, Las Vegas, Nev, USA, March 2008.
50
36 [10] H. Ru Cheng, F. Belqasmi, R. H. Glitho, and F. Khendek, “The
24 design and implementation of architectural components for
0 the integration of the IP multimedia subsystem and wireless
1 2 3 4 5
actuator networks,” IEEE Communications Magazine, vol. 49,
Number of applications
no. 12, pp. 138–146, 2011.
Traditional mode [11] H. Sugano, S. Fujimoto, G. Klyne, A. Bateman, W. Carr, and
MUSE mode J. Peterson, “Presence information data format (PIDF),” RFC
3863, 2004.
Figure 8: Network load changing curve in different mode.
[12] M. Domingo, “A context-aware service architecture for the
integration of body sensor networks and social networks
through the IP multimedia subsystem,” IEEE Communications
and task planning services, security, and privacy in catalogue Magazine, vol. 49, no. 1, pp. 102–108, 2011.
service, mobility support for sensors and devices, and the [13] M. Botts and A. Robin, “OpenGIS sensor model language
highly effective stream data transmission. Moreover, we will (sensorML) implementation specification,” OGC Document
attempt to carry the standardization works of future IoT OGC 07-000, Open Geospatial Consortium (OGC), Wayland,
service based on our work mentioned before. Mass, USA, 2007.
[14] S. Cox, “Observations and measurements—part1—observation
schema,” OGC Document OGC 07-022r1, Open Geospatial
Conflict of Interests Consortium (OGC), Wayland, Mass, USA, 2007.
The authors declare that there is no conflict of interests [15] X. Chu, T. Kobialka, B. Durnota, and R. Buyya, “Open sensor
web architecture: core services,” in Proceedings of the 4th
regarding the publication of this paper.
International Conference on Intelligent Sensing and Information
Processing (ICISIP ’06), pp. 98–103, IEEE, Bangalore, India,
Acknowledgments December 2006.
[16] M. El Barachi, A. Kadiwal, R. Glitho, F. Khendek, and R.
This research is supported by National Natural Science Dssouli, “The design and implementation of a gateway for IP
Foundation of China (no. 61271185 and no. 61300183) and the multimedia subsystem/wireless sensor networks interworking,”
Fundamental Research Funds for the Central Universities. in Proceedings of the 69th IEEE Vehicular Technology Conference
(VTC ’09), pp. 1–5, Barcelona, Spain, April 2009.
References [17] “IETF 6lowpan Working Group Homepage,” http://www.ietf
.org/html.charters/6lowpan-charter.html.
[1] M. Zorzi, A. Gluhak, S. Lange, and A. Bassi, “From today’s [18] A. Gouya and N. Crespi, “Service orchestration in IMS,” in IMS
INTRAnet of things to a future INTERnet of things: a wireless- Handbook, pp. 329–344, CRC Press.
and mobility-related view,” IEEE Wireless Communications, vol. [19] SIMPLE WG, “SIP for instant messaging and presence lever-
17, no. 6, pp. 44–51, 2010. aging extensions,” 2006, http://www.ietf.org/html.charters/
[2] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, simple-charter.html.
“Wireless sensor networks: a survey,” Computer Networks, vol. [20] J. Rosenberg, H. Schulzrinne, B. Campbell, C. Huitema, and D.
38, no. 4, pp. 393–422, 2002. Gurle, “Session initiation protocol (SIP) extension for instant
[3] “OGC sensor web enablement: overview and high level archi- messaging,” RFC 3428, IETF, 2002.
tecture,” OGC 07-165, Open Geospatial Consortium, 2006. [21] I. Simonis and P. Dibner, “OpenGIS sensor planning service
[4] Z. Chen, N. Chen, L. Di, and J. Gong, “A flexible data and sensor implementation specification,” OGC Document OGC 07-014r3,
planning service for virtual sensors based on web service,” IEEE Open Geospatial Consortium (OGC), Wayland, Mass, USA,
Sensors Journal, vol. 11, no. 6, pp. 1429–1439, 2011. 2007.
[5] IP Multimedia Subsystem (IMS), Stage 2, 3GPP TS 23.228.
[6] A. Gluhak, M. Presser, D. Babb, L. Herault, and R. Tafazolli,
“e-SENSE reference model for sensor network in B3G mobile
communications systems,” in Proceedings of the 15th IST Mobile
& Wireless Communications Summit, Myconos, Greece, June
2006.
[7] M. Strohbach, J. Vercher, and M. Bauer, “A case for IMS,” IEEE
Vehicular Technology Magazine, vol. 4, no. 1, pp. 57–64, 2009.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 735142, 10 pages
http://dx.doi.org/10.1155/2014/735142

Review Article
SDN: Evolution and Opportunities in the Development
IoT Applications

Ángel Leonardo Valdivieso Caraguay, Alberto Benito Peral,


Lorena Isabel Barona López, and Luis Javier García Villalba
Group of Analysis, Security and Systems (GASS), Department of Software Engineering and Artificial Intelligence (DISIA),
School of Computer Science, Office 431, Universidad Complutense de Madrid (UCM), Calle Profesor José Garcı́a Santesmases s/n,
Ciudad Universitaria, 28040 Madrid, Spain

Correspondence should be addressed to Luis Javier Garcı́a Villalba; javiergv@fdi.ucm.es

Received 9 December 2013; Accepted 27 December 2013; Published 4 May 2014

Academic Editor: Young-Sik Jeong

Copyright © 2014 Ángel Leonardo Valdivieso Caraguay et al. This is an open access article distributed under the Creative
Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the
original work is properly cited.

The exponential growth of devices connected to the network has resulted in the development of new IoT applications and on-line
services. However, these advances are limited by the rigidity of the current network infrastructure, in which the administrator
has to implement high-level network policies adapting and configuring protocols manually and usually through a command line
interface (CLI). At this point, Software-Defined Networking (SDN) appears as a viable alternative network architecture that allows
for programming the network and opening the possibility of creating new services and more efficient applications to cover the actual
requirements. In this paper, we describe this new technology and analyze its opportunities in the development of IoT applications.
Similarly, we present the first applications and projects based on this technology. Finally, we discuss the issues and challenges in its
implementation.

1. Introduction ways to connect to the network including the traditional


network infrastructure. However, the traditional equipment
The emergence of new services and applications on-line, and network protocols are not designed to support the
both in fixed terminals and mobile devices, has made the high level of scalability, high amount of traffic and mobility.
communication networks a strategic point in companies, The current architectures are inefficient and have significant
institutions, and homes. The continued evolution of these limitations to satisfy these new requirements.
services and the growth of the information circulating The infrastructure responsible for transmitting the infor-
the Internet, bring unanticipated challenges to developers mation coming of IoT devices (routers, switches, 3G and
and companies. The advances in micro-electro-mechanical 4G networks, and access points) should be adapted to the
systems (MEMS) increase the development of devices that new post-PC services (VoIP, sensor virtualization, QoS, cloud
automatically record, process and send information through computing, and IoT applications) while providing security,
the network. This kind of device, mainly consisting of sensors stability, high rate, and availability amongst others. Some
and actuators (RFID, Bluetooth Devices, Wireless Sensor efforts such as the European Union Projects of SENSEI [2],
Networks (WSN), Embedded Systems, and Near Field Com- Internet of Things-Architecture (IoT-A) [3], or Cognitive
munication (NFC)), has led to the origin of new ideas, Management Framework for IoT [4] as well as the new
concepts, and paradigms such as the Internet of Things (IoT). protocols for Wireless Sensor Networks including the Data
This device uses different ways to connect to the network Driving Routing Protocol [5] have tried to get smarter
including the traditional network infrastructure. At present, connectivity between network elements (fully integrated
there are 9 billion connected devices and a number of 24 Future Internet). However, these may not be the best options
billon is expected for 2020 [1]. This device uses different for a particular device or application domains (Smart Grid,
2 International Journal of Distributed Sensor Networks

Intelligent Transportation, Smart Home, Health Care, and there is a specialized hardware in the packet processing (data
Environmental Monitoring and others). For this reason, in plane), and over the hardware works an operating system
the last years, the idea of customizing the network behav- (usually Linux) that receives information from the hardware
ior has emerged and gives users the flexibility to use the and runs a software application (control plane). The software
network resources according to their needs. Additionally, contains thousands of lines of code for determining the
the development of new technologies to take decisions on next hop that a packet should be taken in order to reach
IoT networks uses different calculation algorithms (genetic its destination. The program follows the rules defined by a
algorithms, neural networks, evolutionary algorithms, and specific protocol (there are currently about 7000 RFCs) or
other artificial intelligence techniques). It is desirable that some proprietary technology of the vendor. Modern equip-
these algorithms can be easily and dynamically implemented ment also analyzes information packets to search malicious
in the network equipment without waiting to be published in information or intrusions (firewalls and IDS). However, all
a protocol. technology or software used in the manufacturing of these
Software Defined Networking (SDN) is a network archi- devices is rigid or closed to the network administrator. The
tecture that eliminates the rigidity present in traditional administrator is limited only to configure some parameters,
networks. Its structure allows the behavior of the network usually through low level commands using a command line
to be more flexible and adaptable to the needs of each orga- interface (CLI). Moreover, each node is an autonomous
nization, campus, or group of users. Besides, its centralized system which finds the next hop to be taken by a packet to
design allows important information to be collected from reach its destination. Some protocols (OSPF, BGP) allow the
the network and used to improve and adapt their policies nodes to share control information between them, but only
dynamically. The development in recent years has impulsed with its immediate neighbors and in a limited way in order to
new concepts, such as the network operating system (NOS). avoid tradditional load on network. This means that there is
NOS tries to emulate the progress in computer systems. In not a global view of the network as a whole. If the users need
this paper, the evolution of the main NOS is also analyzed. to control and modify a particular path, the administrator
With this tool, it is possible to test the SDN concept in has to test with parameters, priorities, or uses gadgets to
multiple projects (Home Networking, Data centers, Security, achieve the expected behavior in the network. Each change in
Virtualization, and Multimedia among others). Similarly, the network policy requires individual configuration directly
SDN has led to the design of models that integrate and finally or remotely from each of the devices. This rigidity makes
achieve convergence of commonly separate architectures the implementation of high-level network policies difficult.
(Wifi-4G-LTE). However, these opportunities are still far Moreover, the policies require to be adaptive and dynamically
from being implemented globally in production. Important react according to the network conditions.
issues such as convergence with existing networks, scalability, As Operating Systems (OS) evolve and adapt to the
performance, and security are the challenges that should be new needs and technological trends (support multi-CPU,
overcome to be positioned in the market. multi-GPU, 3D, touch screen support, etc.), the network
In this piece of work, we describe SDN and its evolution in adaptability to new requirements (VLAN, IPv6, QoS, and
the last years and analyze the opportunities and challenges in VoIP) is implemented through protocols or RFCs. However,
the future for this technology. Specially, the development of in the operating system the separation between hardware
new generations IoT application (Smart Environment). The and software allows the continuous update of application,
work is structured as follows: in Section 2 the limitations of or even the reinstallation of a new version of an OS. In the
traditional networks is presented; next, Section 3 defines the area of networks, the design and implementation period of
Software-Defined Networking concept; Section 4 presents a new idea could take several years until it is published in
the evolution of Network Operating Systems (NOS); then, a protocol and incorporated in new devices. Some services
in Section 5, the first SDN applications are reviewed; in are proprietary of the vendors and require that all network
Section 6, the challenges of SDN technology are discussed; infrastructure belong to the same vendor to work properly.
finally, Section 7 presents the conclusions. This limitation brings on the dependence on a specific
technology or vendor.
2. Limitations of Traditional Architectures
3. Software-Defined Networking SDN
The idea of transmitting information between two points
through a network led to the design of communication The concept of Software-Defined Networking is not new and
protocols (TCP/IP, HTTPS, and DNS) and the creation of completely revolutionary; rather it arises as the result of con-
specialized devices in the transmission of information. These tributions, ideas, and developments in research networking.
devices have evolved resulting in a variety of equipment (hub, In [6], three important states are determined in the evolution
switch, router, firewall, IDS, middlebox, and filters). This of SDN: Active Networks (mid-90s to early 2000), separation
development has produced an exponential increase in the of data and control planes (2001–2007), and the OpenFlow
number of connected devices, in addition to the increase of API and NOS (2007–2010). All these aspects are discussed
the transmission rate and the emergence of online services below.
(e-banking, e-commerce, e-mail, VoIP, etc.). The difficulty for researchers to test new ideas in a real
All the devices responsible for transmitting information infrastructure and the time, effort and resources needed
have similar features in their design and manufacture. First, to standardize these ideas on the Internet Engineering
International Journal of Distributed Sensor Networks 3

Task Force (IETF) necessarily give some programmability 4D project [14] and Ethanet [15]. 4D architecture proposes
to network devices. Active networks offer a programmable architecture of four layers based on functionality: data plane,
network interface or API that opens the individual resources discovery plane, dissemination plane, and decision plane.
of each node for the users, such as processing, memory Moreover, the Ethanet project [15] proposes a centralized
resources, and packet processing and includes personalized control system of links to business networks. However,
features for the packets that circulate through the node. The the need for custom switches based on Linux, OpenWrt,
need to use different programming models in the nodes NetFPGA with support for Ethane protocol made it difficult
was the first step for research in network virtualization, as the applicability of this project. At the present time, the Open-
well as the development of frameworks or platforms for Flow protocol [16] is the most widely used in the research
the development of application on the node. The Architec- community and it has been the basis of different projects.
tural Framework for Active Networks v1.0 [6, 7] contains Companies like Cisco have also submitted a proposal for a
a shared Node Operating System (NodeOS), a set of exe- new architecture called Cisco Open Network Environment
cution environments (Execution Environments (EEs)), and (Cisco ONE).
active applications (Active Applications (AAs)). The NodeOS Simplifying the previous analysis, the term Software-
manages the shared resources, while the EE defines a virtual Defined Networking proposes some changes to the networks
machine for the packet operations. The AA operates within of today. First, the separation or decoupling of the data
an EE and provides the end-to-end service. The separation plane and control plane, allowing evolution and development
of packets to each EE depends on a pattern in the header independently. Secondly, it proposes a centralized control
of incoming packets to the node. This model was used in plane, thus having a global view of the network. Finally, SDN
the PlanetLab [8] platform, where researchers conducted establishes open interfaces between the control plane and
experiments in virtual execution environments and packets data plane. The differences between these architectures are
were demultiplexed to each virtual environment based on its shown in Figure 1.
header. These developments were important, especially in the The programmability of the network provided by SDN
investigation of architectures, platforms, and programming can be compared with the mobile applications running
models in networks. However, their applicability in industry on an Operating System (Android and Windows Mobile).
was limited and mainly criticized for its limitations in These applications use the resources of the mobile (GPS,
performance and safety. The work presented in [9] is an effort accelerometer, and memory) through the API provided by
to provide the best performance to the active networks, and the OS. Likewise, the network administrator can manage
the Secure Active Network Environment Architecture [10] and program resources in the network, according to user
tried to improve their security. needs, through available APIs (proprietary or open) on the
The exponential growth in the volume of traffic over the controller.
network produces the necessity to improve the supervision
process and uses best management functions such as the 3.1. OpenFlow. OpenFlow [16] was originally proposed as an
management of paths or links circulating the network (traffic alternative for the development of experimental protocols on
engineering), prediction traffic, reaction, and fast recovery university campus, where it is possible to test new algorithms
if there are network problems, among others. However, without disrupt or interfere with the normal operation of
the development of these technologies has been strongly traffic of other users. Nowadays, the Open Networking
limited by the close connection between the hardware and Foundation (ONF) [6] is the organization responsible for the
software of networking devices. Besides, the continuous publication of the OpenFlow protocol and other protocols for
increase in link rates (backbones) means that the whole SDN, such as OF-Config [17].
transmission mechanism of packets (packet forwarding) is The advantage of OpenFlow, compared with previous
focused on the hardware, separating control, or network SDN protocols, is the use of elements and features of
management to an application of software. These applications hardware available in most network devices. These elements
work best on a server, because it has higher processing and are the routing tables and the common functions are as
memory resources compared with a single network device. follows: read the header, send the packet to a port, and drop
In this sense, the project ForCES (Forwarding and Control a packet, among others. OpenFlow opens up these elements
Element Separation) [11] standardized by the IETF (RFC and functions; so these can be controlled externally. This
3746) established an interface between data and control implies that, with a firmware update, the actual hardware
plane in the network nodes. The SoftRouter [12] used this could potentially support OpenFlow. The companies do not
software interface to install forwarding tables in the data need a complete change of their hardware to implement SDN
plane of routers. Additionally, the Routing Control Platform in their products and services.
(RCP) [13] project proposed logical centralized control of The OpenFlow architecture proposes the existence of
the network, thus facilitating the management, the innova- a controller, a switch OpenFlow, and a secure protocol of
tion capacity, and programming of network. RCP had an communication. These elements are shown in Figure 2. Each
immediate applicability because it uses an existing control OpenFlow switch consists of flow tables that are managed
protocol BGP (Border Gateway Protocol) to install entries in by the controller. Each flow table has three elements: packet
the routing tables of the routers. header, actions, and statistics. The packet header is like a
The separation of data plane and the control plane allows mask that select the packets which will be processed by
the development of “clean-slate” architectures, such as the the switch. The fields used for comparison can be from
4 International Journal of Distributed Sensor Networks

Applications
Control plane API API
OpenFlow protocol
Control plane
Data plane

Data plane

Secure channel
Control plane Control plane

Data plane Data plane Data plane Data plane

Figure 1: Comparison between traditional and SDN architectures.

Applications
(QoS, firewall, routing. . .)

API API
OpenFlow protocol
Controller
Secure channel

Packet in Flowtable
Packet header Action Statistics
Packet header Action Statistics
··· ··· ··· Packet out

Switch OpenFlow

Figure 2: Elements of the OpenFlow architecture.

layer 2, 3, or 4 of the TCP/IP architecture. That means its analysis and treatment. Finally, the statistics field uses
that there is not a separation between layers as in current counters to collect statistic information for administration
architectures. All packets processed by the switch are filtered purposes.
through this method. The number of fields that the switch can The OpenFlow protocol defines the following types of
process depends on the version of the OpenFlow protocol. messages between the switch and the controller: controller
In OpenFlow v1.0 [18] (the most used version), there are to switch, symmetric, and asynchronous. The messages type
12 fields, while the latest version OpenFlow v1.3 defines the controller to switch manage the state of the switch. Symmetric
existence of 40 fields including support for IPv6. messages are sent by the controller or switch to initiate the
Once the header of an incoming packet matches the connection or interchange of messages. The asynchronous
packet header of the flow table, the corresponding actions for messages update the control of the network events and the
that mask are performed by the switch. There are main and changes of state switch. Similarly, OpenFlow establishes two
optional actions. The main actions are as follows: forward the types of switches: OpenFlow-only and OpenFlow-enabled.
packet to a particular port, encapsulate the packet and send it OpenFlow-only switches use only OpenFlow protocol to pro-
to the controller, and drop the packet. Some optional actions cess packets. On the other side, OpenFlow-enabled switches
are as follows: forward a packet through a queue attached can additionally process the packet using traditional algo-
to a port (enqueue action) or 802.1D processing capabilities. rithms of switching or routing.
If the header of an incoming packet does not match with The controller receives the information from the various
the packet header of the flow table, the switch (according switches and remotely configures the flow tables of the
to its configuration) sends the packet to the controller for switch. Here, the user can literally program the behavior of
International Journal of Distributed Sensor Networks 5

Applications

QoS Routing Firewall

Northbound API
Procera
Controller

Southbound API
Infrastructure
OpenFlow protocol

Switch, virtual switch, router

Figure 3: NOS, southbound, and northbound interfaces.

the network. Unlike active networks, which proposed a treated similarly. The controller inserts, deletes entries, and
“Node Operating System.” OpenFlow opens the notion of a reads the counters found in the flow tables of the switches.
Network Operating System (NOS). In this respect, in [19], the Furthermore, due to the dynamic nature of traffic, NOX
NOS is defined as the software that abstracts the installation uses events (event handlers) that are registered with different
of the state in the switches of network of the logic and priorities to be executed when a specific event occurs in
applications that control the behavior of the network. In the network. The most used events are switch join, switch
recent years, the NOS has evolved according to the needs and leave, packet received, and switch statistics received. Addi-
applications for researchers and network administrators. tionally, NOX includes “system libraries” implementations
and common network services. Finally, NOX is implemented
4. Network Operating Systems in C++ providing high performance. Moreover, there is an
Evolution (NOS) implementation entirely in Python denominated POX, which
provides a more friendly developed language.
The concept of Network Operating Systems (NOS) is based Beacon [24] is a Java-based OpenFlow controller. Its
on the function of an operating system in computing. That interface is simple and unrestricted; that is, the user can freely
is, the Operating System allows user to create applications use the constructors available in Java (threads, timers, sock-
using high-level abstraction of information, resources, and ets, etc.). Furthermore, Beacon is a NOS based on events; that
hardware. In SDN, some authors [20–22] have classified the is, the user sets the events that the controller listens to. The
abstractions of network resources as southbound and north- interaction with OpenFlow messages of the switch is done by
bound interfaces (Figure 3). The function of the southbound the library OpenFlowJ, an implementation of the OpenFlow
interfaces is to abstract the functionality of the programmable 1.0 [18] protocol and IBeaconProvider interface that con-
switch and connect it to the controller software. A clear tains the following listeners: IOFSwitchListener, IOFInitial-
example of southbound interface is OpenFlow. On the south- izerListener, and IOFMessageListener. Additionally, Beacon
bound interfaces, you run a Network Operating Systems. An has multithreading support and provides important APIs
example of NOS is NOX [23–25], among others. On the other implementations (Device Manager, Topology, Routing, and
hand, the northbound interfaces allow applications or high- Web UI) as well as the ability to start, add, and complete
level network policies to be easily created and they transmit applications without completely terminating a process in
these tasks to Network Operating System (NOS). Examples of Beacon (runtime modularity).
these interfaces are Frenetic [26, 27], Procera [21, 28], Netcore Although a NOS can handle the flow tables of the
[29], and McNettle [30]. Then, they are analyzed in the main switches, there are some problems that can cause malfunction
NOS and northbound interfaces. of the network [20, 22, 31]. For example, the controller
The NOX software [23] is the first NOS for OpenFlow and receives the first packet that arrives at the switch and has
consists of 2 elements: processes of controller (controller) and not matched a header in the flow table. Then the controller
a global view of the network (network view). Depending on analyzes it, assigns actions, and forwards these instructions
the current state of the network, the user can make decisions to the switch so that the other similar packages follow the
and set the network behavior through these processes. In same route. However, during this time, the second, third,
NOX, traffic is handled at the level of flows (flow-based or fourth similar packets can be received by the controller
granularity); that is, all packets with the same header are and cause an erratic operation. In other words, there are
6 International Journal of Distributed Sensor Networks

virtually two processes running, one on the controller and function in the controller and the switch. There are 2
another on the switch, and these processes are not fully types of composition: sequential and parallel. In sequential
synchronized. composition, the output of one module is the input of the
Another limitation is the composition; that is, if the user next, for example, a load balancer that first modifies the IP
wants to configure two different services on the same switch destination of a packet and then searches the output port
(e.g., routing and monitoring), it is necessary to manually according to the new IP header. In parallel composition,
combine the two actions on the switch, prioritize, and keep both modules are executed virtually simultaneously in the
the semantics of each element of the network. This makes the controller; for example, if the balancer sends a packet with
design, coordination, and reuse of the libraries very difficult. destination IP A to port 1, and packet B IP destined to port
Additionally, the switch has to handle two types of messages 2, this composition would result in a function that sends
simultaneously: packets and control messages. Any mismatch incoming packets for ports 1 and 2.
can cause a packet to be processed with an invalid policy McNettle [30] is a controller specially designed to offer
and thereby causing major security problem on the network. high scalability at the SDN network. This is achieved using
For example, if there are two entries in a flow table with a set of message handlers (one for each switch) having a
the same priority, the switch behavior might be nondeter- function that handles the switch-local and network-state
ministic, because the execution would depend on the design variables and manages the supply actions from the network
of the switch hardware. For this reason, the research com- flows. The idea is that the messages from the same switch
munity has worked on secure interfaces that automatically are handled sequentially, while messages from different
interact and coordinate the correct behavior of the switch switches are handled concurrently. Similarly, each message is
(northbound). processed in a single core CPU to minimize the number of
Procera [21, 28] is a framework that allows politics connections and synchronizations inter-cores among other
or high-level network configurations to be expressed. This performance improvements. The tests performed in [30]
architecture provides different actions and control domains show that McNettle have a higher multicore performance
to program the behavior of the network. The main domains compared to NOX or Beacon.
of control are as follows: time, data usage, flow, and status. The controller proposed in [31] is based on the verification
With these domains, the user can determine a behavior of the established politics, instead of searching bugs monitor-
depending, for example, on the time of day, amount of data ing the controller operation. To perform the verification, the
transmitted, privileges or groups of users, type of transmitted first step is to make use of the high-level language Netcore
traffic, and so forth. Actions can be temporal or reactive and [29] to describe only the network behavior. Then, the Netcore
are expressed on a high-level language based on Functional Compiler translates the politics to network configurations
Reactive Programming (FRP) and Haskell. In [21] are the as flow table entries. The flow tables information is ana-
details of this language as well as examples of using Procera lyzed by the Verifier Run-time System which transforms the
in monitoring applications and users control on a college network configuration into a lower abstraction level named
campus. Featherweght OpenFlow. Featherweght Openflow is a model
Frenetic [26, 27] is a high-level language dedicated to that use synchronization primitives to guarantee the coherent
SDN networks developed in Python. It is structured by 2 behavior of the flowtables. Additionally, the Kinetic tool is
sublanguages: a Network Query Language and a Reactive described in [22]; this tool allows performing consistent
Network Policy Management Library. The Network Query updates in the network using two mechanisms: per-packet
Language allows the user to read the status of the net- consistency and per-flow consistency. The per-packet consis-
work. This task is performed by installing rules (low-levels tency mechanism ensures that a packet that is transmitted
rules) on the switch which does not affect the normal across the network is processed with the same configuration
operation of the network. In addition, the Network Pol- when an update occurs. The per-flow consistency mechanism
icy Management Library is designed based on a language ensures that every packet that belongs to the same flow (e.g., a
for robots, Yampa, [32] and web programming libraries TCP connection) will be processed in the same way by every
in Flapjax [33]. The actions use a constructor type rule switch in the network.
containing a pattern or filters and action list as arguments.
The main actions are as follows: sending to a particular port,
sending packet to the controller, modification the packet 5. First SDN Applications
header, and blank action that is interpreted as discard the
Software-Defined Networking provides the ability to modify
packet. The installation of these policies is performed by
the network behavior according to user needs. In other words,
generating policy events (queries), primitive events (Seconds,
SDN itself doesnt solve any particular problem, but provides
SwitchJoin SwitchExit, and PortChange), and listener (Print
a more flexible tool to improve the network management. In
and Register). The results of experiments [26] show that
order to test the advantages of this architecture, the research
Frenetic provides simplicity and a significant savings in code
community has presented multiple projects of interest. Next,
and lower consumption of network resources compared to
some of these applications are described.
NOX.
One of the additional advantages of this language is the
composition; that is, independent functional modules can 5.1. Home Networking. In the emerging topic of Internet
be written and the runtime system coordinates its proper of Things (IoT), the management of devices and network
International Journal of Distributed Sensor Networks 7

resources in home networks is a big challenge due to the is proposed, but without disrupting the active network traffic.
number of users and devices connected to the same point The controller copies the flow tables configuration from the
(usually an access point). In [21, 34], the authors present an old to the new switch and modifies the paths automatically.
implementation of an OpenFlow-based system that allows This service enables the possibility to replace a network device
the monitoring and management of user and control of avoiding the disruption or packet loss. This advantage can be
the Internet access based on “usage caps” or a limited data used to dynamically modify the resources used in the network
capacity for each user or device. The system provides visibility (green networks). In other words, the network can turn off
of the network resources and management of access based or disable the unnecessary devices (nights or weekends) and
on user, group, device, application, or time of day and even automatically enable them in function of the traffic demand
enables the ability to exchange data capacity with another (peak hours).
user. The system of control and network monitoring uses
the friendly interface Kermit. The capacity management 5.4. Mobile Networks. The devices in the infrastructure
and network policies are based on the Resonance language on mobile carrier networks share similar limitations
[35]. as computer networks. Likewise, the carrier networks
execute standards and protocols, for example, the Third
5.2. Security. The global vision of the network can improve Generation Partnership Project (3GPP) as well as the
the security of the systems. This security cannot be based private vendors implementations. At this point, the SDN
only in the host-security, because such defenses are ineffective paradigm and its flow-based model can be applied on
when the host is compromised. In [36], the Pedigree system this kind of infrastructure offering better tools. Software-
is presented as an alternative to provide security in the traffic Defined Mobile Network (SDMN) [40] is an architecture
moving in an enterprise network. This OpenFlow-based that enables openness, innovation, and programmability
system allows to the controller the analysis and the approval to operators, without depending on exclusive vendors or
of connections and traffic flows in the network. The host has over the top (OTT) service providers. This model consists
a security module in the kernel (tagger) that is not under of two elements: MobileFlow Forwarding Engine (MFFE)
users control. This module labels the connections request to and the MobileFlow Controller (MFC). MFFE is a simple
send information through the network (processes, files, etc.). and stable data plane and with high performance. It has a
This label is sent to the controller (arbiter) in the start of more complex structure than an OpenFlow switch, because
the communication. The controller analyzes the tagger and it must support additional carrier functions, such as layer
accepts or rejects the connection according to its policies. 3 tunneling (i.e., GTP-U and GRE), access network nodes
Once the connection is authorized, the corresponding flow functions, and flexible charging. The MFC is the high
tables are installed in the switch. Pedigree increases the performance control plane, where the mobile networks
tolerance to a variety of attacks, such as polymorphic worms. applications can be developed. Additionally, MFC has 3GPP
The systems increase the load in the network traffic and the interfaces to interconnect with different Mobile Management
host. However, this load is not higher than common antivirus Entities (MMEs), Serving Gateways (SGWs), or Packet Data
software. Network Gateways (PGWs).

5.3. Virtualization. The concept of virtualization in networks 5.5. Multimedia. The multiple online multimedia services,
is similar to OS-virtualization, where different Operating for example, the real time transmissions, require high levels
Systems can share hardware resources. That is, in network of efficiency and availability of the network infrastructure.
virtualization, it is intended that multiple virtual networks According to studies presented by CISCO, the IP video traffic
can operate on the same infrastructure, each with its own will grow from 60% in 2012 to 73% by 2017 [41]. Moreover,
topology and routing logic. Initially, VLAN technologies and in the last years, the concept of Quality of Experience (QoE)
private virtual networks allow the different users to share [42] gained particular strength, which attempts to redefine
network resources. However, the separation is controlled only the Quality of Service (QoS) considering the level of user
by the network administration and with limited parameters acceptance to a particular service or multimedia application.
(port number) and just work with known network protocols. Therefore, SDN allows the optimization of the multimedia
With the SDN data-control separation, the possibilities to management tasks. For example, in [43] is improved the QoE
create new advanced virtual networks are promising. For experience through the path optimization. This architecture
example, Flowvisor [37, 38] is an OpenFlow-based project consists of two elements: the QoS Matching and Optimiza-
that allows creating slices based on multiple parameters, such tion Function (QMOF) that reads the different multimedia
as bandwidth, flowspace (src/dst MAC, src/dst IP, and src/dst parameters and establishes the appropriate configuration for
TCP ports), or CPU switch load. Each slice is independent; this path, and the Path Assignment Function (PAF) that reg-
that means that it does not affect the traffic of the others slices. ularly updates the network topology. In case of degradation
Additionally, it is possible to subdivide slices in order to create of the quality on the links, the system automatically modifies
hierarchical models. A network service that takes advantage the path parameters taking in count the priorities of the
of virtualization of network resources is the migration of users. Similarly, the project OpenFlow-assisted QoE Fairness
virtual networks. In [39], a system that enables the migration Framework (QFF) [44] analyzes the traffic in the network and
of the switch configuration to another device into the network identifies the multimedia transmissions in order to optimize
8 International Journal of Distributed Sensor Networks

them in function of the terminal devices and the network and traffic classification and devices such as middleboxes and
requirements. custom packet processors can be integrated and efficiently
used by the SDN technology. On the other hand, the number
5.6. Reliability and Recovery. One of the most common and the position of the controllers in a network are open
problems in the traditional networks is the hardness to questions. The analysis presented in [47] exposes that the
recover a link failure. The convergence time is affected by the determining factors for the selection of the number and
limited information of the node to recalculate the route. In position are the topology and the expected performance of
some cases, it is necessary the intervention of the network the network.
administrator to reestablish the network datapath. At this The security is another fundamental aspect that must
point, the global vision of SDN enables the customizing also be taken into account. For example, not all network
of recovery algorithms. [45] proposed an OpenFlow-based applications should have the same access privileges [20].
system that uses the mechanism of restoration and protection The assignment of profiles, authentication, and authorization
to calculate an alternative path. In restoration mechanism, the to access the network resources are necessary. In addition,
controller looks for an alternative path when the fail signal is OpenFlow establishes the optional use of TLS (Transport
received. Meanwhile, in protection the system anticipates a Layer Security) as authentication tool between switch and
failure and previously calculates an alternative path. Similar controller. However, there are not clear specifications that
to a failure on switch or routers, the malfunction of the SDN provide security for multiple controller systems that inter-
controller (NOS failure, DDoS attack, and application error) change information among them and with the switches.
can cause a collapse of the whole network. Therefore, the Additionally, Openflow establishes that an unknown packet
reliability of the network can be ensured through backup con- could be send completely (or its packet header) to the
trollers. However, it is necessary to coordinate and update the controller, it can easily be affected by DDoS attacks by the
information of control and configuration between principal sending of multiple unknown packets to the switch.
and backup controllers. The CPRecovery [46] component is The transition between actual network architectures to
a primary backup mechanism that enables the replication SDN-based architectures is also an open issue. Despite
of information between primary and backup controller. The the emergence of network devices with OpenFlow sup-
system uses the replication phase to maintain the updated port (IBM and NEC) in the market, it is impossible to
backup controller and the phase of recovery that starts the replace the network infrastructure completely. The transi-
controller backup at the moment it detects a failure of the tion period requires mechanism, protocols, and interfaces
principal controller. allowing coexistence between both architectures. Currently,
there are important efforts to achieve this objective; the
6. Challenges of SDN Technology Open Networking Foundation (ONF) published the IF-
Config Protocol [48] as a first step to the configuration of
The SDN advantages as applied technology in production OpenFlow devices. Similarly, the European Telecommuni-
networks are still close but not immediate. Furthermore, cations Standards Institute (ETSI) as well as the el IETFs
there are some challenges in terms of security, scalability, and Forwarding and Control Element Separation Working Group
reliability, among other aspects, which must be overcome in (ForCES) works on the standardization of interfaces for the
order to be considered acceptable for commercial users. Next, appropriated development of this technology.
these aspects are analyzed.
As it was previously explained, the separation between 7. Conclusion
data and control plane enables their independent devel-
opment and evolution. In data plane, the rate of packet The exponential growth of devices and online services that
processing depends on the used hardware technology, such exchange information over the network consolidated the
as Application-Specific Integrated Circuits (ASIC), Application- concept of Internet of Things (IoT). In this new approach,
Specific Standard Products (ASSP), Field Programmable Gate the rigidity of traditional architectures is inefficient sug-
Array (FPGA), or multicore CPU/GPP. Meanwhile, in control gesting rethinking new ways to use the infrastructure and
plane the performance also depends principally on the technology communications. Software-Defined Networking
hardware and the NOS (Beacon, POX, Floodlight). How- has emerged as an alternative to the current problems of
ever, a poor performance of one of the two levels can traditional networks. It allows administrators to have a global
cause significant problems, such as packet loss or delay view of the network, as well as the opportunity to control the
and incorrect behavior of the network of denial of service network according to the needs of each organization.
DDoS. For this reason, a balance in performance, cost, and This work presents the basis of this technology and
facility of development for the hardware and software of SDN the development of Network Operating Systems NOS, as
components is necessary. well as some interesting projects based on this paradigm.
Moreover, OpenFlow uses the common hardware reso- Additionally, the problems and challenges for the imple-
urces of actual networks, such as the flow tables. However, mentation of SDN in production networks are analyzed. It
SDN can be extended beyond flow tables and use additional is noteworthy that SDN provides the tools to improve the
resources offered by actual hardware [17]. The integration and management of the network behavior. The use of this tool
research of new features between control and data plane is and the development of new SDN applications are new fields
a recently open topic. Applications like encryption, analysis, of study. In the future, this paradigm will bring new ways
International Journal of Distributed Sensor Networks 9

of viewing and using the communication networks as well [13] M. Caesar, D. Caldwell, N. Feamster, J. Rexford, A. Shaikh, and
as new business models focused on offering services and J. Van der Merwe, “Design and implementation of a routing
network applications. control platform,” in Proceedings of the 2nd Conference on
Symposium on Networked Systems Design and Implementation
(NSDI ’05), vol. 2, pp. 15–28, USENIX Association, May 2005.
Conflict of Interests [14] A. Greenberg, G. Hjaimtysson, D. Maltz et al., “A clean slate
4D approach to network control and management,” ACM
The authors declare that there is no conflict of interests SIGCOMM Computer Communication Review, vol. 35, no. 5, pp.
regarding the publication of this paper. 41–54, 2005.
[15] M. Casado, M. J. Freedman, J. Pettit, J. Luo, N. Mckeown,
Acknowledgments and S. Shenker, “Ethane: taking control of the enterprise,”
in Proceedings of the ACM SIGCOMM 2007: Conference on
Part of the computations of this work were performed in Computer Communications, vol. 37, pp. 1–12, August 2007.
EOLO, the HPC of Climate Change of the International [16] N. McKeown, T. Anderson, H. Balakrishnan et al., “OpenFlow:
Campus of Excellence of Moncloa, funded by MECD and enabling innovation in campus networks,” ACM SIGCOMM
MICINN. This is a contribution to CEI Moncloa. Ángel Leo- Computer Communication Review, vol. 38, pp. 69–74, 2008.
nardo Valdivieso Caraguay and Lorena Isabel Barona López [17] A. Valdivieso, L. Barona, and L. Villalba, “Evolution and
are supported by the Secretarı́a Nacional de Educación Supe- challenges of software defined networking,” in Proceedings of
rior, Ciencia, Tecnologı́a e Innovación SENESCYT (Quito, the 2013 Workshop on Software Defined Networks for Future
Ecuador) under Convocatoria Abierta 2012 Scholarship Pro- Networks and Services, pp. 61–67, IEEE, November 2013.
gram no. 2543-2012. The authors would also like to thank [18] OpenFlow Switch Specification v.1.0.0, December 2009.
Ana Lucila Sandoval Orozco for her valuable comments and [19] N. Feamster, J. Rexford, and E. Zegura, “The road to SDN:
suggestions to improve the quality of the paper. an intellectual history of programmable networks,” Technical
Report, Princeton University, Princeton, NJ, USA, 2013.
[20] S. Sezer, S. Scott-Hayward, P. K. Chouhan et al., “Are we
References ready for SDN? Implementation challenges for software-defined
networks,” in IEEE Communications Magazine, vol. 51, pp. 36–
[1] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet
43, 2013.
of Things (IoT): a vision, architectural elements, and future
directions,” Future Generation Computer Systems, vol. 29, no. 7, [21] H. Kim and N. Feamster, “Improving network management
pp. 1645–1660, 2013. with software defined networking,” in IEEE Communications
Magazine, vol. 51, pp. 114–119, 2013.
[2] SENSEI, Integrated EU Project, http://www.ict-sensei.org/.
[22] M. Reitblatt, N. Foster, J. Rexford, C. Schlesinger, and D.
[3] European Lighthouse Integrated Project, Internet of Things
Walker, “Abstractions for network update,” in ACM SIGCOMM
Architecture, http://www.iot-a.eu/public/.
Computer Communication Review, vol. 42, pp. 323–334, 2012.
[4] P. Vlacheas, R. Giaffreda, V. Stavroulaki et al., “Enabling smart [23] N. Gude, T. Koponen, J. Pettit et al., “NOX: towards an
cities through a cognitive management framework for the operating system for networks,” ACM SIGCOMM Computer
internet of things,” in IEEE Communications Magazine, vol. 51, Communication Review, vol. 38, no. 3, pp. 105–110, 2008.
pp. 102–111, 2013.
[24] D. Erickson, “The beacon OpenFlow controller,” in Proceedings
[5] L. Shi, B. Zhang, H. T. Mouftah, and J. Ma, “DDRP: an efficient of the 2nd ACM SIGCOMM Workshop on Hot topics in Software
data-driven routing protocol for wireless sensor networks with Defined Networking, pp. 13–18, ACM, August 2013.
mobile sinks,” International Journal of Communication Systems,
[25] Floodlight, http://www.projectfloodlight.org/.
vol. 26, no. 10, pp. 1341–1355, 2013.
[26] N. Foster, R. Harrison, M. J. Freedman et al., “Frenetic: a
[6] Open Networking Foundation, https://www.opennetworking
network programming language,” ACM SIGPLAN Notices, vol.
.org/.
46, no. 9, pp. 279–291, 2011.
[7] K. Calvert, Architectural Framework for Active Networks Version
[27] N. Foster, A. Guha, M. Reitblatt et al., “Languages for software
1.0, 1999.
defined networks,” in IEEE Communications Magazine, vol. 51,
[8] PlanetLab, https://www.planet-lab.org/. pp. 128–134, 2013.
[9] T. Wolf and J. S. Turner, “Design issues for high-performance [28] A. Voellmy, H. Kim, and N. Feamster, “Procera: a language for
active routers,” IEEE Journal on Selected Areas in Communica- high-level reactive network control,” in Proceedings of the 1st
tions, vol. 19, no. 3, pp. 404–409, 2001. Workshop on Hot topics in Software Defined Networks, pp. 43–
[10] D. Alexander, W. Arbaugh, A. Keromytis, and J. Smith, “A 48, ACM, August 2012.
secure active network environment architecture: realization in [29] C. Monsanto, N. Foster, R. Harrison, and D. Walker, “A compiler
SwitchWare,” IEEE Network, vol. 12, no. 3, pp. 37–45, 1998. and run-time system for network programming languages,”
[11] L. Yang, R. Dantu, T. Anderson, and R. Gopal, “Forwarding and ACM SIGPLAN Notices, vol. 47, no. 1, pp. 217–230, 2012.
Control Element Separation (ForCES) framework,” RFC 3746, [30] A. Voellmy and J. Wang, “Scalable software defined network
2004. controllers,” in ACM SIGCOMM Computer Communication
[12] T. Lakshman, T. Nandagopal, R. Ramjee, K. Sabnani, and T. Review, vol. 42, pp. 289–290, ACM, 2012.
Woo, “The soft- router architecture,” in Proceedings of the ACM [31] A. Guha, M. Reitblatt, and N. Foster, “Machine-verified network
SIGCOMM Workshop on Hot Topics in Networking, November controllers,” in ACM SIGPLAN NOTICES, vol. 48, pp. 483–494,
2004. ACM, 2013.
10 International Journal of Distributed Sensor Networks

[32] A. Courtney, H. Nilsson, and J. Peterson, “The Yampa arcade,”


in Proceedings of the ACM SIGPLAN 2003 Haskell Workshop, pp.
7–18, ACM, August 2003.
[33] L. A. Meyerovich, A. Guha, J. Baskin et al., “Flapjax: a program-
ming language for ajax applications,” ACM SIGPLAN Notices,
vol. 44, no. 10, pp. 1–20, 2009.
[34] H. Kim, S. Sundaresan, M. Chetty, N. Feamster, and W. K.
Edwards, “Communicating with caps: managing usage caps in
home networks,” in Proceedings of the ACM SIGCOMM 2011
Conference (SIGCOMM ’11), vol. 41, pp. 470–471, August 2011.
[35] A. Nayak, A. Reimers, N. Feamster, and R. Clark, “Resonance:
dynamic access control for enterprise networks,” in Proceedings
of the 1st ACM Workshop on Research on Enterprise Networking
(WREN ’09), pp. 11–18, ACM, August 2009.
[36] A. Ramachandran, Y. Mundada, M. B. Tariq, and N. Feamster,
Securing Enterprise Networks Using Traffic Tainting, 2009.
[37] R. Sherwood, G. Gibb, and M. Kobayashi, “Carving research
slices out of your production networks with OpenFlow,” in ACM
SIGCOMM Computer Communication Review, vol. 40, pp. 129–
130, ACM, 2010.
[38] R. Sherwood, G. Gibb, K. K. Yap et al., “Flowvisor: a network
virtualization layer,” in OpenFlow Switch Consortium, 2009.
[39] P. S. Pisa, N. C. Fernandes, H. E. Carvalho et al., “OpenFlow and
Xen-based virtual network migration,” in Wireless in Developing
Countries and Networks of the Future, vol. 327, pp. 170–181,
Springer, Berlin, Germany, 2010.
[40] K. Pentikousis, Y. Wang, and W. Hu, “MobileFlow: toward
software-defined mobile networks,” in IEEE Communications
Magazine, vol. 51, pp. 44–53, 2013.
[41] The Zettabyte EraTrends and Analysis, May 2013.
[42] S. M. Patrick Le Callet and A. Perkis, “Qualinet white paper
on definitions of quality of experience,” in Proceedings of the
European Network on Quality of Experience in Multimedia
Systems and Services, COST Action IC, 1003, March 2012.
[43] A. Kassler, L. Skorin-Kapov, O. Dobrijevic, M. Matijasevic, and
P. Dely, “Towards QoE-driven multimedia service negotiation
and path optimization with software defined networking,” in
Proceedings of the 20th International Conference on Software,
Telecommunications and Computer Networks, vol. 1, pp. 1–5,
IEEE, September 2012.
[44] P. Georgopoulos, Y. Elkhatib, M. Broadbent, M. Mu, and N.
Race, “Towards network-wide QoE fairness using OpenFlow-
assisted adaptive video streaming,” in Proceedings of the 2013
ACM SIGCOMM Workshop on Future Humancentric Multime-
dia Networking (FhMN ’13), pp. 15–20, ACM, August 2013.
[45] S. Sharma, D. Staessens, D. Colle, M. Pickavet, and P. Demeester,
“A demonstration of fast failure recovery in software defined
networking,” in Testbeds and Research Infrastructure. Devel-
opment of Networks and Communities, vol. 44, pp. 411–414,
Springer, Berlin, Germany, 2012.
[46] P. Fonseca, R. Bennesby, E. Mota, and E. Passito, “A replication
component for resilient OpenFlow-based networking,” in Pro-
ceedings of the 2012 IEEE Network Operations and Management
Symposium, pp. 933–939, IEEE, April 2012.
[47] B. Heller, R. Sherwood, and N. McKeown, “The controller place-
ment problem,” in ACM SIGCOMM Computer Communication
Review, vol. 42, pp. 473–478, ACM, 2012.
[48] OpenFlow Management and Configuration Protocol (OF-
Config) v.1.1.1, March 2013.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 594782, 17 pages
http://dx.doi.org/10.1155/2014/594782

Research Article
An Upper-Ontology-Based Approach for Automatic
Construction of IOT Ontology

Yuan Xu, Chunhong Zhang, and Yang Ji


Mobile Life and New Media Laboratory, Beijing University of Posts and Telecommunications, Beijing 100876, China

Correspondence should be addressed to Yuan Xu; xyuanu2011@gmail.com

Received 7 November 2013; Accepted 4 February 2014; Published 3 April 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Yuan Xu et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Ontology gives us a reliable group of concepts and the relations between concepts in an IOT system. It does not only save words
of format but also accurately transfers semantic data between human users and the computers. Hence, the usefulness of resources
in IOT system depends on whether the domain ontology can be constructed effectively and correctly. In this paper we propose an
automated method to construct the IOT ontology. First, we explain the necessity of introducing ontology automatic construction in
IOT system and summarize the major challenges in existing approaches. Secondly, we introduced the existing ontology construction
methods and summarize their issues. Thirdly, we give a framework of our ontology construction and research the key algorithms in
detail: (1) knowledge-tuple extraction algorithm which contains contextual information; (2) concept semantic similarity algorithm
which is based on the structure of tuple; (3) knowledge-tuple extraction model which is based on the structured information. Then
we build a prototype and evaluate the ontology. Finally, we make conclusions and suggest directions for future research.

1. Introduction combine any actual IOT system and only contain a small
set of concepts (tens to hundreds of concepts). At the same
Ontology is a normalized knowledge base as a set of concepts time, these ontologies have a slow improvement. But IOT
within a domain and the relationships between pairs of system needs an ontology which combined system’s features
concepts [1]. Ontologies provide the structural frameworks and provided a rich set of concepts (tens of thousands of
for organizing information and are used in artificial intelli-
concepts); in addition the ontology needs to improve itself
gence, semantic web, systems engineering, software engineer-
with the development of IOT system constantly. Therefore,
ing, biomedical informatics, library science, and enterprise
the existing IOT domain ontologies are not suitable for using
bookmarking. In Internet Of Thing (IOT) domain, experts
extracted concepts from system architecture to construct the in IOT systems directly.
machine-understandable ontology and now there are more There are many researches on ontology automatic con-
than ten IOT domain ontologies. Through the normalized struction in recent years, include TextOntoEx [5], TF-IDF-
representation for domain concepts and relationships, ontol- ART [6], and GRAONTO [7]. But these researches are
ogy provides a support service for semantic-based heteroge- still in primary stage. The automatic construction models
neous resource search and service development in IOT. typically include the following sections. In order to obtain
The current IOT domain ontologies are mostly based the domain knowledge, constructers need to collect con-
on artificial construct [2] by domain experts; the authority cerned texts and web pages as information source first. Then
one is SSN ontology which has been built by W3C Semantic they use the word segmentation and remove stop words
Sensor Network Incubator; in addition there are more than to wipe off the irrelevant vocabularies from texts and web
ten IOT domain ontologies include CSIRO, MMI, CESN, pages. The knowledge tuple (which consists of concepts
A3ME, and OntoSensor [3, 4]. These ontologies’ concepts and relationships between concepts, such as “platform-has-
are derived from the general knowledge of IOT domain such gateway” and “gateway-has-device”) is the basic unit of
as “platform,” “gateway,” “device,” and “sensor;” they do not ontology and an ontology is combined by a lot of knowledge
2 International Journal of Distributed Sensor Networks

tuples; therefore, constructers need to extract knowledge the context information, we will never know whether
tuples (mostly they extract the subject-predicate-object triple these data formats are used in IOT platform). Based
tuples from sentences as the knowledge tuples, subject and on the discussion above, existing tuple extraction
object are concepts, predicate is relationship). Taking into approaches lost the context information in para-
account the knowledge tuples are independent in existence, graph. Therefore, we propose a context-information-
the constructers need to calculate the similarity between based (CIB) knowledge-tuple extraction algorithm in
concepts in knowledge tuples and merge the similar concepts Section 3.2.
and constitute a connected ontology.
Existing tuple extraction mainly use unstructured doc- (3) Existing knowledge-tuple extraction algorithms
uments [5–7] (refer to information that either does not mostly rely on unstructured documents and neglect
have a predefined data model or is not organized in a the structured documents. But IOT environment
predefined manner, such as text and web page) as information includes various resource descriptions, which are a
source, and commonly uses the natural language processing type of structured documents. Resource description
algorithms to extract knowledge tuples from each sentence has been used to describe various IOT resources such
of the information’s source; this approach makes each tuple as device and data. We use the Xively (previously
lose context information in paragraph. In addition, IOT Pachube, one of the most famous IOT platform)
environment includes various resource description files (a as an example; it has more than twenty thousand
type of structured information source, refers to information resource descriptions and exceeds the number of
with embedded coding, such as markup, is used to give the characters in other pages in this website. This helps to
whole and parts of the document with various structural obtain a more comprehensive knowledge. Therefore
meanings according to a schema) and this helps obtain a we propose a resource-description-based (RDB)
more comprehensive knowledge, but the existing models knowledge-tuple extraction model in Section 3.2.
lack research on resource-description-based automatic con-
struction. In the research on concepts’ similarity, existing
(4) Existing concept similarity algorithms mostly use
approaches use linguistic similarity of vocabularies to merge
the linguistic similarity of vocabularies to merge
synonyms; this neglects the scene that the same word in
synonyms, this neglects the scene that the same
different contexts has different meanings and represents
word in different contexts has different meanings
different concepts. Moreover, [8] put forward that selecting
and represents different concepts. This issue will
an existing domain ontology as the upper ontology is the
lead to the concepts in ontology only that reflect
first step in classic five steps for ontology construction, but
the linguistic characteristics of words without any
existing approaches mostly skip this step. We list the four
context information in specific scene (we use a couple
major challenges and problems in this paper as follows.
of tuples as example, device-has-name-is-sensor and
(1) Upper ontology (also known as a top-level ontol- location-has-name-is-china; they have the common
ogy or foundation ontology) is an ontology which concept “name,” but they represent different context
describes very general concepts that are the same information and we cannot merge two “name” in
across one domain; it mostly is used to support a ontology. If we merge them, we can get that china
broad semantic interoperability between a large num- is also a name of device and it is obviously wrong).
ber of ontologies in a domain [9]. Selecting an existing In linguistics, polyseme is a word or phrase with
domain ontology as the upper ontology can make full different senses. Majority of polyseme is verb and
use of the most general concepts in this domain and adjective; they express one meaning in a certain con-
support the interoperability with other ontologies, text. According to statistics, each word has more than
but existing construction models mostly neglect the three meanings on average, so polysemy is a common
interoperability between ontologies and skip this step. phenomenon in human language. In IOT environ-
Therefore we will research the IOT upper-ontology ment, there are inheritance relationships between
evaluation and selection in Section 3.4. concepts. Because of inheriting different characters
from parent concepts, the vocabularies with same
(2) Knowledge tuples use concepts and relationships meaning in linguistics should reflect different con-
to describe the domain knowledge (e.g., platform- cepts in ontology. Taking into account that the context
has-gateway, “platform” and “gateway” are concepts; information of a word in a tuple comes from the tuple
“has” is relationship); they are the basic unit in structure, we propose a tuple-structure-based (TSB)
ontology construction. Existing construction models similarity algorithm in Section 3.5.
commonly use the natural language processing algo-
rithms to extract knowledge tuples from each sen-
tence of information source; this approach neglects The remainder of this paper is organized as follows.
the context information in paragraph when extracting Section 2 introduces the related work on ontology automatic
the tuples (e.g., we have a sentence “Common data construction. The details of the proposed ontology construc-
formats include xml and json.” in an IOT plat- tion method are explained in Section 3. The prototype and
form description text, we can extract tuples “format- evaluation are shown in Section 4. Finally, conclusions and
include-xml” and “format-include-json.” But without future work are shown in Section 5.
International Journal of Distributed Sensor Networks 3

2. Related Work Reference [11] use the Chinese information source; they cal-
culate the semantic similarity between concepts based on the
Due to the critical importance of ontology in the various Chinese semantic similarity tree from CKIP [18]. References
fields and applications, constructing domain ontology effi- [15, 16] measure the semantic similarity between concepts
ciently and effectively has been an important research area according to the words’ distance in WordNet dictionary. Ref-
recently. Thus, different mechanisms and methodologies for erence [16] iterative improve the existing ontology through
designing and building ontology have been proposed. At ontology merging technique; the relationship between con-
present, most of the researches on ontology automatic con- cepts in initialization ontology and extended ontology also
struction are in accordance with the four steps in Section 1: can be obtained by WordNet dictionary. The literature [11, 14–
(1) preprocessing the information sources; (2) extracting 16] all used the linguistic similarity of individual word to
knowledge tuples from information sources; (3) calculating measure the semantic similarity between words, ignoring
the semantic similarity between concepts and relationships in the affect from knowledge tuples’ structure. Reference [17]
knowledge tuples, merging the similar concepts and relation- introduced a set-similarity comparison in concepts similarity
ships, constituting an initialization ontology; (4) calculating calculation. It achieved the adjacent concepts of objective
the importance and Boolean relations between concepts concept and constituted an unordered set to measure the
in initialization ontology, and constituting a hierarchical semantic similarity between concepts. This method considers
ontology. the structural similarity in the condition of the adjacent
nodes, but do not consider the similarity comparison in the
In the research of extracting knowledge tuples, existing
view of mathematical model and still need more in-depth
construction models lack an in-depth study for combining
search.
knowledge tuples with context information; this issue will
The above references do not consider the introduc-
affect the accuracy of tuple extraction directly. References
tion of existing domain upper ontology into automatic
[5, 10–13] put forward their own knowledge-tuple extraction
construction; also they do not considered the research
method, respectively. Reference [10] extracts adjacent vocab-
for structured-information-based knowledge-tuple extrac-
ularies as binary knowledge tuples in the text; this approach
tion model. Therefore, we will research the IOT upper-
ignores the potential semantic relationships between nonad-
ontology evaluation and selection in this paper. At the same
jacent vocabularies in papers. Reference [11] extracts knowl-
time, we propose a context-information-based knowledge-
edge tuples which are less than triple in the sentence based
tuple extraction algorithm, a tuple-structure-based seman-
on pattern extraction algorithm. TextOntoEx [5] defines four
tic similarity algorithm and a structured-information-based
modes of semantic pattern and divides the basic elements in
knowledge-tuple extraction model.
semantic pattern into four categories: class, verbs, constants,
and modifiers; then extracts knowledge tuples by pattern
matching. Reference [12] proposed that the existing tuple
extraction methods are generally based on shallow natural
3. Upper-Ontology-Based Ontology
language process (NLP). The shallow NLP which is based on Construction Model
regular expressions will lose a lot of information in extraction;
3.1. Architecture of Ontology Construction System. In this sec-
therefore, they use the Stanford depth NLP which is based
tion, we provide an overview of our architecture of ontology
on statistical parsing to extract knowledge tuples. References
automatic construction. We describe the construction mod-
[5, 11, 12] all used the pattern extraction method which
ules and data flows among different modules in Figure 1. We
is based on NLP, but the length of the pattern analysis is
first research the construction models; ontology construction
confined to a single sentence and ignores the impact from
can be divided into two modes: global construction and
context of the paragraph. Reference [13] proposed that the
incremental construction. In global construction, it needs to
existing patterns are extracted in a single sentence, ignoring
use all existing domain knowledge to rebuild the ontology
the relationship between sentence and paragraph. First, they
when adding or changing knowledge. Global construction
use the paper’s title and other structured information to
appies to a fully developed field; the knowledge of the field
build a kernel ontology with hierarchical relationship, then
is complete and relatively static, without frequently adding
supplement the ontology with unstructured information and
or changing new knowledge. In incremental construction,
get the integrity ontology; this approach considers the context
when adding new knowledge, construction module will
information in tuple extraction preliminary. But this method
supplement and repair relevant parts in existing ontology
is limited by the accuracy of the papers’ titles and processing
according to the new knowledge. Incremental construction
the sentence regardless of the structured information still
applies to an emerging field and the knowledge of the field
needs more in-depth search.
is not complete. The field will put forward new knowledge
In the research of calculating the semantic similarity frequently. Thus it requires a frequent iteration and updating
between concepts in ontology construction, existing con- of existing ontology. Compared with the global construction,
struction models lack an in-depth study for structural sim- incremental construction does not need to rebuild the ontol-
ilarity; this issue will lead to the concepts of ontology to ogy with all existing knowledge when adding new knowledge
only reflect the linguistic characteristics of words rather than into the field; it only needs to update the relevant part with
the semantic features in the specific scene. References [11, the new knowledge in ontology. Because the IOT domain
14–17] put forward their own semantic similarity measure. has a mass of knowledge and is growing rapidly, incremental
4 International Journal of Distributed Sensor Networks

Resources Tuple extraction Normal Vector group

Context + NLP Similarity


Tuple Word stem Tuple Compared vector
LCS
Unstructured
Text Tuple with lab Synonym New
IC
Tuple concept,
property Ontology
Extract rules SSN

Resource IOT
WordNet Dic Upper
description Xml ontology
Tuple with lab ontology

Figure 1: Architecture of ontology construction.

construction will bring the advantages in computing and of paragraphs and papers based on the largest con-
timeliness. tiguous frequency statistics. Then we make the core
Our ontology construction model is an incremental concepts as the context labels and add them into
construction model. We iterate the ontology through adding triple tuples hierarchically. For example, we extract
new knowledge tuple to existing ontology constantly. In triple tuples (a)-(b)-(c); in addition the core concepts
order to guarantee the connectivity of ontology and reduce of this paper and paragraph are A and B; we can
redundancy concepts, we need to calculate the similarity combine them and get the thorough tuple (A B a)-
between concepts in new tuple and existing ontology when (b)-(A B c) (each concept in tuple is reflected with
adding a new tuple. Through merging similar concepts, we an order vector); this approach will retain the context
will achieve the connection between new tuple and existing information with concept prefix. Resource descrip-
ontology. The architecture contains four modules. In order to tion file is another conventional information carrier
obtain the normalized domain knowledge from information in IOT domain; it is used to describe various IOT
source (IS), we use the tuple extraction module to extract resources such as device and data. In order to get
tuples from unstructured and structured files. Then normal more comprehensive knowledge, we propose the
module will use word stem and synonym to normalize the RDB tuple extraction model to extract tuples from
vocabularies in tuples. In order to make full use of the resource description files. In this model, we make
most general concepts in IOT domain and support the use of the resource description which conforms to
interoperability with other ontologies, we use upper ontology the tree structure and adopts the key-value model,
module to evaluate existing IOT domain ontologies and select then formulates three rules in Section 3.2.2 to extract
SSN as our upper ontology. Then taking into account that the tuples.
tuples are independent in their existence, we use the similarity
module to calculate the structure similarity between concepts (2) In the normal module, we use the stem algorithm
in new tuple and existing ontology. Then we merge the similar and WordNet dictionary to extract the concepts’ word
concepts and constitute a connected IOT ontology. stem and synonyms in tuples and we achieve the
standardized representation for vocabularies. Because
(1) In the tuple extraction module, we extract knowledge a vocabulary can have a diversified statement, such
tuples with context information from unstructured as word activity, abbreviation, and synonym (e.g.,
IS and resource description files. Unstructured IS measure is the stem for measuring, IOT is the abbre-
is a conventional form to represent the knowledge viation for internet of things, and evaluation is the
in a domain, such as thesis and related web pages. synonym of measure), thus, the same concept will
Therefore, we can use the natural language pro- have variety of representations in tuples. This will
cessing (NLP) algorithms to extract tuples and get cause the redundancy in ontology; therefore, we need
the normalized knowledge in unstructured IS. Exist- to normalize the vocabularies in tuples. Stemming of
ing ontology automatic construction models extract the words is to remove affixes and reduce inflected
knowledge tuples from each sentence of unstructured (or sometimes derived) words to their stem. Synonym
IS. This approach neglects the context information is a unified process for a vocabulary set which has
in paragraph and paper. Therefore, we propose the the same meaning in linguistics; we use one word
CIB tuple extraction algorithm to extract tuples with to represent other words in a vocabulary set (e.g.,
context information from unstructured files. In addi- measure, quantity, amount, evaluate,and standard
tion to extract triple tuples from each sentence based constitutes a synonyms set; we will use measure to
on NLP algorithms, we will extract the core concepts represent other words in tuples). This operation will
International Journal of Distributed Sensor Networks 5

provide a unique and standardized form for each automatic construction. According to the structural degree
vocabulary in tuples. of information sources in IOT environment, we divided
(3) In the upper-ontology module, we investigate the the information sources into two categories: unstructured
existing IOT domain ontologies and select SSN as information and structured information. For unstructured
our upper ontology. In order to make full use information sources, we introduced the context information
of the most general concepts in IOT domain and into tuples and propose the context-information-based
support the interoperability with other ontologies, (CIB) knowledge-tuple extraction algorithm; for structured
we need to select IOT domain ontologies as our information sources, we use the resource description as
upper ontology. But existing automatic construction representative and propose the resource-description-based
models mostly neglect the interoperability between (RDB) knowledge-tuple extraction model.
ontologies and skip this step. We collect more than ten
IOT domain ontologies such as SSN, CSIRO, MMI, 3.2.1. Context-Information-Based Knowledge-Tuple Extrac-
and CESN. Through evaluating them in five aspects tion. The unstructured information source refers to informa-
(key concepts, author, status, complexity, and cited), tion that either does not have a predefined data model or
we choose the SSN as our upper ontology. is not organized in a predefined manner, such as text and
(4) In the similarity module, we calculate the structure web page, which is the most common type of information we
similarity between concepts in tuples and merge the contact. The unstructured information provides a knowledge
similar concepts to constitute a connected IOT ontol- source for tuple extraction. Existing ontology automatic
ogy. Because the knowledge tuples in tuple extraction construction models commonly use the natural language
module are discrete, thus, the tuples cannot constitute processing algorithms to extracted knowledge tuples from
a knowledge network and cannot be used for human each sentence of information source. At the same time,
or machines to understand the relevant knowledge they neglect the impact of the context information on
of a concept. Existing approaches use the linguistic tuples. Because the concepts in tuples will map the concepts
similarity of vocabularies to merge synonyms and in ontology, thus, the loss and error of information in
neglect the scene that the same word in different con- extraction process will be preserved permanently. Therefore,
texts has different meanings and represents different we propose a context-information-based knowledge-tuple
concepts. Take into account that we add the multilevel extraction algorithm. Our algorithm consists of two parts:
context labs into tuples in tuple extraction module obtaining the triple knowledge tuples through natural lan-
and each concept in tuples is expressed with a vector. guage processing algorithms and then in order to retain the
Thus the structure of vector will reflect the context context information in tuple, we extract the core concepts of
information of concepts in tuples; we propose the paragraphs and papers based on the chapter’s titles and largest
TSB similarity algorithm to calculate the structure contiguous frequency statistics and then we make the core
similarity between concepts. Our ontology construc- concepts as the context labels and add them into triple tuples
tion model is an incremental construction model. We and retain the context information with concept prefix.
iterate the ontology through adding new knowledge In the first part, we use the natural language processing
tuple to existing ontology constantly. Thus we need algorithm from Stanford CoreNLP to carry out syntactic
to extract contrast vector from ontology; then we analysis for each sentence. We will take raw English language
need to make the concept in new tuple as object text input and give the base forms of words and their parts of
vector and use the longest common subsequence speech, whether they are names of companies, people, and
(LCS) between vectors to get structural similarity part so forth or normalize dates, times, and numeric quantities
between two vectors. Through calculating informa- and we will mark up the structure of sentences in terms of
tion content (IC) in structural similarity part, we can phrases and word dependencies and indicate which noun
quantify the structural similarity between two vectors phrases refer to the same entities. Stanford CoreNLP is an
and provide evidence for merging similar concepts. integrated framework, which makes it very easy to apply a
Through merging the similar concepts, we can iterate bunch of language analysis tools to a piece of text. Its analyses
the IOT ontology constantly. provide the foundational building blocks for higher-level
and domain-specific text understanding applications. For
Therefore, a closed loop for ontology construction is example, for the sentence: “Common data formats include
formed in the proposed approach. We will expound each XML and json.” The Stanford parser produces the following
module and related algorithm in subsequent sections. representations in Figure 2.
Based on the syntactic analysis consequence above, we
3.2. Knowledge-Tuple Extraction Algorithm. Knowledge use Trunk (Trunk provide rules to extract subject-predicate-
tuples use concepts and relationships to describe the object tuple from syntactic analysis consequence) to extract
domain knowledge; they are the basic unit in ontology triple tuples. In this example, we extract four tuples from
construction. The concepts in knowledge tuples will map syntactic analysis on the right of Figure 2. These tuples use the
the concepts in ontology; the loss and error of information subject-predicate-object structure to carry knowledge and
in extraction process will be preserved permanently; thus, provide basic units for ontology construction. But each tuple
the tuple extraction model is an important part in ontology in this part only carries the knowledge from one sentence,
6 International Journal of Distributed Sensor Networks

Formats property based on the multilevel chapters and construct multilevel


NNS(root) Format Data prefix for each concept in tuples. At the same time, the
property
calculated amount to maintain the maximum level is bearable
include Format Common (it will not cause the change in computational complexity).
VGB(perp) The titles of upper and lower sections meet the one-to-many
Common Data
JJ(amod) NNS(nn) include relationship (parent-child relationship), in order to provide
XML Format json
NN(pobj)
more information for the following similarity calculation, the
include concepts’ prefix can use ordered vector to retain the parent-
and json Format XML child relationship information. Use the sentence in Figure 2
CC(cc) NN(conj) as an example; we can calculate the concept with largest
contiguous frequency in second-level chapter as “sensor” and
Figure 2: Syntactic analysis and triple tuples. first-level chapter as “IOT.” We can extract the concepts in
triple tuples as in Figure 3.
We can achieve the CIB knowledge-tuple extraction as
in Algorithm 1. At the same time, we open a test interface
we can use the tuples in Figure 2 as examples; xml is a data
in our prototype system to extract tuples from unstructured
format, but we will never know if this format is used in sensor
information sources: http://42.121.104.18:8002/elements/
or gateway. Actually, the concept of a word is determined by
show/nlpTuple.
the entire paper; thus, we introduce the context lab to retain
paper’s information into tuples.
In the second part, we extract multilevel core concepts 3.2.2. Resource-Description-Based Knowledge-Tuple Extrac-
in paragraph and make them as prefix for concepts in tuples tion. IOT environment includes various resource descrip-
to retain context information. Here we can also use the tions, which are a type of structured documents. Resource
long tuple to retain the context information in context. We description has been used to describe various IOT resources
use two tuples device-has-name-is-sensor and location-has- such as device and data; we list a resource description for
name-is-china, for example, “device” and “location” are the sensor in Figure 4; it describes various attributes and values
core concepts in two paragraphs; it has the same redun- for a Temp sensor. We use the Xively (previously Pachube,
dancy compared with (device name)-is-(device sensor) and one of the most famous IOT platform) as an example; it
(location name)-is-(location name china), but consider the has more than twenty thousand of resource descriptions
common ontology format is owl and it inherited the triple and exceeds the number of characters in other pages in
description framework from rdf, thus, it will split the long this website. This helps to obtain a more comprehensive
tuple “device-has-name-is-sensor” and “location-has-name- knowledge for tuple extraction. Existing ontology automatic
is-china” into four triple tuples: “device-has-name,” “name-is- construction models commonly neglect this type of informa-
sensor,” “location-has-name,” and “name-is-china.” Because tion source. Therefore, we propose a resource-description-
the center concept “name,” we will get the wrong inheritance based knowledge-tuple extraction model. Compared with
between “location” and “sensor.” Thus we give up the long unstructured information, resource description has a tree
tuple and use the way of concept prefix in tuples. The models schema to describe the structure of documents and uses
to extract core concepts from unstructured documents can be the key-value pair like “<Name>Temp sensor</Name>” in
divided into two types, The first type makes the original chap- Figure 4. The tree schema has been constructed by the
ter titles in documents as core concepts. When a document IOT experts and provides an explicit superior-subordinate
has clear chapter titles, titles are the summary of paragraphs relationship; at the same time, we can extract subject-
by author. The parent-child relationship between titles are the predicate-object tuples conveniently based on the key-value
reflection of expert knowledge which have high reliability. At pair. According to statistical analysis, the vocabularies in
the same time, the extraction process is simple and has a small structured information are more concise and close to the
computation overhead. The second type is to extract core topic. This will reduce the redundancy for ontology from
concepts from chapters through data mining. Because some uncorrelated words.
documents do not have chapter titles, we need to use data Figure 4 is a resource description file in xml format;
mining to extract the core concepts. the Centrality of graph to based on the W3C’s definition document, xml is a markup
extract the core concepts from concepts map are commonly language with key-value model and tree structure. An xml
used. We use the degree centrality to extract 62 core concepts element is everything from (including) the element’s start
from 5 IOT scientific papers; more than 70% core concepts are tag to (including) the element’s end tag; xml elements can
the same with the chapter titles; thus, degree centrality can be have attributes in start tag. The attributes provide additional
used as a supplementary means to extract the core concepts. information about an element; the key-value model of xml
We use these core concepts as context labs and add these defines the relationship between element and value; the tree
labs into concepts in tuples as multilevel prefix. Through the structure of xml defines the parent-child and brothers rela-
research on IOT scientific papers and technical documents, tionships between elements; it determines the one-to-many
more than 95% of the levels of document sections are less than relationship (parent-child relationship in data structure)
5. In order to obtain the complete context information of each between upper and lower elements in resource description.
concept, we will extract core concepts for each paragraph Based on the research of resource description files in existing
International Journal of Distributed Sensor Networks 7

property property
IOT sensor format IOT sensor data IOT sensor format IOT sensor common
include include
IOT sensor format IOT sensor json IOT sensor format IOT sensor XML

Figure 3

Input: text
Output: context tuples
texts.each do paragraph𝑖 (from paragraph1 to paragraph𝑀 )
paragraph𝑖 .each do sentence𝑗 (from sentence1 to sentence𝑁 )
tuple = NLP(sentence𝑗 )
Put tuple into tuple group𝑖 .
end
Extract core concept as context lab𝑖 from tuple group𝑖 .
Add context lab𝑖 into each tuple in tuple group𝑖 .
end

Algorithm 1: CIB tuple extraction.

IOT platforms, the upper and lower elements in resource property. For example, for the nodes “Sensor,” “Tags,”
description mostly have the parent-child or concept-property and “Temp” in Figure 4, we can extract ternary tuple
relations. Considering the property is a partial description of “Sensor has Tags Temp.”
the concept, we can build parent-child relationship between (3) The relationship between tag-name and tag-value
upper and lower elements. in the same level is Value. For example, for the
We can divide the elements of resource description into tag-name “Name” and tag-value “TempSensor” in
four categories: tag-name (like Sensor and Name), this kind Figure 4, we can extract ternary tuple “Name has
of elements is determined by xml schema and has a tree value Temp sensor”.
structure; in the same xml schema, tag-name and its structure
are relatively stable; tag-value (like Temp sensor and Huawei), Based on the extraction rules above, we can extract triple
this kind of element is determined by specific resource and tuples from resource description files. But triple tuples only
often different between different xmls; tag-property (like Tags retain the relationship between two layers and give up the
and ID), this kind of element is determined by xml schema multilevel parent-child relationships in resource description;
and its structure is relatively stable in the same schema; tag- this results in a loss of context information. Thus we need
property-value (like Temp and 12), the same as tag value, the to add the context information into triple tuples and retain
elements are determined by specific resource and are often the context information with concept prefix. We extract the
different between different xmls. fourteen tuples in Figure 4 as in Figure 5.
Based on the elements category above, we can analyze the We can achieve the RDB knowledge-tuple extraction
relations between elements and divide the relations into four algorithm as in Algorithm 2. At the same time, we open a test
kinds: hierarchical relations between tag-names, they have interface in our prototype system to extract tuples from XML:
been determined by the structure of xml schema; one-to- http://42.121.104.18:8002/elements/show/xmlTuple.
one correspondence between tag-name and tag-value, they
have been determined by specific resource; one-to-many cor- 3.3. Tuple Normalization. Tuple normalization converts
respondence between tag-name and tag-property, they have words from tuples into normal format that can be used by
been determined by the structure of xml schema; one-to- the subsequent steps in ontology construction. It reduces
one correspondence between tag-property and tag-property- inflected words to their stems, achieves synonyms of each
value, they have been determined by specific resource. word for each tuple, and finally normalizes the expression
By integrating tag-name ⇔ tag-property and tag-property ⇔ of synonyms that are the basis for further operation. In this
tag-property-value, we can get three kinds of relations and study, the tuple normalization involves the two processes of
define three rules to extract tuples from xml. word stem and synonym.
(1) The relationship between upper and lower tag-names (1) Word stem: stemming is the process of reducing
is Subclass. For example, for the tag-name “Sensor” inflected (or sometimes derived) words to their stem,
and tag-name “Name” in Figure 4, we can extract base, or root form. For example, measure is the stem
ternary tuple “Sensor has subclass Name.” for {measuring, measured, measurement}. Stemming
(2) The relationship between tag-name, tag-property and of the remaining words is to remove affixes (i.e.,
tag-property-value in the same level is corresponding prefixes and suffixes), such that the extraction of
8 International Journal of Distributed Sensor Networks

Sensor Tags: Temp


<?xml version=“1.0” encoding=“utf-8”?> ID: 12
<Sensor Tags=“Temp” ID=“12”>
<Name>Temp sensor</Name>
<Vendor>Huawei</Vendor>
<Power> Power Location
<AD>Null</AD>
<CD>5V</CD> Name Vendor
</Power>
<Location> Longitude Latitude
AC DC
<Longitude>116.36</Longitude>
<Latitude>39.94</Latitude> Temp
Huawei
sensor
</Location>
</Sensor> 116.36 39.94
5V

Figure 4: Resource description in IOT.

subclass subclass subclass subclass


Sensor Name Sensor Power Sensor Vendor Sensor Location
value subclass subclass
Sensor Name TempSensor Sensor Power AC Sensor Power DC
value value value subclass
AC Null DC 5V Sensor Vendor Huawei Sensor Location Longitude
subclass value value
Sensor Location Latitude Sensor Latitude 116.36 Sensor Latitude 39.94

Figure 5

concepts and relations containing syntactic varia- which describes very general concepts that are the same
tions of the terms is allowed. The Porter Stemming across one domain. Selecting an appropriate existing domain
Algorithm [19] is used in this research to stem text. ontology as the upper ontology will make full use of knowl-
We open a test interface in our prototype system: edge in existing domain ontology. At the same time, the
http://42.121.104.18:8002/elements/show/stem. different ontologies which face different systems will have a
unified upper ontology. The concepts in different ontologies
(2) Synonym: synonym is a unified process for a can be built relations based on the unified upper ontology; it
vocabulary-set which have the same meaning in realizes the knowledge sharing across different systems.
linguistics; we use one word to represent other words In this section we collect and collate existing IOT ontolo-
in a vocabulary-set. This operation will provide a gies and formulate an assessment program and select the
unique and standardized form for each synonym- appropriate domain ontology as our IOT upper ontology
vocabulary-set; it will provide convenient for the tuple in construction. IOT ontology has a rapid development in
similarity algorithm. In IOT environment abbrevia- recent years. W3C and other organizations and individuals
tion is the most common type of factors which gener- construct a dozen of upper ontology; all these ontologies are
ate synonyms, such as “Internet of Things” and “IOT” not for a specific IOT system; they describe IOT concepts
are considered as the same concept and their relations and relationships from different angles. These ontologies
belong to the equal concept. WordNet dictionary generally make the “device” and “observation” as their core
provides a comprehensive collection of English syn- concepts, then expand the concepts based on the device
onyms and defines a unique identifier “id” for each type, capacity, properties and observation type, precision,
word. Therefore we use WordNet as the standard, and and so forth. We collected the famous IOT ontology
making the word which has the minimum id in each in Table 1 and evaluate them in five aspects (key concepts,
synonym-vocabulary-set as the unique form for the author, status, complexity, and cited). The “key concepts” can
set. We open a test interface in our prototype system: reflect the emphasis and scope of concepts for an ontology;
http://42.121.104.18:8002/elements/show/synonym. we will select the upper ontology based on coincident degree
between “key concepts” and our IOT system. The “author”
3.4. IOT Upper Ontology. Upper ontology (also known as a reflects the authority of ontology. The “status” of ontology
top-level ontology or foundation ontology) is an ontology includes developing, maintaining, and ceasing; it will reflect
International Journal of Distributed Sensor Networks 9

Input: xml
Output: context tuples
xml.each do element𝑖 (from element1 to element𝑀 )
tuple = xml rules(element𝑖 )
Extract context lab into tuple.
end

Algorithm 2: RDB tuple extraction.

Table 1: IOT ontology.

Ontology name Key concepts Author Status Complexity Cited


SSN Stimulus, sensor, and observation W3C Incubator Maintained Complicated Yes
CSIRO Sensor and process. Michael Compton Developing Simple None
MMI Device, capability, and property Luis Bermudez Developing Ordinary None
CESN Sensor and physical property. Holger Neuhaus Cease Simple None
SWAMO Platform, process, and observation John Graybeal Developing Complicated Yes
A3ME Device, data, service, and capability Arthur Herzog Maintained Simple None
OntoSensor Sensor, capability, and measurand Danh Le Phuoc Cease Complicated Yes
OBOE Observation, context, value, and measurement Kevin Page Maintained Simple None
SeReS Feature and result and observation Krzysztof Janowicz Developing Complicated Yes
SemSOS Observation, process, feature, and phenomenon Cory Henson Maintained Ordinary None
Sensei O and M Observation, data, process, and service Payam Barnaghi Cease Simple None
OOSTethys Process, system, and observation Luis Bermudez Developing Ordinary Yes
SERONTO Abstract, physical, and reference Laurent Lefort Cease Complicated Yes

the degree of perfection and stability for an ontology; we will minimal, common ground for heavy-weight ontologies for
select the ontology which has a high degree of perfection and the Semantic Sensor Web, as well as to explicitly address the
stable maintenance as our upper ontology. The “complexity” need for light-weight semantics in the Linked Data cloud.
reflects the amount and granularity for IOT knowledge in Upper ontology will serve as the initial ontology for
ontology; we hope the upper ontology has a fine-grained and ontology automatic construction; we will supplement the
hierarchical knowledge system. The “cited” will reflect the upper ontology with normalized knowledge tuples through
degree of recognition in IOT domain. algorithms in the next section. Increasing the scope of
We analyze Table 1 and get conclusions as follows. These ontology knowledge gradually achieves the semantic repre-
domain ontologies mostly make “sensor” and “observation” sentation for IOT system finally.
as their core concepts. In terms of author, only the SSN has
been built by authoritative W3C Incubator; other ontologies
all have been built by individual; there are four ontologies 3.5. Similarity Algorithm. In this section, we need to calculate
maintained state; they have a high degree of perfection and the similarity between concepts in tuples and merge the
stable maintenance. In the aspect of complex, we tend to similar concepts to constitute a connected IOT ontology.
the ontologies with complicated ratings, these ontologies Because the knowledge tuples in tuple extraction module
have a fine-grained description for domain knowledge and are discrete; thus, the tuples cannot constitute a knowledge
have been built with an integrated hierarchy. In the aspect network and cannot be suited for human or machines to
of quote, there are six ontologies that have been quoted by understand the relevant knowledge of a concept. Existing
other ontologies and systems; they have a high degree of approaches use the linguistic similarity of vocabularies to
recognition. Taking these conditions above, we choose the merge synonyms and neglect the scene that the same word
SSN [20] ontology which has been built by W3C Semantic in different contexts has different meanings and represents
Sensor Network Incubator group as our upper ontology. different concepts. Taking into account that we introduce
Central to SSN is the Stimulus-Sensor-Observation ontology multilayer context labs into concepts in Section 3.2, thus,
design pattern. The pattern links sensors, what they sense, we propose an aggregation similarity algorithm (TSB) to
and the resulting observations, encompassing three of the calculate the similarity between concepts.
four perspectives—the missing system perspective is more Similarity (ontology alignment) is an important research
about system organization and deployments than sensing but point in ontology construction; it will affect the accuracy of
clearly links the pattern. The SSO has been developed as the concepts and relations in ontology directly. In general
10 International Journal of Distributed Sensor Networks

[21], the similarity measure can be categorized in lexical, extract a contrasted concept-set in existing ontology which
linguistic, and structural measures. is similar to the concepts in new tuple, and then building a
contrasted vector group based on the concept-set and making
(1) In lexical measures, there are a number of string the concept in new tuple as object vector and using the
distance methods such as Levenshtein distance [22], longest common subsequence (LCS) between object vector
Jaro-Winkler distance [23, 24], and smoa distance and contrasted vector to get structural similarity part between
[25]. And based on [25], the smoa distance is shown two vectors. Through calculating information content (IC)
to be the most performing distance for the ontology in structural similarity part, we can quantify the structural
alignment problem (the smoa distance takes into similarity between two vectors and provide evidence for
account both commonalities and differences charac- merging similar concepts. Through merging the similar
terizing the entities at issue). We took into account the concepts and adding new concepts, we can iterate the IOT
following two questions: the relations between words ontology constantly.
string similarity and words similarity, computational
complexity. First the words string similarity cannot
fully reflect the similarity between words, such as 3.5.1. Contrasted Concepts Extraction. Contrasted concepts
apply, application, and apple. With smoa distance, are the concepts of existing ontology which are linguistically
apple has been closer to apply. But in fact, apply and similar to the object concept of new tuple; they will be used
application have the same stem “apply” and they are to calculate the structural similarity. Take into account that
more similar. In addition, smoa distance increases we add multilayer context labs into concepts in Section 3.2
the amount of calculation in a large number. Thus and normalize the vocabularies in Section 3.3, thus, when
based on the research of two aspects above, we used we calculate the linguistics similarity between object concept
the stem treatment for all words and then with the and concepts in existing ontology, we only need to estimate
fully matched comparison, we can get the similarity whether the concepts have the same postfix. If two concepts
relations between lexical effective. have the same postfix, we consider that they are in linguistics
(2) Linguistic measure computes the similarity between similarity. Through extracting the contrasted concepts in
ontology entities by considering linguistic relations existing ontology, we can calculate the structural similarity
such as synonymy and hypernym. We used the syn- between object concept and contrasted concept, then merge
onym treatment which based on WordNet dictionary the similar concepts or supplement new concepts into ontol-
deals with the linguistic measure in Section 3.3. ogy.
(3) The structural similarity measure generally refers to Based on the extraction algorithm in Section 3.2, each
the hierarchy distance measure [21] (based on the new tuple is composed of two types of elements: concept
subsumption relation between classes in ontologies). with hierarchy labels and relationship. We use the tuple
And it solved the scene that the same word in dif- (A B C1 )-(P1 )-(A B C2 ), for example; it contains two con-
ferent contexts has different meanings and represents cepts “A B C1 ” and “A B C2 ”; each concept has two-level
different concepts; we proposed two knowledge-tuple context lab “A” and “B.” We use the “A B C1 ” as object
extraction methods in Section 3.2 and these two concept. Because the linguistic similarity only relates to
extraction methods all retained the structural infor- postfix “C1 ”; thus, we will extract the concepts in existing
mation in knowledge-tuple. Based on these above, we ontology which have the same postfix “C1 ” and construct the
propose a tuple-structure-based similarity algorithm contrasted concept-set. (In order to support the structural
(TSB) in Section 3.5.2. similarity comparison, when we add a new concept into
ontology, we need to retain the context information for this
Our ontology construction model is an incremental concept in ontology. Thus we will assign a unique identifier
construction model. We iterate the ontology through adding for each concept in ontology. One unique identifier could
new knowledge tuple to existing ontology constantly. Because correspond several express forms and each form will have the
the SSN (upper-ontology) covers the general concepts that same postfix.) In order to facilitate the structure similarity
are the same across IOT domain, our automatic construction calculation, we transform the object concept and contrasted
model makes SSN as the initialize ontology, and then expands concept into ordered vectors. Because one object concept
the concepts and relations through extracting new knowledge could correspond to several contrasted concepts in ontology
tuples. When we expand the existing ontology, we need to and each contrasted concept could have several express
identify whether the concept from new tuple can be merged forms, thus the contrasted concept-set can be represented by
with existing concepts in existing ontology or added as a new a two-dimensional vector group. We use the object concept
concept based on similarity calculation between concepts. In “IOT sensor name” as an example, we assume that there are
structure similarity calculation, we transform the concepts three concepts named “name” with different “ids” in existing
with multilevel context labs into vectors and assess the ontology; each concept has several express forms and we list
structure similarity between vectors. Before we compare the the vector group in Figure 6. Each row in the vector group
structural similarity, we need to extract contrasted concepts reflects various express forms for a concept in ontology.
based on linguistics from existing ontology. Therefore, we can Through the combination and calculation above, we
divide the structure similarity algorithm into the following transform the structural similarity comparison between con-
two parts: making the linguistic similarity as metrics and cepts in new tuple and existing ontology into the comparison
International Journal of Distributed Sensor Networks 11

Ontology
Device Name(379) ID: 379 [Sensor name] [device sensor name] [device name]

Thing Location Name(267) ID: 267 [Location name] [description location name]

Data Name(482) ID: 482 [Data datapoint name] [data list data name] [data name]

Figure 6: Contrasted vector group.

between object vector and arbitrary vector in a contrasted Here we need to calculate the similarity between tuple
vector group. vector and arbitrary vector in the vector group. Through
LCS(V1 , V2 ), we can get the number of the same concepts
3.5.2. Vector Similarity Algorithm. Through constructing the directly and it reflects the same portion of two vectors. But
contrasted vector in Section 3.5.1, we transform the struc- any pair of vectors with the same LCS will result in exactly the
ture similarity comparison between new tuple and existing same similarity value. Therefore we need to measure the ratio
ontology into similarity comparison between object vector between the common information and all information. In (1)
and arbitrary vector in a contrasted vector group. In order all information is a fixed value and reflects the information
to integrate structural similarity into similarity algorithm, we of universal set. But in our algorithm all information only
use the longest common subsequence (LCS) between vectors reflects the total information of two vectors and it will be
to get structural similarity part between two vectors. Through changed with vectors. We can get vector similarity algorithm
calculating information content (IC) in structural similarity as follows:
part, we can quantify the structural similarity between two LCS (V1 , V2 )
vectors and provide evidence for merging similar concepts in IC (LCS (V1 , V2 )) = − log ( ). (3)
V1 ∪ V2
the following.
The longest common subsequence (LCS) of two vectors Then we need to merge similarity concepts based on
states the similar parts of information provided by the vector similarity and threshold. According to the contrasted
two vectors. A proper quantification of the LCS of vectors vector group in Figure 6, each row in the vector group reflects
improves the degree of structural similarity between vec- various express forms for a concept in ontology. We can
tors. References [26–28] put forward their own similarity divide the similarity computation results into three types:
algorithm that combine LCS and information content (IC). first type, there is not a vector similar to object vector in
Reference [29] proposed evaluating the IC of the least contrasted vector group, we will add the object concept into
common subsumer of the compared concepts (LCS(𝑐1 , 𝑐2 )) as ontology as new concept; second type, there is only one row
the representative of this shared information. The LCS of a which has vector similar to object vector in contrasted vector
pair of concepts is the most specific common ancestor that group, we will merge object concept with the concept which
subsumes them; it is found in the taxonomy to which they corresponding to the one row, at the same time we add the
belong. If the two concepts are not taxonomically connected new express form into this row in group; third type, there are
and the LCS does not exist, they are considered maximally more than one row which have vector similar to object vector
different. Otherwise their semantic similarity is computed as in contrasted vector group, we need to merge all similar
the amount of IC provided by the LCS. concepts and merge the corresponding express forms.
Consider In the third type, the new concept will change the
sim[29] (𝑐1 , 𝑐2 ) = IC (LCS (𝑐1 , 𝑐2 )) . (1) partial structure of existing ontology. The similarity threshold
defines the maximum similar distance between vectors, but
With [26]’s metric, any pair of concepts with the same each concept in ontology does not define its absolute standard
LCS will result in exactly the same similarity value. To better express forms (centre); therefore, the similar space for a
differentiate concepts, both [27, 28] also consider the IC of the concept is a dynamic space with the change of concept’s
compared terms into the equations. Reference [27] measures express forms. With the expanding of express forms for a
the similarity as the ratio between the common information concept, the similar space is also increasing. We can get
between concepts (i.e., IC(LCS)) and the information needed the edge distance between multiple concepts based on the
to fully describe them (i.e., the IC of each concept alone). similar space of each concept in ontology; when the edge
Reference [28] proposed calculating the concept distance (the distance is smaller than the maximum diameter of the similar
opposite of similarity) as the difference between the IC of each space of new express forms, the new express forms may
concept and the IC of their LCS. cause the combination of multiple concepts in ontology and
Consider this is the occurrence of third type. With the extension of
2 × IC (LCS (𝑐1 , 𝑐2 )) concepts and express forms in ontology, the edge distance
sim[30] (𝑐1 , 𝑐2 ) = ,
(IC (𝑐1 ) + IC (𝑐2 )) between polysemous concepts will be reduced gradually.
Here some noise tuples (Because of wide range of information
sim[26] (𝑐1 , 𝑐2 ) = (IC (𝑐1 ) + IC (𝑐2 )) − 2 × IC (LCS (c1 , c2 )) . source, it is difficult to ensure that each tuple complies
(2) with the basic knowledge of IOT domain; some artificial
12 International Journal of Distributed Sensor Networks

Input: existing ontology,new concept


Output: new ontology
concepts(in existing ontology).each do concept𝑖 (from concept1 to concept𝑀 )
If concept𝑖 .postfix = new concept.postfix
concept𝑖 .forms.each do form𝑗 (from form1 to form𝑁 )
LCS (new concept,form𝑗 )
similarity (new concept,form𝑗 ) = − log ( )
new concept ∪ form𝑗
If similarity(new concept, form𝑗 ) ≥ threshold
Put concept𝑖 into merged group.
break
end
end
end
end
If merged group.size = 0
Put new concept into existing ontology as new concept.
elsif merged group.size ≥ 1
Merge new concept and all concepts in existing ontology into one concept.
Merge all forms for one concept.
end

Algorithm 3: Structure similarity.

nonstandard information will be used as tuples to iterate IOT atomic functions in basic component. Include searching
ontology) may cause the collapse (since the individual noise synonym, hypernym, and hyponym based on WordNet;
information led to the concept of the ontology polysemy removing stopwords; achieving stem based on [19]; seg-
merge, resulting in loss of information) of partial ontology menting Chinese Word; calculating tags based on random
concepts. This paper only presents this possible problem and walk; extracting knowledge tuple based on stanford-core-
does not make a detailed exposition. In future studies we nlp, XML,and ontology; building ontology in owl format
intend to supplement the merger control factor to control the based on knowledge tuples. All these functions have been
merging between polysemy concepts in ontology. open with restful API and we list them in Table 2 (detail in
We calculate the complexity of the structure similarity http://42.121.104.18:8002/api/api.pdf).
algorithm (Algorithm 3). When adding a concept, we sup- By invoking the APIs in Table 2, we assembled several
pose that the number of concepts in ontology is 𝑚, the types of automatic construction processes which adapt
number of concepts’ expression is 𝑛, and the length of the to different needs in complete process module. These
expression is 𝑡. We can calculate the time complexity as 𝑂(𝑚∗ processes include the upper-ontology-based approach for
𝑛 ∗ 𝑡 log(𝑡)). Consider the length of the expression does not automatic construction of IOT ontology in this paper
increase with the expansion of ontology; thus, 𝑡 log(𝑡) can (http://42.121.104.18:8002/services/show/two). Users can
be considered as a constant, and the time complexity can be enter the url of upper ontology, xml, and text in web page;
simplified as 𝑂(𝑚 ∗ 𝑛). then system will build an ontology by invoking all atomic
functions in Section 3.

4. Prototype and Evaluation


In this section, we build a prototype system and collect 4.2. Data Sources and Construction Result. We collect data
files from six IOT platforms. These files include platform source files which include platform introductions, technical
introductions, technical documents, and resource descrip- documents, and resource descriptions from six IOT plat-
tions. We put these files and SNS ontology into prototype forms. These files are expressed by text, web page, xml, or
system, select an appropriate threshold, and get the IOT json (as a structured document, json can be converted to xml)
ontology. Then we evaluate the ontology based on the experts’ and we classify the files based on data format and application
knowledge and evaluating system. scenarios in Table 3. The websites of six platforms are listed
below the table: Xively, previously Pachube, is a web service
which enables users to connect devices into platform and
4.1. Prototype System. We use ruby on rails to build the share data; Cloudsensing is our WOT platform; we put in
prototype system and deploy it in ubuntu environment with various sensors, controllers, and open data in each layer;
two 2.26 GHz Xeon processor and 4 G of memory. Proto- Evrythng, Thingspeak, and Yeelink are all IOT applications
type system includes two main modules: basic components which store and retrieve data from things using RESTful API.
and complete process. We have developed more than ten Exosite has a function to generate strategy; we can formulate
International Journal of Distributed Sensor Networks 13

Table 2: Basic components API.

Name URL Method Input Output


Word segmentation http://42.121.104.18:8002/elements/show/rmmseg POST text words
Stem http://42.121.104.18:8002/elements/show/stem GET word stem
Synonym http://42.121.104.18:8002/elements/show/synonym GET word synonyms
Hypernym http://42.121.104.18:8002/elements/show/hypernym GET word hypernyms
Hyponym http://42.121.104.18:8002/elements/show/hyponym GET text hyponyms
Remove stop words http://42.121.104.18:8002/elements/show/stopword POST text words
XML tuple http://42.121.104.18:8002/elements/show/xmlTuple POST urls tuples
NLP tuple http://42.121.104.18:8002/elements/show/nlpTuple POST text tuples
OWL tuple http://42.121.104.18:8002/elements/show/owlTuple POST urls tuples
OWL packaging http://42.121.104.18:8002/elements/show/owl POST tuples url

Table 3: Data sources.


Resource Type C1 C2 E1 E2 T Y Total
Platform introduction 2 1 1 2 1 7
Text
Technical document 3 1 1 1 1 7
Smart home 39 28 12 6 28 23 136
Smart agriculture 19 2 9 30
Energy monitor 57 8 13 78
Resource description
Air quality 64 23 17 7 12 25 148
Ocean Observations 13 13
Weather station 57 6 13 14 7 97
C1: Xively: https://xively.com/, C2: Cloudsensing: http://wot.cloudsensing.cn/
E1: Evrythng: https://dev.evrythng.com/, E2: Exosite: http://exosite.com/
T: Thingspeak: https://www.thingspeak.com/, Y: Yeelink: http://www.yeelink.net/.

events and responds which have been triggered by device data Table 4: Number of information sources and ontology.
in Exosite.
The six IOT platforms have a similar IOT platform Number of elements in
Number of information sources
Stage ontology
architecture; open resources in three levels: gateway, device,
and data. We collected 14 texts and 502 resource description Text Resource description Concept
files from the platforms. In order to get the relations between 1 3 100 1376
the number of imported information sources with the IOT 2 6 200 2197
ontology, we divide all information sources into five parts and 3 9 300 2507
import them into prototype gradually. At the same time, we 4 12 400 2847
make the SSN as upper ontology and it will serve as initial
5 14 502 3045
ontology for ontology automatic construction, the concepts
in SSN describes very general concepts that are the same
across one domain; thus, we consider the concepts in SSN as
unique (reflect the same concept in different contexts) in IOT IOT domain such as “gateway,” “device,” and “observation.”
domain, and the linguistic similarity will reflect the concept At the same time, they also reflect the features of six IOT
similarity. We can get the relation-table as in Table 4. platforms, such as “event” and “alert.” We use “device” and
Based on Table 4, we can get the conclusions as follows. “observation” as centre to unfold related parts of ontology
The number of concepts in ontology is increasing with the with protégé and get the views in Figures 7 and 8.
number of imported information sources, but the growth rate
is reducing gradually. Because of the unceasing expansion of 4.3. Ontology Evaluation. In order to evaluate the perfor-
ontology, there are a growing number of concepts in ontology. mance of the construction approach, we investigate the gen-
At the same time, the probability of finding a structure- eral method of ontology evaluation and define an assessment
similar concept in existing ontology with the new concept in scheme to estimate the effectiveness of IOT ontology. There
tuple is increasing constantly; therefore, the growth rate of are three main approaches to ontology evaluation.
concepts is reducing. After importing the 14 texts and 502
resource description files, the IOT ontology contains 3045 (1) Gold standard evaluation: this approach compares an
concepts totally. These concepts cover general concepts in ontology with another ontology that is deemed to
14 International Journal of Distributed Sensor Networks

Timezone Active time ID Device type


Device type
Thing
Storage
Thing Observation (SSN)
Device (SSN)
Alias
Connections Devices list
Interface
Attribute
Name
Node Resources Device info Serial number
Location
Port
GPS
Type Deploy info Address
Protocol
Model Owner
Longitude
Timestamp Manager Local coordinate
Resource

Illumination
Latitude Power
Unit Url Vendor

Figure 7: Construction result (device).

Description Created at Latitude


Thing Feeds Entry Id Longitude
UpdatedAt
ID
Observation name
Time
Feed Elevation
Channel Calculation
Value Name
Log Format
Units
Alert name
RID
Reference event Observation (SSN)
Alert Current value
Observation list
Event action Graph
Device (SSN)
Recipient Condition type
Event
Reference device Alias
Alert interval

Subject Reference obervation


Message Event name Comparison Constant

Figure 8: Construction result (observation).

be the benchmark. Typically, this kind of evaluation the domain of ontology learning because if a known
is applied to an ontology that is generated (semi- gold standard ontology exists then there is no need to
automatically or according to a learning algorithm) evaluate other ontologies.
to assess the effectiveness of the generating process.
Maedche and Staab [30] give an example of a gold (2) Criteria-based evaluation: this approach takes the
standard ontology evaluation and they propose ways ontology and evaluates it based on criteria [18] such as
to empirically measure similarities between ontolo- consistency, completeness, conciseness, expandabil-
gies both lexically and conceptually based on the ity, and sensitivity. It depends on external semantics to
overlap in relations. These measures determine the perform the kind of evaluation that only humans are
accuracy of discovered relations generated from their currently able to do, since it is difficult to construct
proposed ontology learning system compared with automated tests to compare ontologies using such
an existing ontology but are not so useful outside criteria [11]. These criteria focus on the characteristics
International Journal of Distributed Sensor Networks 15

All element Table 5: Precision and recall.

Resources Semantic Evaluation Precision Recall


Keywords
Our Contrastive Our Contrastive
Xml IOT ontology Precision/recall ontology ontology ontology ontology
Xml Related 1 87.43% 76.52% 34.43% 41.37%
element concepts
2 87.36% 76.29% 54.36% 55.29%
Figure 9: Architecture of task-based evaluation. 3 87.18% 76.78% 70.29% 70.54%
4 87.74% 76.32% 78.73% 78.83%

of the ontology in isolation from the application. So,


while ontology criteria maybe met, it may not satisfy
all the needs of the application even if some needs may types of open resource. The resources search in IOT
correspond with the ontology criteria. systems are performed for resource description files,
thus making resource description as the searched files
(3) Task-based evaluation: this approach evaluates an
that will conform to the IOT scene. We select 1∼
ontology based on the competency of the ontology
3 words from resource description to simulate the
in completing tasks. In taking such an approach,
user’s search input and put them into second step.
we can judge whether an ontology is suitable for
At the same time, all vocabulary set in resource
the application or task in a quantitative manner by
description will be imported into third step as an
measuring its performance within the context of the
ontology evaluation input.
application. The disadvantage of this approach is that
an evaluation for one application or task may not (2) In the second step, we achieve several concepts in the
be comparable with another task. Hence, evaluations ontology which are corresponding to the keywords
need to be taken for each task being considered. in first step, and then get their parent-child concepts
as semantic expand set. Then we make the semantic
Based on the above three types of evaluation methods, we expand set as an input and import it into third step.
can get conclusions as follows: existing ontologies describe
the basic concepts of IOT in a coarse-grained way, but (3) In the third step, we evaluate the ontology based on
because of the limitations of the artificial construct speed all vocabulary set in resource description (𝐺𝑤 ) and
and rapid development of IOT technology, these domain semantic expand set (𝐺𝑐 ) and get the precision and
ontologies lack a description for system features and emerg- recall index. Consider
ing concepts, and they are not suitable for direct use in our 𝐺𝑤 ∩ 𝐺𝑐
specific IOT system. Therefore they cannot support Gold Precision = ,
standard evaluation as the Gold standard; the IOT ontology (𝐺𝑤 ∩ 𝐺𝑐 ) ∪ (𝐺𝑐 − 𝐺𝑤 )
(4)
which we build contains thousands of concepts and relation- 𝐺𝑤 ∩ 𝐺𝑐
ships; it is too onerous for manual evaluation. And our IOT Recall = .
(𝐺𝑤 ∩ 𝐺𝑐 ) ∪ (𝐺𝑤 − 𝐺𝑐 )
system resources are increasing rapidly with the equipments
access to our IOT system; the ontology also is expanding
continually. We need an automated ontology evaluation In order to compare the ontology-based semantic search
method to evaluate the existing ontology in real time; thus, effects with different ontologies, we construct a contrastive
criteria-based evaluation is not suitable for our assessment ontology with traditional methods. We used the information
program; ontology can be used in many IOT scenes such as sources in Table 3 to ensure knowledge consistency. Then we
heterogeneous resource search and service development, and use the natural language processing algorithms to extracted
ontology-based semantic search is the basic task of various triple tuples from information sources. Through merge syn-
scenes; therefore, we can use the semantic search as the task onyms in tuples with the linguistic similarity of vocabularies,
for task-based evaluation, making precision and recall as we get the connected contrastive ontology.
the evaluation index, and achieving the automatic ontology We randomly select 100 resource description files from
evaluation. We built the task-based evaluation architecture information sources and make them as searching objects.
in Figure 9. Evaluation architecture mainly contains the According to statistical analysis with google, the situation
following three steps: importing a keyword from xml file which users enter 1∼4 keywords to search an object cover
which is to be searched, carrying out semantic expansion more than 95%. Therefore, we will randomly select 1∼3 key-
in IOT ontology based on the keyword, and calculating the words in each resource description and import the keywords
precision and recall between semantic expansion concepts into our ontology and contrastive ontology. Through getting
and all vocabularies in xml file which is to be searched. the parent-child concepts within 3 jump and direct properties
with keywords in ontologies, we can get two semantic expand
(1) In the first step, we choose the resource description sets as 𝐺𝑤1 (our ontology) and 𝐺𝑤2 (contrastive ontology).
files as the object to be searched. Resource description Then we collect all vocabularies in one resource description
is a kind of structured xml document, widespread as 𝐺𝑤 and calculate the precision and recall based on formula
in the IOT systems, and is used to describe various (4). We divide the evaluation table based on the number of
16 International Journal of Distributed Sensor Networks

improve the search recall well. Our opinions and methods in


this paper could be a starting point for automates construc-
tion which utilize various information source in IOT.
Keyword
Concept
Conflict of Interests
Figure 10: Architecture of task-based evaluation.
The authors declare that there is no conflict of interests
regarding the publication of this paper.
keywords and two ontologies, calculate the average values of
100 resource descriptions, and get precision-recall in Table 5. Acknowledgments
Based on Table 5, we can get the conclusions as follows.
Using the same ontology, precision remains unchanged as The work is supported by the National 3rd Key Program
the keywords increase. The precision of our ontology is 11% project (no. 2011ZX03005004-02) and Project on the Archi-
higher than the contrastive ontology’s. With the same ontol- tecture, Key technology research and Demonstration of
ogy, recall is increasing with the number of keywords, but Web-based wireless ubiquitous business environment (no.
the growth rate is reducing gradually. With the same number 2012ZX03005008).
of keywords, the recalls of two ontologies are the same. In
the aspect of precision, because of the contrastive group References
using triple tuples and linguistic similarity to construct the
ontology, some concepts inherited irrelevant upper concepts. [1] S. Steffen and S. Rudi, Eds., Handbook on Ontologies, Interna-
We use a couple of tuples as example: device-has-name-is- tional Handbooks on Information Systems, 2009.
sensor and location-has-name-is-china, if we use the way of [2] S. Hachem, T. Teixeira, and V. Issarny, “Ontologies for the
triple tuples, we can get device-has-name, name-is-sensor, internet of things,” in Proceedings of the 8th Middleware Doctoral
location-has-name, and name-is-china. After merging the Symposium (MDS ’11), 2011.
concept “name” based on linguistics, the “sensor” will inherit [3] M. Compton, P. Barnaghi, L. Bermudez et al., “The SSN ontol-
“device” and “location”; this will cause the decline in preci- ogy of the W3C semantic sensor network incubator group,” Web
sion; in the aspect of recall, with the increasing of keywords’ Semantics: Science, Services and Agents on the World Wide Web,
number, we can get more parent-child concepts within 3 vol. 17, pp. 25–32, 2012.
jump and direct properties in ontology; thus, the recall is [4] http://www.w3.org/2005/Incubator/ssn/wiki/Report Work
increasing. At the same time, with the increasing of keywords’ on the SSN ontology.
number, it is more possible to have an intersection between [5] M. Y. Dahab, H. A. Hassan, and A. Rafea, “TextOntoEx:
concept sets with different keywords. We reveal this situation automatic ontology construction from natural English text,”
in Figure 10; red point represents the keyword and blue point Expert Systems with Applications, vol. 34, no. 2, pp. 1474–1480,
represents the relevant concept in ontology; because of the 2008.
intersection between sets, the number of blue points does not [6] R.-C. Chen, J.-Y. Liang, and R.-H. Pan, “Using recursive ART
have a linear growth with red point. Therefore the growth rate network to construction domain ontology based on term
is reducing gradually. frequency and inverse document frequency,” Expert Systems
with Applications, vol. 34, no. 1, pp. 488–501, 2008.
5. Conclusions and Future Work [7] X. Hou, S. K. Ong, A. Y. C. Nee, X. T. Zhang, and W. J. Liu,
“GRAONTO: a graph-based approach for automatic construc-
An IOT ontology can help users and computers to grasp tion of domain ontology,” Expert Systems with Applications, vol.
the knowledge of IOT system. Rapid, accurate construction 38, no. 9, pp. 11958–11975, 2011.
of ontology has become an important topic for researchers [8] R. Subhashini and J. Akilandeswari, “A survey on ontology con-
working on semantic web. This paper proposed a new struction methodologies,” International Journal of Enterprise
architecture for ontology automatic construction: selected Computing and Business Systems, vol. 1, no. 1, 14 pages, 2011.
the appropriate existing domain ontology as the upper [9] I. Niles and A. Pease, “Towards a standard upper ontology,” in
ontology, made full use of knowledge in existing domain Proceedings of the International Conference on Formal Ontology
ontology and reduced the number of extracting new concepts in Information Systems (FOIS ’01), 2001.
and relationships; proposed the context-information-based [10] C.-W. Shih, M.-Y. Chen, H.-C. Chu, and Y.-M. Chen, “Enhance-
knowledge-tuple extraction algorithm and tuple-structure- ment of domain ontology construction using a crystallizing
based similarity algorithm and ensured the accuracy of con- approach,” Expert Systems with Applications, vol. 38, no. 6, pp.
cepts and relationships in ontology; proposed the resource- 7544–7557, 2011.
description-based knowledge-tuple extraction model and [11] C.-S. Lee, Y.-F. Kao, Y.-H. Kuo, and M.-H. Wang, “Automated
made full use of the structured information in IOT systems. ontology construction for unstructured text documents,” Data
We constructed a semantic search task-oriented ontology & Knowledge Engineering, vol. 60, no. 3, pp. 547–566, 2007.
evaluation architecture and evaluated different IOT ontol- [12] A. Zouaq, D. Gasevic, and M. Hatala, “Towards open ontology
ogy construction architectures from two aspects: precision learning and filtering,” Information Systems, vol. 36, no. 7, pp.
and recall. The construction architecture in this paper can 1064–1081, 2011.
International Journal of Distributed Sensor Networks 17

[13] M. Kamel and N. Aussenac-Gilles, “Ontology learning by


analysing XML document structure and content,” in Proceed-
ings of the Knowledge Engineering and Ontology Development
(KEOD ’09), pp. 159–165, Madère, Portugal, 2009.
[14] Y. Jung, J. Ryu, K.-M. Kim, and S.-H. Myaeng, “Automatic
construction of a large-scale situation ontology by mining how-
to instructions from the web,” Web Semantics: Science, Services
and Agents on the World Wide Web, vol. 8, pp. 110–124, 2010.
[15] D. Sánchez and A. Moreno, “Learning non-taxonomic relation-
ships from web documents for domain ontology construction,”
Data & Knowledge Engineering, vol. 64, no. 3, pp. 600–623,
2008.
[16] R.-C. Chen, C.-T. Bau, and C.-J. Yeh, “Merging domain ontolo-
gies based on the wordnet system and fuzzy formal concept
analysis techniques,” Applied Soft Computing, vol. 11, no. 2, pp.
1908–1923, 2011.
[17] A. Maedche and S. Staab, “Measuring similarity between
ontologies,” in Knowledge Engineering and Knowledge Manage-
ment: Ontologies and the Semantic Web, vol. 2473 of Lecture
Notes in Computer Science, pp. 251–263, 2002.
[18] http://ckip.iis.sinica.edu.tw/CKIP/engversion/index.htm.
[19] M. Porter, “An algorithm for suffix stripping,” Program, vol. 14,
no. 3, pp. 130–137, 1980.
[20] W3C, The SSN Ontology of the W3C Semantic Sensor Network
Incubator Group, 2011.
[21] G. Acampora, V. Loia, S. Salerno, and A. Vitiello, “A hybrid
evolutionary approach for solving the ontology alignment
problem,” International Journal of Intelligent Systems, vol. 27, no.
3, pp. 189–216, 2012.
[22] V. I. Levenshtein, “Binary codes capable of correcting deletions,
insertions, and reversals,” Soviet Physics—Doklady, vol. 10, no.
8, pp. 707–710, 1966.
[23] M. A. Jaro, “Probabilistic linkage of large public health data
files,” Statistics in Medicine, vol. 14, no. 5–7, pp. 491–498, 1995.
[24] W. Winkler, “The state record linkage and current research
problems,” Tech. Rep., Statistics of Income Division, Internal
Revenue Service Publication, 1999.
[25] G. Stoilos, G. Stamou, and S. Kollias, “A string metric for
ontology alignment,” in Proceedings of the 4th International
Semantic Web Conference (ISWC ’05), pp. 623–637, 2005.
[26] P. Resnik, “Using information content to evaluate semantic
similarity in a taxonomy,” in Proceedings of the 14th International
Joint Conference on Artificial Intelligence, (IJCAI ’95), C. S.
Mellish, Ed., vol. 1, pp. 448–453, Morgan Kaufmann Publishers,
Quebec, Canada, 1995.
[27] D. Lin, “An information-theoretic definition of similarity,” in
Proceedings of the 15th International Conference on Machine
Learning (ICML ’98), J. Shavlik, Ed., pp. 296–304, Morgan
Kaufmann, Madison, Wis, USA, 1998.
[28] J. J. Jiang and D. W. Conrath, “Semantic similarity based on
corpus statistics and lexical taxonomy,” in Proceedings of the
10th International Conference on Research in Computational
Linguistics (ROCLING ’97), pp. 19–33, Taipei, Taiwan, 1997.
[29] OGC SWE, OpenGIS Observations & Measurements Implemen-
tation Specification, 2007.
[30] W3C, Web Services Description Language (WSDL) 1.1, 2001.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 532049, 18 pages
http://dx.doi.org/10.1155/2014/532049

Research Article
An Effective Routing Protocol with Guaranteed Route
Preference for Mobile Ad Hoc Networks

Feng-Tsun Chien,1 Kuo-Guan Wu,2,3 Yu-Wei Chan,4 Min-Kuan Chang,2,3 and Yi-Sheng Su5
1
Department of Electronics Engineering, National Chiao Tung University, Hsinchu City 30010, Taiwan
2
Graduate Institute of Communication, National Chung Hsing University, Taichung City 402, Taiwan
3
Department of Electrical Engineering, National Chung Hsing University, Taichung City 402, Taiwan
4
Department of Information Management, Chung Chou University of Science and Technology, Yuanlin 510, Taiwan
5
Department of Computer Science and Information Engineering, Chang Jung Christian University, Tainan City 71101, Taiwan

Correspondence should be addressed to Yu-Wei Chan; ywchan@sslab.cs.nthu.edu.tw

Received 7 November 2013; Revised 7 February 2014; Accepted 7 February 2014; Published 20 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Feng-Tsun Chien et al. This is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.

Battery power and queue conservation are critical issues in mobile ad hoc network (MANET). These two factors not only affect
the delivery ratio but also the lifetime of the network. In this work, we will propose a simple and effective routing protocol to
extend the lifetime and to evenly distribute the traffic loads of the networks as possible. Furthermore, a concept of serving capacity
is introduced to reflect the level of congestion around a node. In this way, the proposed routing protocols can avoid network
congestion and achieve higher packet delivery ratios. The extensive computer simulation is conducted to compare the proposed
protocol against many existing routing protocols. The results show that the proposed routing protocol can have better performance
in terms of queueing length, lifetime, and packet delivery ratio and have comparable end-to-end delays.

1. Introduction when the queueing length of a node increases, the delay expe-
rienced by a packet arriving at this node increases as well. If
Recently, with the emergence of mobile applications [1–3], no measure is taken, the overflow occurs and the packets start
mobile ad hoc networks (MANETs) have attracted significant to get dropped. This degrades the performance of network.
research activities due to their flexibility. In MANETs, wire- In light of these, balancing the loading and avoiding the low-
less nodes form a temporary network without the help of any battery-power nodes to prolong the lifetime of the network
existing infrastructure and are allowed to move freely. Thus, are two important issues when designing a routing protocol
two arbitrary nodes, which would like to communicate with for MANET. These two issues inspire two main categories of
each other, may not be in the radio range of each other. In routing protocols, namely, the power-aware routing protocols
this case, direct communication is not possible. Therefore, a [7–12] and the queueing-aware routing protocols [12–15].
routing path consisting of other nodes in the networks has The power-aware routing protocols take the available
to be established before the actual communication can be battery power of nodes in the network as a whole and pay
ensured. In view of this, the routing protocol becomes the more attention to how to tap this resource in an efficient
key to the success of MANETs and has been an active field way and how to extend the lifetime of the network as
of research in MANETs [4–6]. much as possible. On the other hand, the queueing-aware
In MANETs, mobile nodes are battery-powered and have routing protocols use metrics as functions of the queueing
limited queue size. When a node falls short of battery power, length for helping search the route. The protocols in this
it would not be able to provide any service to other nodes in category mainly aim at distributing the traffic evenly over
the network. As the number of such nodes increases, to some the network and avoiding the selection of those nodes with
extent, the network becomes partitioned and communication longer queueing length as much as possible. Both categories
among some nodes cannot be possible. On the other hand, have their advantages and disadvantages. It would be more
2 International Journal of Distributed Sensor Networks

desirable if a routing protocol can take both the factors of battery power. To this end, much of the literature [7–10,
battery power and queueing length into account. The merits 24] proposed avoiding selection of the low-battery-power
of taking both factors into consideration have been shown in nodes. In these protocols, the mechanisms of route selection
[12]. are modified versions of [21, 22]. In the route searching,
In this work, we will propose a new metric to help us when an intermediate node receives a RREQ message, it
find a route with preferable remaining battery power level delays for a while to collect RREQ messages and selects
and queueing length. In addition, how to avoid the network the RREQ message with minimum cost. The cost of current
congestion [15–18] is also essential when selecting a route node is calculated and the cost of the RREQ message will be
for communication. Traditionally, the way to judge the level updated. Then, the node rebroadcasts the RREQ message
of contention is based on either the queueing length of a with minimum cost. The destination also selects the RREQ
node [15, 16, 19], packet drops [19], or delay [17, 18, 20].
message with minimum cost and replies an RREP message
However, the available bandwidth around a node can also
along the traversed path of selected RREQ message.
reflect the congestion around that node. The reason behind it
The main difference of the proposed protocols is the
is that the bandwidth in the wireless environment is a shared
medium. In power-aware routing protocols or queueing- design of the cost function. In [7, 8], the cost of the RREQ
aware ones, a node with higher remaining battery power message is the inverse of the summation of the remaining
or shorter queueing length would be selected with higher battery power of the traversed nodes. For [9, 10], the cost
chance. However, if the available bandwidth around this is the inverse of the minimum remaining battery power of
node is little, the network in this area will become congested the traversed nodes. Using either type of the cost, a route
and this will consequently degrade the performance of the with more remaining battery power can be found and the
network. We will introduce a concept of serving capacity to lifetime of the network can be prolonged. However, the main
prevent this from happening. disadvantage of the power-aware routing protocol lies in the
Section 2 will introduce some related works. Section 3 unbalanced usage of battery power of a node. The extension
shows the details of the proposed protocol. Section 4 presents of the network lifetime is achieved at the expense of extensive
the simulation results of the proposed protocol and other usage of battery power of those nodes favored by the metrics
protocols. The concluding remark is given in Section 5. adopted in those protocols.
Another category of prolonging the lifetime in the net-
2. Related Works work is to balance the loading of the nodes according to the
queueing length of the nodes [13, 14]. The rationale behind
In MANETs, many routing protocols were proposed and each the queueing-aware routing protocols is that the bottleneck
of them adopted its own metric to help select a suitable route of the network happens at nodes with high load and with
for a pair of nodes. Among these routing protocols, Ad hoc long queueing length. By distributing load more evenly
On Demand Distance Vector (AODV) [21] and Dynamic throughout the entire network, hot spots can be reduced
Source Routing (DSR) [22] are the most common routing and the lifetime of the network is expected to extend. The
protocols in MANETs due to their simplicity. AODV and assumption behind this is that the battery power of each
DSR have their merits and demerits [23]. Since the proposed node in the network is similar. When the remaining battery
routing protocol is based on AODV, a brief description of power of nodes is highly diverse, the advantage of queueing-
AODV will be given below. aware protocols is compromised. Thus, it is sensible to adopt
In AODV, the route discovery of these routing protocols a routing protocol considering both the remaining battery
is achieved by flooding the route request (RREQ) messages power and the queueing length of nodes in the network.
towards the destination node. When an intermediate node The work in [12] proposed a protocol which takes both
receives a RREQ message for the first time, it creates a remaining battery power and queueing length into consider-
reverse link to the upstream node of the received RREQ ation. They found that the lifetime can be further improved
message and rebroadcasts the RREQ message immediately. when using a metric as a function of both remaining battery
The later arrived RREQ messages will be dropped. When the power and queueing length. However, in these protocols [7–
destination receives the first RREQ message, it replies a route 10, 12–14], the available bandwidth around a node is not
reply (RREP) message to the source node along the traversed considered when choosing a route for a given communicating
route of the replied RREQ message and creates the forward pair. Thus, it may run into a situation where a node has
link. If the later received RREQ message has less hop counts abundant remaining battery power and available queue size
than the replied RREQ message, the destination node replies but little available bandwidth is chosen to provide service.
a RREP message again to tell source node using the shorter This will cause extra contention, incur unwanted packet
one. In this way, a route with the minimum hop counts can drops, and, as a result, induce additional delay. To avoid this,
be found. However, AODV does not take other factors such in this work, we will adopt a metric called serving capacity
as the remaining battery power and the queueing length into to help find a route with more available bandwidth. By
consideration when selecting a route for a pair of nodes. considering the battery power, queueing length, and serving
The objective of the power-aware routing protocols is to capacity, the proposed routing protocol can enjoy higher
prolong the network lifetime. The lifetime can be extended by delivery ratio, shorter queueing length, longer network life-
avoiding those nodes with low remaining battery power and time, and comparable end-to-end delay when comparing
directing the traffic to those nodes with abundant remaining with the existing protocols.
International Journal of Distributed Sensor Networks 3

3. The Proposed Routing Protocol the region around this node would be severer. Consequently,
if more traffic is injected into this region, it would be easier
We assume each node in the mobile ad hoc network is power- to get congested than the regions around those nodes having
limited and has limited queue size. Here, let 𝑃𝑖 be the remain- larger serving capacities. Therefore, the serving capacity in
ing battery power and 𝑄𝑖 be the current queueing length of this work is used to achieve two purposes: the first one is to
node 𝑖. 𝑃𝑖 and 𝑄𝑖 are normalized by the maximum battery decide whether a node can participate in a route discovery
power and maximum queue size, respectively. We assume and the second one is to be used to reflect the level of
that the maximum battery capacity and the maximum queue congestion around a node.
size of each node in the network are the same. We let the One of the goals of the proposed routing protocol is to
maximum receiving rate and the maximum transmission rate choose a route with less chance of the occurrence of conges-
of node 𝑖 be 𝑅𝑖𝑠 and 𝑅𝑖𝑡 , respectively. 𝑅𝑖𝑠 and 𝑅𝑖𝑡 may not tion. As mentioned above, the serving capacity can be used
be the same due to the effect of the channel. 𝑅𝑖𝑠 and 𝑅𝑖𝑡 to reflect the congestion level. Based on this, under what
can be determined by first evaluating the SNR of received conditions will a route have less chance of having congestion?
signals from the upstream node and the downstream one and First, let us see what happens if the serving capacities of
adopting the Shannon capacity to estimate the receiving and nodes along a route are similar. When the serving capacities
transmission rate. of nodes along a route are close, with high chance, the levels
The proposed routing protocol takes three factors into of congestion of nodes along the route would be similar
account. The first one is the transmitting or receiving capabil- as well. Nevertheless, under this situation, if the maximum
ity of a node, the second one is the minimum battery power serving capacity of this route is small, the likelihood of having
of a route, and the third one is the maximum queueing length congestion along the route would be high.
of a route. The first factor reflects the availability of a node. In addition, multiple points of bottleneck could occur
When either the transmitting or receiving capability of a node along this route. Thus, if we would like to choose a route
cannot support further request, a node will not participate in to avoid congestion occurring at multiple nodes, the chosen
the current route search. In this work, a serving capacity of route has to fulfill two conditions in terms of serving capacity.
a node is defined in the following section to judge whether The first condition is that the maximum serving capacity of
a node is able to respond to route requests. To extend the this route should be as large as possible. The second one is that
lifetime of a chosen route, it is necessary to search for a route the serving capacities of nodes along the chosen route should
whose minimum battery power should be as large as possible. be as similar as possible. This condition would lead to the
In view of this, the second factor is taken into account when ratio of the minimum and the maximum serving capacities
designing the proposed protocol. being as large as possible. To achieve these two conditions, we
However, with first two factors only, we can imagine that adopt the following metric to judge whether a route can pos-
those nodes having better serving capacity and higher batter sibly fulfill these criteria. Let Ψ𝑖 be the set of routes perceived
power will be chosen more often than those who do not. In by node 𝑖 for a given communicating pair and let Ψ𝑖𝑗 be the 𝑗th
this case, the queue could be built up at those nodes and route in Ψ𝑖 , which contains the information of the traversed
this would cause excessive queueing delay at those nodes. nodes up to node 𝑖. The proposed metric is defined as
To avoid this, the proposed routing protocol also would like
to find a route whose maximum queueing length can be Λmin
Ψ𝑖𝑗 Λmax ̃max
Ψ𝑖𝑗 /Λ Ψ𝑖
minimized as much as possible at the same time. In the ( ) exp , (1)
following subsections, we will first give the route selection Λmax
Ψ𝑖𝑗
criterion of the proposed routing protocol and its reason
behind following the route search mechanism and route where ΛminΨ𝑖𝑗 = min𝜅∈Ψ𝑖𝑗 Λ 𝜅 , ΛmaxΨ𝑖𝑗 = max𝜅∈Ψ𝑖𝑗 Λ 𝜅 , and
maintenance mechanism. ̃ max
Λ Ψ𝑖 = max𝑗 max𝜅∈Ψ𝑖𝑗 Λ 𝜅 . The metric in (1) serves two
purposes. The first term in (1) is called the service ratio of
3.1. Route Selection Criterion. In this subsection, we will the 𝑗th route perceived at node 𝑖 and is used to judge the
present the route selection criterion and the reason why we closeness of the minimum and maximum serving capacity of
choose such a criterion. We first define Λ 𝑖 = max{min{𝑅𝑖𝑡 − a given route up to the current node. When Λmin max
Ψ𝑖𝑗 and Λ Ψ𝑖𝑗 are
, 𝑅𝑖𝑠 − 𝑟̂𝑖 }, 0} as the serving capability of node 𝑖, where 𝑟𝑖̌
𝑟𝑖̌
close, the ratio between these two quantities will be close to
and 𝑟̂𝑖 are the current transmission rate and receiving rate,
one. Thus, as the service ratio becomes larger, the difference
respectively. The defined serving capacity is used to reflect the
between the minimum and maximum serving capacity
transmitting or the receiving capacity of a node. When the
normalized by the maximum serving capacity becomes
serving capacity is zero, it means that a node cannot support
smaller. However, using this ratio alone will lead to the
additional incoming or outgoing traffic. When this happens,
situation of choosing a small Λmax min max
Ψ𝑖𝑗 while Λ Ψ𝑖𝑗 /Λ Ψ𝑖𝑗 is large.
a node cannot participate in any further route requests. In
addition, since serving capacity indicates the level of traffic In addition, the purpose of the second term in (1) is to prevent
load of node 𝑖, it can also reflect the level of congestion around this situation from occurring too often. It is clear that the
second term is large when Λmax ̃max
a node. If a node has a smaller serving capacity, this means Ψ𝑖𝑗 is close to Λ Ψ𝑖 . This factor
that either its available outgoing rate or its available incoming will help us choose a route whose maximum serving capacity
rate is smaller. Compared to the regions around the nodes is close to the overall maximum serving capacity of all
with larger serving capacities, the level of the congestion of perceived nodes at an intermediate node or at the destination.
4 International Journal of Distributed Sensor Networks

Combining the above two terms, the metric would have with other existing criterions such as Max-Min power [7, 10],
the following properties. First, if two or more potential routes Min-Max queueing length [13, 14], Max average power [9],
have the same service ratio, the second term will guarantee and Min average queueing length [12]. The details of these cri-
that a route with higher maximum serving capability will teria for comparison can be found in the respective reference.
be selected. This means that the traffic will be directed to a In the simulation, we assume that the number of per-
route with less traffic and the congestion can be prevented. ceived routes at a node is 103 . In this way, we can obtain the
Secondly, if two or more potential routes have the same asymptotic behavior of those criteria. The remaining battery
second term, the first term ensures a route with higher service power and the queueing length of a node are randomly
ratio and it will be chosen. That is, the route with smaller chosen between 0 and 1. Then we observe the behavior of
discrepancy in the minimum and the maximum serving the service ratio, the minimum remaining battery power,
and the maximum queueing length of a chosen route under
capacities will be favored against those routes with larger
different route lengths. These results are shown in Figures
discrepancy when the second terms of (1) of different routes
1(a)–1(c). Figures 1(a)–1(c) show that the proposed selection
perceived at a node are the same. Thus, under this situation, criterion can select a route to find a balance point among
this metric routes the traffic towards area with lighter load the service ratio, the minimum remaining battery power, and
and bypasses the congestion region. These two properties the maximum queueing length. Furthermore, from Figures
suggest the proposed metric distributes the traffic load 1(a)–1(c), though Max-Min power and Max average power
evenly throughout the entire network by way of congestion have better minimum remaining battery power than the
speculation based on the serving capacities of nodes of routes. proposed criterion, their maximum queueing lengths are
The metric in (1) only serves to choose a route with larger higher than the proposed criterion. Thus, the advantage of
Λmin max max
Ψ𝑖𝑗 /Λ Ψ𝑖𝑗 and larger Λ Ψ𝑖𝑗 as much as possible. However, better minimum remaining battery power of these two crite-
the preference of a route in terms of battery power and rions is compromised by having longer maximum queueing
queueing length is not well addressed. To guarantee the route lengths. Longer maximum queueing length means more
preference, we adopt the following weighting function to battery power will be spent on transmitting queued packets.
help choose a route whose minimum and maximum serving Another example of the route chosen by the proposed
capacity can be close while its preference can be fulfilled. In criterion is illustrated in Figure 2. As shown in Figure 2, the
this work, the weighting function for the 𝑗th route perceived proposed criterion chooses a route, 𝑆-5-6-𝐷 for the source
at node 𝑖 is defined as node 𝑆 and the destination node 𝐷. It is clear from this
2 2
example that the proposed selection criterion can choose a
𝑗,min 𝑗,max
(𝑃𝑗,min − 𝑃TH ) (𝑄TH − 𝑄𝑗,max ) route to avoid the congested area of the network.
𝑓 (𝑃 ,𝑄 )= 2 2
, (2)
(1 − 𝑃TH ) (𝑄TH − 0) 3.2. Route Search Mechanism. The purpose of the proposed
where 𝑃TH and 𝑄TH are the preference of a route, 𝑃𝑗,min is routing protocol aims at finding a route to have minimal
the minimum battery power of the 𝑗th route, and 𝑄𝑗,max service ratio, larger minimum remaining battery power, and
is the maximum queueing length of the 𝑗th route. Also, smaller maximum queueing length as much as possible. To
𝑓𝑖 (1, 0) = 1, 𝑓𝑖 (𝑃TH , 𝑄𝑖 ) = 0, and 𝑓𝑖 (𝑃𝑖 , 𝑄TH ) = 0. This this end, the proposed cost function plays an essential role. As
weighting function gives a route whose minimum battery seen in the previous subsection, the proposed cost function
power and maximum queueing length are far away from is able to achieve these goals to some extent. Next, we would
like to describe the proposed routing protocol, which is com-
the respective thresholds, namely, 𝑃TH and 𝑄TH . In this
prised of the route search mechanism and the route mainte-
fashion, this proposed weighting function can help further
nance mechanism. We start with the route search mechanism.
differentiate routes in terms of their minimum battery power
It is worthwhile to mention at this point that the proposed
and the maximum queueing length. route search mechanism is based on AODV [21] with modi-
With the proposed weighting function and the metric, fications. The way to handle the creation of reverse link and
we define the cost of the 𝑗th route at an intermediate node, forward link and route reply is the same as AODV [21].
say node 𝑖, as Assume that node 𝑠 would like to establish a link with
𝐽 (𝑃𝑗,min , 𝑄𝑗,max , Λ 𝑖 ) node 𝑑. Node 𝑠 sends a route request (RREQ) packet out
to seek a route. Initially, this RREQ packet contains the IP
Λmin (3) address of node 𝑠, the destination IP address, the address
Ψ𝑖𝑗 Λmax ̃max
= −𝑓 (𝑃 𝑗,min
,𝑄 𝑗,max
) [( ) exp Ψ𝑖𝑗 /Λ Ψ𝑖 ]
. of node 𝑑, source sequence number (SSN), the request
Λmax
Ψ𝑖𝑗 transmission rate, the delay constraint, 𝑊TH , the constraint
[ ]
of minimum queueing size, 𝑄TH , the constraint of the
A route for a given communication pair is chosen if that route minimum remaining battery power, 𝑃TH , the time stamp,
can yield the minimum cost. By incorporating this weighting 𝑇RREQ , the current maximum serving capability, and the
function, we hope to find a route whose service ratio and current minimum serving capacity. 𝑇RREQ records the time
minimum power can be as large as possible and the maximum when node 𝑠 generates its RREQ packets.
queueing length can be as small as possible. To show the capa- Upon receiving a new RREQ packet, node 𝑖 starts a
bility of the proposed route selection criterion in (3), we con- predefined waiting window to see if there are more RREQ
duct a theoretical simulation of the proposed criterion along packets with the same SSN, source, and destination. Further
International Journal of Distributed Sensor Networks 5

Service ratio Minimum battery power


1 1
0.9
0.9
0.8
0.8
0.7
0.6 0.7

0.5 0.6
0.4
0.5
0.3
0.4
0.2
0.1 0.3

0 0.2
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Route length Route length
(a) (b)
Maximum queueing length
0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
2 4 6 8 10 12 14 16 18 20
Route length

Max metric Minmax queueing length


Proposed criterion Max average power
Maxmin power Min average queueing length
(c)

Figure 1: The comparison of the proposed cost function in (3) against other criteria.

RREQ packets are dropped after the expiration of the waiting with minimal cost. After this, it updates the current max-
window. Once this waiting window expires, node 𝑖 first imum serving capacity and the minimum serving capacity
checks whether it is able to participate in this route search and broadcasts the RREQ packet with minimal cost. Once the
by comparing its current remaining battery power and the RREQ packet is sent, node 𝑖 creates a reverse link towards its
queueing length against 𝑃TH and 𝑄TH , respectively. If one or upstream node of the sent RREQ packet and starts a RREQ
both constraints are violated, node 𝑖 drops this RREQ packet. timer same as AODV [21]. If the route reply is not received
Otherwise, node 𝑖 calculates its serving capacity Λ 𝑖 to see before the expiration of the RREQ timer, node 𝑖 neglects this
whether it can accommodate the traffic of node 𝑠. If either route request from node 𝑠.
Λ 𝑖 = 0 or Λ 𝑖 is smaller than the request transmission rate, When the route request packets arrive at node 𝑑, same as
node 𝑖 simply ignores the route request of node 𝑠. If node 𝑖 node 𝑖, it begins a predefined waiting window to collect as
satisfies all these requirements, it computes the costs of all many route requests as possible. Node 𝑑 will find the costs of
potential routes that it perceives during the waiting window all routes arriving during this waiting window and choose the
for the same SSN, source, and destination and chooses the one one with minimal cost. Once the route with minimal cost is
6 International Journal of Distributed Sensor Networks

Proposed: S-5-6-D
Maxmin power: S-1-2-D
Minmax queueing length: S-3-4-D
Max average power: S-1-2-D
P: 0.8 Min average queueing length: S-3-4-D
Q: 0.4 Maxmin serving capacity: S-3-6-D
S: 0.2 Max average serving capacity: S-3-6-D
D
2

P: 0.7 P: 0.3
4 Q: 0.2
1 Q: 0.6
S: 0.2 S: 0.2 P: 0.5
Battery 6 Q: 0.3
P: 0.2 S: 0.7
power 3 Q: 0.1
S: 0.7
Queue
Proposed P: 0.5
S 5 Q: 0.2
S: 0.6

P: remaining battery power


Q: queueing length
S: available serving capacity

Figure 2: An illustration of the route chosen by the proposed criterion.

chosen, node 𝑑 will reply the route request from node 𝑠 along compares the minimum remaining battery power or the
the chosen route. Upon receiving the route reply from node 𝑑, maximum queue length of this notification. If the minimum
each node along this route allocates the resource requested by remaining battery power is smaller than the power threshold,
node 𝑠. When node 𝑠 gets the route reply from node 𝑑, these 𝑃TH , or the maximum queue length is greater than the
two nodes can start to communicate. queueing threshold, 𝑄TH , the node 𝑠 initiates a new route
search. Otherwise, it can decide to adopt this new route or
3.3. Route Maintenance Mechanism. The chosen route could to initiate a new route search according to a probabilistic
fail to function normally either when one or more nodes are function. The larger value of the probabilistic function means
out of function, when the communication channel is bad for that the chance to adopt this new route would be higher. If
transmission, or when they are unable to provide services node 𝑠 decides to initiate a new route search, it generates a
due to lack of available battery power or available queue size. new RREQ packet with new SSN to discover a new route.
To deal with these three situations, we propose the following For the second situation, also let node 𝑘 be the node
route maintenance mechanism shown below. right before the link with bad channel condition along the
For the first situation, let node 𝑘 be the node right before route. It is known that wireless fading channel is time-varying
the first broken link along the route. Under this situation, [25, 26]. Thus, when a channel is in bad condition, with high
node 𝑘 on behalf of node 𝑠 initiates a route search starting chance, it would return to the good condition after some time
from itself to the destination node. The route maintenance duration. Even when the channel is in bad condition, the
packet generated by node 𝑘 contains the address of node 𝑠, the reliable communication is still possible by giving the packet
destination address, the address of node 𝑘, the request trans- more protection at the expense of reduction in transmission
mission rate, delay requirement, current time stamp of node rate. Therefore, in this situation, the route cannot be taken as
𝑘 minus the delay, 𝜏𝑠𝑘 , from node 𝑠 to 𝑘, the maximum and a broken route completely. The proposed route maintenance
minimum serving capabilities set to the serving capability of mechanism under this situation is as follows. When 𝑁1
node 𝑘, and the partial information of this route up to node consecutive NAKs for the same packet are received from the
𝑘. Each node receiving this route maintenance packet treats next hop, node 𝑘 perceives the channel is bad in all likelihood.
this as an RREQ packet and functions accordingly. At the When this happens, node 𝑘 takes the following actions.
node 𝑑, when it receives the route maintenance packets from (i) Node 𝑘 chooses to reduce the code rate of the channel
node 𝑘, it functions as in the route search stage but replies coding to a lower value and sends the same packet
the information of the new chosen route to node 𝑘 instead of again. It is possible that the original packet will be
node 𝑠. When node 𝑘 obtains this reply, node 𝑘 continues to divided into smaller packets due to the change of the
forward the packets from node 𝑠. code rate. If a NAK is received again, node 𝑘 reduces
At the same time, when the route initiated by node 𝑘 is the code rate further.
found, node 𝑑 also initiates a notification packet back to the
node 𝑠 along the newly repaired route. The notification packet (ii) If 𝑁2 consecutive ACKs for a series of packets are
will collect the information of the maximum and minimum received after the reduction of code rate, node 𝑘
serving capacities, the minimum remaining battery, and the increases the code rates until the normal code rate.
maximum queueing length when it traverses this route. (iii) If 𝑁3 consecutive NAKs for the same packet are
When node 𝑠 receives the notification from node 𝑑, it received again after the reduction of code rate, node 𝑘
International Journal of Distributed Sensor Networks 7

initiates a route maintenance packet and takes action M/M/1/k. In the simulation, IEEE 802.11b is utilized with
like in the first situation. rate of 2 Mbps. The transmission power is 15 mW and the
radio range is 250 m. In addition, the battery model is a
In this situation, 𝑁1 , 𝑁2 , and 𝑁3 are chosen to minimize the
linear model. The power consumption is the duration of the
need of seeking a new route and avoid resource wasting as packet transmission (or the reception) times the power of
much as possible. 𝑁1 has to be chosen to minimize the false transmission (or the reception). In addition, the lifetime in
alarm of link failure without introducing excessive delay of this work is defined as the 𝑛-of-𝑛 lifetime, which is the time
a packet as much as possible. When a series of ACKs are when the first node dies [27].
received, this means that the channel state is getting better The power-aware routing protocols to be compared
along the time. The code rate should be adjusted to normal against the proposed one are PAR-AODV [9], LPR-AODV
code rate as soon as the channel state returns to the original [8], and PSR-AODV [7] routing protocols. The queueing-
channel state before the reduction of code rate. Thus, 𝑁2 has aware routing protocols to be compared against the proposed
to do with the turnaround time of the fading channel. 𝑁3 is one are AODVM [13], WLBR [12], and QoS-AODV [14].
chosen to avoid excessive wait for the channel state to return In addition, we also compare the proposed protocol with
to the original channel state before the reduction of code rate. three extreme protocols. One aims at finding a route whose
Note that 𝑁1 , 𝑁2 , and 𝑁3 are design parameters. maximum remaining battery power is the largest among all
For the third situation, when the new route is found, the the maximum remaining powers of all perceived routes at
destination initiates a notification packet back to the source the intermediate nodes and the destination and it is called
periodically. It records the minimum remaining battery max battery power. The other aims at finding a route whose
power and the maximum queueing length of the route. When minimum queueing length is the smallest among all the
the source receives the notification packet, if the minimum minimum queueing lengths of all perceived routes at the
remaining battery power is smaller than 𝑃TH or the maximum intermediate nodes and the destination and it is called min
queueing length is greater than 𝑄TH , two actions are taken in queueing length. Another one is to find a route whose metric
this situation: is the largest among all the maximum remaining powers
of all perceived routes at the intermediate nodes and the
(i) lack of available battery power: when the source destination and is called max metric. These three protocols
receives the notification of the lack of the available serve as the benchmarks to see how good a newly route is
battery power. It has no choice left. The source initi- in terms of remaining battery power, queueing length, and
ates a new route search to seek a new route; service ratio, respectively.
(ii) lack of available queueing buffer: if the source node
receives consecutive 𝑁4 notifications of the lack of 4.2. Simulation Results of Route Discovery Only. In this sub-
queueing buffer, the source initiates a new route section, we will focus on the comparison of the battery power
search to seek a new route. It is possible that a node and serving capacity of a newly discovered route among the
originally with insufficient queueing buffer can digest proposed and other existing protocols under the condition
the queued packets timely and its queueing length that the network size is fixed to 1000 m × 1000 m. First, we
can meet the constraints once again. Spending time look at the maximum, minimum, and average battery power
waiting for that to happen costs less than initiating of a newly discovered route, which are shown in Figures 3(a),
a new round of route discovery. Note that 𝑁4 is 3(b), and 3(c), respectively. The proposed protocol is able to
the system parameter such that the impact of lack find a route which has the largest minimum battery power, the
of available queueing size on the system can be average battery power, and the good maximum battery power
minimized as much as possible. among all protocols. The proposed protocol has comparable
performance to max battery power in terms of the maximum
4. Simulation Results battery power. However, the minimum battery power of the
route found by max battery power is much worse than the
4.1. Simulation Setup. Our simulation is evaluated using proposed protocol.
QualNet 4.5 simulator. Simulations are running over a Next, let us turn to the serving capacity. We will compare
1000 m × 1000 m area. The number of mobile nodes is 150. the maximum and minimum serving capacity and the service
30 topologies of the network are randomly generated. For ratio. The results are shown in Figure 4. As illustrated in
each topology, the initial battery power and queueing length Figure 4, all the protocols have similar maximum serving
of a node are randomly generated and the simulation results capacity. However, since the proposed protocol has the largest
are the average over all realizations. The mobility model minimum serving capacity, the service ratio of the proposed
we use is the random waypoint model. The nodes in the protocol is the best among all the protocols. This means
networks are either static or moving at various velocities that the proposed protocol is capable of discovering a route
(1 m/s, 5 m/s, and 20 m/s). There are 25 CBR sessions for each whose serving capacity is more consistent. The consistency
topology and the data rates are 2, 1, and 0.5 packets/second, in serving capacity of the chosen route helps distribute the
which correspond to high load, medium load, and low load, traffic load of the network more evenly. The last two things
respectively. In the simulation, each packet size is 512 bytes. we would like to show are the comparison of the hop count
FIFO queue is adopted, the maximum queue size of a node and initial delay of a newly discovery route. Figure 5 illustrates
is 3000 bytes, and the queueing model is assumed to be an the comparison of the hop count of a newly discovery route
8 International Journal of Distributed Sensor Networks

1.05 1
1
0.9
0.95

Normalized battery power


Normalized battery power

0.8
0.9
0.85 0.7
0.8
0.6
0.75
0.5
0.7
0.65 0.4
0.6
0.3
0.55
100 200 300 100 150 200
Nodes Nodes
(a) Maximum battery power (b) Minimum battery power

0.9

0.85

0.8
Normalized battery power

0.75

0.7

0.65

0.6

0.55

0.5

0.45
100 150 200
Nodes

Proposed Min queueing length


AODV WLBR
PAR-AODV AODVM
LPR-AODV QoS-AODV
Max battery power Max metric
(c) Average battery power

Figure 3: Comparison of the maximum, minimum, and average battery power.

among all protocols. This figure shows the proposed protocol shorter average queueing length of the proposed protocol
is able to find a route, which yields the smallest hop count does not necessarily imply that the proposed protocol will
among all protocols. Meanwhile, in Figure 6, we can see that have the best end-to-end delay. The proposed protocol has the
the route found by the proposed protocol has the shortest best end-to-end delay only when the moving speed of node is
initial delay. The reason for this is that the proposed protocol high. When the moving speed is low, the proposed protocol is
can find a route smallest hop count, which compensates the worse than AODV, WLBR, and QoS-AODV. The comparison
negative effect of the delayed broadcast at nodes during the of lifetime among all protocols is given in Figure 7(b).
phase of route discovery. The proposed protocol has the longest lifetime among all
protocols. However, the lifetimes of the rest of the protocols
4.3. Simulation Results of Overall Proposed Protocol: AWGN are similar. This might be due to the fact that the metrics
Channel. Figure 7 shows the simulation results under the adopted in these protocols favor some certain nodes and,
high traffic loading under AWGN channel. The results of thus, create unwanted hot spots at these nodes. Consequently,
average queueing length of all protocols are shown in Fig- these nodes quickly run out of their battery power, which
ure 7(a). The proposed protocol enjoys the shortest average results in comparable lifetime of these protocols. Next, we
queueing length. However, as shown in Figure 7(e), the will look at the delivery ratio of these protocols presented in
International Journal of Distributed Sensor Networks 9

1.1
0.9

1 0.8
Normalized serving capacity

Normalized serving capacity


0.9 0.7

0.6
0.8

0.5
0.7
0.4
0.6
0.3
100 150 200 100 150 200
Nodes Nodes
(a) Maximum serving capacity (b) Minimum serving capacity

1.2

1.1
Normalized serving capacity

0.9

0.8

0.7

0.6

0.5

100 150 200


Nodes

Proposed Min queueing length


AODV WLBR
PAR-AODV AODVM
LPR-AODV QoS-AODV
Max battery power Max metric
(c) Service ratio

Figure 4: Comparison of the maximum and minimum serving capacity and service ratio.

Figure 7(c). Due to the high traffic load, the delivery ratio The total number of RREQ messages of our proposed pro-
of all protocols is low as expected. For most protocols, the tocol for all traffic loadings are more than others as shown in
delivery ratio is lower than 0.18, but for the proposed protocol Figures 7(d), 8(d), and 9(d). In the high loading scenario, the
the delivery ratio is about 0.22, which is relatively higher number of RREQ messages of our proposed protocol is about
than others. Even though the proposed protocol has many 1.4 times more than other protocols. In the medium and the
advantages over other protocols, the main disadvantage of low traffic loading scenario, the number of RREQ messages
the proposed protocol is the higher overhead as shown in of our protocol is about 1.2 times more than other protocols.
Figure 7(d). This is because the proposed protocol has several mecha-
Figures 8 and 9 show the performance under the medium nisms of handling the link failure and the lack of resource.
traffic loading and low traffic loading, respectively. Because When the queueing length is near full or the battery power of
the traffic rate decreases, the average queueing length of a node is going to be exhausted soon, the proposed protocol
medium and lower traffic loading decrease as shown in takes action to perform the local route maintenance or
Figures 8(a) and 9(a) and the delivery ratios in Figures 8(c) reroute to relieve the loading of busy nodes. As the results, the
and 9(c) increase. The proposed protocol has comparable low number of overheads in the proposed protocol is more than
end-to-end delay as shown in Figures 8(e) and 9(e). other protocols, especially in the high traffic loading scenario.
10 International Journal of Distributed Sensor Networks

is a little better than AODV and queueing-aware protocols.


5.5
But when the traffic loading decreases, the lifetime of power-
5 aware protocols is worse than AODV and queueing-aware
protocols. That proves that taking only the remaining battery
4.5 power into consideration cannot help in prolonging the
network lifetime.
4
Hops

4.4. Simulation Results of Overall Proposed Protocol: Fading


3.5 Channel. We also simulate the proposed protocols and the
other existing protocols under fading channel to see how
3
the fading channel variation affects the performance of these
2.5 protocols. It is clear that the performance of all the protocols
under fading channel is worse than that under nonfading
2 channel.
100 150 200
The simulation results of queueing size under fading
Nodes channel are shown in Figures 10(a), 11(a), and 12(a) for high-
Proposed Min queueing length rate, medium-rate, and low-rate cases, respectively. For the
AODV WLBR proposed protocol, the average queueing length is 0.3, 0.22,
PAR-AODV AODVM and 0.12 for high-rate, medium-rate, and low-rate cases,
LPR-AODV QoS-AODV respectively. From these three figures, we can see that the
Max battery power Max metric proposed protocol outperforms other existing protocols in
the case of fading channel.
Figure 5: Comparison of average hop count of a newly discovery
route.
Figures 10(e), 11(e), and 12(e) show the end-to-end delay
in high-rate, medium-rate, and low-rate cases, respectively. In
both high-rate and medium-rate cases, the proposed protocol
0.17 has the smallest end-to-end delay among all the protocols.
However, when being in the low-rate case, the performance of
0.16
the end-to-end delay of the proposed protocol is comparable
0.15 to other protocols and is slightly better than others when the
mobility is high.
0.14
The results of the delivery ratio are shown in Figures 10(c),
0.13 11(c), and 12(c) for the high-rate, medium-rate and low-rate
(s)

0.12 cases, respectively. The proposed protocol has the highest


delivery ratio in all three cases. Comparing with the situation
0.11 when the channel is AWGN, we find that the delivery ratio
0.1 under the fading environment is much lower than that under
the AWGN channel. From the above simulation results, it is
0.09
clear that the data forwarding under the fading channel is
0.08 harder than that under nonfading channel. A packet stays
100 150 200
longer in the queue of a node and takes more time to reach the
Nodes destination due to the increased number of retransmission
Proposed Min queueing length under the fading channel. For the proposed protocol, we
AODV WLBR have an adaptive retransmission mechanism to overcome
PAR-AODV AODVM the channel variation due to fading. The results show the
LPR-AODV QoS-AODV effectiveness of the proposed mechanism, which explains why
Max battery power Max metric the proposed protocol has better performance in the fading
Figure 6: Comparison of average initial delay of a newly discovery
channel.
route. The lifetimes under the fading channel are shown in
Figures 10(b), 11(b), and 12(b) for high-rate, medium-rate, and
low-rate cases, respectively. As the rate increases, the lifetime
Another thing we should note is why queueing-aware under the same setting becomes smaller. Compared with the
routing protocol does not have good queueing performance results under AWGN channel, the performance of lifetime of
in the high traffic loading scenario. The main reason behind the proposed protocol is degraded. This is due to the fact that
this is that the service capacity is not taken into account. The more energy is spent in the retransmission, which in turn
selected route may not be able to support additional traffic. reduces the lifetime of the network. However, the proposed
This would cause the queue accumulation. Those routing protocol still has the best lifetime performance among all the
protocols taking only the battery power into consideration protocols.
also have the similar problem. As we can see in Figure 7(b), The fading channel increases the chance of the link failure.
the lifetime of power-aware routing protocols in high loading As a result, the overhead grows under fading channel. In
International Journal of Distributed Sensor Networks 11

1300
0.65
0.6 1250
Normalized queueing length

0.55
0.5 1200

(s)
0.45
1150
0.4
0.35 1100

0.3
1050
0.25
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime
4
×10
1.8
0.3
1.7
0.28 Number of RREQ packets
0.26 1.6
0.24 1.5
0.22
Ratio

1.4
0.2 1.3
0.18
1.2
0.16
1.1
0.14
0.12 1
0.1 0.9
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets
10

7
(s)

2
0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 7: High-rate case under AWGN channel.


12 International Journal of Distributed Sensor Networks

0.6 1550
1500
Normalized queueing length

0.5 1450
1400
0.4
1350

(s)
0.3 1300
1250
0.2 1200
1150
0.1
1100
0 1050
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime
4
×10
0.8 1.35
1.3
0.7
1.25
Number of RREQ packets

0.6 1.2
1.15
0.5
Ratio

1.1
0.4 1.05
1
0.3 0.95
0.9
0.2
0.85
0.1 0.8
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets

2.5
(s)

1.5

0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 8: Medium-rate case under AWGN channel.


International Journal of Distributed Sensor Networks 13

0.2 2100
0.18 2000
Normalized queueing length

0.16 1900
0.14 1800
0.12 1700
1600

(s)
0.1
0.08 1500
0.06 1400
0.04 1300
0.02 1200
0 1100
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime
1.1 10000
1 Number of RREQ packets 9000
0.9 8000
0.8
7000
Ratio

0.7
6000
0.6
5000
0.5
0.4 4000

0.3 3000

0.2 2000
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets
1.1
1
0.9
0.8
0.7
0.6
(s)

0.5
0.4
0.3
0.2
0.1
0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 9: Low-rate case under AWGN channel.


14 International Journal of Distributed Sensor Networks

0.65 1300
0.6
Normalized queueing length

1250
0.55
1200
0.5

(s)
0.45 1150
0.4
1100
0.35
1050
0.3

0.25 1000
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime

×104
2
0.24
1.9
0.22
1.8
Number of RREQ packets
0.2
1.7
0.18
0.16 1.6
Ratio

0.14 1.5
0.12 1.4
0.1 1.3
0.08 1.2
0.06 1.1
0.04 1
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets
10
9
8
7
6
(s)

5
4
3
2
1
0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 10: High-rate case under fading channel.


International Journal of Distributed Sensor Networks 15

0.5 1400

1350
0.45
Normalized queueing length

1300
0.4
1250
0.35

(s)
1200

0.3 1150

1100
0.25
1050
0.2
1000
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime
4
×10
1.8
1.7
0.25
Number of RREQ packets
1.6
1.5
0.2
Ratio

1.4
1.3
0.15
1.2
1.1
0.1
1
0.9
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets
6.5
6
5.5
5
4.5
4
(s)

3.5
3
2.5
2
1.5
0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 11: Medium-rate case under fading channel.


16 International Journal of Distributed Sensor Networks

1450
0.3
1400
0.28
Normalized queueing length

0.26 1350
0.24
0.22 1300

(s)
0.2
1250
0.18
0.16 1200
0.14
1150
0.12
0.1 1100
0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(a) Queueing length (b) Lifetime
4
×10
1.5
0.35
Number of RREQ packets 1.4

0.3 1.3
Ratio

0.25 1.2

1.1
0.2
1
0.15
0.9

0 1 5 20 0 1 5 20
Moving speed (m/s) Moving speed (m/s)
(c) Delivery ratio (d) Number of RREQ packets
3

2.5

2
(s)

1.5

0 1 5 20
Moving speed (m/s)

Proposed WLBR
AODV AODVM
PAR-AODV QoS-AODV
LPR-AODV
(e) End-to-end delay

Figure 12: Low-rate case under fading channel.


International Journal of Distributed Sensor Networks 17

Figures 10(d), 11(d), and 12(d), we find that numbers of RREQ [12] A. Rani and M. Dave, “Weighted load balanced routing protocol
messages under the fading channel in all cases are more than for MANET,” in Proceedings of the 16th International Conference
those under the nonfading channel. on Networks (ICON ’08), pp. 1–6, New Delhi, India, December
2008.
5. Conclusions [13] S. Puri and S. R. Devene, “Congestion avoidance and load
balancing in AODV-multipath using queue length,” in Proceed-
In this work, we proposed a simple and effective routing ings of the 2nd International Conference on Emerging Trends
protocol with a new route selection criterion. The adopted in Engineering and Technology (ICETET ’09), pp. 1138–1142,
route selection criterion aims at finding a balance among the Nagpur, India, December 2009.
remaining battery power, the queueing length, and the service [14] K. A. M. AlSoufy and A. M. Abbas, “Lifetime and queue length
capacity. As we can see from the simulation results, by making constrained quality of service routing for mobile ad hoc net-
works,” in Proceedings of the IEEE Conference and Exhibition on
use of the proposed routing protocol, the network lifetime
Control, Communications and Automation (INDICON ’08), vol.
can be further extended, the delivery ratio is improved, the 1, pp. 177–182, Kanpur, India, December 2008.
average queueing length can be reduced, and the end-to-end
[15] X. Gao, X. Zhang, D. Shi, F. Zou, and W. Zhu, “Contention
delay is greatly improved especially under the fading channel. and queue-aware routing protocol for mobile ad hoc networks,”
in Proceedings of the International Conference on Wireless
Conflict of Interests Communications, Networking and Mobile Computing (WiCOM
’07), pp. 1628–1631, Shanghai, China, September 2007.
The authors declare that there is no conflict of interests [16] D. A. Tran and H. Raghavendra, “Congestion adaptive routing
regarding the publication of this paper. in mobile ad hoc networks,” IEEE Transactions on Parallel and
Distributed Systems, vol. 17, no. 11, pp. 1294–1305, 2006.
References [17] W. Wu, Z. Zhang, X. Sha, and D. Qin, “A study of congestion-
aware routing protocols for wireless ad hoc networks,” in
[1] K. S. Chung and J. E. Lee, “Design and development of m-learn- Proceedings of the 4th International Conference on Wireless
ing service based on 3G cellular phones,” Journal of Information Communications, Networking and Mobile Computing (WiCOM
Processing System, vol. 8, no. 3, pp. 521–538, 2012. ’08), pp. 1–4, Alian, China, October 2008.
[2] H. Luo and M. L. Shyu, “Quality of service provision in mobile [18] S. S. Baboo and B. Narasimhan, “An energy-efficient conges-
multimedia—a survey,” Human-Centric Computing and Infor- tion-aware routing protocol for heterogeneous mobile ad-hoc
mation Sciences, vol. 1, no. 1, article 5, pp. 1–15, 2011. networks,” in Proceedings of the International Conference on
[3] J. K.-Y. Ng, “Ubiquitous healthcare: healthcare systems and Advances in Computing, Control and Telecommunication Tech-
applications enabled by mobile and wireless technologies,” nologies (ACT ’09), pp. 344–350, Thiruvananthapuram, India,
Journal of Convergence, vol. 3, no. 2, pp. 31–36, 2012. December 2009.
[4] R. Sumathi and M. G. Srinivas, “A survey of QoS based routing [19] H. M. P. Shekhar and K. S. Ramanatha, “Mobile agents aided
protocols for wireless sensor networks,” Journal of Information congestion aware multipath routing in mobile ad hoc networks,”
Processing System, vol. 8, no. 4, pp. 589–602, 2012. in Proceedings of the 9th International Conference on Telecom-
[5] A. U. Bandaranayake, V. Pandit, and D. P. Agrawal, “Indoor munications (ConTEL ’07), pp. 65–72, Zagreb, Croatia, June
link quality comparison of IEEE 802.11a channels in a multi- 2007.
radio mesh network testbed,” Journal of Information Processing [20] M. Hiyama, E. Kulla, T. Oda, M. Ikeda, and L. Barolli, “Applica-
System, vol. 8, no. 1, pp. 1–20, 2012. tion of a MANET testbed for horizontal and vertical scenarios:
[6] X. Li, N. Mitton, I. Stojmenovic, and A. Nayak, “Achieving load performance evaluation using delay and jitter metrics,” Human-
awareness in position-based wireless ad hoc routing,” Journal of Centric Computing and Information Sciences, vol. 1, no. 3, pp.
Convergence, vol. 3, no. 3, pp. 17–23, 2012. 1–14, 2011.
[7] M. Maleki, K. Dantu, and M. Pedram, “Power-aware source [21] C. E. Perkins and E. M. Royer, “Ad-hoc on-demand distance
routing protocol for mobile ad hoc networks,” in Proceedings vector routing,” in Proceedings of the 2nd IEEE Workshop on
of the International Symposium on Low Power Electronics and Mobile Computing Systems and Applications (WMCSA ’99), pp.
Design ( ISLPED ’02), pp. 72–75, August 2002. 1185–1190, New Orleans, La, USA, February 1999.
[8] M. Maleki, K. Dantu, and M. Pedram, “Lifetime prediction [22] D. B. Johnson, D. A. Maltz, and J. Broch, “DSR: the dynamic
routing in mobile ad hoc networks,” in Proceedings of the IEEE source routing protocol for multi-hop wireless ad hoc net-
Wireless Communications and Networking (WCNC ’03), vol. 2, works,” in Proceedings of the ACM Ad Hoc Networking, pp. 139–
pp. 1185–1190, New Orleans, La, USA, March 2003. 172, 2001.
[9] S. Singh, M. Woo, and C. S. Raghavendra, “Power-aware routing [23] E. M. Royer and C.-K. Toh, “A review of current routing
in mobile ad hoc networks,” in Proceedings of the 4th Annual protocols for ad hoc mobile wireless networks,” IEEE Personal
ACM/IEEE International Conference on Mobile Computing and Communications, vol. 6, no. 2, pp. 46–55, 1999.
Networking (MobiCom ’98), pp. 181–190, October 1998. [24] A. Sinha and D. K. Lobiyal, “Performance evaluation of data
[10] C.-K. Toh, “Maximum battery life routing to support ubiquitous aggregation for cluster-based wireless sensor network,” Human-
mobile computing in wireless ad hoc networks,” IEEE Commu- Centric Computing and Information Sciences, vol. 3, no. 1, pp.
nications Magazine, vol. 39, no. 6, pp. 138–147, 2001. 1–17, 2013.
[11] Y. Cui, Y. Xue, and K. Nahrstedt, “A utility-based distributed [25] A. Anastasopoulos and K. M. Chugg, “An efficient method for
maximum lifetime routing algorithm for wireless networks,” simulation of frequency selective isotropic rayleigh fading,” in
IEEE Transactions on Vehicular Technology, vol. 55, no. 3, pp. Proceedings of the 47th IEEE Vehicular Technology Conference
797–805, 2006. (VTC ’97), vol. 3, pp. 2084–2088, Phoenix, Ariz, USA, May 1997.
18 International Journal of Distributed Sensor Networks

[26] W.-H. Chung and K. Yao, “Modified hidden semi-markov


model for modelling the flat fading channel,” IEEE Transactions
on Communications, vol. 57, no. 6, pp. 1806–1814, 2009.
[27] I. Dietrich and F. Dressler, “On the lifetime of wireless sensor
networks,” ACM Transactions on Sensor Networks, vol. 5, no. 1,
article 5, 2009.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 183090, 10 pages
http://dx.doi.org/10.1155/2014/183090

Research Article
Self-Organized Cognitive Sensor Networks: Distributed Channel
Assignment for Pervasive Sensing

Li-Chuan Tseng,1 Feng-Tsun Chien,1 Abdelwaheb Marzouki,2 Ronald Y. Chang,3


Wei-Ho Chung,3 and ChingYao Huang1
1
Department of Electronics Engineering, National Chiao Tung University, Hsinchu 30010, Taiwan
2
Institut Mines-Télécom, Télécom SudParis, 91011 Évry, France
3
Research Center for Information Technology Innovation, Academia Sinica, Taipei 11529, Taiwan

Correspondence should be addressed to Feng-Tsun Chien; ftchien@mail.nctu.edu.tw

Received 21 October 2013; Accepted 9 February 2014; Published 17 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Li-Chuan Tseng et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

We study the channel assignment strategy in multichannel wireless sensor networks (WSNs) where macrocells and sensor nodes
are overlaid. The WSNs dynamically access the licensed spectrum owned by the macrocells to provide pervasive sensing services.
We formulate the channel assignment problem as a potential game which has at least one pure strategy Nash equilibrium (NE). To
achieve the NE, we propose a stochastic learning-based algorithm which does not require the information of other players’ actions
and the time-varying channel. Cluster heads as players in the game act as self-organized learning automata and adjust assignment
strategies based on their own action-reward history. The convergence property of the proposed algorithm toward pure strategy
NE points is shown theoretically and verified numerically. Simulation results demonstrate that the learning algorithm yields a 26%
sensor node capacity improvement as compared to the random selection, and incurs less than 10% capacity loss compared to the
exhaustive search.

1. Introduction promising solution to the channel assignment problem of


sensor networks. CR technology enables dynamic spectrum
In wireless sensor networks [1], spatially distributed, low- access (DSA) of unlicensed users in distributed networks. The
power, and low-cost sensor nodes are deployed in a geo- key idea for CR operation is to allow the active sensing of the
graphical area to monitor the environment. The sensor nodes dynamic radio environment so as to improve the spectrum
usually form clusters, and in each cluster there is an energy- utilization. Akan et al. [8] provided a survey on cognitive
rich sensor node acting as the cluster head, while other sensor radio sensor networks. By utilizing the CR technology, the
nodes are referred to as cluster members. A cluster head is sensor networks are able to attain high data rate due to
a special sensor node with better cognitive radio (CR) [2, 3] available spectrum holes. In addition, dynamic spectrum
functionality and is responsible for the spectrum sensing and access helps mitigate the interference incurred by dense
the channel assignment among its cluster members. deployment of sensor nodes.
To enable the various kinds of services [4–6] provided Despite the promising features of cognitive sensor net-
by a pervasive sensing system, proper radio resource man- works, the deployment of such heterogeneous networks with
agement [7] is important. Due to the spectrum scarcity sensor clusters underlying the same spectrum as macrocells
and the ad hoc nature of sensor network deployment, it and in the same geographical area brings new technical chal-
could be hard to assign licensed bands to sensor networks. lenges. In particular, we are interested in the case of densely
Therefore, the CR technology has been considered as a populated sensor networks where, due to extensive frequency
2 International Journal of Distributed Sensor Networks

reuse, the cochannel interference (CCI) among sensor nodes


and the cross-tier interference (between the macrocell and
RBS a = 10 m
sensor networks) affect the system performance.
a x a
In the absence of a central controller, channel assignment a
in cognitive sensor networks is implemented in a distributed
manner. In this paper, we consider the distributed channel a x
assignment for self-organized cognitive sensor networks MBS x
from a game-theoretic perspective. The main contributions
of this paper are summarized as follows.
Active MBS
(i) We model the femtocell channel assignment problem x MUE and its avoiding region
as an ordinal potential game (OPG). The game con-
siders time-varying channel availability as its external Figure 1: Dual-stripe deployment of sensor clusters.
state.

(ii) We propose a fully decentralized channel assign-


ment algorithm in which the channel is selected Channel selection for multicell orthogonal frequency divi-
by each cluster head independently based on its sion multiple access- (OFDMA-) based networks using graph
action-reward history. The convergence property of framework was considered in [15].
the algorithm to a pure strategy NE point is verified On the other hand, in an interference mitigation sce-
theoretically as well as numerically. nario, mutual interference is tolerated. Channel assignment
for cognitive sensor networks has been studied in [16].
This paper is organized as follows. We review the related Recently, self-organization of distributed agents based upon
work and compare it with our study in Section 2. In Section 3, reinforcement learning (RL) mechanisms [17, 18] has been
the system model for a cognitive sensor network is pre- shown to be effective in the literature. Multiagent Q-learning
sented. Section 4 describes the game-theoretic model of the (MAQL) was applied to femtocell networks in [19, 20]. MAQL
distributed channel assignment problem. Section 5 presents involves the actions of other agents as the external state and
the stochastic learning procedure carried out by the cluster thus requires the sharing of the knowledge of all agents’
heads. Finally, numerical results are given in Section 6, with actions. The stochastic learning (SL), in contrast, updates
the conclusion drawn in Section 7. the actions of users based on their individual action-reward
history. Nie and Comaniciu [21] considered the channel
Notations. Normal letters represent scalar quantities; upper- selection in cognitive radio using interference mitigation
case and lowercase boldface letters denote matrices and game formulation. SL was also applied to the opportunis-
vectors, respectively. Given a finite set A, Δ(A) represents tic spectrum access in cognitive radio networks [22] to
the set of all probability distributions over the elements of achieve the Nash equilibrium (NE) strategy. However, fully
A. 1{cond} is the indicator function which equals one if the distributed resource allocation in cognitive sensor networks
condition cond is satisfied and zero otherwise. has not been extensively investigated.

2. Related Works 3. System Model


Distributed channel assignment has been extensively investi- We consider a cognitive radio sensor network consisting of
gated for different networking applications where concurrent one MBS and 𝑁 sensor clusters under the coverage of the
transmissions among neighboring wireless links exist. MBS. The method of sensor node clustering and cluster head
In an interference avoidance scenario, different channels selection [23] are also interesting topics but are out of the
must be assigned to neighboring links. In femtocell net- scope of this paper. Also we consider only the single-hop
works [9], different methods have been proposed to assign transmission and omit the multihop routing issue for ad hoc
different spectrum to adjacent femtocells. Examples include networks [24]. The sensors are deployed in an apartment
distributed random access [9], dynamic frequency planning block with a dual-stripe room layout, as shown in Figure 1.
[10], and clustering [11]. For sensor networks with multiple In our considered system, the medium access control
channels, graph theory-based methods have also been con- (MAC) function in a cluster resembles that of cellular
sidered [12]. These methods can be viewed as variations of systems. The time domain is divided into frames, and a frame
frequency planning and usually rely on negotiations among is further divided into time slots. In each frame, a cluster head
neighboring links. Graph theory is also a popular approach allocates its cluster members (i.e., sensor nodes) in different
as the interference condition can be represented as nodes time slots following a time division multiple access (TDMA)
and edges in a graph. In sensor networks, Chowdhury et al. rule. For simplicity, we assume that in each slot each cluster
[13] proposed the dynamic channel allocation (DCA) and head allocates one sensor node over one of the available
studied the related protocol design. Yu et al. [14] considered a channels. We emphasize that the proposed method can be
game theory-based approach which takes into account both easily generalized to the cases with multiple sensor nodes per
the network topology and transmission routing information. slot. A sensor node is in idle mode unless the current time
International Journal of Distributed Sensor Networks 3

without ambiguity. Then, the signal-to-interference-and-


A1 A2 A3 A4 Cluster A noise ratio (SINR) at cluster head 𝑖 can be expressed as
󵄨 󵄨2
𝑃𝑖 󵄨󵄨󵄨ℎ𝑖,𝑖 󵄨󵄨󵄨
𝛾𝑖 = . (2)
B1 B2 B3 B4 B5 Cluster B ∑𝑁 𝑖 𝐼𝑗 → 𝑖 + 𝜎
𝑗=1,𝑗 ≠
2

Consequently, the expected capacity for link 𝑖 in bits/s/Hz is


given by
C1 C2 C3 C4 Cluster C
𝑅𝑖 = 𝜃𝑖,𝑎𝑖 log2 (1 + 𝛾𝑖 ) . (3)

Let a = (𝑎1 , . . . , 𝑎𝑁) be the channel assignment profile of all


Time slots
active clusters. The global objective of the system is to find the
optimal channel selection profile aopt that maximizes the sum
Sensor node with
ID
given ID transmittals
An idle slot capacity. Formally, consider
𝑁
Figure 2: Exemplary time slot allocation in a frame. In the first slot,
cluster heads A and C assign channels for sensor nodes A1 and C1, aopt = argmax∑𝜃𝑖,𝑎𝑖 log2 (1 + 𝛾𝑖 ) . (4)
a 𝑖=1
respectively.
To reflect a practical cognitive sensor network, our system
model incorporates the following considerations.
slot is allocated for it. A cluster head is idle if none of its (1) The uplink resource allocation for MUE is time-
sensor nodes is transmitting data and active otherwise. We varying during the learning period, and the channel
therefore introduce an active ratio, which is defined as the availability statistics (i.e., Θ) are fixed but unknown
percentage of active clusters in a time slot. An exemplary time to any sensor nodes.
slot allocation is depicted in Figure 2.
(2) There is no centralized controller and the channel
The spectrum is divided into 𝐶 channels, and the channels
selection is performed independently by each cluster
may be licensed to different macrocells (a.k.a spectrum
head.
owners). By utilizing CR, the sensor nodes access the same
frequency band as the macrocell does. Since the sensor nodes (3) The number of sensor clusters in the system, 𝑁, is
are in an energy-tight situation and operate with ultralow unknown.
power, we assume that the transmission power of a macrocell
With these considerations, solving (4) is a challenging
user equipment (MUE) is much higher than that of the
task, since the only available information for decision making
sensors. Thus, the uplink transmission of an MUE will block
at each individual player is its own action-reward history.
the nearby sensor nodes using the same spectrum. For cross-
Thus, a fully distributed channel selection scheme is pro-
tier interference mitigation, we define an avoiding region for
posed.
each MUE. A channel is available to a cluster only if the
channel is not assigned to an MUE whose avoiding region
covers the cluster head. The channel availability for sensor 4. Game-Theoretic Model and
clusters is expressed as a binary matrix X ∈ {0, 1}𝑁×𝐶, in Channel Selection
which the element 𝑥𝑖,𝑐 equals one if channel 𝑐 is available
to link 𝑖 and zero otherwise. The elements of X follow the In this section, we present the game-theoretic formulation of
Bernoulli distribution and can be described by a probability the self-organized cognitive sensor network channel selection
matrix Θ ∈ [0, 1]𝑁×𝐶, where the element 𝜃𝑖,𝑐 is the probability problem. Our objective is to devise for each cluster head
that 𝑥𝑖,𝑐 = 1. a distributed channel assignment strategy that takes into
Assuming perfect synchronization in time and frequency, account the effect of both the sensor-tier and cross-tier
interference. We summarize our notations related to the game
let 𝑃𝑖 denote the power of sensor node 𝑖, and let |ℎ𝑖,𝑗 |2 indicate
formulation in Table 1.
the link gain between cluster head 𝑖 and sensor node 𝑗. The
interference received by cluster head 𝑖 from sensor node 𝑗 is
given by 4.1. Problem Formulation and Game Model. The channel
selection problem described in the previous section can
be modeled by a normal-form game with external state,
󵄨 󵄨2
𝐼𝑗 → 𝑖 = 1{𝑎𝑖 (𝑛)=𝑎𝑗 (𝑛)} 𝑃𝑗 󵄨󵄨󵄨󵄨ℎ𝑖,𝑗 󵄨󵄨󵄨󵄨 , ∀𝑖, 𝑗 ∈ N, (1) expressed as a 4-tuple:

G = (X, N, {A𝑖 }𝑖∈N , {𝑢𝑖 }𝑖∈N ) , (5)


where 𝑎𝑖 (𝑛) is the action (channel selection) of cluster head 𝑖
in frame 𝑛. For notational brevity, we will hereafter discard where X is the external state (channel availability) space, N
the timing dependence of the action 𝑎𝑖 (𝑛) in occasions is the set of players (cluster heads), A𝑖 is the set of actions
4 International Journal of Distributed Sensor Networks

Table 1: Summary of notations in game-theoretic formulation. maximize the capacity of its own user but also reduce the
interference. Formally, the game G is expressed as
Symbol Meaning
X External state (channel availability) (G) : max 𝑢𝑖 (𝑎𝑖 , 𝑎−𝑖 ) , ∀𝑖 ∈ N.
𝑎𝑖 ∈A𝑖 (9)
X A realization of external state (channel availability)
N Set of players
A𝑖 Set of actions of player 𝑖 4.2. Analysis of Nash Equilibrium. With the utility function
defined in (8), we show the existence of an NE point for the
𝑠𝑖 ∈ A𝑖 An element of A𝑖
proposed game in the following proposition.
𝑎𝑖 (𝑛) ∈ A𝑖 Action (channel selection) of player 𝑖 at slot 𝑛
𝑎−𝑖 (𝑛) ∈ A𝑖 Actions of players except for 𝑖 at slot 𝑛 Proposition 1. The game G is an ordinal potential game
P𝑖 := Δ(A𝑖 ) Set of probability distribution over A𝑖 (OPG) which possesses at least one pure strategy NE.
p𝑖 (𝑛) ∈ P𝑖 Mixed strategy of player 𝑖 at slot 𝑛
𝑟𝑖 (𝑛) ∈ R Observed utility of player 𝑖 at slot 𝑛 Proof. Consider the function Φ : ×𝑖∈N A𝑖 → R+ :
̂ 𝑖 (𝑛) ∈ R|A𝑖 |
u Estimated utility vector of player 𝑖 at slot 𝑛
󵄨󵄨 󵄨󵄨2
(𝜖𝑖 , 𝜆 𝑖 ) Learning rates of player 𝑖 ∑𝑁
𝑘=1 𝑃𝑘 󵄨󵄨ℎ𝑘,𝑘 󵄨󵄨
Φ (a) = log2 (1 + ). (10)
∑𝑁 𝑁
𝑘 𝐼𝑘 → 𝑗
𝑘=1 ∑𝑗=1,𝑗 ≠

(selections of channels) that player 𝑖 can take, and {𝑢𝑖 }𝑖∈N is Now consider an improvement step made by cluster head
the utility function of player 𝑖 that depends on his own action 𝑖 that changes its action unilaterally from 𝑎𝑖 to 𝑎𝑖̆ , so that
as well as on the actions of other players. 2
𝑢𝑖 (𝑎𝑖̆
, 𝑎−𝑖 ) > 𝑢𝑖 (𝑎𝑖 , 𝑎−𝑖 ). Defining 𝐼𝑖 ̆
→𝑗 ≜ 1 { 𝑎𝑖̆=𝑎𝑗 } 𝑃𝑖 |ℎ𝑗,𝑖 | and
Inspired by [21], the reward function is designed to 2
consider the interference received (inward) and generated 𝐼𝑗 → 𝑖 ̆
≜ 1{𝑎𝑖̆
=𝑎𝑗 } 𝑃𝑗 |ℎ𝑖,𝑗 | , we have
(outward) by each link. In this way, the cluster heads implic-
itly cooperate to reduce the interference generated toward 𝑢𝑖 (𝑎𝑖̆
, 𝑎−𝑖 ) > 𝑢𝑖 (𝑎𝑖 , 𝑎−𝑖 )
other sensor nodes. We define the generalized SINR (gSINR) 𝑁 𝑁
for player 𝑖 as ⇐⇒ ∑ [𝐼𝑖 ̆
→ 𝑗 + 𝐼𝑗 → 𝑖 ]
̆ < ∑ [𝐼𝑖 → 𝑗 + 𝐼𝑗 → 𝑖 ]
𝑗=1,𝑗 ≠
𝑖 𝑗=1,𝑗 ≠
𝑖
󵄨 󵄨2
𝑃𝑖 󵄨󵄨󵄨ℎ𝑖,𝑖 󵄨󵄨󵄨
𝛾̃𝑖 = . (6) 𝑁 𝑁 𝑁
∑𝑁 𝑖 (𝐼𝑗 → 𝑖 + 𝐼𝑖 → 𝑗 ) + 𝜎
𝑗=1,𝑗 ≠
2
⇐⇒ ∑ [𝐼𝑖 ̆
→ 𝑗 + 𝐼𝑗 → 𝑖 ]
̆ + ∑ ∑ 𝐼𝑗 → 𝑘
𝑗=1,𝑗 ≠
𝑖 𝑗=1,𝑗 ≠
𝑖 𝑘=1,𝑘 ≠
𝑖,𝑗
Then the instantaneous reward function of cluster head 𝑖 is
𝑁 𝑁 𝑁
designed as
< ∑ [𝐼𝑖 → 𝑗 + 𝐼𝑗 → 𝑖 ] + ∑ ∑ 𝐼𝑗 → 𝑘 .
𝑗=1,𝑗 ≠
𝑖 𝑗=1,𝑗 ≠
𝑖 𝑘=1,𝑘 ≠
𝑖,𝑗
log (1 + 𝛾̃𝑖 ) , if 𝑥𝑖,𝑎𝑖 = 1; (11)
𝑟𝑖 = { 2 (7)
0, otherwise.
Here we have used the fact that when cluster head 𝑖 changes its
By the definition in (7), when the channel is available, the action, the effects are only on the interference that it receives
reward is given by Shannon’s capacity formula where both (𝐼𝑗 → 𝑖 ) and generates (𝐼𝑖 → 𝑗 ). From (10) and (11), we obtain
inward and outward interference are accounted for. When
the channel is not available, the reward is zero. Notice that 𝑢𝑖 (𝑎𝑖̆
, 𝑎−𝑖 ) − 𝑢𝑖 (𝑎𝑖 , 𝑎−𝑖 ) > 0 ⇐⇒ Φ (𝑎𝑖̆
, 𝑎−𝑖 ) − Φ (𝑎𝑖 , 𝑎−𝑖 ) > 0.
the calculation of the reward function in (7) relies on the (12)
knowledge of other players’ action. This leads to overhead due
to the required information. The implementation is possible, Therefore, G is an OPG with potential function Φ, and the
and discussion on such protocol design can be found in [21]. existence of a pure strategy NE is always guaranteed [26] since
The self-organization claimed in this paper is based on the fact it coincides with the local maxima of the potential function.
that the action in each time instant is selected by each player This completes the proof.
independently and simultaneously.
For systems with the channel availability as the external Notice that the term ∑𝑁 𝑁
𝑘 𝐼𝑘 → 𝑗 in the potential
𝑘=1 ∑𝑗=1,𝑗 ≠
state, the utility function is defined as the expected reward of function Φ denotes the summation of all mutual interference
player 𝑖 over the external state (i.e., channel availability X); in the sensor network. Therefore, every NE point is the
that is, strategy profile, that is, a local maximum of the summed
interference.
𝑢𝑖 (𝑎𝑖 , 𝑎−𝑖 ) = 𝜃𝑖,𝑎𝑖 log2 (1 + 𝛾̃𝑖 ) . (8)
5. Stochastic Learning Procedure
Furthermore, if the cluster heads are assumed to be selfish
and rational players, they will compete to maximize their own Here, we discuss obtaining the NE via stochastic learning. As
individual utility. In fact, a selfish cluster head will not only the channel state is time-varying and the action is selected
International Journal of Distributed Sensor Networks 5

(1) Initially, set 𝑛 = 0. Set the channel assignment probability vector and utility estimation as
󵄨 󵄨
𝑝𝑖,𝑠𝑖 (0) = 1/ 󵄨󵄨󵄨A𝑖 󵄨󵄨󵄨, 𝑢̂𝑖,𝑠𝑖 (−1) = 0, ∀𝑖 ∈ N, 𝑠𝑖 ∈ A𝑖 .
(2) At the beginning of the 𝑛th slot, each player selects an action 𝑎𝑖 (𝑛) according to the current channel assignment probability
p𝑖 (𝑛).
(3) In each slot, each BS transmits data. At the end of each slot, each BS receives the instantaneous reward 𝑟𝑖 (𝑛) specified by (15)
depending on the precoding scheme.
(4) All players update their channel assignment probability vector and utility estimation according to the rules:
𝑢̂𝑖,𝑠𝑖 (𝑛) − 𝑢̂𝑖,𝑠𝑖 (𝑛 − 1) = 𝜂𝑖 1{𝑎𝑖 (𝑛)=𝑠𝑖 } (𝑟𝑖 (𝑛) − 𝑢̂𝑖,𝑠𝑖 (𝑛 − 1)) ,
𝑝𝑖,𝑠𝑖 (𝑛)(1 + 𝜖𝑖 )𝑢̂𝑖,𝑠𝑖 (𝑛) (∗)
𝑝𝑖,𝑠𝑖 (𝑛 + 1) = 𝑢̂𝑖,𝑠󸀠 (𝑛)
,
∑𝑠󸀠 ∈A𝑖 𝑝𝑖,𝑠󸀠 (𝑛)(1 + 𝜖𝑖 ) 𝑖
𝑖 𝑖
where 𝜖𝑖 and 𝜂𝑖 are the learning rates for action probability and utility estimation, respectively.

Algorithm 1: Distributed channel assignment (DCA).

by each player simultaneously and independently in each reinforcement learning (CODIPAS-RL) [27]. The evolution
play, previous algorithms that require complete information of the mixed strategies is described as follows.
(e.g., better response dynamics [26]) may not be applicable
here. Thus, we propose a decentralized stochastic learning- Proposition 2. If the learning rates are sufficiently small, the
(SL-) based algorithm by which the BSs learn toward the sequence {P(𝑛)} converges to P∗ , which is the solution for the
equilibrium strategy profile from their individual action- following ordinary differential equation (ODE):
reward history.
To facilitate the development of the SL-based channel 𝑑𝑝𝑖,𝑠𝑖 (𝑡)
= 𝑝𝑖,𝑠𝑖 (𝑡) [𝜓𝑖 (𝑠𝑖 , P) − ∑ 𝜓𝑖 (𝑠𝑖󸀠 , P) 𝑝𝑖,𝑠𝑖󸀠 (𝑡)] .
selection algorithm, we extend the channel selection game 𝑑𝑡 𝑠𝑖󸀠 ∈A𝑖
into a mixed strategy form. Let p𝑖 (𝑛) = [𝑝𝑖,1 (𝑛), . . . , 𝑝𝑖,𝐶(𝑛)]𝑇 , [ ]
(14)
for all 𝑖 ∈ N, be the channel selection probability vector
for player 𝑖, where 𝑝𝑖,𝑠𝑖 (𝑛) is the probability that player 𝑖 Proof. Please refer to [28, Section 4].
selects strategy 𝑠𝑖 ∈ A𝑖 at slot 𝑛. More precisely, using mixed
strategies means that the channel assignment of cluster head The ODE in (14) is actually the ODE of the replicator
𝑖 is the outcome of a probabilistic experiment based on the dynamics [29]. An intuitive interpretation is that the prob-
probability vector p𝑖 (imagine that each SU rolls a biased dice ability of taking an action increases if the utility is higher
in each strategy update). The mixed-strategy extension of the than the average utility over all possible actions and decreases
utility function is defined upon ×𝑖∈N P𝑖 , where P𝑖 is the set otherwise.
of probability distributions over the action space of player 𝑖. The convergence property of the proposed algorithm is
Let P(𝑛) = [p1 (𝑛), . . . , p𝑁(𝑛)] be the mixed strategy profile of discussed in the following proposition.
G, and let 𝜓𝑖 (𝑠𝑖 , P) be the expected reward function of player
𝑖 if he employs pure strategy 𝑠𝑖 while other players 𝑗, for all Proposition 3. The SOCA algorithm converges to a pure
𝑗 ∈ N, 𝑗 ≠ 𝑖, employ a mixed strategy p𝑗 ; that is, strategy NE for OPGs if the learning rates are sufficiently small.

Proof. First, we rewrite the ODE in (14) as follows:


𝜓𝑖 (𝑠𝑖 , P) = ∑ 𝑢𝑖 (𝑎1 , . . . , 𝑠𝑖 , . . . , 𝑎𝑁) ∏𝑝𝑗,𝑎𝑗 . (13) 𝑑𝑝𝑖,𝑠𝑖 (𝑡)
𝑎𝑙 ,𝑙 ≠
𝑖 𝑗 ≠
𝑖
𝑑𝑡
(15)
The proposed distributed channel assignment (DCA) = 𝑝𝑖,𝑠𝑖 (𝑡) ∑ 𝑝𝑖,𝑠𝑖󸀠 (𝑡) [𝜓𝑖 (e𝑠𝑖 , P−𝑖 ) − 𝜓𝑖 (e𝑠𝑖󸀠 , P−𝑖 )] .
algorithm for cognitive sensor networks is described in 𝑠𝑖󸀠 ∈A𝑖
Algorithm 1.
In each play, the channel selection is based on a proba- Let Ψ(P) be the expected potential function; that is,
bility distribution over the set of channels. After each play, 𝑁
cluster head 𝑖 obtains the instantaneous reward and updates Ψ (P) = ∑ Φ (𝑎1 , . . . , 𝑎𝑁) ∏𝑝𝑖,𝑎𝑖 . (16)
the mixed strategy (i.e., channel selection vector) p𝑖 (𝑛) and 𝑎𝑖 ∈A𝑖 𝑖=1
utility estimation û 𝑖 (𝑛). Notably, the utility estimation serves
as a reinforcement signal so that higher utility induces higher For OPGs, Ψ(e𝑠𝑖 , P−𝑖 ) = 𝜕Ψ(P)/𝜕𝑝𝑖,𝑠𝑖 is an increasing
probability in the next play. Furthermore, the proposed learn- function of 𝜓𝑖 (e𝑠𝑖 , P−𝑖 ). Let
ing algorithm is fully distributed, and the channel selection is
𝐷𝑖,𝑠𝑖 ,𝑠𝑖󸀠 = 𝜓𝑖 (e𝑠𝑖 , P−𝑖 ) − 𝜓𝑖 (e𝑠𝑖󸀠 , P−𝑖 ) ,
solely based on individual action-reward experience without
a centralized controller. In fact, the proposed algorithm (17)
belongs to the combined fully distributed payoff strategy 𝐸𝑖,𝑠𝑖 ,𝑠𝑖󸀠 = Ψ (e𝑠𝑖 , P−𝑖 ) − Ψ (e𝑠𝑖󸀠 , P−𝑖 ) ,
6 International Journal of Distributed Sensor Networks

𝜀 = 0.1 𝜀 = 0.5
1 1

Probability
Probability

0.5 0.5

0 0
0 20 40 60 80 100 0 20 40 60 80 100
Iteration (n) Iteration (n)

pi,1 (t) pi,1 (t)


pi,2 (t) pi,2 (t)

Figure 3: Evolution of the mixed strategies (probability of taking different actions) of all players. Each pair of 𝑝𝑖,1 (𝑡) and 𝑝𝑖,2 (𝑡) shows the
behavior of player 𝑖.

and we may write Table 2: Simulation parameters.

𝐷𝑖,𝑠𝑖 ,𝑠𝑖󸀠 > 0 ⇐⇒ 𝐸𝑖,𝑠𝑖 ,𝑠𝑖󸀠 > 0. (18) Parameter Value


Minimum distance between nodes 3m
By applying (15) and (18), the derivation of Ψ(P) with respect Carrier frequency 2 GHz
to 𝑡 is given by Number of channels 2
Transmission bandwidth of each channel 180 kHz
𝑑Ψ (P) 𝜕Ψ (P) 𝑑𝑝𝑖,𝑠𝑖 Path loss and shadowing Table A.2.1.1.2-8 [25]
= ∑ ∑
𝑑𝑡 𝑖∈N 𝑠 ∈A
𝜕𝑝𝑖,𝑠𝑖 𝑑𝑡 Penetration loss Table A.2.1.1.2-8 [25]
𝑖 𝑖
Sensor transmission power 1 mW
= ∑ ∑ 𝑝𝑖,𝑠𝑖 𝑝𝑖,𝑠𝑖󸀠 Ψ (e𝑠𝑖 , P−𝑖 ) ⋅ 𝐷𝑖,𝑠𝑖 ,𝑠𝑖󸀠 Thermal noise −174 dBm/Hz
𝑖∈N 𝑠𝑖 ,𝑠𝑖󸀠 ∈A𝑖
Learning rates (default) (𝜆 𝑖 , 𝜖𝑖 ) = (0.1, 0.1)
(19)
1
= ∑ ∑ 𝑝𝑖,𝑠𝑖 𝑝𝑖,𝑠𝑖󸀠 𝐸𝑖,𝑠𝑖 ,𝑠𝑖󸀠 ⋅ 𝐷𝑖,𝑠𝑖 ,𝑠𝑖󸀠
2 𝑖∈N 󸀠 choice of the learning rates strikes a trade-off between
𝑠𝑖 ,𝑠𝑖 ∈A𝑖
𝑠𝑖 <𝑠𝑖󸀠 accuracy and speed and may be determined by training in
practice.
≥ 0,

where the last inequality holds since, given the condition in 6. Numerical Results
(18), 𝐷𝑖,𝑠𝑖 ,𝑠𝑖󸀠 and 𝐸𝑖,𝑠𝑖 ,𝑠𝑖󸀠 always have the same sign.
For system-level simulations, we consider a cognitive sensor
Thus, Ψ is nondecreasing along the trajectories of the
network deployed within the coverage of a cellular network.
ODE, and asymptotically all the trajectories will be in the set
As in Figure 1, the simulation environment includes one
{P ∈ P : 𝑑Ψ(P)/𝑑𝑡 = 0}. From (15) and (19), the following is
macrocell covering one dual-stripe apartment block. The
known:
apartment block contains 40 single-floor apartments. There is
𝑑Ψ (P) one sensor cluster in each apartment. When a sensor cluster is
=0 active, its cluster head assigns one channel to cluster members
𝑑𝑡
randomly located in the same apartment. Without loss of
2
󳨐⇒ 𝑝𝑖,𝑠𝑖 𝑝𝑖,𝑠𝑖󸀠 [𝜓𝑖 (e𝑠𝑖 , P−𝑖 ) − 𝜓𝑖 (e𝑠𝑖󸀠 , P−𝑖 )] = 0 generality, we consider the channel assignment in the first
(20) slot of each frame, in which for each active cluster there is
𝑑𝑝𝑖,𝑠𝑖 one cluster member. The simulation parameters are listed in
󳨐⇒ = 0, ∀𝑖, 𝑠𝑖 , 𝑠𝑖󸀠 Table 2.
𝑑𝑡
󳨐⇒ P is a stationary point of the ODE (14) . 6.1. Convergence of the Proposed SL-Based Learning Algo-
rithm. We first study the time-evolving behaviors of the
In other words, when starting from an interior point of
proposed stochastic learning method.
the simplex of the mixed strategy space P, the sequence
P(𝑛) converges to a stationary point of the ODE in (15). By
Proposition 3, we complete the proof. 6.1.1. Evolution of Mixed Strategies. Figure 3 shows the evo-
lutions of the channel assignment probabilities (i.e., mixed
While the SL-based learning algorithm converges to an strategy) using the proposed SL-based algorithm. We con-
NE point when the learning rates approach zero, smaller sider different learning rates and study the convergence
learning rates lead to a slower convergence. Therefore, the behaviors. It is observed that, with equal initial probability,
International Journal of Distributed Sensor Networks 7

8 10
6

Utility
Utility

4 5
2
0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Link ID Link ID

NE NE
Deviation Deviation
(a) 𝜀 = 0.1 (b) 𝜀 = 0.5

Figure 4: Test of unilateral deviation from the resulting strategy profile of each of the 10 players.

2 Figure 4, we verify the NE property by testing the unilateral


Action

1.5 deviation with a 25% active ratio and different learning rates.
As can be seen from Figure 4(a), when 𝜖 = 0.1, a unilateral
1
0 20 40 60 80 100 deviation results in lower utility for all players. In other words,
Iteration (n) the outcome of the learning algorithm is an NE point. On
the other hand, when 𝜖 = 0.5, as shown in Figure 4(b), links
a3 (j) number 4 and number 8 both achieve higher throughput
2 by unilateral deviation, and thus the resulting strategy is no
longer an NE point. These results reflect the trade-off between
Action

1.5
accuracy and convergence speed which we mentioned before.
1
0 20 40 60 80 100
Iteration (n) 6.1.3. Evolution of Actions. During the learning procedure,
the channel assignment is based on probabilistic experiments.
a5 (j) When the channel assignment changes in the next frame,
2 the switching between different channels brings overhead
since the sensor node needs to be reconfigured. The evolution
Action

1.5
of actions for selected players is shown in Figure 5. As can
1 be seen, while Figure 3 (Left) reveals that it takes around
0 20 40 60 80 100
80 iterations for all players to converge to pure strategies,
Iteration (n) the actions seldom change after about 60 iterations in the
a6 (j) learning procedure. This suggests that channel switching, if
2 at all happens, usually happens only in the beginning of the
entire learning procedure. Actually, our proposed learning
Action

1.5
algorithm aims at learning the equilibrium strategy in the
1 long run. The channel switching and the incurred sensor
0 20 40 60 80 100
node reconfiguration are manageable overheads compared to
Iteration (n)
the long operation time.
a10 (j)

Figure 5: Evolution of the actions 𝑎𝑖 (𝑗) for some players. 6.1.4. Different Active Ratios. We further consider different
active ratios and investigate the convergence behaviors under
different levels of mutual interference. The results for active
ratio of 50% and 75% are shown in Figure 6. We observe that
the channel assignment probability converges to a pure strat- the convergence toward pure strategy takes around 100 and
egy (i.e., the probability of choosing one strategy approaches 150 iterations for active ratio of 50% and 75%, respectively.
one) in around 80 and 20 iterations for 𝜖 = 0.1 and 𝜖 = 0.5, Comparing the case of 25% active ratio in Figure 3 (Left), we
respectively. As expected, larger learning rate results in faster see that it takes fewer iterations for densely active networks
convergence. to converge than for sparsely active sensor networks.

6.1.2. Verification of NE. As shown in Figure 3, the conver- 6.2. Capacity Performance
gence toward pure strategy is observed for both 𝜖 = 0.1 and
𝜖 = 0.5. An intuitive question to ask is as follows: does the 6.2.1. Capacity under Unilateral Deviation. In Figure 4 we
resulting strategy profile achieve the Nash equilibrium? In have shown that unilateral deviation leads to decreased utility.
8 International Journal of Distributed Sensor Networks

Active ratio = 50% Active ratio = 75%


1 1
0.8 0.8
Probability

Probability
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 50 100 150 200 0 50 100 150 200
Iteration (n) Iteration (n)

pi,1 (t) pi,1 (t)


pi,2 (t) pi,2 (t)

Figure 6: Evolution of the mixed strategies (probability of taking different actions) of all players with active ratios of 50% and 75%. Each pair
of 𝑝𝑖,1 (𝑡) and 𝑝𝑖,2 (𝑡) shows the behavior of player 𝑖.

8 8
6 6
Capacity

Capacity
4 4
2 2
0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Link ID Link ID

NE NE
Deviation Deviation
(a) Link capacity (b) Average capacity

Figure 7: Test of unilateral deviation from the resulting strategy profile of each of the 10 players.

While the altruistic utility function design reduces the mutual Table 3: Comparison of the capacity and fairness for different
interference, we are also interested in the performance of channel assignment schemes.
Nash equilibrium strategy in terms of the throughput of each
Number of SUs Proposed Exhaustive Random
cluster as well as the whole system. Therefore, in Figure 7, we
test the change in capacity under unilateral deviation from Active ratio = 25%, 𝑅avg 6.0426 6.2433 4.7912
the NE strategy for all players. As depicted in Figure 7(a), Active ratio = 25%, 𝐽 0.9370 0.8512 0.9516
there is no significant change in the average capacity per Active ratio = 50%, 𝑅avg 4.8375 4.9454 4.0955
sensor link when only one player unilaterally deviates from its Active ratio = 50%, 𝐽 0.8855 0.8235 0.9056
NE strategy. From Figure 7(b) we observe that, for all players,
deviation from NE strategy decreases their own capacity.
The performance of different channel selection schemes
6.2.2. Comparison with Other Methods. We further compare is evaluated by the average capacity per sensor node, 𝑅avg =
the performance of the proposed channel selection scheme (1/𝑁) ∑𝑁 𝑖=1 𝑅𝑖 , and the fairness among sensor nodes. In the
with two other approaches, namely, random allocation and literature, fairness of resource allocation is usually quantified
exhaustive search, described as follows. by Jain’s fairness index (JFI) [30], which is defined as
2
(i) In the random allocation scheme, each cluster head (∑𝑁
𝑖=1 𝑅𝑖 )
randomly selects a channel for its sensor node in each 𝐽= . (21)
frame. Neither learning algorithm nor centralized 𝑁 ∑𝑁 2
𝑖=1 𝑅𝑖
controller is implemented. The value of JFI falls in the interval of [1/𝑁, 1], and a higher
(ii) In the exhaustive search scheme, it is assumed that JFI value indicates better fairness.
there exists a centralized controller which knows all The simulation results of average capacity and JFI for
system information including the channel gains, the different active ratios are summarized in Table 3. We observe
channel availability statistics, and the number of clus- that the exhaustive search method results in the best aver-
ters. The channel assignment profile is determined by age capacity with the worst fairness. The random selection
maximizing the expected sum capacity (i.e., solving scheme, in contrast, has the lowest average capacity but
(4)). good fairness due to its randomness nature. The proposed
International Journal of Distributed Sensor Networks 9

method shows well-balanced performance in terms of both [6] S. Silas, K. Ezra, and E. Blessing Rajsingh, “A novel fault tolerant
average capacity and fairness. The results show the advantages service selection framework for pervasive computing,” Human-
of the proposed method; through the learning procedure Centric Computing and Information Sciences, vol. 2, no. 1, pp.
toward equilibrium, the capacity of each player is considered 1–14, 2012.
and fewer players are sacrificed. If we examine the final [7] G. H. Carvalho, A. Anpalagan, I. Woungang, and S. K. Dhu-
channel selection profile, it is observed that, in the progress randher, “Energy-efficient radio resource management scheme
of convergence toward the NE point, the proposed learning for heterogeneous wireless networks: a queueing theory per-
algorithm allocates the mutually interfered users on different spective,” Energy, vol. 3, no. 4, 2012.
channels. [8] O. B. Akan, O. B. Karli, and O. Ergul, “Cognitive radio sensor
networks,” IEEE Network, vol. 23, no. 4, pp. 34–40, 2009.
[9] K. Sundaresan and S. Rangarajan, “Efficient resource manage-
7. Conclusion ment in OFDMA femto cells,” in Proceedings of the 10th ACM
International Symposium on Mobile Ad Hoc Networking and
In this paper, we have studied the problem of distributed Computing (MobiHoc ’09), pp. 33–42, New York, NY, USA, May
channel assignment in self-organized cognitive sensor net- 2009.
works with unknown channel and unknown number of [10] D. López-Pérez, A. Valcarce, G. de la Roche, and J. Zhang,
clusters. We have presented a game-theoretic approach to “OFDMA femtocells: a roadmap on interference avoidance,”
distributively manage interference and enable the coexistence IEEE Communications Magazine, vol. 47, no. 9, pp. 41–48, 2009.
of sensor and macrocell operations in a scenario where sensor [11] A. Hatoum, N. Aitsaadi, R. Langar, R. Boutaba, and G. Pujolle,
nodes operate in the same spectrum as a cellular system. We “FCRA: femtocell cluster-based resource allocation scheme for
modeled channel assignment problem by means of an ordinal OFDMA networks,” in Proceedings of the IEEE International
potential game. A decentralized stochastic learning algorithm Conference on Communications (ICC ’11), pp. 1–6, Kyoto, Japan,
has been proposed. Simulation results have demonstrated June 2011.
the convergence of the algorithm toward a pure strategy [12] C. Seneviratne and H. Leung, “A game theoretic approach for
Nash equilibrium with sufficiently small learning rates. The resource allocation in cognitive wireless sensor networks,” in
proposed method outperforms the random selection scheme Proceedings of the IEEE International Conference on Systems,
in terms of average capacity, while the performance loss Man, and Cybernetics (SMC ’11), pp. 1992–1997, Anchorage,
compared to the exhaustive search is limited. In addition, its Alaska, USA, October 2011.
fairness level is comparable to that of the random selection [13] K. R. Chowdhury, N. Nandiraju, P. Chanda, D. P. Agrawal, and
and surpasses the exhaustive search scheme. Q.-A. Zeng, “Channel allocation and medium access control for
wireless sensor networks,” Ad Hoc Networks, vol. 7, no. 2, pp.
307–321, 2009.
Conflict of Interests [14] Q. Yu, J. Chen, Y. Fan, X. Shen, and Y. Sun, “Multi-channel
The authors declare that there is no conflict of interests assignment in wireless sensor networks: a game theoretic
approach,” in Proceedings of the IEEE INFOCOM, pp. 1–9, San
regarding the publication of this paper.
Diego, Calif, USA, March 2010.
[15] R. Y. Chang, Z. Tao, J. Zhang, and C.-C. J. Kuo, “Multicell
Acknowledgment OFDMA downlink resource allocation using a graphic frame-
work,” IEEE Transactions on Vehicular Technology, vol. 58, no. 7,
This work was supported in part by the National Science pp. 3494–3507, 2009.
Council, Taiwan, under Grant NSC 102-2218-E-001-001. [16] J. Ansari and P. Mähönen, “Channel selection in spectrum agile
and cognitive MAC protocols for wireless sensor networks,” in
References Proceedings of the 8th ACM International Workshop on Mobility
Management and Wireless Access (MobiWac ’10), pp. 83–90,
[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “A Bodrum, Turkey, October 2010.
survey on sensor networks,” IEEE Communications Magazine, [17] Y. Sung and K. Cho, “A method for learning macro-actions
vol. 40, no. 8, pp. 102–105, 2002. for virtual characters using programming by demonstration
[2] B. Wang, Y. Wu, and K. J. R. Liu, “Game theory for cognitive and reinforcement learning,” Journal of Information Processing
radio networks: an overview,” Computer Networks, vol. 54, no. Systems, vol. 8, no. 3, pp. 409–420, 2012.
14, pp. 2537–2561, 2010. [18] B. J. Oommen, A. Yazidi, and O.-C. Granmo, “An adaptive
[3] C. Liu, O. Granados, R. Duarte, J. Andrian, and C. Author, approach to learning the preferences of users in a social net-
“Energy efficient architecture using hardware acceleration for workusing weak estimators,” Journal of Information Processing
software defined radio components,” Journal of Information Systems, vol. 8, no. 2, pp. 191–212, 2012.
Processing Systems, vol. 8, no. 1, pp. 133–144, 2012. [19] M. Bennis and D. Niyato, “A Q-learning based approach to
[4] J. Ng, “Ubiquitous healthcare: healthcare systems and applica- interference avoidance in self-organized femtocell networks,” in
tion enabled by mobile and wireless technologies,” Journal of Proceedings of the IEEE GLOBECOM Workshops, pp. 706–710,
Convergence, vol. 3, no. 2, pp. 31–36, 2012. Miami, Fla, USA, December 2010.
[5] Y. Zhu and Q. Jin, “An adaptively emerging mechanism for [20] A. Galindo-Serrano and L. Giupponi, “Femtocell systems with
context-aware service selections regulated by feedback distri- self organization capabilities,” in Proceedings of the 5th Interna-
butions,” Human-Centric Computing and Information Sciences, tional Conference on Network Games, Control and Optimization
vol. 2, no. 1, pp. 1–15, 2012. (NetGCooP ’11), pp. 1–7, Paris, France, October 2011.
10 International Journal of Distributed Sensor Networks

[21] N. Nie and C. Comaniciu, “Adaptive channel allocation spec-


trum etiquette for cognitive radio networks,” in Proceedings
of the 1st IEEE International Symposium on New Frontiers in
Dynamic Spectrum Access Networks (DySPAN ’05), pp. 269–278,
Baltimore, Md, USA, November 2005.
[22] Y. Xu, J. Wang, Q. Wu, A. Anpalagan, and Y.-D. Yao, “Oppor-
tunistic spectrum access in unknown dynamic environment: a
game-theoretic stochastic learning solution,” IEEE Transactions
on Wireless Communications, vol. 11, no. 4, pp. 1380–1391, 2012.
[23] B. Singh and D. Lobiyal, “A novel energy-aware cluster head
selection based on particle swarm optimization for wireless
sensor networks,” Human-Centric Computing and Information
Sciences, vol. 2, no. 1, pp. 1–18, 2012.
[24] X. Li, N. Mitton, A. Nayak, and I. Stojmenovic, “Achieving load
awareness in position-based wireless ad hoc routing,” Journal of
Convergence, vol. 3, no. 3, 2012.
[25] 3GPP, “E-UTRA: further advancements for E-UTRA physical
layer aspects,” Tech. Rep. TR 36.814, v 9.0.0, 3GPP, Sophia
Antipolis, France, 2010.
[26] D. Monderer and L. S. Shapley, “Potential games,” Games and
Economic Behavior, vol. 14, no. 1, pp. 124–143, 1996.
[27] M. A. Khan, H. Tembine, and A. V. Vasilakos, “Game dynamics
and cost of learning in heterogeneous 4G networks,” IEEE
Journal on Selected Areas in Communications, vol. 30, no. 1, pp.
198–213, 2012.
[28] H. Tembine, Distributed Strategic Learning for Wireless Engi-
neers, CRC Press, New York, NY, USA, 2012.
[29] D. Fudenberg and D. Levine, The Theory of Learning in Games,
vol. 2, The MIT press, Cambridge, Mass, USA, 1998.
[30] R. Jain, D. Chiu, and W. Hawe, “A quantitative measure of
fairness and discrimination for resource allocation in shared
computer systems,” Tech. Rep. TR-301, DEC, Maynard, Mass,
USA, 1984.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 383678, 12 pages
http://dx.doi.org/10.1155/2014/383678

Research Article
Broadcast Aggregation to Improve Quality of Service in
Wireless Sensor Networks

Evy Troubleyn, Jeroen Hoebeke, Ingrid Moerman, and Piet Demeester


Department of Information Technology (INTEC), Ghent University-iMinds, Gaston Crommenlaan 8, Bus 201, 9050 Ghent, Belgium

Correspondence should be addressed to Evy Troubleyn; evy.troubleyn@intec.ugent.be

Received 28 September 2013; Accepted 28 January 2014; Published 9 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Evy Troubleyn et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

In-network aggregation is used in wireless sensor networks to reduce energy consumption on sensor nodes with limited capabilities.
Typically, only packets with the same destination are aggregated along the routing path and these packets are sent by unicast.
While this is adequate for traditional multipoint-to-point sensor network applications, this is not suitable when wireless sensor
nodes are connected in a full mesh topology, as is the case in the Internet of Things. In these full mesh topologies, queues will
be filled with packets with many different destinations, which limits the aggregation possibilities. Furthermore, the Quality of
Service level will decrease since packets have to wait longer to find aggregation candidates. Therefore, in this paper, we propose to
use broadcast aggregation that can aggregate packets independent of their destination. Broadcast aggregation is analyzed through
simulations against unicast aggregation and no aggregation. Results show that energy can be reduced up to 13% compared with
unicast aggregation and up to 27% compared with no aggregation. In terms of reliability, the Quality of Service is improved up to
15% compared with unicast aggregation and up to 23% compared with no aggregation. The delay on its turn is decreased by 52%
compared with unicast aggregation.

1. Introduction we presented a tunable QoS-aware in-network aggregation


scheme that makes a trade-off between energy consumption
Reducing energy consumption in wireless sensor networks and a predefined QoS level. But we have observed that this
has been extensively studied in recent years. Wireless sensor technique works only well when there are many aggregation
networks are networks that contain low-power and low-cost opportunities, which is true for traditional source-to-sink
sensor nodes that are communicating through a wireless applications.
radio interface. These sensor nodes are often battery powered, Today, more and more sensor networks are intercon-
and hence energy is a scarce resource [1]. A technique that nected with the Internet, forming what is called the Inter-
is often used to reduce energy consumption is in-network net of Things (IoT). For example, Libelium [4] lists 57
aggregation [2]. In traditional in-network aggregation, many sensor applications for a smarter world situated in home,
packets with the same (next-hop) destination are aggregated environments, industry, healthcare, and many more. These
into one big packet and the aggregated packet is sent along sensor nodes will join the Internet dynamically and use it to
the routing path by unicast messages. As a consequence, collaborate and accomplish their task [5]. A drawback is that
fewer transmissions and receptions are needed, and since there are many different communication paths which can lead
radio communication consumes most of the sensor network to fewer aggregation opportunities and fewer packets that can
energy, energy is saved by reducing the radio-on time. be aggregated into one single packet (in the following referred
However, the impact of in-network aggregation on the to as the degree of aggregation, DoA) since the queues on
Quality of Service (QoS) level is currently not fully addressed the nodes become filled with packets with many different
and the trade-off between energy and QoS is often ignored. destinations. As a consequence, more energy is wasted and
In previous work [3], we have already studied the impact of the QoS level is decreased since packets will have to wait
in-network aggregation on energy, delay, and reliability and longer resulting in a higher drop probability.
2 International Journal of Distributed Sensor Networks

Therefore, in this paper, we propose to use broadcast schemes are taken into account. Furthermore, the degree of
aggregation to aggregate packets independent of their next- aggregation is a controllable parameter and buffer manage-
hop destination. We show that applying broadcast aggrega- ment is used to optimize the QoS by minimizing the packet
tion leads to faster aggregation with a higher overall QoS level loss due to buffer overflow.
and lower energy consumption. Finally, Akkaya et al. [10] describe an algorithm for
The remainder of this paper is organized as follows. achieving maximal possible energy savings through data
Section 2 gives an overview of the related work on QoS- aggregation while meeting the desired level of timeliness. In
aware unicast and broadcast in-network aggregation, while order to perform service differentiation and ensure bounded
in Section 3 the applied broadcast mechanism is explained. A delay for constrained traffic, a weighted fair queuing based
definition and problem statement is given first, followed by mechanism is employed.
a performance analysis. Simulation results are discussed in Broadcast-based in-network aggregation takes advantage
Section 4. We end this paper with a conclusion and a look on of the density of sensor networks in which one sensor node
future work in Section 5. often has many neighbors. By broadcasting a packet, the
packet can be received by many neighboring nodes, and for
2. Related Work this reason, this approach is often used to increase reliability
of multipath routing.
Because energy is a main concern in wireless sensor Most broadcast-based in-network aggregation tech-
networks and in-network aggregation is very suited to niques in the literature focus however on lossy aggregation
reduce energy consumption, in-network aggregation has (by using aggregation functions such as minimum, maxi-
been already extensively studied in recent years [2, 6]. Since mum, and average) and sending this aggregated value by mul-
packets are often exchanged by unicast messages or by tiple paths to the sink. A focus hereby is developing duplicate-
broadcast messages, in-network aggregation protocols can be sensitive aggregation functions since broadcast aggregation
classified into unicast-based in-network aggregation proto- can lead to incorrect values at the sink node [11–14]. This is
cols and broadcast-based in-network aggregation protocols. however out of scope of this paper.
As we focus on both energy consumption and QoS, we In AIDA [15], a lossless adaptive application-independent
limit ourselves to lossless QoS-aware in-network aggregation data aggregation mechanism is presented. This solution
approaches. With lossless we mean that the initial data can be contains an aggregation module that resides between the
reconstructed and we do not consider aggregation functions data link and network layer. Aggregation decisions are
such as minimum, maximum, and average. made in accordance with an adaptive feedback-based packet-
In unicast-based in-network aggregation, aggregation is scheduling scheme that dynamically controls the degree of
performed along the intermediate nodes of the routing path. aggregation in accordance with the MAC delay. This dynamic
It goes without saying that the routing algorithm and the feedback scheme is based on the overall queuing delay
routing path have a profound influence on the performance imposed on AIDA payloads that are waiting for transmission.
of the in-network aggregation. Examples can be found in [7– The default degree of aggregation is 1, while if the traffic
10]. builds up, a greater degree of aggregation is allowed prior to
In LUMP [7], a simple data aggregation protocol which sending. If the packets that are ready to be aggregated are
enables QoS support for applications is proposed. Therefore, targeting the same next-hop node, AIDA sends a manycast
it prioritizes packets for differentiated services and facilitates packet (or a unicast packet in the case that there is only one
aggregation decisions. The architecture has a cross-layer packet) with the target node specified. However, when there
design and is a completely independent module residing are network packets that have to be aggregated with a different
between data link and network layer. The priority level next-hop address, these packets are aggregated into a single
represents the tolerable end-to-end latency of the packet. packet and the MAC broadcast address is used as destination.
The authors of [8] investigate data gathering and aggrega- A drawback of AIDA is that it only tries to reduce end-to-end
tion in a distributed, multihop sensor network under specific delay, and energy consumption is more considered as benefit
QoS constraints. Firstly, delay controlled Data Aggregation than as trade-off value. Our focus is on energy reduction
and Processing (Q-DAP) is performed at the intermediate within the QoS constraints.
nodes in a distributed fashion. Each node can decide inde-
pendently if it performs aggregation. If the delay constraint 3. Broadcast Aggregation
can be satisfied, the report is deferred for a fixed time
interval with a certain probability; otherwise, it is sent to 3.1. Definition and Problem Statement. When performing in-
the next hop. If it cannot be satisfied in any case, it is network aggregation, there will always be a trade-off between
discarded. Secondly, a Localized Adaptive Data Collection energy and QoS. For instance, a higher degree of aggregation
and Aggregation (LADCA) approach is proposed for the end will lead to less energy consumption, but packets will have
nodes. This algorithm defines the data sample rate taking to wait longer in the queue and, as a consequence, the
into account energy-efficiency, delay, accuracy, and buffer delay increases. Since in this paper the focus is both on
overflow. energy reduction and QoS improvement, we try to send as
In [9], Padmanabh and Vuppala present an adaptive data much packets with the highest possible degree of aggregation,
aggregation algorithm with bursty sources in wireless sensor within the limits of the given QoS constraints. So packets
networks. In this paper, both lossy and lossless aggregation will be kept in the queue as long as the maximum degree
International Journal of Distributed Sensor Networks 3

of aggregation (or the maximum number of packets that extract the packet and retrieve the packet parts that are
physically can be aggregated into one single packet) is not destined for them. This broadcast aggregation mechanism is
reached. However, since packets will have a limit on their visualized in Figure 3.
maximum end-to-end delay, a timeout time is introduced.
This is the time that a packet maximally may reside inside a 3.2. Performance Analysis. In the following, we compare
node before it should be sent to the next-hop node. broadcast aggregation with unicast aggregation. As already
The number of packets that can be aggregated into a explained in Section 3.1, broadcast aggregation is performed
single packet strongly depends on the protocols being used as soon as the number of available packets reaches the
for transferring application data. Highly compact proprietary predefined DoAmax value or when the maximum timeout
solutions can be used leading to a high DoA. However, even time has reached.
when using IETF-based IoT protocols (e.g., 6LoWPAN, UDP, To summarize, broadcast aggregation is performed.
and CoAP [16]) up to 5 packets can be aggregated as can
be seen in Figure 1. Including the PHY header, the MAC (i) When there are DoAmax packets in the system,
header and footer, and the compressed 6LoWPAN/UDP DoAmax packets are aggregated and sent by broadcast
header for link-local addresses, this leaves us up to 8 bytes for ⇒ 𝐵 = DoAmax
the application header and data, which should be sufficient (ii) When fewer than DoAmax packets are in the system
for simple sensor network transactions such as temperature, and the maximum timeout time has reached for at
humidity, or light responses. When using CoAP as the least one of the packets ⇒ 𝐵 < DoAmax .
application protocol, a typical CoAP response without any With 𝐵 the number of packets that are aggregated in a
options consumes 4 bytes for the CoAP header and 1 byte for single packet that is broadcasted to all 1-hop neighbors.
the payload marker, leaving 3 bytes available for the actual For unicast aggregation, it is not possible to select the first
payload. DoAmax packets since these packets can have different next-
In traditional unicast aggregation, many small packets hop destinations.
with the same (next-hop) destination are aggregated into Unicast aggregation is therefore performed.
one big packet and sent by unicast to the next-hop node
along the routing path. In typical source-to-sink applications (i) When there are DoAmax packets with the same next-
such as temperature monitoring, there are many aggregation hop destination in the system ⇒ 𝑈 = DoAmax
possibilities since many packets are routed to the sink. A high (ii) When fewer than DoAmax packets with the same next-
degree of aggregation is possible and, as a consequence, much hop destination are in the system and the maximum
energy can be saved and QoS is only marginally affected. timeout time has reached for at least one of the
However, in the IoT, a huge amount of devices may packets with the same next-hop destination ⇒ 𝑈 <
be interconnected with many bindings between individual DoAmax .
devices (e.g., sensor-actuator interactions), and as a con-
With 𝑈 the number of packets that are aggregated in a
sequence, many different nodes can send packets to many
single packet that is sent to a single next-hop node using
different destination. Each intermediate routing node may
unicast.
contain many packets that have to be routed to different
To compare the broadcast aggregation with unicast aggre-
destinations. This leads to fewer aggregation candidates, so
gation, we can use the 𝑀/𝑀/1/𝐺𝐷/𝐾/∞ queuing system.
packets will have to be routed without being aggregated, or
This is a queuing system in which the interarrival times and
with a lower degree of aggregation. However, when both
service time are exponentially distributed with rate 𝜆 and rate
the timeout time and the predefined DoAmax value (= the
𝜇, respectively. There is only one serving unit and there is a
maximum number of packets that can be aggregated into one
general queue discipline. However, only 𝐾 packets can enter
single packet) are not yet reached, packets will be dropped
the system. This queuing system is shown in Figure 4.
because the queue is fully occupied with packets that are
For 𝜆 ≠𝜇 and with 𝜌 = 𝜆/𝜇 the steady-state probabilities
waiting for the required number of aggregate candidates
are given by:
or for their timeout time. This is illustrated in Figure 2.
Alternatively, instead of dropping packets, we could also send 1−𝜌
𝑝0 = ,
packets before their timeout time, but this will again increase 1 − 𝜌𝐾+1
the energy consumption. Furthermore, more packets that are (1)
not aggregated will lead to more packets in the air and a 𝑝𝑖 = 𝜌𝑖 𝑝0 (𝑖 = 1, 2, . . . , 𝐾) ,
higher drop probability due to channel issues (collisions, etc.).
To overcome these issues, we propose to use broadcast 𝑝𝑖 = 0 (𝑖 = 𝐾 + 1, 𝐾 + 2, . . .) .
aggregation. Instead of aggregating packets with the same
(next-hop) destination and sending them by unicast, packets 3.2.1. Reliability. In a 𝑀/𝑀/1/𝐺𝐷/𝐾/∞ queuing system, the
are aggregated independent of their (next-hop) destination drop probability equals the probability that a new packet
and sent by broadcast. This decouples aggregation from the arrives when there are already 𝐾 packets in the queue.
routing path. In unicast communication, packets are sent to Substituting 𝑝0 in 𝑝𝐾 , the reliability can be expressed as
a single destination on the routing path, while by broadcast
𝜌𝐾 (1 − 𝜌)
communication, a transmitted packet is received by every 𝑅 = 1 − 𝑝𝐾 = 1 − . (2)
node within the coverage area. The receiving nodes can then 1 − 𝜌𝐾+1
4 International Journal of Distributed Sensor Networks

Bytes: 5 1 127

SYNC header PHY PHY payload


header

7 118 2

MHR MAC payload MFR

7 14 2 7 14 2
···
MHR MAC payload MFR MHR MAC payload MFR

6 8
Compressed Application
6LoWPAN/UDP HR HR + data

Figure 1: Minimal aggregated packet structure for Internet of Things packets based on 802.15.4 packets with SYNC (synchronization) header,
PHY (physical) header, MHR (MAC header), MFR (MAC footer), and compressed 6LoWPAN/UDP header for link-local addresses where
up to 5 packets can be aggregated.

DoA = 5, K = 10 New incoming packet


X X Y Z
1 t1 t4 5
1 3 2 1 1 3 3 4 2 4
t2 t4
Y X Y Z
Drop packet 2 4 6
t3 t4
Figure 2: Queue overflow with predefined DoAmax = 5 and X Y Z
maximum queue size 𝐾 = 10. A packet drop occurs since a Z X Y Z
3 7
new packet enters the system while the queue is fully occupied
with packets that are waiting for the required number of aggregate Figure 3: Broadcast aggregation mechanism: nodes 1, 2, and 3 send
candidates or for their timeout time. data packets (resp., 𝑋, 𝑌, and 𝑍) sequentially (𝑡1 < 𝑡2 < 𝑡3 ) towards,
respectively, nodes 7, 6, and 5. These packets wait in the intermediate
node (node 4) until the requested DoA is reached and then they
In Figure 5, the reliability (or the chance that a packet is are aggregated independent of their next-hop destination. This
not dropped from the queue) is shown for different 𝜇 values. aggregated packet is then sent by broadcast on 𝑡4 to the neighboring
The evaluation of (2) is done for 𝐾 = 15. This is a realistic nodes. Destination nodes 5, 6, and 7 can then extract the data part
assumption of the available buffer space on today’s sensor that is destined for them (resp., 𝑍, 𝑌, and 𝑋).
nodes. For instance, the Zolertia Z1 sensor node [17] has 8 kB
of RAM, but 4–6 kB is often used for code, which leaves only
2–4 kB for buffering. We can see from the figure that doubling In this section, we mentioned the node reliability caused
the service rate can significantly improve the reliability, or in by queue overflows. The end-to-end reliability will also be
other words, doubling the service rate leads to an increased influenced by specific protocol implementations and channel
load capacity before a packet will be dropped. related issues (e.g., collisions).
So when broadcast aggregation is applied and the maxi-
mum timeout time has not passed, packets can be aggregated 3.2.2. Delay. The delay or the average time that a packet
as soon as there are enough packets to meet the DoAmax resides in a node can be calculated from Little’s queuing
value which will prevent from queue overflows. In unicast formula:
aggregation, the network topology determines the service
rate since when there are many different streams with 𝑁
𝐷avg = (3)
different next-hop destinations; it can take some time before 𝜆 eff
there are enough packets with the same next-hop destination
before aggregation can occur. So while 𝐵 and 𝑈 are the same, with 𝑁 the average number of packets in the node and 𝜆 eff
𝐵 will be reached earlier, which releases the queue earlier and the average number of packets that actually enter the node.
increases the reliability. Recall that some packets may arrive in a fully occupied queue
International Journal of Distributed Sensor Networks 5

𝜆 𝜆 𝜆 𝜆 𝜆 𝜆 1.5

0 1 2 3 ··· K−1 K

𝜇 𝜇 𝜇 𝜇 𝜇 𝜇

Figure 4: 𝑀/𝑀/1/𝐺𝐷/𝐾/∞ queuing system. 1

Delay (min)
100
90
0.5
80
70
Reliability (%)

60
50 0
0 5 10 15 20 25 30
40 𝜆 (packets/min)
30 𝜇 = 10
𝜇 = 20
20
𝜇 = 30
10
Figure 6: Delay analysis for different 𝜇 values (with 𝜇 the service
0 rate, 𝜆 the interarrival rate, and 𝐾 = 15 the maximum queue
0 5 10 15 20 25 30
occupation).
𝜆 (packets/min)
𝜇 = 10
𝜇 = 20
3.2.3. Throughput. The end-to-end throughput of the net-
𝜇 = 30
work is expressed as the average rate of successfully delivered
Figure 5: Reliability analysis for different 𝜇 values (with 𝜇 the data from source to destination. This end-to-end throughput
service rate, 𝜆 the interarrival rate, and 𝐾 = 15 the maximum queue is influenced by two parts: a node throughput and a channel
occupation). throughput. The node throughput equals the service rate
𝜇. The channel throughput depends on channel overhead,
transmission errors, and so forth. Aggregation in general is
and will hence be dropped. These packets are not considered beneficial for channel utilization since fewer packets have to
in 𝜆 eff . contend for the medium which leads to fewer packet drops.
𝜆 eff can be calculated as
𝐾
3.2.4. Energy. In [3], we have shown that energy consump-
𝜆 eff = ∑ 𝜆 𝑘 𝑝𝑘 = 𝜆 (1 − 𝑝𝐾 ) (4) tion can be reduced when aggregation is applied together
𝑘=0
with a sleep-wake-up scheme. Aggregation leads to fewer
transmissions and receptions which results in more sleep
and 𝑁 can be calculated as opportunities and a reduced energy consumption level. The
𝐾
transmission energy consumption can be calculated as
𝑁 = ∑ 𝑘 ⋅ 𝑝𝑘 . (5) reduction 𝐸A
𝑘=0 𝐸tx =1− (7)
𝐸NA
Combining (3) with (4), (5), and (1), the average delay
𝐷avg that a packet resides inside the system can be expressed in which 𝐸A is the total transmission energy consumed
as follows: when aggregation is performed and 𝐸NA is the total energy
consumed when no aggregation is performed. Expressing 𝐸A
𝜌 [1 − (𝐾 + 1) 𝜌𝐾 + 𝐾𝜌𝐾+1 ] in terms of 𝐸NA , this leads to
𝐷avg = .
(1 − 𝜌𝐾+1 ) (1 − 𝜌) 𝜆 (1 − (𝜌𝐾 (1 − 𝜌) / (1 − 𝜌𝐾+1 ))) 𝐸TO + 𝐸H
A
+ DoAavg 𝐸DATA
NA
reduction 1
(6) 𝐸tx ≈1− (8)
𝐸TO + 𝐸H
NA
+ 𝐸DATA
NA DoAavg
In Figure 6, the average delay is given for different 𝜇
values that are expressed in terms of the initial arrival rate 𝜆. in which 𝐸TO is the energy consumption caused by trans-
The evaluation of (6) is done for 𝐾 = 15. We can see from the mission overhead per packet transmission. This contains
figure that doubling the service rate can significantly reduce the Clear Channel Assessment (CCA) time, the RX-TX
the average delay that a packet resides inside the system. So turnaround time but also the overhead created by the MAC
again, while 𝐵 and 𝑈 are the same, 𝐵 will be reached earlier, protocol, for example, by beacons. 𝐸H
NA
is the energy con-
which decreases the average (end-to-end) delay. sumed to send a not aggregated packet header, 𝐸H A
is the
6 International Journal of Distributed Sensor Networks

energy consumed to send a header of an aggregated packet, a scenario where a resource on a sensor node (e.g., the
and 𝐸DATA
NA
is the energy consumed to send individual data temperature) is being monitored using the CoAP observe
parts. option. In this case, the sensor node will send a notification
From (8), we can see that the energy reduction depends every time the resource state changes (e.g., the temperature)
on the average DoA level (DoAavg ). In general, the more or when its max-age value, which indicates the freshness of
packets that are aggregated (= a higher DoAavg ), the more the resource state, expires. The default max-age value is 60
energy that will be saved. Because in broadcast aggregation seconds, resulting in a minimum traffic rate of 1 packet/min.
more packets are faster aggregated, more energy will be saved. When values change more frequently, more messages will be
However, the total energy consumption will also depend sent. The maximum packet timeout was set to 10 seconds.
on the applied sleep-wake-up scheme and the used MAC This value gives nodes at low traffic rates enough time to find
protocol. Since the impact is very protocol specific, this will aggregate candidates before their timeout time passes. The
be further discussed in the simulation results. used simulation settings can be found in Table 1.
Figure 9 shows the overall reliability as the number of
application packets received compared to the number of
4. Simulation Results application packets sent. Figures 10 and 11 show, respectively,
the number of packets dropped in the queue and the number
4.1. Reliability. Simulations are done using Castalia, an of packets dropped due to the lower network layers (Radio,
OMNeT++ based network simulator for simulating wireless MAC, Physical channel). The packet error rate (PER) is
sensor networks [18]. We use a network scenario with 256 expressed as the number of application packets dropped
nodes, deployed in a square grid with size 75 m. This setup compared to the number of application packets sent. Packets
was chosen according to the RFC which describes the in the queue are dropped due to queue overflows, while
requirements for home automation routing in low power packets dropped by the lower layers are caused by the fact
and lossy networks [19]. An own implementation of the that a sensor node cannot simultaneously send and receive,
DYMO protocol is chosen as routing protocol and the low and packets can collide.
power listening tunable MAC protocol that is available in the From Figure 10, we can see that for unicast aggregation,
Castalia simulator is chosen as MAC protocol. The protocol starting from an average traffic rate of 3 packets/min, packet
operation is shown in Figure 7. Before node A transmits its drops occur in the queue. This is not the case in the no
data, it sends a CCA message to check if the channel is clear. If aggregation and broadcast aggregation scenario, since in the
the medium is free, it starts periodically sending small beacon no aggregation scenario, packets do not have to wait for
messages during a whole sleep interval. Afterwards, the actual aggregation candidates and can be sent immediately. In the
data is sent. When node B receives a beacon message, it stays broadcast aggregation scenario, aggregated packets can be
awake until the data transmission has finished. After this sent as soon as there are 5 packets in the queue. This effect can
reception, it waits a listen interval before going back to sleep be seen in Figure 12 that shows the average queue occupation.
because other packets can follow. This behavior is the same We can see that the average queue occupation is on average
for each node that receives beacon messages, regardless of the 2 packets lower for broadcast aggregation than for unicast
fact that this node is the destination for the actual data or not. aggregation.
Simulations are performed with DoA = 5 and with maximum
Figure 11 shows on its turn the impact of the lower
queue size 𝐾 = 15.
network layers on the reliability. The figure shows that in the
In our scenario, each node (except the destination nodes)
beginning the packet error rate (PER) is relative high, then
is transmitting packets to one of 20 randomly chosen desti-
drops, and finally slowly increases again. The high PER at low
nation nodes. A simulation lasts 3600 seconds, but statistics
traffic rates can be explained by the fact that each node will
are generated in steady state between 300 and 3000 seconds.
have approximately the same packet rate. Remember that the
After 100 seconds, the network is up and running and the
packet rate on the 𝑥-axis is the average packet rate of all the
DYMO routes remain active during the entire simulation, as
nodes. So at low packet rates, most sensor nodes will have
can be seen in Figure 8. This is, for instance, the case when
the same packet rate and will try to enter the medium on
there is a fixed communication between the sensor and actu-
the same time. As a consequence, more packets will be lost.
ator with regular traffic. The large amount of network setup
From an average traffic rate of 5 packets/min, the PER starts
traffic can be explained by the broadcast nature of the RREQ
increasing since more packets are in the air, which leads to a
messages sent by the DYMO routing protocol. Simulation
higher PER. Furthermore, we can see that the PER is higher
statistics later than 3000 seconds are not counted to ensure
in the no aggregation scenario, since when packets are not
that all generated packets can reach their destination within
aggregated, more packets are in the air and more packets can
the evaluated time. Furthermore, simulations are performed
be lost.
for different average traffic rates (from 1 to 30 packets/min)
as given on the 𝑥-axis of the figures. For instance, when Since both unicast and broadcast aggregation combine
the average traffic rate is 5 packets/min, nodes choose a packets into one big packet, we should expect that the packet
random traffic rate between 1 and 10 packets/min and send loss due to the lower network layers should be approximately
their packets according to this traffic rate without jitter. A the same. This is however not the case at low traffic rates. This
higher average packet rate will lead to a higher network load. can be explained by a fact to which we refer in the following
To assess the realism of these traffic rates, we can consider as “partial aggregation.”
International Journal of Distributed Sensor Networks 7

Listen/sleep Listen Sleep


scheme
100ms 400ms

Node A Data

CCA

Node B Listen Listen RX Listen Sleep

Node C Listen Sleep Listen Sleep

Figure 7: Operation of the tunable MAC protocol. Node A sends a data packet to node B by first performing CCA, afterwards sending beacon
messages, and finally sending the data packet. Node B stays awake when it receives one or more beacon messages until the data transfer is
completed. Node C cannot receive these beacon messages and will again go to sleep after the listen interval.

Table 1: Simulation settings.

Parameter Value
Simulation time 2700 s
Simulation field 75 m × 75 m
Number of nodes 256
Node deployment 16 × 16 grid
Routing protocol DYMO
Tunable CSMA based MAC (Castalia)
MAC protocol
with duty cycle 0.2 (100 ms listening/400 ms sleeping)
Radio CC2420 with no transmission errors
Wireless channel No interference
±16 m, depends on the receiver signal strength
Collision domain
(±2 hops)
Queue size (K) 15
DoA 5

A “partly aggregated” packet is a packet that contains Partly aggregated packets however also mean more pack-
fewer than DoA aggregated packet parts. For instance, when ets in the air and an increased chance on packet drops. The
the DoA was set to 5, a partly aggregated packet will contain higher the load in the network, the fewer partly aggregated
fewer than 5 aggregated packet parts. This effect is mainly packets that exist, and the fewer packet drops that occur. We
caused by the timeout time that was introduced. At low traffic indeed observe in Figure 11 that for higher loads the PER
rates, the timeout time will pass before DoA packet parts is similar for unicast and broadcast aggregation. Figure 14
can be aggregated. At this moment, the aggregated packet shows the ratio of MAC data packets sent to application
will be sent with as much packet parts that are available. packets sent. This ratio can be higher than 1 since the MAC
This partial aggregation has a cascading effect. When a data packets are measured through the network, and thus a
MAC packet is measured on each intermediate node, while
packet with DoA packet parts is sent, on the following node,
the application packets are only measured on the sending
there are obviously enough packets parts to send a new
node. The figure clearly shows the effect of partial aggregation
aggregated packet to the next-hop node. However, when a at low traffic rates. For the no aggregation scenario, the ratio
partly aggregated packet was received, this node will on its equals the average number of hops, which is 4. When packets
turn wait again on DoA packet parts, and again, the timeout are aggregated, this ratio decreases and for high traffic rates,
time can pass. Figure 13 shows this actual average DoA at we can see that this ratio drops below 1 because there maximal
which aggregation is performed. We can see that, at lower aggregation (up to 5 packets) occurs. We can see that with
traffic rates, this DoA value is indeed much lower due to the broadcast aggregation, partial aggregation is reduced since
partial aggregation. more packets will be aggregated faster.
8 International Journal of Distributed Sensor Networks

×104 10
10
9
Total number of route setup messages

8
8
7
6

PER ( %)
6
5
4
4
3

2 2
1

0 0
0 50 100 150 200 250 300 350 0 5 10 15 20 25 30
Simulation time (s) Traffic rate (packets/min)

Minimum packet rate No aggregation


Maximum packet rate Unicast aggregation
Broadcast aggregation
Figure 8: Steady state calculation.
Figure 10: Packet error rate (PER): number of dropped packets in
the queue compared with the number of packets sent.
100
95 30
90
85 25
Reliability (%)

80
20
75
PER (%)

70 15
65
60 10

55
5
50
0 5 10 15 20 25 30
Traffic rate (packets/min) 0
0 5 10 15 20 25 30
No aggregation Traffic rate (packets/min)
Unicast aggregation
Broadcast aggregation No aggregation
Unicast aggregation
Figure 9: End-to-end reliability. Broadcast aggregation

Figure 11: Packet error rate (PER): number of dropped packets due
to the lower network layers compared with the number of packets
Looking back on Figure 9, we can see that the end- sent.
to-end reliability of broadcast aggregation is increased up
to 23% compared with the no aggregation scenario and
up to 15% compared with the unicast aggregation scenario. see that with broadcast aggregation, the delay can be reduced
Although there are no packet drops in the queue in the no up to 52% compared with unicast aggregation. The delay
aggregation scenario, we see that the reliability is significantly is of course higher than with no aggregation since with
lower than the broadcast aggregation scenario. This has been aggregation packets are waiting in the queue for a certain
explained earlier by the fact that with broadcast aggregation, period in order to have fewer transmissions and save energy.
fewer transmissions occur which is beneficial for the channel
occupation and as a consequence, the reliability increases. 4.3. Throughput. In Figure 16, the end-to-end throughput of
the network is demonstrated. This throughput is expressed
4.2. Delay. Figure 15 displays the average end-to-end packet as the average number of successful received packets per
delay. This packet delay is measured on the individual second per node. We can see at an average traffic rate of 10
application packets, not on the aggregated packets. We can packets/min, up to 1.88 packets/min are more received with
International Journal of Distributed Sensor Networks 9

Sent MAC packets versus sent application packets


6 101
Average queue occupation (packets)

100
3

1
10−1
0 100 101
0 5 10 15 20 25 30
Traffic rate (packets/min)
Traffic rate (packets/min)
No aggregation
No aggregation Unicast aggregation
Unicast aggregation Broadcast aggregation
Broadcast aggregation
Figure 14: Ratio of MAC data packets sent to application packets
Figure 12: Average queue occupation. sent.

45
5
40
Average end-to-end packet delay (s)

4 35

30
Average DoA

3 25

20
2 15

10
1
5

0
0 0 5 10 15 20 25 30
0 5 10 15 20 25 30
Traffic rate (packets/min)
Traffic rate (packets/min)
No aggregation
No aggregation
Unicast aggregation
Unicast aggregation
Broadcast aggregation
Broadcast aggregation
Figure 15: Average end-to-end packet delay.
Figure 13: Average degree of aggregation (DoA) level at which
aggregation occurs.
Table 2: Energy settings.

Parameter Value
broadcast aggregation compared with no aggregation and at
traffic rate of 12 packets/min, up to 1.59 packets/min are more Transmit power 57.42 mW
received with broadcast aggregation compared with unicast Listen power 62 mW
aggregation. This is mainly caused by faster transmission and Sleep power 1.4 mW
less packet loss. Receive power 62 mW
Beacon size 16 bytes
4.4. Energy. Figure 17 shows that the total transmit energy Beacons per transmission 8
consumption with broadcast aggregation can be reduced up CCA time 0.128 ms
to 29% compared with unicast aggregation and up to 71% Rx-Tx turnaround time 2 ∗ 0.192 ms
compared with no aggregation.
From (8) and the values in Table 2, we could calculate
that theoretically up to 74% of energy could be saved when with no aggregation. The difference between the theoretical
broadcast aggregation with DoAavg = 5 is applied compared and the actual energy reduction could be explained by the
10 International Journal of Distributed Sensor Networks

30 ×104
5
25
4.5
Throughput (packets/min)

Total energy consumption (J)


20 4

15 3.5

3
10
2.5
5
2

0 1.5
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Traffic rate (packets/min)
Traffic rate (packets/min)
No aggregation No aggregation
Unicast aggregation Unicast aggregation
Broadcast aggregation Broadcast aggregation
Figure 16: End-to-end data throughput per node. Figure 18: Total energy consumption.

×105
7 1.8
Transmit energy consumption (J)

6 1.6

5 1.4
Energy consumption (J)

1.2
4
1
3
0.8
2 0.6

1 0.4

0 0.2
0 5 10 15 20 25 30
0
Traffic rate (packets/min) 0 5 10 15 20 25 30
No aggregation Traffic rate (packets/min)
Unicast aggregation No aggregation
Broadcast aggregation Unicast aggregation
Broadcast aggregation
Figure 17: Total transmit energy consumption.
Figure 19: Average energy consumption per successful delivered
data packet.
fact that in our simulation DoAavg = 5 is not reached.
Furthermore, we can see that starting from an average traffic
rate of 21 packets/min, broadcast aggregation consumes more
energy than unicast aggregation. This is because lost packets because the network becomes congested. For the unicast and
are not taken into account. Indeed, with unicast aggregation, broadcast aggregation scenario, this maximum is expected
more packets are lost and since lost packets are not further somewhat later.
routed, less energy is consumed than expected. When we take a look at the energy per successfully
Figures 18 and 19 show, respectively, the total energy delivered packet (Figure 19), we can see that up to 38% of
consumption and the average energy consumption per suc- energy can be saved compared with no aggregation and up
cessfully delivered packet. to 19% compared with unicast aggregation.
Taking into account the total energy consumption From the figures, we see that the total energy reduction
(Figure 18), 27% of energy can be saved compared with no is much lower than the total transmit energy reduction.
aggregation and up to 13% compared with unicast aggrega- The reason can be found in the used MAC protocol and
tion. For the no aggregation scenario, we can also see that the can be seen in Figure 20 that shows the energy distribution
total energy consumption stagnates and reaches a maximum of broadcast aggregation in terms of transmit energy, idle
International Journal of Distributed Sensor Networks 11

×107 ×106
Energy consumption broadcast aggregation (J)

4 7

3.5 6

Receive energy consumption (J)


3 5
2.5
4
2
3
1.5
2
1
1
0.5

0 0
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30
Traffic rate (packets/min)
Traffic rate (packets/min)
No aggregation
Transmit energy Idle listen energy Unicast aggregation
Receive energy Sleep energy Broadcast aggregation
Figure 20: Total broadcast aggregation energy distribution. Figure 22: Total receive energy consumption.

×107
4 of traffic increases slower since more packets are aggregated,
Idle listening energy consumption (J)

this point will occur at bigger traffic rates.


3.5 Figure 22 shows the total receive energy consumption.
This is the energy consumed by receiving both beacons and
3 data, even the data that is not destined for this node.
Finally, Figure 23 shows the total amount of energy that
2.5 is consumed by sleeping. Both from Figures 22 and 23, we
can see that broadcast aggregation seems to perform worse
2 than unicast aggregation starting from an average traffic rate
of 21 packets/min. This is however not true since lost packets
1.5 are not taken into account. Unicast aggregation leads to more
lost packets which are not routed. This results in less received
1 energy consumption and more sleep energy consumption.
0 5 10 15 20 25 30
Traffic rate (packets/min)
No aggregation 5. Conclusion and Future Work
Unicast aggregation
Broadcast aggregation In-network aggregation is a very efficient way to reduce
energy consumption in wireless sensor networks. However,
Figure 21: Total idle listening energy consumption. the traditional unicast-based in-network aggregation only
works well for source-to-sink traffic. When there are multiple
destinations, as is the case in the Internet of Things, aggre-
listening energy, receive energy, and sleep energy. We can see gation becomes slower, delay increases, reliability drops, and
that much energy is lost due to idle listening. energy consumption increases.
A detailed overview of the energy contributions in In this paper, we propose to use broadcast aggregation as
Figure 20 can be found in Figures 21 to 23. a solution to overcome these drawbacks. We have shown that
In Figure 21, we can see that the idle listening time reaches broadcast aggregation reduces the average queue occupation
a maximum in the no aggregation scenario. This can be with 2 (of the 15 available) places, which leads to fewer packet
explained by the used MAC protocol and the load. First, drops. This leads on its turn to a throughput and reliability
the number of sent packets increases, so the number of sent increase up to 23% compared with no aggregation and up to
beacons also increases and nodes are longer awake. As a con- 15% compared with unicast aggregation. Moreover, we have
sequence, the time spent on idle listening, and thus the result- shown that packets become less dependent of the individual
ing energy consumption, increases. However, from a certain timeouts per destination which reduces the drawbacks of
point, the time spent on idle listening will decrease since partial aggregation.
part of this time will be used to transmit/forward/receive the Furthermore we have shown that the average queue delay
increasing amount of packets. This behavior is also expected is decreased by 52% compared with unicast aggregation
for unicast and broadcast aggregation, but since the amount because aggregation can be performed faster.
12 International Journal of Distributed Sensor Networks

×105 [4] Libelium, “Top 50 iot sensor applications ranking,” 2013,


7 http://www.libelium.com/top 50 iot sensor applications
ranking/.
6 [5] D. Christin, A. Reinhardt, P. S. Mogre, and R. Steinmetz,
Sleep energy consumption (J)

“Wireless sensor networks and the internet of things: selected


5
challenges,” in Proceedings of the 8th GI/ITG KuVS Fachgespräch
4 “Sensor Networks”, pp. 31–34, 2009.
[6] R. Rajagopalan and P. K. Varshney, “Data-aggregation tech-
3 niques in sensor networks: a survey,” IEEE Communications
Surveys and Tutorials, vol. 8, no. 4, pp. 921–960, 2006.
2
[7] J. Jeong, J. Kim, W. Cha, H. Kim, S. Kim, and P. Mah, “A
1 QoS-aware data aggregation in wireless sensor networks,” in
Proceedings of the 12th International Conference on Advanced
0 Communication Technology: ICT for Green Growth and Sustain-
0 5 10 15 20 25 30 able Development (ICACT ’10), pp. 156–161, February 2010.
Traffic rate (packets/min) [8] J. Zhu, S. Papavassiliou, and J. Yang, “Adaptive localized QoS-
No aggregation constrained data aggregation and processing in distributed
Unicast aggregation sensor networks,” IEEE Transactions on Parallel and Distributed
Broadcast aggregation Systems, vol. 17, no. 9, pp. 923–933, 2006.
[9] K. Padmanabh and S. Vuppala, “An adaptive data aggregation
Figure 23: Total sleep energy consumption.
algorithm in wireless sensor network with bursty source,”
Wireless Sensor Network, vol. 1, no. 3, pp. 222–232, 2009.
[10] K. Akkaya, M. Younis, and M. Youssef, “Efficient aggregation
Finally, the average DoA is higher, which leads to fewer of delay-constrained data in wireless sensor networks,” in
packets, less overhead, and as a consequence, an energy Proceedings of the 3rd ACS/IEEE International Conference on
reduction up to 27% compared with no aggregation and up Computer Systems and Applications, pp. 943–948, January 2005.
to 13% compared with unicast aggregation. The overall energy [11] S. Nath, P. B. Gibbons, S. Seshan, and Z. R. Anderson, “Syn-
reduction is mainly realized by reducing the transmit energy. opsis diffusion for robust aggregation in sensor networks,” in
Further gains are to be expected by reducing the idle listening Proceedings of the Second International Conference on Embedded
energy as well. To this end, several MAC optimizations Networked Sensor Systems (SenSys ’04), pp. 250–262, November
will be investigated in order to further reduce the energy 2004.
consumption. For instance, we will investigate the use of [12] S. Motegi, K. Yoshihara, and H. Horiuchi, “DAG based in-
destination addresses in the beacon messages, so that nodes network aggregation for sensor network monitoring,” in Pro-
that are not the intended receiver can immediately go back to ceedings of the International Symposium on Applications and the
sleep. Internet (SAINT ’06), pp. 292–299, January 2006.
[13] S. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong, “Tag:
a tiny aggregation service for ad-hoc sensor networks,” SIGOPS
Conflict of Interests Operating System Review, vol. 36, pp. 131–146, 2002.
[14] S. Gobriel, S. Khattab, D. Mossé, J. Brustoloni, and R. Melhem,
The authors declare that there is no conflict of interests
“RideSharing: fault tolerant aggregation in sensor networks
regarding the publication of this paper. using corrective actions,” in Proceedings of the 3rd Annual IEEE
Communications Society on Sensor and Ad hoc Communications
Acknowledgments and Networks, pp. 595–604, Reston, Va, USA, September 2006.
[15] T. He, B. M. Blum, J. A. Stankovic, and T. Abdelzaher, “Aida:
The research of Evy Troubleyn is funded by a Ph.D. grant adaptive application independent data aggregation in wireless
of The Institute for the Promotion of Innovation through sensor networks,” ACM Transactions on Embedded Computing
Science and Technology in Flanders (IWT-Vlaanderen). This System, vol. 3, no. 2, pp. 426–457, 2004.
research is also partially funded by the FWO Flanders [16] I. Ishaq, D. Carels, and G. K. Teklemariam, “Ietf standardization
through projects 3G024310 and 3G029109. in the field of the internet of things (iot): a survey,” Journal of
Sensor and Actuator Networks, vol. 2, no. 2, pp. 235–287, 2013.
[17] Zolertia Z1, “Wireless Sensor Node,” 2014, http://zolertia
References .sourceforge.net/wiki/images/e/e8/Z1 RevC Datasheet.pdf.
[1] I. F. Akyildiz, T. Melodia, and K. R. Chowdhury, “A survey on [18] NICTA, “Castalia wireless sensor network simulator,” 2013,
wireless multimedia sensor networks,” Computer Networks, vol. http://castalia.research.nicta.com.au/index.php/en/.
51, no. 4, pp. 921–960, 2007. [19] IETF, “Rfc home automation,” 2013, http://tools.ietf.org/html/
[2] E. Fasolo, M. Rossi, J. Widmer, and M. Zorzi, “In-network draft-ietf-roll-home-routing-reqs-11/.
aggregation techniques for wireless sensor networks: a survey,”
IEEE Wireless Communications, vol. 14, no. 2, pp. 70–87, 2007.
[3] E. Troubleyn, I. Moerman, and P. Demeester, “Protocol-inde-
pendent qos-aware in-network aggregation in wireless sensor
networks,” Wireless Networks, 2013.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 737218, 6 pages
http://dx.doi.org/10.1155/2014/737218

Research Article
A Zone-Based Media Independent Information Service for
IEEE 802.21 Networks

Fábio Buiati,1,2 Luis Javier Garcia Villalba,1 Delfín Rupérez Cañas,1


Ana Lucila Sandoval Orozco,1 and Tai-hoon Kim3
1
Group of Analysis, Security and Systems (GASS) and Department of Software Engineering and Artificial Intelligence (DISIA),
School of Computer Science, Office 431 Complutense University of Madrid (UCM), 28040 Madrid, Spain
2
Electrical Engineering Department, University of Brasilia, 70910-900 Brasilia, DF, Brazil
3
Department of Convergence Security, Sungshin Women’s University, 249-1 Dongseon-dong 3-ga, Seoul 136-742, Republic of Korea

Correspondence should be addressed to Luis Javier Garcia Villalba; javiergv@fdi.ucm.es

Received 4 September 2013; Accepted 27 November 2013; Published 9 March 2014

Academic Editor: Naveen Chilamkurti

Copyright © 2014 Fábio Buiati et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Next generation networks integrate different wireless technologies, including Wi-Fi, Wi-Max, and 3GPP (UMTS, HSPA, and/or
LTE), in which the mobile node (MN) has the opportunity to switch from one network to another, under an always best connected
scheme. In such heterogeneous environment, discovering which types of network connectivity and services are available is a
critical challenge. The IEEE 802.21 standard specifies a network information server entity providing network information within a
geographical area by which the MN can discover a service or a network. In this paper, we propose a zone-based media independent
information service using the IEEE 802.21 standard to accelerate the neighbor discovery procedure. In the proposed scheme, the
access networks are associated and grouped in mobility zones, through an efficient set of rules, to minimize the amount of control
messages flowing in the core network. Through a NS-2 based simulation, the results demonstrate that the proposed scheme reduces
the neighbor discovery delay as well as the signaling overhead if compared with the standard MIIS deployment.

1. Introduction a determined geographic area. To exploit geographic location,


the IEEE 802.21 standard allows some parameters to be
In the heterogeneous wireless environments, discovering introduced into the query message that can be used by the
available networks is one of the most challenging issues. MIIS to refine its response. Between the available values, we
Typically, the available information about candidate networks can mention the querier location parameter which enables
provided by advertisements messages (e.g., 802.11 beacon the MN to send the query request with its current location
frames, 802.16 DCD) is rather minimal. To improve the MN information. The value field contains either the MNs current
experience, the IEEE 802.21 media independent handover location measurement (the MN can use global positioning
standard [1] specifies a media independent information ser- system (GPS) or other kind of service location equipment) or,
vice (MIIS) supporting various information elements which when the MN does not have its current location information,
provide network information within a geographical area. an observed link-layer address (e.g., beacon frame or some
Based on that information (such as available bandwidth, cost broadcast mechanism for other technologies) that the MIIS
per use, and security) from several access networks, the MN server will be able to use as a hint to establish an estimate
can qualitatively choose a better handover candidate amongst of the clients current location. For many applications, this
the possible ones, taking a more accurate handover decision. is sufficient but others require much more specific, granular,
To access this information, the MN queries a MIIS server and precise location data. Moving between networks requires
using specific query IEEE 802.21 information messages, an accurate location map of users and networks. In a crowded
which transport the information, and the MIIS server replies and populated city (Manhattan use case), tens or hundreds
with information about the availability of access networks in of meters may strongly impact the number of networks in
2 International Journal of Distributed Sensor Networks

the response message from a MIIS server, leading to the fact information that they would not normally have until they
that the user experiences delay and overhead. connect to a new PoA. Mussabbir et al. [7] define a het-
Looking at the standard [1] as well as the related work [2– erogeneous network information container for facilitating in
14], it is typically assumed that the MIIS server is aware of the the store and retrieval of the L2 and L3 static information
MNs location, sending a response message with information of neighboring networks obtained through the IEEE 802.21
about candidate networks. The representation of the MIIS MIIS.
role and usability is very lacking in terms of usage details, In [8], the authors present a timely effective handover
architecture, and characteristics used. Moreover, the exist- architecture based on the neighbor network information. In
ing MIIS deployments usually consider a network-centric the proposed architecture, they estimate the exact required
approach not being scalable systems. handover time based using the network information obtained
In this way, we propose in this paper a zone-based MIIS by the MIIS server. Lim et al. [9] make use of the MIIS
architecture which exploits the geographical location of the service providing the MN with a valid channel list stored
networks by splitting the coverage into different mobility on the MIIS server. Upon receiving a response message,
zones, enhancing the neighbor discovery task. Using such a the MN performs a selective scanning procedure, reducing
scheme, the MN is provided with a complete and consistent the network discovery time. In [10], the authors propose
view of detailed handover possibilities information. The aim integrating the MIH architecture into an IP multimedia sub-
of this architecture is threefold. First, MN without GPS built system (IMS) in order to optimize the quality of end-to-end
can use the MIIS server and obtain network-related informa- service. Their cross-technology architecture considers a MIIS
tion within a geographical area. Second, MN will experience infrastructure, where MIIS servers exchange information
such as QoS and cost related parameter.
less neighbor discovery delay if compared with the standard
MIIS architecture. Finally, the proposed architecture reduces Some authors have started to work in a more detailed
the signaling load in the operators core network. MIIS framework and architecture specifications. The authors
The paper is organized as follows. In Section 2, the related in [11, 12] introduce an enhanced information server in
work focused on the IEEE 802.21 services is presented. Then, which the MN periodically reports dynamic information
we briefly describe the IEEE 802.21 standard. We then move to the MIIS server. Their main contribution is that the
on to present the zone-based MIIS architecture deployment. MIIS server is able to store, manage, and deliver real-
time dynamic information, such as the user preferences,
Then, we evaluate the performance of our proposed MIIS
running services, mobile device characteristics, and available
system in Section 5, through a NS-2 based simulation. Finally,
network resources. In [13] an enhanced media independent
we conclude this work in Section 6 with some final consider-
handover framework and mobility management mechanism
ations.
are proposed. The MIIS service is used to collect link-
layer and application layer information from the networks.
2. Related Work Finally, in [14] a decentralized MIIS approach is specified. The
envisioned architecture is based on a hierarchical distributed
A number of mobility mechanisms in heterogeneous envi- hash table (DHT), where the MIIS information database is
ronments have been proposed [2–14] that employ models also maintained by the mobile users.
relying on the IEEE 802.21 MIIS service. In [2], a vertical The previously mentioned works typically assume that the
handover scheme between UMTS and WiMAX employ- MIIS server is aware of the MNs location, sending related
ing the IEEE 802.21 framework is proposed. They use the network information from a particular geographical area. No
MIIS service in order to obtain relevant information from attention is given to how the MN can obtain information if
neighbourhood networks. Seol and Chung [3] propose an GPS equipment is not available. Our framework contributes
interesting vertical handover solution for WiMAX and 3GPP to the MN neighboring network information acquisition even
networks based on IEEE 802.21 services taking a network- without using any GPS equipment, by specifying a zone-
based mobility management approach using proxy mobile IP. based MIIS architecture.
Stevens Navarro et al. [4] use the IEEE 802.21 MIIS service
to determine the conditions under which vertical handoff
should be performed. The problem is formulated as a Markov 3. IEEE 802.21 Standard
decision process with the objective of maximizing the total
The IEEE 802.21 standard [1] specifies a media independent
expected reward per connection.
handover (MIH) framework that facilitates handover in
The proposal by Liu et al. [5] is to obtain network maps heterogeneous access networks by exchanging information
from MIIS service and provide this information to the elimi- and defining commands and event triggers to assist in the
nation-based cost function to enable energy efficient han- handover decision making process. Specifically, the standard
dover. Christakos et al. [6] explore the MIIS service to consists of a framework that enables service continuity
improve mobility performance for FMIPv6 by providing while a MN transitions between heterogeneous link-layer
authentication information allowing the MN to authenticate technologies. Also, it defines a new logical entity created
with the target network while connected elsewhere on the therein called the media independent handover function
network. They focus especially on information that aids the (MIHF). The MIHF also provides three primary services:
authentication process, providing MNs with authentication event services, command services, and information services.
International Journal of Distributed Sensor Networks 3

ZMIIS i Operator’s core ZMIIS l


network
ZMIIS i + 1

Mobility zone i Mobility zone m

Mobility zone i + 1

MN

Figure 1: Zone-based MIIS architecture.

The media independent event service (MIES) is respon- (i) General and access network specific information:
sible for detecting events at lower layers and reporting them general overview of different networks, providing
from both local and remote interfaces to the upper layers (the coverage within a specific area such as network type,
MIH users). A transport protocol is needed for supporting operator, and service identifier. Information includ-
remote events. These events may indicate changes in state and ing QoS, security, technology revision, and cost is also
transmission behavior of the physical data link and logical available.
link layers or predict state changes of these layers. (ii) Link connection point information: information
The media independent command service (MICS) refers about points of attachment for each access network
to the commands sent from MIH users to the lower (physical available, comprising aspects such as MAC address of
data link, and logical link) layers in order to control it. the access point, geographical location, and channel
The commands generally carry the upper layer decisions to configuration.
the lower layers on the local device entity or at the remote (iii) Other information: network, service, or vendor spe-
entity. MIH users may utilize command services to determine cific information. Detailed information about the
the status of links and/or control the multimode device for IEEE 802.21 standard, its services, and characteristics
optimal performance. can be found in [15–17].
The media independent information service (MIIS) pro-
vides a framework and corresponding mechanisms by means
of which a MIHF entity may discover and obtain network
4. Zone-Based MIIS Architecture
information existing within a geographical area to facilitate In this section we describe the zone-based MIIS architecture
the handovers. MIIS includes support for various information and its support for an optimized MN neighbor discovery
elements which provide information that is essential for a performance. We propose the splitting of the network cov-
network selector to make intelligent handover decisions. The erage area into mobility areas or zones (MZ) as illustrated in
information may be present in some MIIS server, where Figure 1. Each MZ is composed of several access networks or
the MIHF in the MN may access it. Moreover, the MIIS point of attachments (PoA). A zone MIIS server (ZMIIS) is
provides capability for obtaining information about lower specified to manage the information details of each one of
layers like neighbor maps and other link-layer parameters, these MZs. The ZMIIS is able to interchange information with
as well as information about available higher layer services different MZ, with an awareness of which ZMIIS servers are
such as internet connectivity, for instance, knowledge of related to which specific access network.
whether security, supported channels, cost per use, networks Algorithm 1 summarizes the neighbor discovery scheme
categories (such as public, enterprise, and home), and QoS using the zone-based MIIS architecture. In the initialization
supported may influence the decision to select such an access phase, the MN checks all the available networks and selects
network during handover process. one for the current PoA. Upon connecting, the operator
The information supplied by the MIIS is provided in also supplies detailed network information about endpoints
information elements (IE) which can relate to higher layer in the particular MZ. In the movement from one network
services such as availability of IP mobility schemes at a certain coverage to another, the MN receives a link detected trigger.
operator or to lower layer such as link neighbor maps and As long as the MN detects a new PoA, it looks inside
link configuration parameters. More concretely, information the zone information to check if the detected PoA has
available via the MIIS can be categorized as follows. better characteristics than the PoA that the MN is actually
4 International Journal of Distributed Sensor Networks

A Initialization ();
B Table 𝑇 = MZ𝑖 information;
C while MN movement and detects a new PoA𝑖 do
D inZone = check (𝑇, PoA𝑖 );
E if inZone then
F trigger handover decision;
else
G send query (PoA𝑖 ) to MNs ZMIIS server;
H ZMIIS contacts the target zones ZMIIS;
0 target zones ZMIIS builds a optimized response;
1 MN receives ZMIIS response;
2 trigger handover decision;

Algorithm 1: Neighbor discovery scheme.

connected. If the detected PoA belongs to the same MZ, no Table 1: Simulation parameters.
MIIS query is sent to the ZMIIS server, because the MN holds
Parameter Default values Other values
enough information to take an optimized handover decision.
In the case of the detected PoA belonging to a different Topology area Variable
MZ, the MN sends a MIH get information request message ZMIIS, MZ, PoA 4 16, 36
to the ZMIIS server containing the detected PoA identifier PoA transmission range 100 m
(PoA𝑖 ). Upon receiving the request, the MNs ZMIIS is able MN 1
to contact the ZMIIS server from the target zone and obtains Mobility model RWP
the required information. In this way, it knows which ZMIIS MN speed 2 m/s 4, 6, 8, 10
server holds the desired information that replies with a MIH Pause time 3s
get information response message. When moving to a new Hop count (MN MIIS) 5 2, 4, 6, 8, 10
MZ, the MN automatically obtains information regarding
Wired delay 5 ms 10, 15, 20, 25
neighboring PoAs within that MZ.
Wireless delay 8 ms
In the case of the MN moving between multiples zones,
it is useful to maintain the information of each of the MZs Simulation time 1 hour
for a certain time. Since the MN often moves back and
forth between a small set of PoAs, an internal cache can be
helpful. This prevents the MN from querying the MIIS server the NS-2 simulator [18]. We have modified the original
unnecessarily. module, adding the MIIS functionality in a decentralized
An important feature in the specification of a MIIS server way. Table 1 shows the network parameters considered for the
architecture is the scalability support. As can be seen in simulation. The number of ZMIIS servers, MZs, and Wi-Fi
Figure 1, we specify 𝑙 ZMIIS𝑖 servers, (𝑖 = 1, 2, 𝑙) with 𝑖 being PoAs are variable (4, 16, and 36). We have chosen these values
the identifier of each ZMIIS and 𝑙 the number of ZMIIS to always keep a topological square area, obtaining more
servers. Also, we define 𝑚 MZ𝑖 , (𝑖 = 1, 2, . . . , 𝑚) in which reliable results. Finally, a MN is moving using the random way
each MZ can be composed by 𝑛 PoA𝑖 , (𝑖 = 1, 2, . . . , 𝑛). With point mobility (RWP) model. MN speed varies from 2 m/s to
this conceptual representation, the proposed architecture is 10 m/s. The simulation time is 1 hour. In order to compare the
flexible and scalable enough to support different mobility results with the existing MIIS implementations, the standard
scenarios, even multiple operator environments, a common MIIS server (std. MIIS) is located inside the operator (core
drawback in the related work. As such, a collaboration network side), since it is a network-centric deployment.
agreement should be set between operators for information In particular, three performance metrics are evaluated: (1)
services availability. the average number of MIIS queries triggered by the MN, (2)
Using the zone-based MIIS architecture, the MN receives the total MIIS query delay, and (3) the signaling overhead (in
detailed information only related to its general neighborhood bytes).
environment, even without any location service equipment.
This architecture also distributes the queries over several
5.1. Average Number of MIIS Queries Triggered by the MN.
ZMIIS servers with the objective of reducing operators’ bur-
From Figure 2, the effect of the MN speed on the number of
dens, evolving into a cheaper and more efficient architecture.
MIIS queries can be observed. Higher velocity indicates that
more PoAs are detected and discovered by the MN. Conse-
5. Performance Evaluation quently, it crosses more MZs and triggers more MIIS queries.
The results show that the std. MIIS has less performance
This section presents the performance evaluation of the because it triggers more MIIS queries than the proposed
proposed MIIS architecture. The simulations were made in scheme. Also, it can be noted that the more PoAs per zone
International Journal of Distributed Sensor Networks 5

Table 2: Simulation parameters.

4 zones 16 zones 36 zones


MIIS
Queries Bytes Queries Bytes Queries Bytes
Std. MIIS 60.5 2420 64 2560 66.9 2676
ZMIIS 28.9 1503 30.9 1606 32.2 1674

350 and the MIIS server varies from 2 to 10 and the wired delay
Average number of MIIS queries

300 varies from 5 ms to 25 ms.


It can be seen that, as wired delay increases, the perfor-
250
mance of the std. MIIS degrades. Also, the MIIS query time
200 using the std. MIIS is considerably affected with an increase of
150
the hop count. The MN experiences a total MIIS query delay
from 1.03 s up to 7.56 s using the ZMIIS server and 2.24 s up
100 to 30.61 s using the std. MIIS server, due to the fact that the
50 ZMIIS servers are installed closer to the MN (at the access
0
router) and the std. MIIS is located in the operators core
2 3 4 5 6 7 8 9 10 network. The results clearly show that the zone-based MIIS
MN speed architecture drastically reduces the neighbor discovery delay.
ZMIIS (4 PoA per zone) Std. MIIS (4 PoA per zone)
ZMIIS (16 PoA per zone) Std. MIIS (16 PoA per zone) 5.3. Signaling Overhead (in Bytes). We also evaluate the effect
ZMIIS (36 PoA per zone) Std. MIIS (36 PoA per zone) of the number of MZs in the signaling overhead. Each
MIIS message carries about 40 bytes of length for the std.
Figure 2: Average number of MIIS queries. MIIS and 52 bytes for the ZMIIS (4 PoAs information).
It is expected that, increasing the number of MZs, more
Std. MIIS against ZMIIS queries are generated using the ZMIIS server, causing more
overhead. However, Table 2 shows that the difference in the
30
35
number of transferred bytes when there are 4 MZs (1.5 KB)
Total MIIS query delay (sec)

Std. MIIS and 36 MZs (1.67 KB) is minimal. Moreover, the ZMIIS
30 25
architecture always presents a mean overhead reduction of
25
almost 37% in relation to the std. MIIS.
20 20
15
10
ZMIIS 15 6. Conclusion
5 We presented a zone-based MIIS architecture, in which the
10
0 access networks are grouped into mobility zones, managed by
10
8 5 different MIIS servers. The decentralized MIIS deployment
Ho
pc 6 10 5 provides higher resilience and scalability with regard to the
ou 15
nt 4 2 25 20 (ms) mobility information distribution. The results show that the
delay
ne hop proposed scheme outperforms the std. MIIS in terms of
Wired o
discovery delay and signaling overhead. Future work includes
Figure 3: Total MIIS query delay. the study of security mechanisms and interoperator service
agreement models.

exist the fewer MIIS queries are generated using the ZMIIS Conflict of Interests
server. Hence, most PoAs in the scenario will increase the
average number of std. MIIS queries, causing overhead in the The authors declare that there is no conflict of interests
backbone. regarding the publication of this paper.

5.2. Total MIIS Query Delay. In Figure 3, the effect of delay on Acknowledgments
the wired link and the effect of hop count between MN and
MIIS server on the total MIIS query time are shown. The MIIS Part of the computations of this work was performed in
query time is the time from the instant the MN sends a query EOLO, the HPC of Climate Change of the International
message, up to the time it receives the response message from Campus of Excellence of Moncloa, funded by MECD and
any MIIS server. The total MIIS query delay is the delay for MICINN. This is a contribution to CEI Moncloa. This work
one MIIS query multiplied by the number of triggered queries was supported by the PNPD/CAPES-Programa Nacional de
during the simulation time. The hop count between the MN Pós-Doutorado/CAPES program.
6 International Journal of Distributed Sensor Networks

References [15] A. de la Oliva, A. Banchs, I. Soto, T. Melia, and A. Vidal,


“An overview of IEEE 802.21: media-independent handover
[1] IEEE 802.21 Standard, “IEEE standard for local and metropoli- services,” IEEE Wireless Communications, vol. 15, no. 4, pp. 96–
tan area networks—part 21: media independent handover,” 103, 2008.
IEEE Std 802. 21-2008, January 2009. [16] G. Lampropoulos, A. K. Salkintzis, and N. Passas, “Media-
[2] J.-Y. Baek, D.-J. Kim, Y.-J. Suh, E.-S. Hwang, and Y.-D. Chung, independent handover for seamless service provision in hetero-
“Network-initiated handover based on IEEE 802.21 framework geneous networks,” IEEE Communications Magazine, vol. 46,
for QoS service continuity in UMTS/802.16e networks,” in no. 1, pp. 64–71, 2008.
Proceedings of the IEEE 67th Vehicular Technology Conference- [17] F. Buiati, L. J. G. Villalba, D. Corujo, S. Sargento, and R. L.
Spring (VTC ’08), pp. 2157–2161, Singapore, May 2008. Aguiar, “IEEE 802.21 information services deployment for het-
[3] J.-H. Seol and J.-M. Chung, “IEEE 802. 21 MIH based handover erogeneous mobile environments,” IET Communications, vol. 5,
for next generation mobile communication systems,” in Pro- no. 18, pp. 2721–2729, 2011.
ceedings of the 4th International Conference on Innovations in [18] NIST Mobility Package for Network Simulator-2, May 2007.
Information Technology (IIT ’07), pp. 431–435, Dubai, United
Arab Emirates, November 2007.
[4] E. Stevens-Navarro, Y. Lin, and V. W. S. Wong, “An MDP-based
vertical handoff decision algorithm for heterogeneous wireless
networks,” IEEE Transactions on Vehicular Technology, vol. 57,
no. 2, pp. 1243–1254, 2008.
[5] H. Liu, C. Maciocco, V. Kesavan, and A. L. Y. Low, “IEEE 802.
21 assisted seamless and energy efficient handovers in mixed
networks,” in Proceedings of the 2nd International Conference
Mobile Wireless Middleware, Operating Systems, and Applica-
tions, J.-M. Bonnin, C. Giannelli, and T. Magedanz, Eds., vol.
7 of Lecture Notes of the Institute for Computer Sciences, Social
Informatics and Telecommunications Engineering, pp. 27–42,
Springer, Berlin, Germany, 2009.
[6] C. K. Christakos, A. Izquierdo, R. Rouil, and N. Golmie, “Using
the media independent information service to support mobile
authentication in fast mobile IPv6,” in Proceedings of the IEEE
Wireless Communications and Networking Conference (WCNC
’09), pp. 1–6, Budapest, Hungary, April 2009.
[7] Q. B. Mussabbir, W. Yao, Z. Niu, and X. Fu, “Optimized FMIPv6
using IEEE 802.21 MIH services in vehicular networks,” IEEE
Transactions on Vehicular Technology, vol. 56, no. 6, pp. 3397–
3407, 2007.
[8] S.-J. Yoo, D. Cypher, and N. Golmie, “Timely effective handover
mechanism in heterogeneous wireless networks,” Wireless Per-
sonal Communications, vol. 52, no. 3, pp. 449–475, 2010.
[9] W.-S. Lim, D.-W. Kim, Y.-J. Suh, and J.-J. Won, “Implementation
and performance study of IEEE 802.21 in integrated IEEE
802.11/802.16e networks,” Computer Communications, vol. 32,
no. 1, pp. 134–143, 2009.
[10] J. W. Floroiu, M. Corici, B.-J. Lee, S. Lee, S. Arbanowski, and
T. Magedanz, “A vertical handover architecture for end-to-end
service optimization,” in Proceedings of the 16th IST Mobile and
Wireless Communications Summit, pp. 1–5, Budapest, Hungary,
July 2007.
[11] Y. Kim, S. Pack, C. G. Kang, and S. Park, “An enhanced informa-
tion server for seamless vertical handover in IEEE 802.21 MIH
networks,” Computer Networks, vol. 55, no. 1, pp. 147–158, 2011.
[12] P. Neves, J. Soares, S. Sargento, H. Pires, and F. Fontes, “Context-
aware media independent information server for optimized
seamless handover procedures,” Computer Networks, vol. 55, no.
7, pp. 1498–1519, 2011.
[13] W. Ying, Z. Yun, Y. Jun, and Z. Ping, “An enhanced media inde-
pendent handover framework for heterogeneous networks,” in
Proceedings of the IEEE 67th Vehicular Technology Conference-
Spring (VTC ’08), pp. 2306–2310, Singapore, May 2008.
[14] K. de Vogeleer, S. Ickin, and D. Erman, “A decentralized infor-
mation service for IEEE 802.21-media independent handover
(MIH),” IEEE Groups, 2011.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 238502, 7 pages
http://dx.doi.org/10.1155/2014/238502

Research Article
Implementation of Intelligent Electronic Acupuncture System
Using Sensor Module

You-Sik Hong,1 Baek-Ki Kim,2 and Bong-Hwa Hong3


1
Department of Computer Science, Sangji University, Wonju 220-702, Republic of Korea
2
Department of Information & Telecommunication Engineering, Gangneung-Wonju National University,
Wonju 220-711, Republic of Korea
3
Department of Digital Media Engineering, Kyung Hee Cyber University, Seoul 130-739, Republic of Korea

Correspondence should be addressed to Baek-Ki Kim; bkkim@gwnu.ac.kr and Bong-Hwa Hong; bhhong@khcu.ac.kr

Received 30 August 2013; Accepted 2 February 2014; Published 9 March 2014

Academic Editor: Young-Sik Jeong

Copyright © 2014 You-Sik Hong et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Conventional electronic acupuncture can stimulate only one acupuncture point, and patients have to decide the time and the
strength by themselves. In order to solve these problems, intelligent electronic acupuncture using biometric sensors and fuzzy
technology was developed in this paper. And wireless electronic acupuncture system using sensor modules was developed in this
paper. We used the sensor modules to obtain a patient’s diagnosis signals. These sensor modules consist of 5 parts. The signals
were analyzed to make instructions for the treatment, and the sensing pad for electronic acupuncture was designed. In addition,
adaptive wireless acupuncture system was developed to adjust strength and time of acupuncture and several acupuncture points
of patients by using fuzzy technology. We implemented efficient wireless electronic acupuncture system to get acupuncture easily
using intelligent diagnosis system.

1. Introduction of sensing and treatment simultaneously. And the system


requires an accurate analysis and processing technique of
The electronic acupuncture is different from the traditional logical and statistical data using fuzzy [2, 3].
acupuncture in their shape and treatment method. But its The pulse is considered an important factor in oriental
basic principle of treatment is the same. More than 60 percent medicine because a person’s pulse rate may reflect his or her
of the electronic acupunctures developed in the country health condition. For example, if a patient’s heart stops, it
use low frequency and the rest is developed using instanta- is a very serious situation and this situation can be judged
neous electro stimulation. Existing low-frequency therapeu- by pulse. Oriental doctors have considered pulse rates as
tic apparatuses are simple frequency generator (16∼32 Hz) important data in diagnosis. But the existing blood pressure
which attaches electrodes to patient’s diseased area. Patient pulse analyzers have some problems. It is uncertain whether
cannot be treated effectively because it does not provide the blood pressure pulse analyzing sensor is located precisely
detailed frequency. Furthermore, it cannot find acupuncture on the radial artery and it is also difficult to diagnose pulse
points since it has no consideration of the patients’ sex, age, exactly depending on the thickness of forearm. Furthermore,
weight, illness, and so forth. And it causes a problem that the analogue type of blood pressure pulse analyzers has
some children and elderly people are bruised or wounded problems with quantification of the blood pressure pulse.
after getting electronic acupuncture due to inappropriate Although some people may have the same forearm length
acupuncture time and strength [1]. but the thickness of their blood vessel may differ. Therefore
Intelligent electronic acupuncture means that the there is no set of data that is considered reliable enough to
acupuncture system can treat a patient automatically with judge the accuracy of blood pressure pulse rates. Oriental
acupuncture adapted voltage, current, and frequency. To doctors should not only judge the basic biological signals
perform this electronic acupuncture the system has function such as the pulse’s size, strength, and speed, but should also
2 International Journal of Distributed Sensor Networks

Body signal parts


∙ Blood pressure sensing
∙ Skin conductivity sensing
∙ ECG signal sensing
∙ Oxygen saturation signal sensing
∙ Body temperature sensing

Signal analyzing and treatment system


Monitoring and DB generating

∙ Electronic acupuncture part

Figure 1: Whole system diagram of the intelligent electronic acupuncture system.

consider the basic and quantitative analysis of the pulse in applied. Conventional electronic acupuncture cannot find
order to make an accurate diagnosis. Also, the doctors should the acupuncture points at once. However, SW which can
consider physical characteristics, such as the thickness of stimulate multiple acupuncture points and calculate the
the skin and blood vessels, in order to reach an accurate time of the electronic acupuncture was developed in this
conclusion. Therefore, measurement of the blood flow rate is paper. Conventional electronic acupuncture only stimulates
a vital indicator in understanding the blood pressure rate and the acupuncture point, but the electronic acupuncture with
how the substances in the blood are transported [4–6]. KIT (SW + HW) developed in this paper made remote or
The method of exiting diagnosis has a problem which self-diagnosis possible, using the conditions of the patients
cannot diagnose the old and the infirm exactly because the and disease reasoning function. Doctors’ help is needed
patient’s condition including gender, age, skin is not taken to find the acupuncture point with conventional electronic
into consideration. To solve this problem, we analyzed the acupuncture. Intelligent electronic acupuncture that easily
fine distinction considering thickness of skin and blood ves- calculates optimal acupuncture time considering the patients’
sels and pulse, whether they are big or small, strong or weak health condition with smart phones was developed in this
and fast or slow. We proposed the algorithm that diagnoses paper.
the condition of a patient optimally using intelligent fuzzy Figure 1 shows the whole system diagram of the intelligent
technique [7, 8]. electronic acupuncture system. It consists of 4 parts. The first
Adaptive wireless acupuncture system was developed part is a sensor module, the second part is a main part which
in this paper by using pulse diagnosis system to adjust analyzes the transferred signals and generates the treatment
strength and time of acupuncture and several acupuncture signals. The third part is an electronic acupuncture part which
points of patients to whom intellectual fuzzy technology is applies electronic acupuncture according to treatment signals
International Journal of Distributed Sensor Networks 3

from the main part. The last part is a program for monitoring Fuzzy rules are generally presented with IF-THEN for-
and generating DB. mat. Fuzzy inference is procedures that infer new relations
The composition of this paper is as follows. Section 2 or facts from the given rules, and max-min reference is used.
is about a sensor module for electronic acupuncture,
Input: 𝑥 is 𝐴󸀠 AND 𝑦 is 𝐵󸀠
and Section 3 is about intelligent pulse diagnosis algo-
rithm. Section 4 deals with implementation of the electronic 𝑅1: IF 𝑥 is 𝐴1 AND 𝑦 is 𝐵1, THEN 𝑧 is 𝐶1
acupuncture system. Finally the conclusion is made in OR 𝑅2: IF 𝑥 is 𝐴2 AND 𝑦 is 𝐵2, THEN 𝑧 is 𝐶2
Section 5. .. ..
. .
2. Sensor Module for Electronic Acupuncture OR 𝑅𝑛: IF 𝑥 is 𝐴𝑛 AND 𝑦 is 𝐵𝑛, THEN 𝑧 is 𝐶𝑛
Conclusion: 𝑧 is 𝐶
We used several sensor modules to obtain a patient’s diagno-
sis signals. These sensor modules consist of 5 parts, and they
detect and analyze the abnormal signals from human body. Combination Function of Trust Value. 1 and 2 type of fuzzy
Figure 2 shows the sensor modules for electronic creation rule reduced from type of 5 and 6 can come to the
acupuncture system. The measured signals from the each same node and conclusion through different inference path to
sensor of modules are transferred to main the part. infer fuzzy. In this node the same conclusion reached two of
more different trust value. In this case combination function
(1) Pulsimeter module: It measures pulse rate. It mea- of trust value is used to recalculate trust value of conclusion
sures the data from the finger connected to the finger [2, 8].
sensor.
𝛽𝑐 = 𝛽comb (𝛽𝑐 , 𝛽𝑐old ) = max (𝛽𝑐 , 𝛽𝑐old ) . (1)
(2) EGC module: It measures electrocardiogram.
(3) SPO2 module: It measures oxygen saturation of Here 𝛽𝑐old is trust value of the conclusion reached through
blood. inference path already, 𝛽𝑐 is trust value of other conclusion
reached through another inference path. If the 4 patients’ (a,
(4) Skin conduction module: It measures conductivity of b, c, d) illness condition is end-stage, the value is displayed as
palmar skin. 0.8–1.0 shown in the left, in case of the middle stage the value
(5) Body temperature module: It measures temperature is 0.4–0.7 and in case of the first stage the value is displayed
of human body. as 0.1–0.3. The value in the middle shows patient’s physical
condition. For example, if the patient’s height is 150 cm and
weight is lower than 45 kg the value is displayed as 0.1–0.3.
3. Intelligent Pulse Diagnosis Algorithm When the patient’s height is between 151 and 170 cm and
The intelligent pulse diagnosis system is composed of three the weight is between 46 kg and 70 kg, the value is displayed
parts. The first part is composed of the sensor to detect the as 0.4–0.7, and when the height is 171 cm–200 cm and weight
conductance which is appropriate for injured part of human is 71 kg–130 kg, the value is displayed as 0.8–1.0. In Figure 3
body and reference signal generator to adjust the signal the process to calculate fuzzy correction factor according to
generated from the patients. The second part is composed of patient’s physical condition is shown.
DSP (Digital Signal Processor) board in which the signals are
measured and classified using fuzzy algorithm. The last part 4. Implementation of the Electronic
is composed of a computer system that displays the signal Acupuncture System
from DSP board to the monitor and analysis software to
diagnose the patients. Figure 3 shows the whole diagram of Electronic acupuncture system with built in multi pad which
physical signal data network for electronic acupuncture. The can find out the condition of the patients automatically and
algorithm consists of 3 parts. First step is sensing methods, treat the patients simultaneously. The system includes the
the second step is indexing methods and the third step is function that can treat the patients with acupuncture and
classification methods. adjust voltage, current, frequency oscillation automatically
Pulse is beat-wave pattern of chest wall and great arteries according to their physical conditions. To perform the func-
according to heartbeat. The main purpose of pulse is to tion, the system senses and treats acupuncture simultane-
observe cardiomotility and blood movement. Recently study ously, and requires logical and statistical data processing
using physical characteristics shows that pulse wave pattern technique using fuzzy and exact analysis. Installing the 5
can change depending on condition of blood vessels and round pads underneath the palm, we can change the signal,
blood circulation. The pulse wave pattern can be obtained and then adaptive acupuncture treatment can be given.
by second differentiation of digital plethysmogram using At this point, measurement of the signal uses the wireless
physical specific status such as uncertain inflection points. type instead of cable type. Because the wireless type has
In this paper, we classified a patient’s physical condition into advantage of convenience to get acupuncture, reduction of
three categories, as dangerous, ordinary and normal condi- noise by using cable connected to a computer system and
tion adapting pulse diagnosis algorithm using acceleration prevention of electric shock depending on abrupt high-
pulse wave pattern [9]. tension electricity [10, 11].
4 International Journal of Distributed Sensor Networks

Pulse sensor

Blood pressure
and sugar sensor

Hmote 2420

ECG sensor

Infrared temperature

(a) Sensor module parts considering patient’s physical conditions


15 13 11

EGC
Photo PGA #1
Blood CC2430 diode AMP A/D CC2430 CC2430
pressure PGA 24 bit Notch 24 bit
sensor AMP EGC filter
A/D #2 A/D
USB to serial USB to serial USB to serial
LED AMP D/A EGC
REF BAT and DC/DC BAT and DC/DC BAT and DC/DC
#3

30 CPLD
UART 20
decoder
SD slop Audio
2G ALC5622
Blood PGA 16 bit USB host
pressure AMP A/D PIC18F85 DC/DC 2.0
#1 TFT
.. USB to serial ZigBee
MOS TR LCD SSPV210
. FET array
BAT and DC/DC (cortex-A8) Ethernet
#2
10 M
SDRAM
WiFi
512 MB
Nand flash Bluetooth
256 MB 2.0

(b) Block diagram of Sensor modules

Figure 2: Sensor modules for electronic acupuncture system.

In order to treat acupuncture, it is important not only to Figure 4 shows Circuit of the acupuncture signal. The
get information from the human body but also to learn ages, part of sensing pad and contact point of the fingertip
sexes, height and weight of the patients. To do this, control made of stripe array type to distribute contact point area
variables using fuzzy algorithm are made before treatment of evenly after being plated with gold to reduce electric resis-
acupuncture. tance.
International Journal of Distributed Sensor Networks 5

2410 Mhz
2405 Mhz
Hmoto2420: sender
Hmoto2420: sender RF channel: 12
Group ID: 0 × 01
RF channel: 11
Group ID: 0 × 05 Hmoto2420: receiver
Hmoto2420: receiver

Hmoto2420: sender
Hmoto2420: sender
RF channel: 11
Group ID: 0 × 01 RF channel: 11
Group ID: 0 × 03 2415 Mhz
Hmoto2420: receiver
Hmoto2420: receiver
Hmoto2420: sender
RF channel: 13
Group ID: 0 × 01
Hmoto2420: receiver

Figure 3: Whole diagram of physical signal data network for electronic acupuncture.

PWM-1
PWM-2
+5 V LOAD +5 V VCC
U1 D1 1N4007
AT89C2051
Data A RX 2 12 A_DIR-1
TX 3 P3.0/RXD P1.0/AIN0 13 A_DIR-2 U2
6 P3.1/TXD P1.1/AIN1 14 B_DIR-1
P3.2/INTO P1.2 3
Data B 7
P3.3/INT1 P1.3
15 B_DIR-2 2 VOUT VIN
8 16 C_DIR-1

ADJ
9 P3.4/T0 P1.4 17 C_DIR-2
16

C1 104 11 P3.5/T1 P1.5 18 D_DIR-1


GND
+5 V 13 12 P3.7 P1.6 19 D_DIR-2 C3 R1 C2
VCC

8 R1IN R1OUT 9 5 P1.7 1 uF/16 V + 220 104

1
11 R2IN R2OUT 14 4 XTAL1
C4 C5 10 T1IN T1OUT 7 XTAL2
10 uf/25 V 10 uf/25 V T2IN T2OUT X-TAL1 +5 V 1
1 11.0592 m RST/VPP
GND

3 C+ 20
+

C1− C7 VCC
4
C2+ C6
+

5 18P(CH) 18P(CH)
C2−
10

+5 V
+

GND

2 +
6 V+
C8 V−
10 uf/25 V U3 C9 +
15

MAX232 10 uf/25 V LS1


C10
+
10 uf/25 V Buzzer

R2
8.2 K
D2 2
3 Q1
C101
1N4148 1

Output CH1 VCC


U4 Output CH1
1 C11
A_DIR-1 5 +CUR.LIM 104
A_DIR-2 7 −VIN 8 C13
−VOUT −BOOST C12
PWM-1 11 104 104
LIM
R3 U5
1

2 1K
+SENSE 10 2
DIM +
6 Load
9 3
REF 3 − R4
+BOOST 2K
C14
8

6 4
−CUR.LIM +VIN C15 104
L6203 104
R5 R6 R7
10 K 1K 20 K
C16 C17
104 22 uF/16 V
R8
20 K

C18
104

Output module-CH1

Figure 4: Circuit of the acupuncture signal.

In this paper, we designed the optimal algorithm which charging circuit for storage battery. And also we proposed the
could judge the remote medical diagnosis using fuzzy logic software including algorithm of analysis and control using
and fuzzy inference rules, and we simulated the process to fuzzy technique. Existing acupuncture system using DSP
calculate the optimal acupuncture time of the body condition has a complex structure, uses up a lot of electricity and it’s
of patients. We produced the wireless communication part big and expensive. But the adaptive wireless acupuncture
to transmit condition of patients’ pulse, skin conductance system proposed in this paper is simple, inexpensive and
and oxygen saturation data to user’s terminal or remote safe. Figure 5 shows simulation of the glove type electronic
medical terminal, and to receive the control signal from user’s acupuncture.
terminal or remote medical terminal. To implement wireless system, we used the way of RF
To do this, we made the sensing pad, the circuit of AMP data modem for wireless communication using Narrowband
and acupuncture signal, wireless communication module and FSK. The feature of this way is robust to noise and it can
6 International Journal of Distributed Sensor Networks

Figure 7: Transmit/receive system for ubiquitous network.

Figure 5: Simulation of the glove type electronic acupuncture.

Figure 8: Analysis of electro stimulation to fingertips.

Figure 6: Data transmitter and receiver using RF communication.


Figure 9: Output of electronic acupuncture needle time simulation
using FIS matlab.
transmit data easily by simple communication protocol. And
this system is adapt to design multi type data communication
system and can be designed by low power, one 3 V battery,
in case of short distance. We considered not only resistance from 4 sensors, and then transmit the data to receiver using
measurement but capacitive component to reduce error RF communication.
depending on several conditions of human body. To do this, In Figure 7 the system consists of transmit and
we applied the pulse wave DC 50 V∼200 V, 500 uA∼1,500 uA, receive system parts for ubiquitous network. It is made
intermittent stimulation of 5 Hz∼5 KHz to the main pad and of MSP240CPU and CC2420 RF chip. Figure 8 shows
fingertip and measured the voltage peak and phase frequency analysis of electro stimulation to fingertips using pads.
[12, 13]. To obtain signal, we send a reference signal to palm, and
We used 470 MHz band frequency and designed the then decide body condition of patients on the basis of data
system to change 21 physical frequency. And logical address obtained from pre-investigation using sensing pads and
of a channel corresponding to each adaptive acupuncture was MCU attached to fingertips. As soon as signal processing
assigned using polling technique and then called. The system is completed, electric stimulation signal generated by fuzzy
supports half duplex communication. This way is suitable for algorithm is transmitted to sensing pads.
the system because the system requires low data and uses rel- Table 1 explains fuzzy inference of a variety of patients
atively low speed communication. The output power of wire- with the same disease according to varying blood pressure
less signal using button type battery is 1 mW, and it is adequate condition, Heart rate condition, and vascular aging condi-
to transmit data without noise. The speed of transmission tion. In other words, Table 1 clearly shows that the system
is 1200∼9600 bps and wireless encoding uses a way of Bi- calculate varying time of acupuncture for different patients
phase Manchester code. Communication between notebook physical conditions.
computer and wireless modem uses RS232C. Figure 6 shows Figure 9 shows the Output of electronic acupuncture
the data transmitter and receiver using RF communication. needle time simulation using Fuzzy Inference System Matlab.
For remote medical treatment, the transmitter acquires data It explains how the system calculates the output condition
International Journal of Distributed Sensor Networks 7

Table 1: Electronic acupuncture needle time simulation.

Patient biometric information Optimal acupuncture needle time


Input data (minutes)
Blood pressure condition Heart rate condition Vascular aging condition Conventional Intelligence
Medium Medium Small 10 12
Big Big Big 10 06
Big Big Medium 10 08
Medium Medium Medium 10 11
Medium Big Big 10 07
Medium Medium Small 10 10
Small Big Big 10 07
Small Medium Big 10 06
Small Small Small 10 05

of the time for acupuncture from the input data of the 3 [2] H. K. Baruah, “The theory of fuzzy sets: beliefs and realities,”
conditions of patient physical conditions. International Journal of Energy, Information and Communica-
tions, vol. 2, no. 2, pp. 1–22, 2011.
[3] J. Jeong, “The development of web-based decision tree program
5. Conclusion for the analysis of clinical information, ideas constitution,”
Korea Institute of Oriental Medicine, vol. 12, pp. 81–87, 2008.
In this paper, we implemented intelligent electronic acupunc-
[4] Y. J. Lee, J. Lee, H. J. Lee, H. H. Yoo, E. J. Choi, and J. Y. Kim,
ture system using sensor modules. We used the sensor “Study on the characteristics of blood vessel pulse area using
modules to obtain a patient’s diagnosis signals. These sensor ultrasonic,” Korea Institute of Oriental Medicine Researches, vol.
modules consist of 5 parts. These sensor modules detect and 13, no. 3, pp. 111–119, 2007.
analyze the abnormal signals from human body. We analyzed [5] P. A. Shaltis, A. T. Reisner, and H. H. Asada, “Cuffless blood
the signals to make instructions for the treatment. And then pressure monitoring using hydrostatic pressure changes,” IEEE
we designed the sensing pads for electronic acupuncture. And Transactions on Biomedical Engineering, vol. 55, pp. 1775–1777,
we also developed adaptive wireless acupuncture system to 2008.
adjust strength and time of acupuncture and several acupunc- [6] National College of Oriental Medicine, Diagnostics, Saint Func-
ture points of patients by using fuzzy technology. We made tionality of Medicine, St Functional Medicine, 2008, Gunja
the sensing pads, the circuit of AMP and acupuncture signal. Publisher, 2007.
We implemented efficient electronic acupuncture system to [7] Department of Medical Sciences, College of Oriental Medicine,
get acupuncture easily using intelligent diagnosis system. Kyung Hee University, “Medical practice materials,” 2007.
The intelligent acupuncture system proposed in this paper [8] O. P. Verma and S. Singh, “A fuzzy impulse noise filter based on
is simple, inexpensive and safe compared with conventional boundary discriminative noise detection,” Journal of Informa-
acupuncture systems. tion Processing System, vol. 9, no. 1, 2013.
[9] S.-S. Lee, M.-C. An, and S.-H. Ahn, “A new measurement
method of a radial pulse wave using multiple hall array devices,”
Conflict of Interests Journal of Magnetics, vol. 14, no. 3, pp. 132–136, 2009.
[10] S. Haykin, Modem Wireless Communication, Prentice-Hall,
The authors declare that there is no conflict of interests
2003.
regarding the publication of this paper.
[11] A. Swami and H. Ya, Wireless Sensor Networks: Signal Processing
and Communications, John Wiley & Sons, 2007.
Acknowledgment [12] J. K.-Y. Ng, “Ubiquitous healthcare: healthcare systems and
applications enabled by mobile and wireless,” Journal of Con-
This research was supported by the MSIP (Ministry of vergence, vol. 3, no. 2, 2012.
Science, ICT and Future Planning), Korea, under the IT/SW [13] A. Sinha and D. K. Lobiyal, “Performance evaluation of data
Creative research program supervised by the NIPA (National aggregation for cluster-based wireless sensor network,” Human-
IT Industry Promotion Agency)” (NIPA-2013-H0502-13- Centric Computing and Information Sciences, vol. 3, article 13,
1112). 2013.

References
[1] Y. S. Hong, H. K. Kim, and B. K. Kim, “Implementation of adap-
tive electronic acupuncture system using intelligent diagnosis
system,” International Journal of Control and Automation, vol.
5, no. 3, pp. 141–l52, 2012.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 427496, 12 pages
http://dx.doi.org/10.1155/2014/427496

Research Article
Node Placement Analysis for Overlay Networks in
IoT Applications

Yuxin Wan,1 Junwei Cao,1 Kang He,1 Huaying Zhang,2 Peng Yu,2
Senjing Yao,2 and Keqin Li3
1
Department of Automation, Research Institute of Information Technology, Tsinghua National Laboratory for
Information Science and Technology, Tsinghua University, Beijing 100084, China
2
Shenzhen Power Supply Co. Ltd., China Southern Power Grid, Shenzhen 518020, China
3
Department of Computer Science, State University of New York, New Paltz, NY 12561, USA

Correspondence should be addressed to Junwei Cao; jcao@tsinghua.edu.cn

Received 11 October 2013; Revised 22 January 2014; Accepted 22 January 2014; Published 6 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Yuxin Wan et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

The Internet of Things (IoT), which combines identification, sensing, computing, and communication technologies, is considered
one of the major trends in information and communication technologies. Communication performance is critical for IoT
applications. According to previous research, an internet-based overlay model is feasible for the implementation of the IoT. One
important issue in the overlay routing model is the overlay node placement problem (ONPP). Once the size of overlay node set
is fixed to a particular number 𝑘, the ONPP changes to 𝑘-ONPP. In this work, the IoT-based overlay node placement problem is
formulized and analyzed. The major contributions of the paper include providing the time complexity of multi hop 𝑘-ONPP and its
theoretical limit boundary of approximation ratio and proposing a local search algorithm. Furthermore, the time complexity and
approximation ratio boundary of the local search algorithm are given. The proposed local search algorithm is evaluated by both
time and efficiency where efficiency refers to the degree of approximation of algorithm results with optimal solutions. Another
algorithm, TAG, is used for comparison. Finally, a simulation experiment based on network simulator EstiNet is provided. The
experimental results show network delay benefits from the proposed method.

1. Introduction of both performance and ease of implementation, an internet


based dual-layer network is suitable for the IoT. Here, the
The Internet of Things (IoT) has been regarded as the future dual-layer network refers to the overlay network. Currently,
of internet and one of the major trends in information many IoT applications are implemented using an overlay
and communication technologies [1]. The key idea of IoT network. Take the smart grid, for example. One typical
is combining identification, sensing, computing, and com-
example of a smart grid is the wide area management system
munication technologies to provide a better description of
(WAMS). The WAMS uses the phasor measurement unit
physical processes. IoT technologies can be applied in a wide
(PMU) as sensor and data collector. The collected data
variety of applications such as smart homes, smart cities,
environmental monitoring, and health care [2]. need to be transferred to a control center for analysis. The
Many IoT-based applications require timely interaction current WAMS is built on an IP-based network, and many
between users and physical objects. Therefore, communica- studies have been conducted on the influence of network
tion performance is very important in IoT implementation. performance on WAMS [4–6].
There are three options for the implementation of the IoT: However, as the internet only provides a best-effort ser-
using the current internet, building a new network, and vice, internet-based overlay networks should add additional
building a dual-layer network [3]. Based on the consideration methods to improve network performance. Such methods
2 International Journal of Distributed Sensor Networks

include admission control and overlay routing. Admission overlay nodes belong to a single entity, so it is feasible to apply
control guarantees the worst-case delay boundary, but it may the routing algorithm in these overlay nodes. Currently, most
deny a connection [7] and requires special network devices. networks of IoT applications are similar to infrastructure
Overlay routing has been proved useful in reducing end-to- overlay networks, so this paper focuses on the overlay node
end delay [8], and no further devices are needed. The overlay placement problem in such networks.
routing method can be used to reduce the communication Previous work in [8] has proved that with the overlay
delay between sensors and the data center where the data routing method, the RTT of end-to-end packet may be
are analyzed. One important issue in the overlay routing reduced. Andersen et al. found that network performance
model is the overlay node placement problem (ONPP) [9]. would improve with only one hop node [11]. A random-𝑘
The objective of the ONPP is to find the optimal overlay node algorithm is proposed in [12]. The basic idea of this algorithm
set with minimum total data transfer cost. However, the size is randomly selecting 𝑘 nodes out of 𝑀. Then, a source
of overlay node set may be fixed to a given number 𝑘 due sends a test packet through these 𝑘 nodes to the destination.
to cost and efficiency considerations. This modified ONPP is The intermediate node whose response comes back first
called 𝑘-ONPP. will be chosen as the overlay node. This algorithm aims to
In this work, the overlay node placement problem improve the network reliability after path failure occurs, so
(ONPP) in IoT applications is formulized and a local search other performance metrics such as communication delay
algorithm is proposed. The time complexity of 𝑘-ONPP is are not considered. Additionally, this algorithm is based on
analyzed. Furthermore, we give the theoretical limit bound- experimental experience, no theoretical analysis is given.
ary of the approximation ratio for 𝑘-ONPP. Additionally, the In [13], Zhu et al. further studied the node placement
approximation ratio boundary of the proposed local search problem with one hop node. Their scenario uses overlay rout-
algorithm is provided. A genetic algorithm and a greedy ing and multihoming to improve network performance and
algorithm are introduced for performance comparison. All availability. They proved the overlay node placement problem
algorithms are evaluated by time cost and efficiency with with one hop node which is an NP-hard problem based on
MATLAB tools. Here, efficiency refers to the degree of a reduction from the set covering problem. The number of
approximation of algorithm results with optimal solutions. overlay nodes is not fixed in their scenario. In contrast to
Finally, a simulation experiment based on the network previous work in [12], network performance is considered
simulator EstiNet [10] is provided to test the efficiency of in [13]. Four heuristic methods, Random, Customer-driven,
the proposed overlay network model and algorithm. The Traffic-driven, and Performance-driven, are introduced and
experimental results show network delay benefits from the tested. Their results show an improved RTT from sources to
proposed method. destinations with overlay routing.
The rest of the paper is organized as follows. Section 2 A measurement study on the benefits from overlay
introduces the research background and related work in routing is made in [14]. Their scenario uses overlay routing to
overlay node placement. Section 3 presents the model and improve end-to-end network performance. The intermediate
formulation of 𝑘-ONPP in the IoT and provides a theoretical node is also set to be one. In contrast to previous work in [11–
analysis for this problem. Section 4 proposes a local search 13], the number of overlay nodes is fixed to a given number
algorithm and provides its time complexity and approxima- 𝑘 in this work. The problem is also proved to be an NP-
tion ratio boundary. Section 5 evaluates the algorithms based hard one. Four greedy heuristic algorithms are introduced
on time cost and algorithm approximation using MATLAB and tested.
tools. A genetic algorithm and a greedy algorithm, TAG, are A generic description of 𝑘-ONPP is given in [9] as fol-
introduced for comparison. The local search algorithm is lows. Given 𝑀 possible overlay nodes and a number 𝑘, choose
tested in a simulation scenario with the network simulator 𝑘 nodes out of 𝑀 to optimize the application-specialized
EstiNet in Section 6. Some additional factors that impact performance metric. Moreover, the number of intermediate
the algorithm are discussed. Finally, a general conclusion is nodes in an overlay path is unfixed. In [15], Yang et al.
provided in Section 7. considered this generalized problem with the performance
metric group delays from sources to destinations. In this
work, the node placement problem is described by a linear
2. Research Background and Related Work programming formula and solved with ILOG CPLEX, an
optimization software package designed by IBM. Although
Overlay routing has been proved to be a feasible method in this work the generalized problem is considered, it is
to improve network performance with unreliable internet unfeasible to implement the solution in a real network as the
infrastructure [8]. The basic concept of overlay routing is results are calculated by another software.
choosing one or more nodes in the overlay network as The latest work on overlay node placement problem
hop nodes for data transfer. Overlay routing will use an can be found in [16–18]. In [16], Roy et al. introduced a
additional routing algorithm, separate from the underlying greedy algorithm called Traffic Aware Greedy (TAG) and
internet routing algorithm. There are two types of overlay compared this algorithm with the node degree-based algo-
networks: peer-to-peer networks and infrastructure networks rithm. Another greedy algorithm is proposed in [17]. Cohen
[9]. Network nodes of peer-to-peer networks may change and Raz made progress on this problem by providing a
rapidly, while the nodes of infrastructure networks have theoretical limit boundary of the approximation ratio that
higher persistence. In most infrastructure overlay networks, can be achieved by a polynomial algorithm based on the
International Journal of Distributed Sensor Networks 3

Meteorological
Energy Traffic
Application layer Data analysis ··· disaster
management management early-warning
Dual layer network
IOT network layer Distributed IoT data server
Current internet

Smart grid Intelligent Environment


Different
Sensor/actuator layer
sensors/actuators sensor/actuator transportation · · · monitor
sensor/actuator sensor

Figure 1: IoT architectural scheme.

set cover problem [18]. The overlay node placement problem 3.1. Problem Formulation. We consider the performance
also has been discussed in other contexts such as web cache metric of group communication delay, which is the total
placement in [19, 20], but the motivation and objective are communication delay from each sensor to the analysis
quite different. center. Group communication delay is used because data
As described above, most of the current works on the generated by sensors in IoT application is predictable and
overlay node placement algorithm are greedy algorithms and generally periodic. This means that if group communication
lack a theoretical analysis. Although [18] analyzed this prob- delay drops, system performance may become better. Then,
lem in a theoretical manner and provided a limit boundary the overlay node placement problem can be formulized as
of approximation ratio, their analysis is based on a one- follows.
hop overlay. In addition, the approximation ratio of their Consider a physical network represented as a graph
proposed algorithm is denoted by another parameter 𝑚, 𝐺(𝑉, 𝐸), where 𝑉 denotes the networking devices and 𝐸
where 𝑚 is the size of the maximum minimal overlay vertex denotes links between 𝑉. The weight of link 𝑒 in 𝐸 is defined
cut. As written in [18], finding the minimal overlay vertex cut by a metric such as network bandwidth or communication
is not easy. In this work, the overlay node placement model delay, denoted by 𝑙𝑖𝑗 > 0, where 𝑖, 𝑗 indicates the vertexes of
for IoT applications is proposed, and a different analysis link 𝑒. We use communication delay as metric. A group of
approach is made based on a reduction from the 𝑘-median source vertexes denoted by 𝑆 needs to send data to destination
problem. We further analysis the 𝑘-ONPP problem with a vertexes denoted by 𝑇. A candidate set of vertexes 𝐵 ⊆ 𝑉
multihop overlay and provide its time complexity and the may be suitable locations to deploy concentrators. Let 𝑂 ⊆ 𝐵
limit boundary of the approximation ratio. A local search denote the chosen overlay node set. The destination of each
algorithm is proposed, and the approximation ratio boundary 𝑠 ∈ 𝑆 is fixed to 𝑡 ∈ 𝑇. We define the function 𝑡(𝑠), which
has been provided in a more calculable way. denotes the 𝑡 that 𝑠 is connected to. Once the overlay node
set 𝑂 is chosen, each of the source vertexes 𝑠 ⊆ 𝑆 can use
𝑂 to transfer data. Let 𝑙𝑝𝑠,𝑡(𝑠) indicate the weight of the direct
𝑠,𝑡(𝑠)
3. Problem Formulation and Analysis path from vertex 𝑠 to 𝑡(𝑠) and 𝑙𝑂 indicate the weight with
𝑠,𝑡(𝑠)
overlay nodes. 𝑙𝑂 is the weight of shortest path with overlay
According to previous research in IoT [21, 22], the architec-
set 𝑂. Suppose that the shortest overlay path from 𝑠 to 𝑡(𝑠)
tural of IoT can be divided into three parts: sensor/actuator 𝑠,𝑡(𝑠)
layer; information transmission layer (network layer), and is (𝑠, 𝑜1 , 𝑜2 , . . . , 𝑜𝑘 , 𝑡(𝑠)) then 𝑙𝑂 = 𝑙𝑠𝑜1 + 𝑙𝑜1 𝑜2 + ⋅ ⋅ ⋅ + 𝑙𝑜𝑘 𝑡(𝑠) .
application layer. As mentioned in the introduction, currently If overlay set 𝑂 is not helpful to reduce the original weight,
𝑠,𝑡(𝑠)
the internet based dual-layer network is feasible for an IoT then 𝑠 will link directly to 𝑡(𝑠). Then, 𝑙𝑂 = 𝑙𝑝𝑠,𝑡(𝑠) . We define
𝑡(𝑠),𝑡(𝑠) 𝑠,𝑡(𝑠)
application, so an abstract IoT architectural scheme can be 𝑙𝑝𝑡(𝑠),𝑡(𝑠) = 𝑙𝑂 = 0; then, 𝑙𝑂 can be defined as follows:
described as in Figure 1.
Consider the above IoT architectural scheme, the com- 𝑠,𝑡(𝑠)
munication network of IoT is used for data gathering 𝑙𝑂 = min (𝑙𝑝𝑠,𝑜 + 𝑙𝑂
𝑜,𝑡(𝑠)
). (∗)
𝑜∈{𝑂+{𝑡(𝑠)}}
from distributed sensors to analysis centers. Some data
concentrators, such as PMU in smart grid, are deployed so 𝑠,𝑡(𝑠)
that an internet-based dual layer network is already there. Clearly, 𝑙𝑂 ≤ 𝑙𝑝𝑠,𝑡(𝑠) . This is different from other discussions,
These concentrators and sensors are fully constructed and as in others each source must connect to one overlay node.
controlled by the same entity or group, so they can be used as Then, the objective function can be written as finding 𝑂 ⊆
𝑠,𝑡(𝑠)
an overlay node to gain benefits. As these concentrators are 𝐵 to minimize ∑𝑠∈𝑆 𝑙𝑂 , where 𝑡(𝑠) is defined above and
almost persistent, this overlay network can be regarded as an denotes the destination 𝑡 ∈ 𝑇 to which s connects. Consider-
infrastructure overlay network. Thus, the problem is how to ing the cost of deploying these overlay nodes and the cost of
place these concentrators to maximize the benefits. Figure 2 maintaining communication delay information between the
in the following page provides a sketch map of such a dual overlay nodes, the size of set 𝑂 should be limited. Suppose
layer network. that a given number 𝑘 is used. We define this problem as the
4 International Journal of Distributed Sensor Networks

Data destination ··· Data destination

Underlay internet channel Underlay internet channel

Data Data Data


···
relay node relay node relay node

Underlay internet channel Underlay internet channel Underlay internet channel

Data Data Data Data Data Data


generating generating generating generating generating ··· generating
node node node node node node

Figure 2: Sketch map of a dual layer network of the IoT.

𝑘-ONPP problem. Then, the problem is modified to finding is NP-complete as well. Additionally, this proves that problem
𝑠,𝑡(𝑠) 𝑃2 is the same as the 𝑘-median problem.
𝑂 ⊆ 𝐵 to minimize ∑𝑠∈𝑆 𝑙𝑂 , and the size of 𝑂 is 𝑘.
Now, we consider the original 𝑘-ONPP. Given a graph
3.2. Problem Analysis. In this section, we will analysis the 𝐺(𝑉, 𝐸), a source set 𝑆, a destination set 𝑇, and a possible set
𝑠,𝑡(𝑠)
time complexity for 𝑘-ONPP and discuss the theoretical 𝐵, find 𝑂 ⊆ 𝐵 to minimize ∑𝑠∈𝑆 𝑙𝑂 , where the size of 𝑂
limit boundary of approximation ratio. We give the following is 𝑘. Suppose there is a polynomial algorithm for 𝑘-ONPP.
theorems. Construct a special case of 𝑘-ONPP. Let 𝑙𝑝𝑏1 ,𝑏2 = 𝑇 ≫ 𝑙𝑝𝑠,𝑡(𝑠) ,
where 𝑏1 , 𝑏2 ∈ 𝐵 and 𝑠 ∈ 𝑆. Obviously, in this constructed 𝑘-
Theorem 1. k-ONPP is an NP-hard problem. ONPP, only one hop node at most may be used in the overlay
path. If there is a polynomial algorithm for 𝑘-ONPP, then the
Proof. First, we consider another NP-complete problem. The constructed 𝑘-ONPP can be solved, then problem 𝑃3 can be
𝑘-median decision problem is a typical NP-complete problem solved. The algorithm for 𝑃3 can be designed as follows.
which can be described as follows. Given a client set 𝐶 ̂ and a
candidate position set 𝐵, the weight from each 𝑐̂ ∈ 𝐶 to ̂𝑏 ∈ 𝐵̂
̂ ̂ (1) Use the polynomial algorithm for 𝑘-ONPP to find the
result 𝑅 of constructed 𝑘-ONPP.
is denoted by ̂𝑙𝑐̂̂𝑏 > 0. Determine whether there exists a set 𝑂
̂
out of 𝐵̂ where the size of 𝑂 ̂ is 𝑘 such that (2) Test if 𝑅 ≤ 𝑈.
Because 𝑃3 ∝ 𝑘-ONPP and 𝑃3 is NP-complete, 𝑘-ONPP is an
∑ min (̂𝑙𝑐̂𝑜̂) ≤ 𝑈. (1)
̂ 𝑜∈𝑂
̂
NP-hard problem. This proves Theorem 1.
𝑐̂∈𝐶,̂
Next, we provide the theoretical limit boundary of an
We define this problem as 𝑃1 . Then, we consider a modified approximation ratio for 𝑘-ONPP. In 𝑘-ONPP, define follow-
problem from 𝑘-ONPP as follows. Consider a graph 𝐺(𝑉, 𝐸), ing parameters:
a source set 𝑆, a destination set 𝑇, and a possible set 𝐵. Find
𝑂 ⊆ 𝐵 to minimize ∑𝑠∈𝑆,𝑜∈𝑂 min(𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑜 + 𝑙𝑝𝑜,𝑡(𝑠) ), where 𝑑max = max {min (𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑏 + 𝑙𝑝𝑏,𝑡(𝑠) )
the size of 𝑂 is 𝑘. Define this problem as 𝑃2 . This objective
function means that at most only one overlay hop can be | 𝑡 (𝑠) ∈ 𝑇, 𝑠 ∈ 𝑆, 𝑏 ∈ 𝐵} ,
used in an overlay path. Consider the decision problem 𝑃2 ,
determining whether there exists a set 𝑂 out of 𝐵 where the 𝑑min = min {min (𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑏 + 𝑙𝑝𝑏,𝑡(𝑠) )
size of 𝑂 is 𝑘 such that
| 𝑡 (s) ∈ 𝑇, 𝑠 ∈ 𝑆, 𝑏 ∈ 𝐵} ,
∑ min (𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑜 + 𝑙𝑝𝑜,𝑡(𝑠) ) ≤ 𝑈. (2)
(4)
𝑠∈𝑆,𝑜∈𝑂
𝑑max
𝜔= ,
We define this problem as 𝑃3 . 𝑑min
Next, we modify problem 𝑃3 into a different version. Let 𝑏,𝑡(𝑠)
𝑠,𝑏
̂ = 𝑆, and ̂𝑘 = 𝑘. Consider a client point 𝑐̂ ∈ 𝐶
𝐵̂ = 𝐵, 𝐶 ̂ and a { 𝑙𝑝 + 𝑙𝐵 }
𝛼 = max { 𝑠,𝑏 𝑏,𝑡(𝑠) | 𝑡 (𝑠) ∈ 𝑇, 𝑠 ∈ 𝑆, 𝑏 ∈ 𝐵} .
̂ ̂
candidate overlay node 𝑏 ∈ 𝐵. Define 𝑙 + 𝑙𝑝
{𝑝 }
̂𝑙 ̂ = min (𝑙𝑠,𝑡(𝑠) , 𝑙𝑠,𝑏 + 𝑙𝑏,𝑡(𝑠) ) . (3) Theorem 2. There is no polynomial algorithm for 𝑘-ONPP
𝑐̂,𝑏 𝑝 𝑝 𝑝
with an approximation ratio less than 𝛼 × (1 + ((𝜔 − 1)/𝑒)).
Then, problem 𝑃2 changes to determining whether there
exists a set 𝑂 ̂ out of 𝐵̂ where Size(𝑂) ̂ = ̂𝑘 such that Proof. As proved above, problem 𝑃2 is the same as 𝑘-median
∑𝑐̂∈𝐶,̂ ̂
̂ min(𝑙𝑐̂𝑜̂) ≤ 𝑈. It is obvious that modified problem 𝑃3
̂ 𝑜∈𝑂 problem. With the above-defined 𝑑max and 𝑑min , 𝜔 also
is the same as problem 𝑃1 . Because 𝑃1 is NP-complete, then 𝑃3 denotes max ̂𝑙𝑐̂,̂𝑏 / min ̂𝑙𝑐̂,̂𝑏 , where ̂𝑏 ∈ 𝐵̂ in problem 𝑃1 .
International Journal of Distributed Sensor Networks 5

Algorithm: Local Search Algorithm


Input: Candidate set 𝐵; Cost function 𝐶𝑜𝑠𝑡(𝑁); Neighborhood structure 𝐹(𝑁);
Delay graph 𝐺(𝑉, 𝐸)
Output: Sub-optimal overlay node set 𝑂
(1) Random select a set 𝑁 which 𝑆𝑖𝑧𝑒(𝑁) = 𝑘
(2) Constructing a new graph 𝐺󸀠 (𝑉󸀠 , 𝐸󸀠 ) with 𝑉󸀠 = {𝑁, {𝑡(𝑠)}}
(3) Apply Dijkstra algorithm in 𝐺󸀠 to get the shortest path from 𝑁 to {𝑡(𝑠)}
𝑛,𝑡(𝑠)
(4) Calculating the 𝐶𝑜𝑠𝑡(𝑁) = ∑𝑠∈𝑆 min𝑛∈𝑁 (𝑙𝑝𝑠,𝑛 + 𝑙𝑁 )
(5) If ∃𝑁 ∈ 𝐹(𝑁) that 𝐶𝑜𝑠𝑡(𝑁 ) < 𝐶𝑜𝑠𝑡(𝑁) then 𝑁 = 𝑁󸀠 , return to Step 1
󸀠 󸀠

(6) Return 𝑁.

Algorithm 1: Proposed local search algorithm.

Pan et al. proved that with a so-defined 𝜔, there are no the steps of proposed local search algorithm are described in
polynomial algorithms with an approximation ratio less than Algorithm 1.
1 + ((𝜔 − 1)/𝑒) unless NP ⊆ DTIME(𝑛𝑂(log log 𝑛) ) for a general Next, we discuss the time complexity of the proposed
distance space 𝑘-median problem [23]. Let the optimal result algorithm. We state the following theorem.
for 𝑃2 be 𝑂1 and the optimal result for 𝑘-ONPP be 𝑂2 . Let the
best result which can be obtained with polynomial algorithm Theorem 3. The time complexity of the proposed local search
for 𝑃2 be 𝑅1 and the best result which can be obtained with a algorithm is polynomial.
polynomial algorithm for 𝑘-ONPP be 𝑅2 . Obviously, we have
𝑂2 ≤ 𝑂1 , 𝑅2 ≤ 𝑅1 . Because 𝑅1 /𝑂1 ≥ (1 + ((𝜔 − 1)/𝑒)), Proof. Let Size(𝐵) = 𝑀, where 𝑝 indicates the number of
𝑅2 /𝑂2 ≥ 𝑅2 /𝑂1 ≥ 𝑅2 /𝑅1 × 𝑅1 /𝑂1 . However, for each overlay iterations. Suppose that 𝑘 ≪ 𝑁. The time cost for the Dijkstra
𝑜,𝑡(𝑠) algorithm is 𝑂(𝑘2 ). The maximum replacement in each
path for client 𝑠 ∈ 𝑆, min(𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑜 + 𝑙𝑂 ) ≥ min(𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑏 +
iteration for set 𝑁 is Size(𝐵-𝑁). So, the total time complexity
𝑙𝐵𝑏,𝑡(𝑠) ) ≥ 𝛼 × min(𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑏 + 𝑙𝑝𝑏,𝑡(𝑠) ). Therefore, 𝑅2 /𝑅1 ≥ 𝛼 and for local search algorithm is 𝑂(𝑘2 𝑀𝑝). As discussed in [24],
𝑅2 /𝑂2 ≥ 𝛼 × (1 + ((𝜔 − 1)/𝑒)). This proves Theorem 2. 𝑝 can be defined as 𝑝 = log(Cost(𝑆0 )/Cost(𝑂))/ log(1/(1 −
𝜀/𝑄)). Here, 𝑆0 is the initial value, 𝑂 is the optimal result,
𝜀 > 0 is constant, and 𝑄 is the size of Θ ⊂ 𝐺(𝑆), where 𝑆 is
Both 𝛼 and 𝜔 are easy to calculate in this formula. It is the set of all feasible solutions and 𝐺(𝑆) is the neighborhood
obvious that the time complexity to obtain 𝜔 is 𝑂(Size(𝑆) × of 𝑆. With proposed local search algorithm 𝐺(𝑆) = 𝐹(𝑆) =
Size(𝐵)). The time complexity to obtain 𝛼 is the time com- {𝑆 − 𝑛 + 𝑚 | 𝑛 ∈ 𝑆, 𝑚 ∈ 𝐵, 𝑚 ∉ 𝑆}; therefore, 𝑄 ≤ Size(𝑆) ×
plexity of shortest path algorithm. Because 𝑙𝐵𝑏,𝑡(𝑠) means using Size(𝐵−𝑆), which is polynomial because 𝑄, log(Cost(𝑆0 )) and
whole candidate set 𝐵 as overlay node set, the shortest path log(Cost(𝑂)) are polynomial with the input size. So, the time
algorithm can be applied. complexity of the local search algorithm is polynomial. This
proves Theorem 3.
4. Proposed Algorithm and Analysis Finally, we provided the approximation ratio boundary of
the local search algorithm in Theorem 4.
As discussed above, the 𝑘-ONPP problem is similar to
the 𝑘-median problem, so the algorithm for the 𝑘-median Theorem 4. The approximation ratio boundary of the pro-
problem may also be applied in 𝑘-ONPP. The proposed posed local search algorithm is 𝜔/𝛼.
local search algorithm is modified from the local search
algorithm developed by Arya et al. in [24]. However, the Proof. Suppose that the optimal set for 𝑘-ONPP is 𝑂 and
discussion in [24] is based on the metric space, which local optimal set is 𝑁. Let 𝑂 = (𝑜1 , 𝑜2 , . . . , 𝑜𝑘 ) and 𝑁 =
means that the distance definition satisfies the symmetrical (𝑛1 , 𝑛2 , . . . , 𝑛𝑘 ). 𝑑max and 𝑑min are defined the same as before,
characteristic and triangle inequality. However, neither of 𝜔 = 𝑑max /𝑑min . As 𝑁 is the local optimal set, then for all
these two properties is consistent with network delay. In fact, 𝑁󸀠 ∈ 𝐹(𝑁), we obtain
if network delay satisfies triangle inequality, there is no need
to optimize the delay as 𝑙𝑝𝑠,𝑡 ≤ 𝑙𝑝𝑠,𝑎 + 𝑙𝑝𝑎𝑡 . The modified local Cost (𝑁󸀠 ) − Cost (𝑁) > 0. (5)
search algorithm works as follows.
From inequality (5), we replace the overlay node 𝑛1 in 𝑁 with
We define the cost function as Cost(𝑁) with given set
node 𝑜1 in 𝑂, then we obtain
𝑁, which indicates the group communication delay from the
client set 𝑆 to destination 𝑇 with a given overlay set 𝑁. A Cost (𝑁 − 𝑛1 + 𝑜1 ) − Cost (𝑁) > 0. (6)
neighborhood structure for the set 𝑁 is defined as 𝐹(𝑁) =
{𝑁 − 𝑛 + 𝑚 | 𝑛 ∈ 𝑁, 𝑚 ∈ 𝐵, 𝑚 ∉ 𝑁}. We define a local Define 𝑁1 = (𝑜1 , 𝑛2 , . . . , 𝑛𝑘 ), 𝑁2 = (𝑛1 , 𝑜2 , . . . , 𝑛𝑘 ), . . ., 𝑁𝑘 =
optimum as Cost(𝑁) < Cost(𝑁󸀠 ) for all 𝑁󸀠 ∈ 𝐹(𝑁). Then, (𝑛1 , 𝑛2 , . . . , 𝑜𝑘 ). Define 𝐷𝐶(𝑜1 ) as the clients which connect 𝑜1
6 International Journal of Distributed Sensor Networks

as first overlay node. For 𝑁1 , let 𝑐 ∈ 𝐷𝐶(𝑜1 ) connect to 𝑜1 as 5.1. Experiment Design and Implementation. As described
first overlay node, and let 𝑐󸀠 ∈ 𝐶 − 𝐷𝐶(𝑜1 ) connect to 𝑛󸀠 ∈ above, a physical network can be represented as a graph
󸀠 󸀠
{𝑁1 + {𝑡(𝑐󸀠 )}} with minimum min(𝑙𝑝𝑐 ,𝑛 + 𝑙𝑁 𝑛󸀠 ,𝑡(𝑐󸀠 )
). Therefore, 𝐺(𝑉, 𝐸), where 𝑉 denotes networking devices and 𝐸 denotes
inequality (6) can be expanded as follows:
1
the time delay between 𝑉. In the actual network, networking
devices are connected in two modes: directly connecting with
Cost (𝑁 − 𝑛1 + 𝑜1 ) − Cost (𝑁) links and indirectly connecting with routers or switchers.
So, the first step of experiment is generating an 𝑀 × 𝑀
= ∑ (𝑙𝑝𝑐,𝑜1 + 𝑙𝑁11
𝑜 ,𝑡(𝑐) 𝑐,𝑡(𝑐)
− 𝑙𝑁 )+ ∑ 𝑐,𝑡(𝑐)
(𝑙𝑁 𝑐,𝑡(𝑐)
− 𝑙𝑁 ) matrix to record the graph, where 𝑀 is the number of
1 network devices. After that, direct connections with time
𝑐∈𝐷𝐶 (𝑜1 ) 𝑐∈𝐶−𝐷𝐶 (𝑜1 )
delay between graph vertexes are randomly generated. In the
> 0. third step, each pair of two vertexes in the graph is connected
(7) through the directly connecting vertexes. The time delay
between indirectly connecting vertexes is the sum of the time
For the first portion before the plus sign in (7), delay between directly connecting vertexes in the path.
The Matlab test is implemented on a laptop with two Intel
1 i5 core processors and 3 GB memory. For each experiment,
𝑑min ≤ min (𝑙𝑝𝑠,𝑡(𝑠) , 𝑙𝑝𝑠,𝑏 + 𝑙𝐵𝑏,𝑡(𝑠) ) we test the algorithm 500 times. The mean value of the
𝛼
proposed algorithm is then calculated to better expose the
1 1 𝑐,𝑡(𝑐) performance. In addition, the 95% quartile of 500 tests is
≤ min (𝑙𝑝𝑐,𝑡(𝑐) , 𝑙𝑝𝑐,𝑜 + 𝑙𝑂
𝑜,𝑡(𝑐)
) = 𝑙𝑂 (8)
𝛼 𝛼 calculated and the 95% confidence interval of the mean value
𝑜1 ,𝑡(𝑐) 𝜔 𝑐,𝑡(𝑐) is obtained. For the genetic algorithm, the best result of the
𝑙𝑝𝑐,𝑜1 + 𝑙𝑁1 ≤ 𝑙𝑝𝑐,𝑜1 + 𝑙𝑝𝑜1 ,𝑡(𝑐) ≤ 𝜔𝑑min ≤ 𝑙𝑂 . 500 tests will be recorded, as it is used to generate the optimal
𝛼
result.
For the second portion in (7),
𝜔 𝑐,𝑡(𝑐) 5.2. Two Other Algorithms for Comparison
𝑐,𝑡(𝑐)
𝑙𝑁 ≤ 𝑙𝑝𝑐,𝑡(𝑐) ≤ 𝜔𝑑min ≤ 𝑙 . (9)
1
𝛼𝑂 5.2.1. Genetic Algorithm. To evaluate the time cost and
algorithm approximation, the global optimal result is needed
So, inequality (7) can be expanded as follows: for comparison. However, as previously proved, 𝑘-ONPP is
𝑜 ,𝑡(𝑐)
NP-hard; we cannot calculate the global optimal solution
0< ∑ (𝑙𝑝𝑐,𝑜1 + 𝑙𝑁11 𝑐,𝑡(𝑐)
− 𝑙𝑁 )+ ∑ 𝑐,𝑡(𝑐)
(𝑙𝑁 1
𝑐,𝑡(𝑐)
− 𝑙𝑁 ) with an increasing problem scale. So, the result of a genetic
𝑐∈𝐷𝐶 (𝑜1 ) 𝑐∈𝐶−𝐷𝐶 (𝑜1 ) algorithm is used to approximate the global optimal result.
It is unnecessary to provide the detailed steps of the genetic
𝜔 𝑐,𝑡(𝑐) 𝑐,𝑡(𝑐) 𝜔 𝑐,𝑡(𝑐) 𝑐,𝑡(𝑐)
≤ ∑ ( 𝑙𝑂 − 𝑙𝑁 ) + ∑ ( 𝑙𝑂 − 𝑙𝑁 ) algorithm, so only the key definitions are described here as
𝛼 𝛼
𝑐∈𝐷𝐶 (𝑜1 ) 𝑐∈𝐶−𝐷𝐶 (𝑜1 ) follows.
𝜔 𝑐,𝑡(𝑐) 𝑐,𝑡(𝑐) 𝜔 (1) Genetic representation. The target of 𝑘-ONPP is find-
= ∑ ( 𝑙𝑂 − 𝑙𝑁 ) = Cost (𝑂) − Cost (𝑆) . ing 𝑘 nodes out of possible set 𝐵 to minimize group
𝑐∈𝐶 𝛼 𝛼
delay. A natural thought is using the tag of these nodes
(10)
to represent the solution. So, we mark each node in set
𝐵 with a number and represent each individual as a set
Then, we have obtained the approximation ratio with defined
of numbers. The size of the individual set is fixed to 𝑘.
𝜔 and 𝛼 as follows:
(2) Fitness function. The property of the fitness function
𝜔 is that the better the solution is, the larger the fitness
Cost (𝑆) < Cost (𝑂) . (∗∗)
𝛼 will be. However, the cost function defined above
is the group delay. Suppose that 𝑁 denotes current
This proves Theorem 4.
generations and 𝐶 denotes the fitness of calculated
individual. We define fitness function as follows:
5. Algorithm Evaluation Cost (𝐶) − min (Cost (𝑁))
1− . (11)
In this paper, the proposed local search algorithm is tested max (Cost (𝑁)) − min (Cost (𝑁))
with both Matlab and the network simulator EstiNet. EstiNet
is used to test the algorithm’s performance in a network (3) Crossover. Randomly choose the crossover point in an
environment. However, as the amount of network nodes is individual set. Then, the tag number before or after
limited in a simulator, in this section, Matlab is used to the crossover point is swapped. However, the same
evaluate the algorithm based on time cost and effectiveness. point may appear twice in a single individual set after
A genetic algorithm is introduced to approach the optimal crossover. For example, this occurs if individual 𝐴 is
result, while the TAG algorithm proposed in [16] is used for (3, 4, 7, 9); individual 𝐵 is (1, 3, 5, 7), and the crossover
comparison. has happened at the second point; one of the results is
International Journal of Distributed Sensor Networks 7

(3, 3, 5, 7). In case of such a scenario, we extract the set 50


of the same points from individuals and cross the left
part. After the crossover, this set is added into both
results. During the experiment, an adaptive crossover 45
probability is used based on the work of Srinivas and

Algorithm results (ms)


Patnaik in [25]. 40
(4) Mutation. Given a mutation probability, for each
point in the individual set, randomly generate a
35
number between 0 and 1. If the random number is
bigger than mutation probability, select another point
in candidate set 𝐵 to replace this point. An adaptive 30
mutation probability is also used based on [25].

5.2.2. TAG Algorithm. The TAG algorithm is a greedy algo- 25


0 50 100 150 200 250 300 350 400 450
rithm proposed by Roy et al. in [16]. The TAG algorithm
Size of candidate set B
works as follows. It selects overlay nodes from candidate set
𝐵 based on a greedy strategy. During each step, the algorithm Average result of local search algorithm with K = 5
chooses the node that gives the best value of the cost function. Best result of genetic algorithm with K = 5
Average result of TAG algorithm with K = 5
Suppose that there are already 𝑚 nodes in the overlay node
set 𝑂. Then, the (𝑚 + 1)th node is selected among the rest Figure 3: Algorithm results comparison.
of the 𝐵-𝑂 nodes. There is no replacement strategy in TAG,
so once the node is chosen, it cannot be modified. The time
complexity of TAG is 𝑂(𝑘3 𝑀), where 𝑘 is the given size of 80
overlay set and 𝑀 is the size of candidate set 𝐵. 70

60
5.3. Experimental Results
Time costs (s)

50
5.3.1. Comparison between Optimal Solutions and Genetic
Algorithm Solutions. As a genetic algorithm is used to acquire 40
the global optimal result, the efficiency of genetic algorithm
must first be tested. Table 1 presents the comparison of the 30
genetic algorithm with the global optimal algorithm in a
20
small scale problem. The global optimal algorithm is achieved
by the traversing method, so it is limited by the problem 10
scale. For example, the time cost with 𝑀 = 50 and 𝑘 = 5
is 26531 s, which is almost 8 hours. For genetic algorithm, 0
0 50 100 150 200 250 300 350 400 450
as described above, the best result out of 500 experiments is
used to increase the possibility of finding the global optimal Size of candidate set B
result. In the following, 𝑘 denotes the size of overlay node Time cost of local search algorithm with K = 5
set and 𝑀 denotes the size of candidate set 𝐵. In order to Time cost of genetic algorithm with K = 5
eliminate randomness, these experiments are carried out with Time cost of TAG algorithm with K = 5
different network topology. So, experiment results of different
Figure 4: Time cost comparison.
parameter 𝑀 are not comparable.
As mentioned above, the adaptive crossover and muta-
tion probability are used in the implementation of genetic
algorithm. Adaptive function and parameters are the same as would lead to increased probability of getting optimal results
described in [25] except a minimum crossover probability is but with increased time cost too.
set to 0.1 and a minimum mutation probability is set to 0.05.
Population size is set to 300. The iteration stop condition is 5.3.2. Comparison of Different Algorithms. Figure 3 compares
that the fitness value remains unchanged for 100 iterations. the results of the local search algorithm, the TAG algorithm,
As Table 1 in the following page presents, the genetic and the best result achieved by the genetic algorithm.
algorithm works efficiently with the above definitions and Clearly, in Figure 3, the results of local search algorithm
parameters. The obtained results of genetic algorithm are are almost as good as the best result of the genetic algorithm,
very close to the results calculated by traversing method. while the results of the TAG algorithm are very unstable.
Also, the best result of genetic algorithm can be the same as Although in some cases the TAG algorithm can obtain a
optimal result as illustrated in Table 1. These results illustrate result close to local search algorithm, the result of TAG is
the efficiency of the proposed genetic algorithm. During the not monotonic, as shown in Figure 3. This occurs when the
experiment, we also found that increased population size candidate set 𝐵 increases but the result decreases. This is
8 International Journal of Distributed Sensor Networks

Table 1: Comparison of genetic algorithm results with global optimal results.

𝑀/𝑘 Average result of 500 experiments Best result of 500 experiments


Global optimal results (ms)
acquired by the genetic algorithm (ms) acquired by the genetic algorithm (ms)
𝑘=3 46.1543 45.9002 45.9002
𝑀 = 30
𝑘=5 36.7103 36.6999 36.6999
𝑘=3 58.3422 58.3204 58.3204
𝑀 = 40
𝑘=5 55.7610 55.6698 55.6698
𝑘=3 54.7344 54.7214 54.7214
𝑀 = 50
𝑘=5 52.0495 52.0034 52.0034

Table 2: Stability of proposed algorithm.

𝑀 Mean value of 95% quartile of 95% confidence interval of


TAG algorithm results
proposed algorithm proposed algorithm mean value
30 47.2386 47.2386 47.2386 (47.2386, 47.2386)
50 40.9723 40.3376 40.3119 (40.3209, 40.3543)
100 36.4616 35.6586 35.6452 (35.6513, 35.6659)
150 36.4616 34.5786 35.5903 (34.4789, 34.6782)
200 38.0621 34.4447 35.5903 (34.3397, 34.5497)
250 38.0621 34.3215 35.5903 (34.2119, 34.4311)
300 37.105 34.0292 35.9118 (33.9424, 34.1161)
350 37.105 33.9983 35.9118 (33.9132, 34.0835)
400 29.6423 29.0581 29.0172 (29.0222, 29.0940)
450 31.1796 28.4569 28.4420 (28.4423, 28.4715)

55 Figure 4 illustrates the time cost of different algorithms.


Time cost of local search algorithm and TAG algorithm is the
50 mean time cost of 500 tests. Time cost of genetic algorithm
is calculated based on the mean value of iteration step which
returns the best solution.
Algorithm results (ms)

45
As Figure 4 presents, the genetic algorithm is more time-
consuming than the local search algorithm, and the time
40 cost of TAG is minimal. This result is consistent with the
theoretical analysis. Additionally, these results clearly show
35 that the time cost of the local search algorithm is linear with
the size of candidate set 𝐵.
30
5.3.3. Stability of the Proposed Algorithm. As there is no
25 randomness in the TAG algorithm, each of the 500 tests
2 3 4 5 6 7 8 9 10 obtains the same result. For the proposed local search
Number of overlay node K algorithm, there are random steps, so the corresponding
Algorithm results with M = 100 result may fluctuate. However, during the tests, we discovered
Algorithm results with M = 200 that the result of the proposed algorithm only varies over
Algorithm results with M = 300 a small interval; therefore, the proposed algorithm works
Algorithm results with M = 400 stably. Table 2 presents the 95% quartile of 500 tests and the
Algorithm results with M = 500 95% confidence interval of the mean value. Regardless of the
Figure 5: Algorithm results with an increasing 𝑘. distribution of the results, the confidence interval of the mean
value is still reasonable because of the central limit theorem.
Each of the experiments can be treated as an independent
random variable, and these independent random variables
have the same mean and variance. Thus, the mean value
because TAG selects a node that gives the best cost value of these independent random variables follows the normal
according to the current node set. However, a good node in distribution.
one step may not be part of the best overlay node set. And, As Table 2 presents, the proposed algorithm works quite
once the node is selected, there is no strategy for replacement. stably.
International Journal of Distributed Sensor Networks 9

250 mode, the performance of switches, links, and so forth, is


controlled by the operating system, which makes the results
unpredictable; thus, the simulation result cannot be repeated
200
precisely. There is a useful tool in EstiNet called “Generate
Large Internet-like Network.” It automatically generates a
Time cost (s)

150 large network that is similar to the Internet. We use this tool
to implement the following experiments.

100 6.2. Experiment Design. Figure 7 in the following page shows


the schematic diagram of the proposed experiment. The
50
red points denote the sensors that are used to collect data.
The black points denote the data analyzer used to gather
data from sensors. The blue points denote the overlay node,
0 and the red dotted lines denote the logic path from sensor
2 3 4 5 6 7 8 9 10 to analyzer through the overlay node. A data-generating
Number of overlay node K program is implemented in each sensor which periodically
Time cost with M = 100 generates data packets with size 𝐿. A data server program
Time cost with M = 200 is implemented in the analyzer. A data transfer program is
Time cost with M = 300 implemented in the overlay node, and it retransfers each
Time cost with M = 400 packet from the sensor to the next overlay node or data server.
Time cost with M = 500 The goal is to find the optimal overlay node set with given size
Figure 6: Time cost with an increasing 𝑘.
𝑘 that minimizes the sum of time delay from each sensor to
the analyzer.
In a realistic environment, a delay testing program and
transfer program should be placed at each candidate node.
5.3.4. Impact of the Number of Overlay Nodes. In Section 3, Once the optimal overlay set has been found, the transfer
we noted that because of the cost of deploying overlay program in overlay node is set to continue while the other
nodes and the cost of maintaining communication delay transfer program suspends. The recalculation should be
information between overlay nodes, the size of set 𝑂 should triggered by time or by network events such as increasing
be limited. Figures 5 and 6 present the algorithm results and network delay from sensors. For simplicity of analysis, we
time cost with 𝑘 increasing under the same 𝑀. decompose the progress in the simulation. The simulation
As Figures 5 and 6 show, the algorithm result and the steps are as follows.
number of overlay nodes are not linearly correlated. When 𝑘
increases to a certain range, the algorithm results may remain (1) First, we add network traffic in the simulation envi-
unchanged. In contrast, the time cost will keep increasing. ronment.
Thus, considering both the algorithm efficiency and cost of (2) Then, we find the original time delay from the sensors
deployment, the size of the overlay set should be limited. to the analyzer. In this step, data-generating programs
implemented in sensors are directly sending data to
the server with the server IP address.
6. Experiment with Network Simulation
(3) To obtain the optimal overlay node set, a delay matrix
In this section, the proposed local search algorithm is tested that indicates the time delay of each of the two nodes
in a network simulation environment. This section is used to in candidate set 𝐵 is needed. Thus, a program to
represent the algorithm performance and some factors that measure time delay from each of the two nodes is
impact the performance. The network simulator EstiNet is required. Here, we use the ping method to acquire the
applied. RTT of each of the two nodes. We modified the ping
program to calculate the mean RTT and record it in a
6.1. EstiNet Network Simulation. EstiNet is a novel network file.
simulator developed by Wang et al. since 1999 [26]. The (4) We construct the delay matrix out of measured time
current version is EstiNet 8.0, which can be found in [10]. delay and find the optimal overlay node set.
A novel simulation methodology called “kernel reentering (5) We implement the node transfer programs in the
methodology” is implemented in EstiNet. It combines the overlay nodes and retest the group time delay from
advantages of both simulation and emulation. In contrast to the sensors to the analyzer.
existing network simulators NS2 or OPNET, EstiNet uses the
real-life UNIX TCP/IP protocol stack during the simulation, The simulation network includes 167 nodes; we randomly
and thus all the real-life network application programs can select 11 nodes as sensors and 1 node as the analyzer. The over-
readily run on any node in a simulated network without any lay node set size is set to 5, and all the other nodes are added
modification. This approach can only be performed in emu- into candidate node set. 5 overlay nodes are used because
lation mode with other simulators. However, with emulation system performance improvement becomes trivial with more
10 International Journal of Distributed Sensor Networks

Overlay path 4
Sensor Overlay path Overlay path Overlay path

1 5

Overlay path Overlay path Overlay path Overlay path


Analyzer
2 Overlay path 3

Overlay path Overlay path


Overlay
node
Data Data Data Data
Data transfer Data transfer Data server
generator
packet packet packet

Figure 7: Schematic diagram of the experiments.

Table 3: Comparison of overlay network performance with increasing data size.

𝐷 (Byte)/𝑃 (Byte) Original cost (ms) Overlay network cost (ms) Delay improvement (percentage)
𝑃 = 1000 48.177 18.186 62.25%
𝐷 = 100 𝑃 = 1430 47.968 18.234 61.99%
𝑃 = 1800 48.146 18.203 62.19%
𝑃 = 1000 122.642 101.675 17.10%
𝐷 = 1K 𝑃 = 1430 122.806 102.589 16.46%
𝑃 = 1800 120.466 102.178 15.18%
𝑃 = 1000 208.380 188.026 9.77%
𝐷 = 5K 𝑃 = 1430 219.872 180.811 17.77%
𝑃 = 1800 300.919 225.573 25.04%
𝑃 = 1000 372.405 297.364 20.15%
𝐷 = 10 K 𝑃 = 1430 368.939 269.100 27.06%
𝑃 = 1800 384.022 276.791 27.92%
𝑃 = 1000 1521.535 1157.466 23.93%
𝐷 = 100 K 𝑃 = 1430 1543.298 1169.730 24.21%
𝑃 = 1800 1526.384 1165.816 23.62%

overlay nodes. To eliminate the effect of randomness of the sensors and 𝑃 denotes the program transfer packet size. The
network, each of the following experiments has been repeated original cost means the group delay from sensors to analyzer
five times. without the overlay. The overlay network cost means the
group delay after applying the overlay. The total improvement
6.3. Experimental Results and Analysis. Network communi- is calculated with a percentage.
cation delay consists of four parts: nodal processing delay, Table 3 illustrates that overlay network with the proposed
queuing delay, transmission delay, and propagation delay. algorithm can improve network delay under all conditions.
Queuing delay, nodal processing delay, and propagation delay Additionally, the transmission delay would affect system
can be measured by RTT, while transmission delay is related performance. When the sensor data size is small enough,
to network bandwidth and data size. To test the overlay the delay improvement is extremely good. This perfor-
network performance with different conditions, different data mance would decrease with the increase of sensor data size.
sizes are used in the experiment. In addition, all the network However, after data size achieves a certain range, system
programs used in the experiment are implemented based performance would be stable. In addition, Table 2 also reveals
on the Linux socket. Within socket programming, a large that the transferring packet size should be set in agreement
file should be decomposed into small packet for transfer; with MTU. When 𝑃 is 1430, the system performance is the
otherwise, the delay would increase. Consequently, packet best. (Although when 𝑃 is 1800, the delay improvement seems
size is also used as a parameter in the experiment. Some better and the actual delay cost increases.)
interesting phenomena are revealed.
Table 3 illustrates the overlay network performance with 6.4. Further Discussion. Although the above experiments
increasing data size. Here, 𝐷 denotes the size of data sent from show good results of overlay network with the proposed
International Journal of Distributed Sensor Networks 11

×105 than 𝛼 × (1 + ((𝜔 − 1)/𝑒)). A local search algorithm has


2.6 been proposed and a theoretical approximation ratio bound
2.5 has been provided. The approximation ratio of the local
search algorithm is less than 𝜔/𝛼. The proposed local search
2.4 algorithm has been tested and compared with a genetic
2.3
algorithm and the TAG algorithm with MATLAB tools. The
Time costs (ms)

results illustrate that the local search algorithm obtains better


2.2 performance than the TAG algorithm, and the time cost is
2.1
linear with the problem scale.
The local search algorithm is finally tested with the
2 network simulator EstiNet. The experimental results show
a stable benefit from the proposed method. Moreover, an
1.9
additional discussion about measuring network edge weight
1.8 is provided, which reveals a future research direction for
ONPP.
1.7
0 5 10 15 20 25 30
Test times
Conflict of Interests
Figure 8: Time cost with random large files.
The authors declare that there is no conflict of interests
regarding the publication of this paper.

algorithm, there is still work to be done. As described above, Acknowledgments


the weight of an edge in a network is represented by the
average RTT. This weight matrix is the basic requirement for This work is supported in part by the Ministry of Sci-
optimization. However, the mean value may not be sufficient ence and Technology of China under the National 973
to denote this network edge weight matrix. According to Basic Research Program (Grants no. 2013CB228206 and no.
current research in internet performance, both internet traffic 2011CB302505) and the National 863 Science and Technology
and delay show the self-similarity characteristic [27, 28]. In a Support Program (Grant no. 2013BAH19F01), the National
self-similarity time-series, mean value and variance are not Natural Science Foundation of China (Grants no. 61233016),
appropriate for describing the property because they may the China Southern Power Grid Science and Technology
not exist [29]. To simulate the effect of hop phenomenon project (K-SZ2012-026), and the Tsinghua National Labora-
of RTT in real network, a large file is randomly added into tory for Information Science and Technology (TNList) cross-
network traffic. According to [30], this may be one cause of disciplinary research program. The authors thank the EstiNet
self-similarity. In Figure 8, the effect of such a phenomenon Company for providing a free license for the EstiNet software
is shown. and technical support.
Figure 8 shows the group delay of 30 former experiments
with 𝐷 = 5 K and 𝑃 = 1430. It reveals that network delay
burst will affect overlay network performance, especially with References
an IoT application, as the data of an IoT application are [1] L. Atzori, A. Iera, and G. Morabito, “The internet of things: a
generated periodically. As the mean value of RTT is not survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805, 2010.
sufficient for overlay node placement optimization in IoT
[2] D. Miorandi, S. Sicari, F. De Pellegrini, and I. Chlamtac, “Inter-
applications, other parameters such as the Hurst parameter
net of things: vision, applications and research challenges,” Ad
should be imported to define the weight of edges. Hoc Networks, vol. 10, no. 7, pp. 1497–1516, 2012.
[3] J. J. Wu and W. Zhao, “WInternet: from net of things to internet
7. Conclusions of things,” Journal of Computer Research and Development, vol.
50, no. 6, pp. 1127–1134, 2013.
Network delay is one of the critical issues in IoT applications. [4] M. Chenine, I. Al Khatib, J. Ivanovski, V. Maden, and L.
Based on both performance and ease of implementation, Nordström, “PMU traffic shaping in IP-based wide area com-
an internet based dual-layer network, which refers to the munication,” in Proceedings of the 5th International Conference
overlay network, is suitable for the IoT. Overlay routing on Critical Infrastructure (CRIS ’10), pp. 1–6, September 2010.
has been proved to be a feasible solution to optimize the [5] A. G. Phadke and J. S. Thorp, “Communication needs for
end-to-end delay. In this work, one of the most important wide area measurement applications,” in Proceedings of the 5th
issues in overlay routing, the overlay node placement problem International Conference on Critical Infrastructure (CRIS ’10),
(ONPP), has been discussed. The NP-hardness of multihop pp. 1–7, September 2010.
𝑘-ONPP has been proven, and a theoretical boundary for 𝑘- [6] M. Chenine, E. Karam, and L. Nordström, “Modeling and
OPNN optimization is provided. simulation of wide area monitoring and control systems in IP-
With defined parameters 𝜔 and 𝛼, there is no poly- based networks,” in Proceedings of the IEEE Power and Energy
nomial algorithm with an approximation ratio that is less Society General Meeting (PES ’09), pp. 1–8, July 2009.
12 International Journal of Distributed Sensor Networks

[7] A. Raha, S. Kamat, X. Jia, and W. Zhao, “Using traffic regulation [23] R. Pan, D.-M. Zhu, S.-H. Ma, and J.-J. Xiao, “Approximated
to meet end-to-end deadlines in ATM networks,” IEEE Trans- computational hardness and local search approximated algo-
actions on Computers, vol. 48, no. 9, pp. 917–935, 1999. rithm analysis for k-median problem,” Journal of Software, vol.
[8] S. Savage, A. Collins, E. Hoffman, J. Snell, and T. E. Anderson, 16, no. 3, pp. 392–399, 2005.
“The end-to-end effects of Internet path selection,” ACM SIG- [24] V. Arya, N. Garg, R. Khandekar, A. Meyerson, K. Munagala,
COMM Computer Communication Review, vol. 29, no. 4, pp. and V. Pandit, “Local search heuristics for k-median and facility
289–299, 1999. location problems,” SIAM Journal on Computing, vol. 33, no. 3,
pp. 544–562, 2004.
[9] S. Roy, H. Pucha, Z. Zhang, Y. C. Hu, and L. Qiu, “Overlay node
placement: analysis, algorithms and impact on applications,” in [25] M. Srinivas and L. M. Patnaik, “Adaptive probabilities of
Proceedings of the 27th International Conference on Distributed crossover and mutation in genetic algorithms,” IEEE Transac-
Computing Systems (ICDCS ’07), pp. 53–63, June 2007. tions on Systems, Man and Cybernetics, vol. 24, no. 4, pp. 656–
667, 1994.
[10] EstiNet, http://www.estinet.com/.
[26] S. Y. Wang, C. L. Chou, C. H. Huang et al., “The design
[11] D. G. Andersen, H. Balakrishnan, M. F. Kaashoek, and R. and implementation of the NCTUns 1.0 network simulator,”
Morris, “Resilient overlay networks,” in Proceedings of the 19th Computer Networks, vol. 42, no. 2, pp. 175–197, 2003.
ACM Symposium on Operating Systems Principles (SOSP ’01), pp. [27] W. E. Leland, M. S. Taqqu, W. Willinger, and D. V. Wilson,
131–145, 2001. “On the self-similar nature of Ethernet traffic,” ACM SIGCOMM
[12] K. P. Gummadi, H. V. Madhyastha, S. D. Gribble, H. M. Computer Communication Review, vol. 24, no. 3, pp. 183–193,
Levy, and D. Wetherall, “Improving the reliability of internet 1993.
paths with one-hop source routing,” in Proceedings of the 6th [28] M. S. Borella, S. Uludag, G. B. Brewster, and I. Sidhu, “Self-
Symposium on Operating System Design and Implementation similarity of Internet packet delay,” in Proceedings of the IEEE
(OSDI ’04), pp. 183–197, 2004. International Conference on Communications (ICC ’97), pp. 513–
[13] Y. Zhu, C. Dovrolis, and M. Ammar, “Combining multihoming 517, June 1997.
with overlay routing,” in Proceedings of the 26th IEEE Interna- [29] M. Li, “Fractal time series-a tutorial review,” Mathematical
tional Conference on Computer Communications (INFOCOM Problems in Engineering, vol. 2010, Article ID 157264, 26 pages,
’07), pp. 839–847, May 2007. 2010.
[14] L. Tang, Y. Huai, J. Zhou, H. Yin, Z. Chen, and J. Li, “A [30] M. E. Crovella and A. Bestavros, “Self-similarity in world
measurement study on the benefits of open routers for overlay wide web traffic: evidence and possible causes,” IEEE/ACM
routing,” Journal of Communications, vol. 4, no. 9, pp. 714–723, Transactions on Networking, vol. 5, no. 6, pp. 835–846, 1997.
2009.
[15] S. Yang, Y.-A. Kim, and B. Wang, “Designing infrastructure-
based overlay networks for delay-sensitive group commu-
nications,” in Proceedings of the 50th Annual IEEE Global
Telecommunications Conference (GLOBECOM ’07), pp. 565–
570, November 2007.
[16] S. Roy, H. Pucha, Z. Zhang, Y. C. Hu, and L. Qiu, “On
the placement of infrastructure overlay nodes,” IEEE/ACM
Transactions on Networking, vol. 17, no. 4, pp. 1298–1311, 2009.
[17] N. Cleju, N. Thomos, and P. Frossard, “Network coding node
placement for delay minimization in streaming overlays,” in
Proceedings of the IEEE International Conference on Communi-
cations (ICC ’10), pp. 1–5, May 2010.
[18] R. Cohen and D. Raz, “Cost effective resource allocation of over-
lay routing relay nodes,” in Proceedings of the IEEE International
Conference on Computer Communications (INFOCOM ’11), pp.
3236–3244, April 2011.
[19] S. Jamin, C. Jin, A. R. Kurc, D. Raz, and Y. Shavitt, “Constrained
mirror placement on the Internet,” in Proceedings of the IEEE
International Conference on Computer Communications (INFO-
COM ’01), pp. 31–40, April 2001.
[20] M.-Y. Wu, Y. Zhu, and W. Shu, “Optimal multicast overlay
placement for realtime streaming media,” in Proceedings of the
IEEE International Conference on Multimedia and Expo (ICME
’04), pp. 479–482, June 2004.
[21] L. V. Á. Caraguay, A. B. Peral, L. I. B. López, and L. J. G. Villalba,
“Software-defined networking: evolution and opportunities in
the development IoT applications,” International Journal of
Distributed Sensor Networks. In press.
[22] “European Lighthouse Integrated Project, Internet of Things
Architecture,” http://www.iot-a.eu/public.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 804627, 8 pages
http://dx.doi.org/10.1155/2014/804627

Research Article
Constructing the Green Campus within the Internet of
Things Architecture

Hsing-I Wang
Department of Information Management, Overseas Chinese University, Taichung 407, Taiwan

Correspondence should be addressed to Hsing-I Wang; hsing@ocu.edu.tw

Received 2 October 2013; Revised 24 January 2014; Accepted 27 January 2014; Published 5 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Hsing-I Wang. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

The “Internet of Things” radically changes the view of the “Internet” by embracing every physical object into network. The vision of
“IoT” promises to enhance the capabilities of objects and forms a smart environment so that people will benefit from the IoT
revolution. As the global population grows, the resources on earth are depleted quickly. In order to have a sustainable earth,
governments around the world put a lot of efforts to advocate the reduction of carbon production as well as to emphasize the
benefits of reducing the consumption of energy. The proposition has been promoted on campus of educational institutions as well.
Smart campus is a trendy application in the paradigm of the IoT. This research adopts the concept of the “Internet of Things”
to construct a green campus environment which will realize the idea of energy saving. The architecture of the construction of
green campus is established and three application systems have been developed as well. The efforts of this work allow the campus
to manage the computer labs and the air conditioners more efficiently. The sensor network will save more energy since data are
reported periodically and the analysis will be carried out in time to locate the problems.

1. Introduction constructing a “Smart campus” implies that the institution


will adopt advanced ICTs (Information Communication
The advances of emerging technologies have broadened the Technologies) to automatically monitor and control every
meaning as well as the applications of the Internet. In other facility on campus. To use the facilities more efficiently and
words, almost every “object” can be part of a network. With to minimize the energy consumed are believed the most
smart connectivity, physical objects are networked and will important advantages of building a smart campus. Such
gain the ability to communicate with each other. The vision efforts are also recognized as constructing a “green campus.”
of “The Internet of Things (IoT)” promises to enhance the Two major ICTs which make the realization of IoT possi-
capabilities of objects and forms a smart environment so that ble are the emergence of cloud computing and the network of
people can benefit from the IoT revolution [1, 2]. The IoT wireless sensors. In fact, cloud computing and wireless-sensor
applications cover the building of smart cities, the setup of network together can provide the most reliable, scalable,
smart environment, the provision of smart public services, dynamic, and composable resources that the IoTs required
the plan of eHealth, and the building of smart home/office, [4–7]. Wireless sensor networks are, particularly, adopted in
and so forth [1, 3]. many urban cities to provide smarter and advanced lives [8].
As the global population grows, the resources on earth In order to construct a green campus with the utilization
are depleted quickly. In order to have a sustainable earth, of the Internet of Things, this research reviews the cores of
governments around the world put a lot of efforts to advocate IoT, cloud computing, and wireless sensors network. There-
the importance of the reduction of carbon production as well after, the definition, the architecture, and the steps for the
as to emphasize the benefits of reducing the consumption development of green campus are proposed. This paper also
of energy. The proposition has been promoted on campuses demonstrates our work toward constructing a green campus
of educational institutions as well. Smart campus is a trendy and the system we have developed. The ultimate goal of this
application in the paradigm of the IoT. The concept of work is the implementation of a cloud-based monitoring
2 International Journal of Distributed Sensor Networks

system built upon wireless sensor network architecture so


that data are gathered and stored on cloud database and the
analysis can be carried out periodically.
The paper is organized as follows. In Section 2, this paper
discusses the development of green campus in depth. Some
well-known green campus projects will be introduced. Cloud
computing as well as the definition, the architecture, and
the applications of the Internet of Things are reviewed in
Section 2 as well. This paper then discusses the construction
of green campus within the IoT architecture. In Section 4,
this paper shows the lab management system that we have
developed within the IoT architecture. And finally, the
conclusion and further works are given in Section 5.

2. Literature Review
2.1. The Development of Green Campus. New emerging
technologies have changed human life styles dramatically.
As people enjoy advanced and smart lives, ironically, our Figure 1: Carbon emission from 1955 to 2015 [11].
earth is facing a major crisis that may bring disasters to
human lives as well. Figure 1 shows the carbon emission
records from January 1955 to January 2013. The concentration
of atmospheric CO2 was below 320 ppm in 1955. By June 2.2. Some Well-Known Examples. There are a number of well-
2013, the number has increased by 25%. The data indicate known “green campus” examples.
how serious the earth has been polluted. In addition, more Harvard University also believes universities should play
environmental crises such as global warming and climate the environmental stewardship. The way Harvard University
disturbance; acid rain and soil erosion; ecosystem damage contributes to protect the earth is by including the com-
have got the attention across the world [9, 10]. mitment to a greenhouse gas (GHG) reduction goal of a
Information technologies have been introduced to cam- 30 percent by 2016. In addition, Harvard University also
pus to, hopefully, yield new levels of institutional and instruc- established green building standard to ensure all sustainable
tional “productivity” and to reduce instructional costs at the design [13].
same time [12]. However, the research revealed that educa- The mission that the University of Pennsylvania promises
tional institutions might have benefited from information is to develop plans to reduce the emissions of greenhouse
technologies in the areas of content, curriculum, and ped- gases. The climate action plan was launched in 2009. In the
agogy; the costs saved had not shown obvious achievement 2011 progress report, the record showed that total energy
[12]. On the contrary, the budgets for the investments on usage decreased by 9.5%. The overall carbon emissions per
information technologies have been increased. More com- capita on campus remained the same despite the growth of
puters, printers, and ICT equipment have been purchased. campus [14].
More environmental pollution issues have been raised as Macquarie University in Australia is another example.
a consequence of the use of information technologies on Macquarie University was one of the greenest universities in
campus. In other words, instead of investing more on physical Australia. In order to make Macquarie University greener, the
facilities, the universities should search for other inexpensive goals are set to reduce the total energy consumption per year
solutions. per EFTP (Equivalent Full Time Persons) by 15% from 2005
Scholars and experts have agreed that the knowledge of by 2014 and to reduce the total GHG emissions produced
protecting the earth should be cultivated by educations. Uni- per year for campus operations per EFTP by 30% of 2005
versities should provide leadership for broader society [9] and emissions, and so forth [15]. The goals for green campus at the
institutions of higher learning have a special responsibility to university of Copenhagen are to reduce energy consumption
address the continuing environmental crisis [9, 10]. In [9], to a level in 2013 that is 20% below that of 2006; and the
the author specifically points out that one of the greatest CO2 emissions from energy consumption shall be reduced
opportunities and abilities to conserve energy was through in 2013 to a level that is 20% below that of 2006; and at least
facilities management on campus. 75% of all purchases via purchase agreements shall require
Educational institutions across the world, especially the sustainability [16].
higher education, have recognized that they are in a unique In Taiwan, Y. S. Sun Green Building Research Center
position to prevent the crisis from getting worse. Not only Located at the NCKU Li-Hsing Campus is Taiwan’s first
are the faculties realizing that they possess the intellectual zero-carbon, energy-saving building. The building is very
capacity to address these issues, but also the institutions are famous to people in Taiwan as “The Magic School of Green
putting a lot of efforts in the integration of all resources and Technology.” Embedded within The Magic School is the hope
effectively adopting new technologies to their missions to that its design principles can eventually be scaled to Taiwan’s
create a green environment. metropolitan centers [17]. The building was designed to use
International Journal of Distributed Sensor Networks 3

“adequate techniques,” instead of “expensive techniques,” to At the hardware segment, wireless sensor network is
achieve “quadruple benefit.” The aims are estimated to save expected to be a key technology for various IoT applications
50% energy, to conserve 30% water, and to reduce 30% carbon such as home automation [22] and energy saving [23]. The
emission. It is also expected that the building will be utilized sensor devices in the wireless sensor network work as the
for one hundred years [18]. The building started operation communicate node and will communicate to other devices
in January 2011, and in six months, the accumulated Energy wirelessly [24]. The sensor device also carries out its desig-
Usage Intensity (EUI) was 19.3 kWh/m2 . The figure was far nated duty to collect data and send data to data center. There-
less than Taiwan’s medium and low intensity office buildings, fore, communication and measurement are the two major
which consume 125 kWh/m2 per year in average [18]. The functions of a wireless sensor network [24]. Sensors can be
existence of “The Magic School of Green Technology” will be deployed randomly and densely with much less costs in a
a model for all other universities in Taiwan. wireless sensor network environment. All the conditions are
However, in the review of the outstanding green campus monitored at all times. Therefore, it is believed that the con-
examples, we noticed that most action plans that the uni- struction of a green campus based on the IoT concept is more
versities initiated focused on the design of green buildings, advanced than merely purchasing the energy-saving facilities.
environment, or the purchase of energy-saving facilities. ZigBee is the name of a standard that specifies the
Information technologies were rarely, if not entirely, applied application layer of a wireless network in a small area with
or considered in the plans. In fact, contemporary information a low communication rate [25]. Previous researches and
technologies may contribute a lot in energy saving or in the projects have shown that ZigBee sensor networks are suitable
protection of the environment if they are used smartly. The for applications in many different areas.
IoT is one of the smart solutions.
2.4. Cloud Computing. Earlier sensing network applications
2.3. The Internet of Things. The concept and the realization for environmental monitoring were mostly event-driven [26].
of the “Internet of Things” make the world truly ubiquitous The data were collected upon the occurrence of the instance.
since the IoT radically changes the view of the “Internet” by Wireless sensor network provides real time monitoring
embracing every physical object into network [4, 19]. The opportunities. As a result, more space is required to store the
communications could take place not only between things data and smart tools are mandatory in order to analyze the
but also between people and their environment in the IoT data. Cloud computing is recognized as the best solution [27].
[6]. With the combination of the Internet, the cloud services, The major function of cloud computing is the delivery of
the near-field communications, real time localization, and services. It is not new to consider the pursuit of “service” as
embedded sensors, we can transform all objects into smart the entire and sole philosophy in the adoption of new tech-
objects so that all components can understand and react to nology. Clustering computing, grid computing, and service
their environment [5]. The new concept of IoT will tie the oriented architectures are the three famous examples that
Internet of information and services together [6] and as a have seamlessly combined technologies with business flow.
result, more data, more information, and the knowledge will Cloud computing is similar to the aforementioned concepts
be generated and used. but with three unique characteristics, which include virtual,
The term “Internet of Things” has become very popular dynamic provision on demand, and negotiation. Therefore,
in recent years. There are books to teach or to discuss various in the literature, cloud computing is defined as “offering
subjects about the IoT. International conferences open up hardware and software resources as services across a parallel
sessions for scholars and specialists to exchange their ideas, and distributed system consisting of a collection of inter-
opinions, and experiences regarding the development or the connected and virtualized computers that are dynamically
applications of the IoTs. And finally in 2009, even the EU provisioned” [28, 29].
Commission realized the importance of the revolution of the Cloud services are classified into four categories.
Internet and initiated an IoT action plan [20].
In [21], it is suggested that an IoT must be Internet- (i) Infrastructure as a service (IaaS): main services
oriented (middleware), things oriented (sensors), and seman- include the provision of virtual hardware, network,
tic oriented (knowledge). Based on the assertions, [4] pro- storage, computing power, and so forth. The clients
posed that the architecture of an IoT actually contains three include IT managers or software developers. Amazon
segments which are the hardware segment, the middleware S3 (simple storage service) and EC2 (elastic compute)
segment, and the presentation segment. The hardware seg- are the two well-known services in the category.
ment mainly refers to the connection of sensors or any
(ii) Software as a service (SaaS): SaaS represents a new
embedded communication hardware. The middleware seg-
concept of “software on demand.” The software refers
ment usually refers to cloud environment which is responsi-
to application systems that can be activated directly
ble for data storage, computation, and data analytics. The
on the internet. For example, the customer relation-
presentation segment, on the other hand, visualizes the
ship management system provided by Saleforce.com
result of data analytics or interprets the data in an easy and
is commonly adopted by businesses.
understandable format. Moreover, an IoT must possess the
capabilities of communication and cooperation, addressabil- (iii) Platform as a service (PaaS): PaaS delivers a service
ity, identification, sensing, actuation, embedded information oriented platform. The whole process in the software
processing, localization, and user interfaces [19]. development life cycle (i.e., design, test, execution,
4 International Journal of Distributed Sensor Networks

and deployment) would be provisioned as an inte- Vision


grated service over the Internet. Services in this Step 6
category include the APP engine from Google and Integrated

Step 1
Azure from Microsoft. The software developers are management
Objective
possibly the major clients in this category. Objective
(iv) Database as a service (DaaS): DaaS, such as the SSDS Objective System
architecture System
of Amazon, moves the traditional database features, design and

Steps 3–5
including the definition of data and the storage and development
retrieving of data, over to the network. The services Action plans

Step 2
Transform
protect clients from tracking long timing transactions overall campus objects into
redesign smart objects For each plan
or assist with the maintenance of the integrity of the
data. Software developers may be the major clients.
Human involvement
Cloud services promise users no longer being confined to
limited space, time, or the compatibility of computers [30]. Figure 2: The procedure of the construction of green campus within
To adopt existing services from the Internet will minimize IoT architecture.
the expenditures spent on the information facilities and
management. The pay-by-use mechanism will rationalize the
market of intelligent property. Furthermore, with all services objects into smart objects, the plan of system architecture,
in cyber space, businesses or users will have more flexibility the design and development of the systems, the integrated
and options in search of the best alternatives and hence save management, and human involvement.
more preprocess time. The new technology may guarantee the In Figure 2, action plans that are related to the over-
leverage of acceptance of users and smooth the introduction all campus redesign should be proposed after vision and
of new systems to the users as well. The users will always objectives are determined. For each action plan, all the
be updated with the new version and will not be bothered related objects are transformed into smart objects. The system
by copyright issues. For the enterprises, the management of architecture is drawn and the system within the IoT is
documents, the cooperation, and the coordination within the developed. All projects should be managed in an integrated
organization will be easier. view and the entire plan should be supported by all people in
According to the definition, in the cloud paradigm, there the organization. The involvement of the executive adminis-
are many distributed systems. In many cases, the distributed tration level is especially essential to sustain the project.
architecture consists of wireless sensor networks which are
responsible for sensing data. Cloud computing usually plays 4. The Application of IoT on
important role in this kind of architecture since wireless
sensor networks are limited in their processing power, battery
Campus-Lab Management
life, and communication speed, while cloud computing is This research takes lab management to realize the architecture
known for having powerful computational and processing we have planned (as shown in Figure 2). The details are
capacity and the communication speed is much faster as described below.
well [31]. Cloud computing is also believed the paradigm for
delivering services in the realization of IoT environment [4]. 4.1. The Architecture. The first phase of our project is to set up
Previous researches have proved that the merits and the an IoT in our computer labs. Following the steps to construct
performances of wireless sensor network will be doubled green campus within IoT architecture given in Section 2,
when the architecture is combined with cloud environment the vision of this project is to efficiently control the use of
[27, 32, 33]. Cloud environment is also more flexible to be the computers and air conditioners. Although the definite
migrated once the university wants to expand the object figures were not determined, the objectives of the project
network and move toward building a smart campus with were to reduce the idle time of computers and to reduce the
more smart applications. electricity costs. During the second step, every air conditioner
was assigned an IP; the RFID as well as the ZigBee sensors
3. Constructing Green Campus within were installed as well.
IoT Architecture Based on the definition and the required elements defined
before, Figure 3 shows the proposed architecture of part
To construct green campus within IoT architecture is exactly of our green campus within IoT. The system architecture
the same as running a business. The goals must be clear and consists of three major segments which are the hardware
a set of objectives should be established. The missions that segment, the middleware segment, and the presentation
will be achieved toward the vision are then to be carried out. segment.
Figure 2 shows the procedures of the construction of green The hardware segment mainly uses RFID to induce the
campus within IoT architecture. students who are going to enter the computer labs. The system
In addition to define the vision and objectives, [6] reads and saves the student ID. The IoT is setup to connect
suggested that the issues that need to be addressed in IoT the computers and the air conditioners in the lab. Every
environment also include the transformation of everyday computer in the lab has its own IP, so does the conditioner.
International Journal of Distributed Sensor Networks 5

Green campus data


User applications Ubiquitous sensors
and applicants center

RFID

Student
ZigBee

Control The IOT


Computation

General affair controller Analysis Visualization

Figure 3: The architecture of the green campus within IoT proposed in this research.

Figure 4: The emitter which equips with the temperature sensor and Figure 5: The receiver that reads the signal from emitter.
sends out the temperature reading continuously.

The temperature sensor module of ZigBee is used to monitor


the temperatures in the lab. There is a cloud server in the middleware segment. The
In our work, a ZigBee network is constructed with server owns the database, all the applications, and the tools.
ZB2530-01devices from Dmatek Limited Taiwan. The spec- All the data collected, including the data read by RFID,
ifications of the devices are as follows: the status of each of the computers in the lab, and the
(i) radio frequency: 2.4 GHz band; temperatures of the computer room, are sent to the cloud
server. The data then are computed, analyzed, and controlled.
(ii) data rate: 38400 bit/s (max to 115200); At the presentation segment, two major systems are
(iii) distances: 10 meters; provided to students and controller of the general affairs
(iv) number of channels: the device is able to search up to office. The students may use computers or any mobile devices
32 satellite channels; to connect to the system and retrieve the usage status of the
selected computer lab. This will allow the students to make
(v) 10 I/O ports.
proper decisions if they still want to go to the labs which
The emitter of the temperature sensor is shown in might not have seats available.
Figure 4. The emitter device is in the lab and connects to the The second system is at the general affairs office site. The
IoT. The emitter senses the temperature of a lab and sends out status of the usage of computer labs as well as the changes of
the signal continuously. The receiver device of the temper- the temperatures of each lab are analyzed and updated every
ature sensor is shown in Figure 5. The receiver connects to a 30 minutes. The results on the screen allow the controller to
PC via a USB interface. The receiver device will collect all the control the air conditioners in the lab. In addition, a network
data sent by the emitter. alert system will track the usage of each computer so that
6 International Journal of Distributed Sensor Networks

Figure 6: The system shows the usage status of every computer lab. Figure 8: The system indicates the number of seats that are occu-
pied, the seats that are still available, or the number of computers
that are not in function.

Figure 9: The warning message will pop up on the screen either


when the computer has been occupied for more than an hour or the
computer was assigned to a student but has been detected idle for
some time.

present system. The first tab shows the same labs information
as the students can see. The second tab (Figure 10) gives the
current temperature of a selected lab. By clicking the on/off
Figure 7: RFID reader senses a tag and assigns a seat to the student. button, the controller is able to turn on or turn off the air
conditioners in the lab.
The third page shows the real time average temperatures
the computer will be shut down once it has been idle for a of all computer labs (Figure 11). In every 30 minutes, this
designated time. system records the average temperatures of all computer labs.
The records are shown on the fourth page of the dashboard
4.2. The Introduction of the System the Internet of Things. (Figure 12). The temperatures that are below 26 are marked
The prototype of the computer labs control system has with green. If the temperatures are higher than 30, red colors
been developed in this research. Figure 6 through Figure 12 appear to show the warning. Yellow colors are shown if the
demonstrate how the system operates. temperatures are in between.
On the lab side, the system tracks the usage of every com- Together with the information of the status of computer
puter lab at all times (Figure 6). The system gives the informa- labs, air conditioners, and the changes of the temperatures
tion of computers that is occupied, available, or malfunction- as well as the statistics of the temperatures in the labs, the
ing. controller can make decisions easily. The decisions such as
Once a student enters a lab, the RFID reader reads his or how many labs should open to students, when and which air
her ID, the system will assign an available seat to the student conditioner should be turned on, and finally, the controller
(Figure 7), and the status of that seat will be marked with can also monitor if the computers are used properly and
green color to indicate that the seat is “in use” (Figure 8). efficiently.
Each student is allowed one hour to use the computer. A
warning message will be given and the computer will be shut 5. Conclusion
down automatically by the system (Figure 9) if the computer
has been occupied for more than one hour or if the system This research appeals to the responsibilities the universities
detects that the computer has been idle for some time. should bear in the issues of environmental protection. The
A system control dashboard is provided to the controller performance that information technologies may contribute
in the general affairs office. Four functions are available at the to the sustainability of universities is emphasized in the
International Journal of Distributed Sensor Networks 7

Figure 10: The status of each of the air conditions in the computer Figure 12: The changes of the temperatures in the computer labs.
lab.

real time data from sensor. The results of the analysis


of data will be sent to the appropriate party so that
proper actions can be taken in time.
(v) The architecture we proposed allows users to connect
to the system with any mobile device in any place.
The idea of constructing a green campus is just the first
step in our institution. This research shows how to build up
the IoT to manage computer labs. The performance of the
current project will be examined continuously.
The next phase is to build the IoT around the whole cam-
pus and, thereafter, the integration of all the subsystems will
be carried out. The energy-saving program has full support
from the administration office. However, the idea of “green”
and “sustainability” has not yet been planted in everybody’s
Figure 11: The average temperature measured by ZigBee tempera-
mind. In other words, more educating programs need to be
ture sensor in the computer labs.
arranged to broadcast the concept of “green campus.” Hope-
fully, as a higher educational institution, we can show some
leadership and demonstrate our responsibilities to the society.
paper. This research also proposes the steps as well as the
architecture of how to construct a green campus by utilizing Conflict of Interests
the advanced technologies smartly.
Furthermore, this research adopts the concept of the There is no conflict of interests regarding the publication of
“Internet of Things” to construct the green campus which this paper.
will realize the idea of energy saving. The objects of our work
include the computers and air conditioners. RFIDs and the Acknowledgment
ZigBee device with temperature module are used to build up
the wireless sensor network. This paper was financially supported by National Science
The contributions delivered by the system we have devel- Council, Taiwan, NSC-102-2914-I-240-001-A1.
oped include the following.
References
(i) The computer labs can be managed efficiently. More
labs will be open only when the demand is increasing. [1] A. Gluhak, S. Krco, M. Nati, D. Pfisterer, N. Mitton, and
T. Razafindralambo, “A survey on facilities for experimental
(ii) The use of the computers will be monitored at all internet of things research,” IEEE Communications Magazine,
times. This mechanism decreases the number of idle vol. 49, no. 11, pp. 58–67, 2011.
power-on computers. [2] M. Zorzi, A. Gluhak, S. Lange, and A. Bassi, “From today’s
(iii) The air conditioners will be turned on only when the intranet of things to a future internet of things: a wireless- and
mobility-related view,” IEEE Wireless Communications, vol. 17,
temperatures reach a preset level. As a result, more
no. 6, pp. 44–51, 2010.
energy will be saved.
[3] Libelium, “50 Sensor Applications for a Smarter World,” 2013,
(iv) Combing the wireless sensor network and cloud http://www.libelium.com/top 50 iot sensor applications rank-
computing, the architecture we proposed will collect ing.
8 International Journal of Distributed Sensor Networks

[4] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet [24] M. Terada, “Application of zigbee sensor network to data
of Things (IoT): A Vision, Architectural Elements, and Future acquisition and monitoring,” Measurement Science Review, vol.
Directions,” FGCS, http://www.cloudbus.org/papers/Internet- 9, no. 6, pp. 183–186, 2009.
of-Things-Vision-Future2012.pdf. [25] ZigBee Alliance, ZigBee Specification, 2006, http://www.zigbee
[5] G. Kortuem, F. Kawsar, D. Fitton, and V. Sundramoorthy, .org/Products/TechnicalDocumentsDownload/tabid/237/De-
“Smart objects as building blocks for the internet of things,” fault.aspx.
IEEE Internet Computing, vol. 14, no. 1, pp. 44–51, 2010. [26] P. Morreale, F. Qi, and P. Croft, “A green wireless sensor net-
[6] O. Vermesan, P. Friess, P. Guillemin et al., “Internet of things work for environmental monitoring and risk identification,”
strategic research roadmap,” in IoT Cluster Strategic Research International Journal of Sensor Networks, vol. 10, no. 1-2, pp. 73–
Agenda, chapter 2, pp. 10–52, 2011. 82, 2011.
[7] B. Singh and D. K. Lobiya, “A novel energy-aware cluster head [27] S. K. Dash, S. Mohapatra, and P. K. Pattnaik, “A survey on
selection based on prticle swarm optimization for wireless applications of wireless sensor network using cloud computing,”
sensor networks,” Human-Centric Computing and Information International Journal of Computer Science & Emerging Technolo-
Sciences, vol. 2, no. 13, 18 pages, 2012. gies, vol. 1, no. 4, pp. 50–55, 2010.
[8] M. S. Obaidat, S. K. Dhurandher, D. Gupta, N. Gupta, and A. [28] Y. S. Tsai, “The Issues to Think about Before Entering the Cloud
Asthana, “Dynamic energy efficient and secure routing protocol Services Market,” 2009, http://www.zdnet.com.tw.
for wireless sensor networks in urban environments,” Journal of [29] H. R. Motahari Nezhad, B. Stephenson, S. Singhal, and M.
Information Processing Systems, vol. 6, no. 3, pp. 269–294, 2010. Castellanos, “Virtual business operating environment in the
[9] L. Sharp, “Green campuses: the road from little victories to cloud: conceptual architecture and challenges,” Lecture Notes in
systemic transformation,” International Journal of Sustainability Computer Science, vol. 5829, pp. 501–514, 2009.
in Higher Education, vol. 3, no. 2, pp. 128–145, 2002. [30] Y. Pan and J. Zhang, “Parallel programming on cloud com-
[10] W. Simpson, “Energy sustainability and the green campus,” puting platforms—challenges and solutions,” Journal of Conver-
Planning for Higher Education, vol. 31, no. 3, pp. 150–158, 2003. gence, vol. 3, no. 4, pp. 23–28, 2012.
[11] Earth’s, 2013, http://co2now.org/. [31] W. Kurschl and W. Beer, “Combining cloud computing and
[12] K. C. Green and S. W. Gilbert, “Great expectations,” Change, vol. wireless sensor networks,” in Proceedings of the 11th Interna-
27, no. 2, pp. 8–19, 1995. tional Conference on Information Integration and Web-based
Applications & Services (iiWAS ’09), pp. 512–518, 2009.
[13] Sustainability at Harvard, “Harvard’s Commitments to
Sustaionability,” 2013, http://www.green.harvard.edu/commit- [32] R. Piyare, P. Sun, M. Se Yeong et al., “Integrating wireless sensor
ments. network into cloud services for real-time data collection,” in
Proceedings of the International Conference on ICT Convergenc
[14] University of Pennsylvania, “Climate Action Plan Progress (ICTC ’13), pp. 752–756, Jeju, Republic of Korea, 2013.
Report 2011,” http://www.upenn.edu/sustainability/sites/
default/files/pdf/PENN 2011 Climate Action Plan Progress [33] P. Zhang, Z. Yan, and H. Sun, “A novel architecture based on
Report.pdf. cloud computing for wireless sensor network,” in Proceedings of
the 2nd International Conference on Computer Science and Elec-
[15] Macquarie University, “Sustainability strategy, target 2014,” tronics Engineering (ICCSEE ’13), pp. 0472–0475, Hangzhou,
2013, http://www.mq.edu.au/about us/strategy and initiatives/ China, 2013.
sustainability.
[16] Green Campus at the University of Copenhagen, 2013, http://
climate.ku.dk/green campus/goals/.
[17] B. Fox and J. D’Angola, Taiwan’s Magic Green School, 2011,
http://thediplomat.com/china-power/taiwans-magic-green-
school/.
[18] The Magic School of Green Technologies, 2009, http://www
.msgt.org.tw/about.php?Type=1&menu=about class&pic dir
list=1.
[19] F. Mattern and C. Floerkemeier, “From the internet of comput-
ers to the internet of things,” in From Active Data Management
to Event-Based Systems and More, K. Sachs, I. Petrov, and P.
Guerrero, Eds., vol. 6462 of Lecture Notes in Computer Science,
pp. 242–259, Buchmann Festschrift, 2010.
[20] European Commission, “Internet of Things An action plan
for Europe,” COM, 278, 2009, http://eur-lex.europa.eu/
LexUriServ/site/en/com/2009/com2009 0278en01.pdf.
[21] L. Atzori, A. Iera, and G. Morabito, “The internet of things: a
survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805, 2010.
[22] ZigBee Alliance, “ZigBee Home Automation Public Applica-
tion Profile,” 2007, http://www.zigbee.org/Products/Techni-
calDocumentsDownload/tabid/237/Default.aspx.
[23] ZigBee Alliance, “The Choice for Energy Management and Effi-
ciency,” ZigBee White Paper, 2007, http://www.zigbee.org/Pro-
ducts/TechnicalDocumentsDownload/tabid/237/Default.aspx.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 481952, 12 pages
http://dx.doi.org/10.1155/2014/481952

Research Article
Ensuring Healthcare Services Provision: An Integrated Approach
of Resident Contexts Extraction and Analysis via Smart Objects

Nan-Chen Hsieh,1 Lun-Ping Hung,1 Jong Hyuk Park,2 and Neil Y. Yen3
1
Department of Information Management, National Taipei University of Nursing and Health Sciences, Taipei 10845, Taiwan
2
Department of Computer Science and Engineering, Seoul National University of Science and Technology,
Seoul 139743, Republic of Korea
3
School of Computer Science and Engineering, University of Aizu, Aizu-Wakamatsu 9658580, Japan

Correspondence should be addressed to Lun-Ping Hung; kiel.hung@gmail.com

Received 30 September 2013; Accepted 17 December 2013; Published 2 March 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Nan-Chen Hsieh et al. This is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.

Advances in healthcare applications benefit the scenario of medical service provision for both care staff and medical institution
than ever. Following such success, a healthcare system, named RCTC (Resident Classification by Types of Care), which grades
individuals in terms of the severity of five functional status assessment aspects: mental, movement, eating, toilet (urination and
defecation functions), and medical treatment, was developed in this study. This system is designed based on a conceptual model that
follows the assessment/classification/placement sequence for long-term care institutions. It is implemented to deliver appropriate
services according to individual needs based on its preprocessing of classification and further reduces the costs of manpower and
loading of care staff through the analysis of assessment logs. With this systematic appraisal, this system can not only help care
staff determine the needs of residents but also produce personalized health plans (i.e., weekly schedule towards comprehensive
assessment and personalized care services). Results of implemented (and in use as well) system have demonstrated the feasibility
that it can enhance the quality of care services to residents, working load of care staff, and efficiency of care-related information
management for medical institution.

1. Introduction advantages, limitations, and perspectives [4]. Long-term care


(LTC) institutions have lagged behind other settings in adopt-
Health information technology (HIT) can reduce mistakes ing HIT. Two early studies for resident classification were
of medication or diagnosis, help medical professionals to developed to improve placement decisions and to provide
obtain patient information in a timely manner, shorten their information for resource placement in LTC institutions [2, 5],
waiting time, and improve care quality and efficiency [1, but these systems lacked HIT support for comprehensive
2]. Currently, HIT has been widely applied in health care resident assessment. Several studies have presented factors
industries. For example, the common HIT systems can help
that affect electronic health record (EHR) adoption in LTC
practitioners to input medical advice, track patient status,
institutions [6] and provided descriptions of the early users’
and record prescription and medications. Electronic medical
experiences with EHRs in LTC institutions [7]. A recent
records can keep patients’ personal health records, including
medical records, inspection reports, and medical images [3], study [8] examined the adoption and utilisation of EHRs in
and a standard transmission format has been established to LTC institutions and identified the barriers preventing the
enable cross-hospital delivery. For patient safety, computer- implementation of EHRs.
aided diagnosis and treatment planning have been used to Assessment of the needs of healthcare [9] is the most
avoid failure to diagnose and improper treatment. One study important task for LTC institutions. The care staff should
explored the debate and initiatives concerning the use of HIT know the overall functional status of residents before provid-
in health care in developing countries and discussed the main ing required care services. Any assessment of LTC residents
2 International Journal of Distributed Sensor Networks

must be multidimensional and comprehensive enough to a TAI-based system assessment content, we designed the
measure all health-related aspects of residents [10]. To assess RCTC system based on a conceptual model that follows
care needs, Japan uses the care needs certification scale [11] the assessment/classification/placement sequence for LTC
to assess body function, actions in daily life, living function, institutions. This sequence can be designed to resemble
cognitive function, behavioural and psychological symptoms the sequence of tasks carried out by practitioners in the
of dementia, social adaptation, medical use over the past institution, and it can accommodate advanced HIT features
fourteen days and independence in daily life, which are that integrate the RCTC system with this sequence to enhance
classified into seven levels according to care needs. Germany the institution administrator’s ability to assess and provide
uses ADLs and IADLs [12] as assessment tools. These tools resident care needs, track the quality of care service, make
are classified into three levels of care needs in terms of resident placement decisions, and monitor multiple perfor-
care time needed. Korea employs quantised ADLs to assess mance indicators for the institution.
care subjects, which is classified into three ranks. The above In Taiwan, there is intensive debate about LTC insurance
assessment tools could be used for the general populace but [23], and however, there is no unified standard for resident
are not widely used for LTC residents because they cannot assessment, so the institutions lack useful resident needs
meet the needs of residents with cognitive functional dis- assessment tools to deliver personalised care. Taiwan is still
orders. For this population, the International Classification in the preliminary stage of employing HIT to help provide
of Function, Disability and Health (ICF) was published by proper care services for the residents of LTC institutions.
World Health Organization to standardise descriptions of Currently, data processing tasks are mostly still performed
health and disability and can be used to assess residents’ manually or semimanually. Some commercial LTC systems
cognitive function using the ICF and its qualifiers [13]. are designed as general electronic forms packages. Therefore,
In relation to the fee schedule of LTC institutions, we developed the RCTC system to help care appraisers to
the Minimum Data Set 2 (MDS 2) [14] is the mandated assess residents’ overall functional status, required care needs,
assessment tool in American nursing homes. MDS 2 lists care methods, and estimated care time. This pilot study of the
18 risk assessment items and assessment criteria in total. RCTC system cooperated with an eighty-eight-bed LTC insti-
The Resource Utilization Groups III (RUG-III) [15] case- tution. This institution belongs to a health service company.
mix system provides resident-specific means of allocating The health service company provides personal LTC service
resources based on the variables of care costs for residents and owns two regional hospitals and five LTC institutions.
with different care needs. RUG-III uses a large number of We gathered current resident care methods, assessment tools,
rehabilitation-related and medical-care-related explanatory care-related records, and resident assessment procedures for
variables, and it is followed by the Japanese LTCI classification this study. The care staff also offered professional knowledge
system [16]. A TAI-based system [17] was designed mainly for this project.
as a resident management tool and includes variables related The objectives of this study are the following:
to the resident’s functional status. Researchers [18] proposed (1) building up a resident assessment system for LTC
RUG-III and a Japanese classification system for LTCIs. Their institutions with a classification and grading concept,
system contained rich medical explanatory variables and
explained total medical cost better than the classification in (2) developing a RCTC system to automatically generate
a case-mix system. However, even medical components had personalised care plans and weekly healthcare sched-
a positive effect on explanatory power; the use of medical- ules for individual residents in the institution,
needs-related variables will increase the complexity of a (3) improving effectiveness in management of medical
classification system, consequently restricting their utility to institution, healthcare quality [24, 25] for residents,
fee schedules. Okochi and Takahashi suggested that a simpler and working efficiency of staff.
coding system, such as a TAI-based system, will be helpful to
improve resident management and to represent the practical 2. Classifying Residents by Types of Care
care needs of the residents.
Without the aid of a software system, the types of Traditional pigeonholed resident placement constitutes a
care classification and care needs assessment are difficult to depersonalised care service and is deemed not socially
achieve because the assessment content mainly comprises acceptable [26]. Classifying residents into categories by their
complex health conditions and care needs. The assessment care needs would be useful for resident placement deci-
criteria also differ from each other for different assessors. sions and would reflect humanistic considerations. Residents
Most previous researchers [19–22] would refer to the con- would receive appropriate care service, which would be
tent of MDS when developing comprehensive care need helpful for the improvement of care quality. The classifica-
assessment tools. Most software developers would also apply tion concept was based on the premise that the care staff
MDS as the assessment scale for the assessment package. should provide residents with the right care services at the
These software packages offer a variety of features beyond proper time using the most economical means, which can
data entry, including functions to help facilities support care be achieved through the use of reasonable assessment pro-
tasks and improve efficiency in meeting multiple reporting cedures for the classification of residents according to their
requirements. However, the entire assessment process of care needs. Thus, the placement of residents into appropriate
these systems is complicated and time consuming, which districts with proper care plans would help residents to live at
is not suitable for Taiwan’s institutions. By referring to their maximum potential with the acceptance of care services.
International Journal of Distributed Sensor Networks 3

RCTC system

• Resident profile
HIT system • Assessment tool
Mental, movement, eating,
• Nurse charting

d
toilet, medical treatment

exten
HIT
LTC system
system • Care plan
• Reimbursement

exten
• Nursing care plan Types of care, care time

C
RCT
templates • Weekly care schedule • Bed allocations

d
• Demographic and • Staff assignment
medical history and • Maintaining proper
health status staffing ratios
• User-defined
assessments

Figure 1: Conceptual framework of the RCTC system.

The RCTC system was designed mainly by referring to injection. In terms of toilet functions, the assessment mainly
the TAI [15] (Typology of the Aged with Illustrations) scale’s considers the situation related to defecation and maturations,
classification and grading concept. We modified some of including if the patient can go to the toilet by himself/herself,
the items of the TAI assessment instrument to better fit if a diaper is needed, and the loss of control of defecation
the Taiwanese population. Figure 1 shows the proposed con- and maturations. The worst situation is that a Foley catheter
ceptual framework of the RCTC system. The RCTC system is needed. In terms of medical treatment, the assessment
as a whole includes a basic resident database, assessment mainly considers the need for medical treatment, including
module, care plan module, weekly care schedule module, and regular medical examination, emergency medical treatment,
management module. Because the care services are different medical nutrition management, and special medical mea-
from those of the traditional HIT system according to the sures received in the previous two weeks. Each assessment
five functional status assessment aspects—mental, move- option has a score. The RCTC system determines the grade
ment, eating, toilet (urination and defecation functions), in accordance with the scores to demonstrate the severity of
and medical treatment—the RCTC system can automatically each assessed criterion. Then, the type of care is determined
compute the care needs and form personalised care plans and according to the grade assigned to each element. The types
weekly care schedules for residents. Thus, the care staff can of care fall into “total care,” “partial care,” and “no care.” The
implement more flexible care services for individual residents cumulative score of all subjects is calculated to judge the
compared to traditional care plans. As for the weekly care required care time. The higher the score is, the better the
schedule of the residents and the number of residents in situation is and the shorter the care time needed.
specific categories in the institution, the LTC system can be
implemented in accordance with the estimated resources, 3. Resident-Oriented Assessment
such as reimbursement, bed placement, staff assignment,
and maintaining proper staffing ratios, to enable effective LTC institutions offer formal care services that provide living
management and operational efficiency. accommodations for residents who require on-site delivery
The resident assessment procedure first evaluates the care of around-the-clock supervised care services, including pro-
needs and then classifies residents into categories of types fessional health treatment and personal care services [27].
of care. After assessment, three types of care and seven care The concept of types of care or levels of care is used to
grades are possible. Each element starts with mental status, classify residents on the basis of similar characteristics and to
which is mainly used to assess cognitive function, including facilitate the delivery of appropriate care services [9]. Thus,
verbal functions and language skills, concept formation a resident classification system should be resident-oriented,
and reasoning, perception, orientation, and attention. The and a comprehensive assessment of resident characteristics
functional levels are graded in light of cognitive disorders. related to health conditions and service requirements is
In terms of movement, the assessment mainly considers the assessed to reach a type of care decision. After classification
ability to complete daily activities independently, including by type of care, residents could be placed in an institutional
personal hygiene, dressing and undressing, medication usage, facility that provides the needed care services.
and shopping. The worst situation is that the resident is The early LTC resident assessment tools mostly focus
unable to turn over in bed by himself/herself. In terms of on the individual assessment at a single level. The major
eating, the assessment mainly considers the ability to perform levels are assessment of cognitive function, assessment of
actions related to eating, including if the patient can eat activity function, and assessment of behavioural function
by himself/herself, if fixed dishware is needed, and food [28]. Cognitive function refers to mental status, including
type. The worst situation is that the patient has to be fed memory, attention, and comprehension or language skills,
by nasogastric tube or receive nutrition through intravenous which can identify dementia or signify the declining situation
4 International Journal of Distributed Sensor Networks

of patients with dementia in terms of cognitive function classification for a resident was determined after a compre-
and dependence [29]. For example, the Mini-Mental State hensive assessment of the resident. The results of the resident’s
Examination (MMSE) is widely used to assess the cognitive type of care can be helpful for the care of residents because
function of the aged, while the Short Portable Mental State the care service aspect is emphasised and curing disease is
Questionnaire (SPMSQ) is used to assess mental status. usually not a viable goal. Following classification by types
Activity function assessment refers to testing and quantifying of care, a resident can be placed in an institutional facility
the ability to conduct functional movement. This assessment that manages the provision of substantial care services.
can be used to monitor the overall improvement situation of Accordingly, residents can then be classified in terms of their
individual cases, including physical, mental, emotional and required grade of care.
social functions. Therefore, it is an important reference to
predict care needs and make care plans. The Barthel Index 4. The Innovative Resident Care Process
(BI) can be used to monitor the development situation in
the rehabilitation field. Independence in Activities of Daily Currently, most LTC institutions in Taiwan can only pro-
Living (ADL) is used to assess the movement independence vide “package services” instead of individual services for
of chronic disease patients and the aged in their daily lives. residents. Before the completion of the RCTC system, the
Instrumental Activities of Daily Living (IADL) is an impor- original care process of residents was as shown in Figure 2(a).
tant index to assess the independence of the aged. Functional The care appraisers manually and subjectively conducted
Independence Measure (FIM) is used to assess the rehabil- the assessment by various scales as required, such as the
itation of multiple-disabled patients. Behavioural function Barthel Index, independence index of ADL, MMSE, SPMSQ,
assessment is mainly used to assess the behaviour problems and Behavioral Rating Inventory of Executive Function.
of disabled patients, especially patients with brain damage. For normal situations, the care appraiser should fill in the
In 1980, the WHO proposed the concept of Interna- corresponding care plan according to the health conditions
tional Classification of Impairment, Disability and Handicap of the resident. For example, if the resident encountered one
(ICIDH), which influenced the concept of health functional care problem, a corresponding care plan should be filled in.
assessment and its application. Many studies have explored If the resident encountered multiple care problems, multiple
the influence of health function classification on LTC [30]. care plans should be filled in. However, because LTC residents
Different health functional assessment tools were thus devel- often encounter multiple care problems at the same time, the
oped to assess LTC care needs. The most typical of these tools final care plan will be rather complex and difficult to maintain
are the following. (1) The Residential Assessment Instrument without the aid of a software system. For this reason, the care
(RAI) is composed of the Minimum Data Set (MDS), Resi- staff will usually care for all of the residents with the same
dent Assessment Protocols (RAPs), and Specification. MDS care plan. That is, aside from special medical situations, every
contains all core items that must be assessed. RAPs are used resident will be treated under the same care plan, including
to form nursing care plans [31], provide diagnostic logic, and eating, bathing, toilet, and movement. If there are no special
help evaluators to confirm the care required by residents, in circumstances, residents are not reassessed after admis-
accordance with the care planning of individual cases [20]. sion.
(2) TAI is composed of classification and grading assessment Figure 2(b) shows the RCTC system innovative care pro-
scales, an assessment scale of the required care for the aged, cess, which is composed of four stages: resident assessment,
degradation and aging process charts, and a summary table care plan, care implementation, and regular assessment. The
of each unit. TAI classifies the types of care and then grades care appraisers could comprehensively assess residents with
them. The 12 types of care can be specifically divided into 6 the aid of the RCTC system, including mental, movement,
scopes and 11 categories. The type of care, degradation and eating, toilet, and medical treatment. After a comprehensive
aging stage of care grades, and the care time needed in every assessment, the RCTC system will automatically determine
stage are demonstrated by a diagram [32]. the type of care of each resident and predict the required care
Results from previous study [26] suggested that assess- time. It is helpful for care administrators in the institution to
ment should be based on not only medical diagnosis but also place residents into different districts according to the type of
impairment and disability for long-term care. Classification care and organise suitable manpower according to the overall
systems developed for LTC should use more sophisticated predicted care time. Aside from type of care and care time, the
methods than those used in other care areas. One similar RCTC system can automatically form personalised care plans
work [5] employed functional status, behavioural status, and and weekly care schedules for each resident. Care staff in
medical diagnosis as variables for logistic function modelling the institution can not only determine the health conditions
to predict the prior probability of levels of care. A study of residents but also explain the current situation and care
[33] developed a classification system using functional level, methods to residents’ relatives. If any amendment is needed
disease category, risk factors, and health indices. Therefore, or care emphasis is added by the resident’s relatives, it can
resident assessment must be multidimensional for LTC, and be recorded in the weekly care schedule. The overall weekly
the assessment must be comprehensive enough to measure care schedule is based on different types of care, by which
all elements for each resident. To evaluate the practical care the care staff can implement their care work. An additional
needs of residents, “mental,” “movement,” “eating,” “toilet,” advantage of the RCTC system is that the staff can rapidly
and “medical treatment” were the five main categories of reassess whether there is any change in the resident’s health
variables used in this study. Moreover, the type of care condition. Moreover, the RCTC system will proactively notify
International Journal of Distributed Sensor Networks 5

(1) Resident assessment (2) Care plan (3) Care implementation (4) Regular assessment

Assessment purposes?
Stationary care plan
Assessment tools?

Package services

(a) Before the implementing of RCTC

(1) Resident assessment (2) Care plan (3) Care implementation (4) Regular assessment

Medical
Personalised care plan Automatic notification
Mental Movement Eating Toilet
treatment

Types of care
grading
Customized care weekly schedule

(b) After the implementing of RCTC

Figure 2: Comparison of resident assessment processes.

the staff to conduct regular assessments every three months focus on the application domain structure rather than imple-
to make new care plans and weekly care schedules. mentation details and allows the system developers to reuse
Additionally, the innovative resident assessment process and share application domain knowledge across different
assesses residents with the aid of the system instead of the software platforms and programming languages. In this
written assessment method used in previous procedures. study, ontology helped care administrators, care staff, and
After the completion of the assessment, the care plan is system developers to utilise appropriate pieces of knowledge
formed automatically, which not only improves the situation when facing complex care problems and situations.
of filling in many care plan forms but also increases commu- Figure 3 illustrates a schematic ontology class hierar-
nication methods with the relatives of residents. Moreover, chy structure for the RCTC ontology. The RCTC ontology
the care staff can better understand the care content so that presents a formalised description of concepts of resident
they can make fewer mistakes. The RCTC system can provide classification by type of care. The information presented in
personalised care plans to improve upon the drawbacks of this ontology was extracted from major resident charts, care
package services. plan templates, care guidelines, and administrative infor-
mation, and it was discussed with the care administrators
5. The Architecture of RCTC System of the institution. The ontology class hierarchy structure
was constructed on the basis of the resident assessment
The methodological approach of RCTC system development process, and it represents the five major subcategories, under
is illustrated in Table 1 and has three stages: inception, object- the category of RCTC ontology. The five subcategories are
oriented analysis and design, and implementation. Each stage resident management, care management, nutrition manage-
is defined by work content, method, and output. The soft- ment, social worker management, and administrative man-
ware development process includes eliciting information on agement. There are three major categories under the resident
systems and needs, mapping care processes into the system, management subontology: resident demographics, relative
and soliciting ideas for the software from institutional care information, and admission notes. This subontology includes
staff. We developed a pilot run system for an institution and all basic concepts and health information that are relevant to
incorporated the resident assessment processes, assessment residents in the institution. The care management includes
questions, care services, and required care time. We employed major assessment tools, care plans, and weekly care schedules
the ontology methodology to enable interdisciplinary team for the classification of residents by type of care. The nutrition
members to elicit requirements semantically and derive management, social work management, and administrative
implementation models that meet those requirements, and management subontologies include information related to
the UML methodology was used to describe the static and management of daily activities of the institution.
dynamic structure of the RCTC system to generate concep- The proposed RCTC system is an assistance system for
tual models, dynamic models, and user interfaces. For know- assessing institutional residents, as well as for generating
ledge-oriented systems, the ontology can formally represent personalised care plans and weekly care schedules. Our
knowledge as a set of concepts within a domain, as well as the system is based on the World Wide Web (WWW) technique
relationships among those concepts. The ontology’s vocabu- because the WWW is a standardised, cross-platform environ-
lary and taxonomy abilities provide a conceptual framework ment. WWW applications can be effective in creating virtual
for sharing, analysing, and retrieving data in a specific working platforms, which provide easy ways to collaborate
domain. Therefore, ontology allows system developers to and communicate with coworkers. Therefore, it is appropriate
6 International Journal of Distributed Sensor Networks

Name
Gender
Birthday
Part of Blood type
Part of ID
Resident Part of
management Part of Height
Part of
Part of Part of Weight
Part of Main symptom
Resident Part of
demographic Part of Education degree
Part of
Part of Language
Part of Marital status
Part of
Part of Living conditions
Part of before admission
Part of Income source
Is a Part of Communication
Part of methods
Part of Part of Current living
Part of place
Part of Admission manner
Part of
Part of Institution district
Part of
Floor
Room no.
Bed no.
Admission date
Discharge date
RCTC Charge
ontology Relatives Record at
Is a Name of relatives
information Record at
Record at Relationship
Is a Care Telephone
management
Address Toilet
Is a Hospital
Admission Record at Eating
Nutrition Part of Record at Sent date Part of
management note
Record at Part of Movement
Return date
Is a
Part of Mental
Social worker Assessment Part of
management Part of
tools TAI scale Medical treatment
Part of Part of
Part of Part of Japanese care- Part of
needs certification Body functions
Part of Part of
scale
Part of Life functions
Administrative Barthel score
management Part of
Part of Cognitive functions
MDS Part of
Mental mobility
impairments
Body functions
Part of Social life
adaptation
Part of Life functions
Care plan
Part of
Part of Cognitive function
Part of Mental mobility
impairments
Social life
adaptation

Weekday
Part of
Care weekly Part of Weekend
schedule
Part of Special arrangement

Figure 3: The RCTC ontology.


International Journal of Distributed Sensor Networks 7

User interface

Care appraiser Administrator

Assessment module set Management module set

Resident Resident System Scale tools


management assessment administration management

Care plan Care weekly Care staff Resource


generation schedule scheduling allocation
arrangement

Institutional database

Assessment tools Resident


demographic and
table relatives table
Types-of-care and Care plan table
grading table

Care weekly Other institution


administration
schedule table related tables

Figure 4: RCTC system architecture.

Table 1: The RCTC system development stages.

Stage 2: object-oriented analysis


Stage 1: inception Stage 3: implementation
and design
Data collection
(1) Resident profile Conceptual modeling Database design
Content (2) Assessment tools Dynamic modeling Modular design
(3) Existing charting forms User interface design System implementation
(4) Resident assessment/care process
Object-oriented programming
Literature review Ontology modeling
(1) MS-SQL server
Method Conducting interview UML methodology
(2) IIS server
Requirement analysis
(3) Visual studio
Research scopes Conceptual models
Output Design objectives Dynamic models RCTC system
System requirements User interfaces

to use the WWW to develop an assistance system for resident schedule arrangement modules. The resident management
management. module is used to manage residents in the institution. The
In this study, we used Microsoft SQL Server 2008 to build resident assessment module determines the type of care of
an institutional database based on the resident assessment each resident and calculates care grade by classification and
tools and added tables at the care administrator’s request. grading scales. The care plan generation module provides
We used the C# programming language to code the whole suggestions about care services and what care aspects should
system. The platform is available for the nursing staff, care be emphasised. The weekly care schedule arrangement mod-
staff, and institution administrator to obtain the required ule helps care staff deliver better care service for the resident.
residents’ information. As shown in Figure 4, the RCTC sys- Depending on the needs of the care staff, the interface
tem architecture includes an institutional database and two for the assessment scales is customisable in that it displays
module sets. The module sets are described in detail below. adjustable items and uses a graphical interface to highlight the
important changes after the assessment. It is therefore able to
5.1. Assessment Module Set. This module set is primarily pro- assist the care staff in understanding the changes in the health
vided for user interfaces. It contains resident management, condition of the resident in the complex relationships among
resident assessment, care plan generation, and weekly care the five care aspects. Moreover, the resident’s information,
8 International Journal of Distributed Sensor Networks

including their demographic personal details, discharged Table 2: Decision tree table.
disease abstract, and assessment results, is maintained by the Fields Fields name Data type Note
interfaces of this module set.
Code Node code Varchar(20) Key
5.2. Management Module Set. This module set is mainly used Name Node name Varchar(20)
by institution administrators to set up the system permis- Parent Root node code Varchar(20)
sions, create and modify assessment tools, and estimate the LR Left or right Varchar(1)
overall resources needed for the institution. This module set is Node type Node type Varchar(1)
composed of system administration, scale tools management, Node code Type code Varchar(20)
care staff scheduling, and resource allocation modules. The L rule Left rule Varchar(50)
system administration module offers the overall system func- R rule Right rule Varchar(50)
tions for institution management. The scale tools manage-
ment module is designed to maintain the assessment scales,
including scale items, item weights, and algorithms for the tree’s node not only stores numeric values, but also stores text.
estimation of care time. Because there are still many uncer- If the decision tree’s node is a numeric value, then the value
tainties in Taiwan’s regulations and many factors involved in of the left node must be smaller than that of the right node.
the assessment of residents, the use of assessment tools may We designed the tree structure as database fields to record the
be changed to comply with Taiwanese laws, so we retained relationship between nodes.
flexibility in this module. Currently, the RCTC system mainly
refers to the TAI scale, Japanese care needs certification scale, 6.2. Step 2: Decision Tree Design. We employed a depth-
and Barthel score. The care staff scheduling and resource first traversal algorithm to implement the recursive call of
allocation modules can generate weekly care plans for indi- the decision tree. As shown in Figure 5, the back-end web
vidual residents and calculate the demand for manpower and server retrieves a decision tree structure from the database
resources, which can be valuable references for the institution and generates HTML tag <ul> and <li> to include the tree’s
administrator to manage and monitor resource consumption. structure. When a user starts to use a decision tree, the system
As shown in Figure 4, the resident assessment module is will first create the current root node and its left and right
the most critical module of the RCTC system. The resident child nodes according the node value. Then the decision
assessment procedure first evaluates care needs with respect subtree structure was included in the <ul> and <li>XML tag.
to five functional status assessment attributes (with scores The tree generation process will end when the decision tree
ranging from one to one hundred) of the resident. Then, it build is complete. Finally, a j Query organization chart plugin
classifies residents into types of care categories (with grades was used to generate a visualized decision tree.
ranging from one to seven). That is, three types of care and
seven care grades are defined after evaluating by overall care 6.3. Step 3: Connecting to the Assessment Results. After the
time. The sequence diagram in Figure 5 explains how groups completion of the decision tree, we need to connect the
of objects work together to achieve the resident assessment assessment results with the decision tree. We first added
process. four fields including node type, type code, left side rules,
This sequence diagram contains one main object on and right side rails into a decision tree table (Table 2). The
the appraiser’s end. From this starting component, the care tree traversal direction depended on the current subtree’s
appraiser will receive the assessment demands from the assessment result. As shown in Figures 6 and 7, the node’s
RCTC server. The care appraiser can select the proper assess- type and type code were used to identify the scale subject and
ment tool to evaluate the health conditions of the resident, assessment dimensions and then traversed the left side rule or
and it can also check the resident’s record to see the resident’s right side rule by the rule of the node. The assessment result
entire history. That history is retrieved from perspective is determined once the expected traversal was made.
tables in the institutional database. When any assessment is
completed, the system will automatically compute the care 6.4. Step 4: Decision Tree Judgment Logic. Using decision tree
needs and generate a personalised care plan and weekly care judgments logic to determine the case time of results output.
schedule for each resident. This procedure will enable care The judging process will call their own, when the node type is
staff to deliver the required care services to their residents. “results” output care time. If cannot be found node who behalf
node type or node location, output “Error”. As shown in
6. Design of the Assessment Algorithm for Algorithm 1, Cannot be found node occurs, set of judgments
Care Time of the decision tree set error, need to be corrected.

RCS can assess the estimated case time of residents, which 7. System Implementation
employs decision trees as its core. The design process is
described in detail below. In this study, the RCTC system provides an institutional
database that stores relevant data such as the resident’s demo-
6.1. Step 1: Conceptual Design of Decision Trees. The structure graphic data, disease history, assessment results, specific care
of the decision tree is similar to a binary tree, which has a root needs, and type of care and the care appraiser’s interactions
node; each node has a left and right child node. The decision with the caregivers. These stored data help the care staff
International Journal of Distributed Sensor Networks 9

Assessment
Appraiser interface
Choose Demographic Assessment Assessment Assessment Question’s Care plan Assessment Assessment Assessment Types-of-care Care weekly
resident tool aspects questions options details decision trees Grades scheduler
Query resident
Enter Display
assessment Assessemnt
interface resident
information scale
Component Question Option
Display
assessment
Fill in
assessment scale
scale Calculate score
Display score Save
Sent answers of
assessment Save assessment date, questions
results result, care plan and options

Determine types-of-care, grade,


care time Question and Calculate
Assessment option
care time
result
Judge care
grades Care grade
Care time
Types-of-care
Care grades
Display
assessment Types-of-care
result Care plan

Figure 5: Sequence diagram for the resident assessment process.

<ul>
<li>root node</li>
</ul>
Insert

<ul>
<li>left node</li>
<li>right node</li>
Insert Insert
</ul>

<ul> <ul>
<li>left node</li> <li>left node</li>
<li>right node</li> <li>right node</li>
</ul> </ul>

Query the child nodes of the left point Query the child nodes of the right point
generated structure of <ul> <li>. generated structure of <ul> <li>.

Figure 6: Decision tree building process.

Node type-question

Need beside guardianship Eating Need someone part to assist


Need to fully assist

Life 19.1
Node type-dimensions
function
Node type-end
31.2< >31.3

8.9 0.8

Figure 7: Node type determination.


10 International Journal of Distributed Sensor Networks

Function RecurisiveTree (string parentnode, string LeftOrRight)


If (readnote)
{
Switch nodetype
Case Question:
readEvaluate
if (Judgment value at LeftRule)
RecursiveTree (node, left)
else if (Judgment value at RightRule)
RecursiveTree (node, right)
else
response error
break;
Case Dimensions:
readEvaluate
if (Judgment value ≤ LeftRule)
RecursiveTree (node, left)
else if (Judgment value ≥ RightRule)
RecursiveTree (node, right)
else
response error
break;
Case Result
response root : name (code) = score
break;
default:
response error
break;
}
else
{
response error
}
end

Algorithm 1: Algorithm for decision tree.

to assess the care needs based on their residents’ health offers suggestions on each aspect of the assessment results.
conditions, care plan arrangement, and wellness activities, as The assessment module automatically computes the grades of
well as the status of care decisions, care actions undertaken, the care needs for each aspect. Care staff can follow the con-
and other relevant information that could aid in the provision tent of the care plan to implement their care work. Figure 9
of proper care. The RCTC system provides information on shows the assessment result determined by the system, which
residents’ care type, care method, estimated care time, and shows the required care time for nine care-need components,
personalised care plan, as well as the weekly care schedule grades resident care needs as “level seven,” and recommends
for residents in each district. The care appraisers can add the type of care as “heavy degree of care needs.” The care
or modify the residents’ basic data, hospitalisation records, appraiser and care staff can quickly review the overall situ-
and other information. To retain the flexible extension of ation and care needs of the resident by using the information
the system, the RCTC system follows the modular design shown as a report and a radar chart. According to the care
principle, enabling the institution care appraisers to modify plan, the weekly care schedule presents the care methods and
and maintain assessment tools and care plan templates, care notes of the resident in different timetables. Care staff
thereby enhancing its usability. of the institution should record the additional requirements
We show several screen layouts, including the system provided by family members of the residents in the sheet
administrative environment, scale tools layout, assessment during their communication.
screen, personalised care plan, and estimation of institutional The desire to balance the individual resident’s care needs
overall resource needs. Figure 8 depicts the function of with the constraint of manpower limitations led us to
assessing resident’s care needs. Care appraisers assess the res- develop our resident classification mechanism. The assess-
ident by asking questions relating to the five functional status ment/classification sequence is intended to be used by care
assessment aspects, and they choose the proper care plan cor- appraisers, who are involved in resident assessment and
responding to the selected option. The personalised care plan care service delivery. For institution management issues,
International Journal of Distributed Sensor Networks 11

Figure 8: Assessment of a resident’s care needs. Figure 9: Resident assessment result.

management data were collected on the selected residents not the system outside of LTC institutions and use it to realise
only through assessment/classification by the care appraisers, seamless service in hospitals.
who may or may not be independent of the institution, but
also by service caregivers within institutions. Because the Conflict of Interests
primary resource used by LTC institutions is manpower,
classification/placement is intended to determine how much The authors declare that there is no conflict of interests
care manpower should be put into each resident based on regarding the publication of this paper.
overall estimated care time. The assessment/classification
provides information on residents who are under specific Acknowledgments
types of care with different care-level grades, and the classi-
fication/placement information can be used for reimburse- This research was partially supported by National Science
ment, bed assignments, and decisions about staff assignment, Council of Taiwan, under Research Projects NSC102-2221-E-
recruitment, and staffing ratios, to achieve effective manage- 227-001 and NSC100-2622-H-227-001-CC3 and by the MSIP
ment and operational efficiency. (Ministry of Science, ICT and Future Planning), Korea,
under the ITRC (Information Technology Research Center)
8. Conclusions Support Program NIPA-2013-H0301-13-4007 supervised by
the NIPA (National IT Industry Promotion Agency).
The RCTC system presented in this study provides care
practitioners in LTC institutions with a comprehensive References
assessment system that includes classification and grading
concepts. The RCTC conceptual model follows an assess- [1] D. W. Bates, M. Cohen, L. L. Leape, J. M. Overhage, M. M.
ment/classification/placement sequence that can be used for Shabot, and T. Sheridan, “Reducing the frequency of errors
in medicine using information technology,” Journal of the
resident assessment, classification, and placement decisions
American Medical Informatics Association, vol. 8, no. 4, pp. 299–
for LTC residents. The major functions of the RCTC system 308, 2001.
are to assess LTC residents based on five functional status
[2] K. S. Bay, P. Leatt, and S. M. Stinson, “A patient-classification
assessment aspects, classify residents into different types of system for long-term care,” Medical Care, vol. 20, no. 5, pp. 468–
care, and grade the care needs in terms of severity. Moreover, 488, 1982.
this RCTC system offers personalised care plans and weekly [3] B. A. Hamilton, “Evaluation design of the business case of
care schedules, which make the care methods more flexible health information technology in long-term care,” 2006, http://
and of higher quality than traditional “package services.” aspe.hhs.gov/daltcp/reports/2006/BCfinal.htm.
During our research, we proposed that the estimation of [4] E. Tomasi, L. A. Facchini, and M. F. Maia, “Health information
a resident’s overall care time can be employed to estimate technology in primary health care in developing countries: a
the resources the institution will require, including care literature review,” Bulletin of the World Health Organization, vol.
manpower and consumptive materials. Currently, the system 82, no. 11, pp. 867–874, 2004.
is under a pilot run with our cooperative institution. We [5] L. J. Cavaiola and J. P. Young, “An integrated system for patient
hope to offer an assessment framework sample of an LTC assessment and classification and nurse staff allocation for long
institution in Taiwan that can be widely used in the future. term care facilities,” Health Services Research, vol. 15, no. 3, pp.
We also plan to cooperate with the hospital to implement 281–306, 1980.
12 International Journal of Distributed Sensor Networks

[6] B. Cherry, M. Carter, D. Owen, and C. Lockhart, “Factors affect- [23] P. Nadash and Y. C. Shih, “Introducing social insurance for long-
ing electronic health record adoption in long-term care facil- term care in Taiwan: key issues,” International Journal of Social
ities,” Journal for Healthcare Quality, vol. 30, no. 2, pp. 37–47, Welfare, vol. 22, no. 1, pp. 69–79, 2012.
2008. [24] N. Ibrahim, M. Mohammad, and V. Alagar, “Publishing and
[7] B. J. Cherry, E. W. Ford, and L. T. Peterson, “Experiences with discovering context-dependent services,” Human-Centric Com-
electronic health records: Early adopters in long-term care faci- puting and Information Sciences, vol. 3, article1, 2013.
lities,” Health Care Management Review, vol. 36, no. 3, pp. 265– [25] R. Sumathi and M. G. Srinivas, “A survey of QoS based routing
274, 2011. protocols for wireless sensor networks,” Journal of Information
[8] T. Wang and S. Biedermann, “Adoption and utilization of Processing Systems, vol. 8, no. 4, pp. 589–602, 2012.
electronic health record systems by long-term care facilities in [26] A. Følstad, K. Hornbæk, and P. Ulleberg, “Social design feed-
Texas,” Perspectives in Health Information Management, vol. 9, back: evaluations with users in online ad-hoc groups,” Human-
article 1g, 2012. Centric Computing and Information Sciences, vol. 3, article 18,
[9] M. Brahami, B. Atmani, and N. Matta, “Dynamic knowledge 2013.
mapping guided by data mining: application on healthcare,” [27] “Health Canada, long-term cacilities-based care,” http://www
Journal of Information Processing Systems, vol. 9, no. 1, pp. 1–30, .hc-sc.gc.ca/hcs-sss/home-domicile/longdur/index-eng.php.
2013. [28] S. Hedrick, J. Papsidero, and C. Waynard, “Analysis of alterna-
[10] P. Densen and E. Jones, “The patient classification for long term tive definitions of function in studies of long term care. Project
care developed by four research groups in the United States,” to Analyze Existing Long Term Care Data,” edited by, I.W.
Medical Care, vol. 14, no. 5, pp. 126–133, 1976. Scanlon, Washington, DC, USA, The Urban Institute, 1984.
[11] S. Matsuda and M. Yamamoto, “Long-term care insurance and [29] L. K. Langley, “Cognitive assessment of older adult,” in Assessing
integrated care for the aged in Japan,” International Journal of Older Persons: Measures, Meaning, and Practical Applications,
Integrated Care, vol. 1, article e28, 2001. R. L. Kane and R. A. Kane, Eds., pp. 65–128, Oxford University,
[12] A. Melanie, S. Ralf, S. Alexander, S. Susanne, and W. Sarah, New York, NY, USA, 2000.
“The German social long-term care insurance: structure and [30] OECD, “Long-term care for older people,” The OECD Health
reform options,” IZA Discussion Paper 2625, 2007, http://ideas Project, OECD, Paris, France, 2005.
.repec.org/p/iza/izadps/dp2625.html. [31] D. Liu and N. G. Castle, “Health information technology in
[13] J. Okochi, S. Utsunomiya, and T. Takahashi, “Health measure- nursing homes,” Journal of Applied Gerontology, vol. 28, no. 1,
ment using the ICF: test-retest reliability study of ICF codes and pp. 38–58, 2009.
qualifiers in geriatric care,” Health and Quality of Life Outcomes, [32] T. Takahashi, J. Okochi, K. Takamuku, and S. Matsuda, “The
vol. 3, article 46, 2005. introduction of typology of the aged with illustrations,” Casemix
[14] C. Hawes, J. N. Morris, C. D. Phillips, B. E. Fries, K. Murphy, and Quarterly, vol. 3, no. 1, pp. 3–14, 2001.
V. Mor, “Development of the nursing home resident assessment [33] K. S. Bay, P. Leatt, and S. M. Stinson, “Cross-validation of a pa-
instrument in the USA,” Age and Ageing, vol. 26, supplement 2, tient classification procedure: an application of the U method,”
pp. 19–25, 1997. Medical Care, vol. 21, no. 1, pp. 31–47, 1983.
[15] L. Martin, B. E. Fries, J. P. Hirdes, and M. James, “Using the
RUG-III classification system for understanding the resource
intensity of persons with intellectual disability residing in
nursing homes,” Journal of Intellectual Disabilities, vol. 15, no.
2, pp. 131–141, 2011.
[16] “Long-term care insurance in Japan,” http://www.mhlw.go.jp/
english/topics/elderly/care/index.html.
[17] J. Okochi, T. Takahashi, K. Takamuku, S. Matsuda, and Y.
Takagi, “Reliability of a geriatric assessment instrument with
illustrations,” Geriatrics & Gerontology International, vol. 5, no.
1, pp. 37–47, 2005.
[18] J. Okochi and T. Takahashi, “The effect of medical needs to the
disability based patient classification system—a critical review
of disability based patient classification,” BMC Health Services
Research, vol. 7, article A7, 2007.
[19] L. Berger, “Information technology feature: the IT payback,”
McKnight’s Long-Term Care News, pp. 34–37, 2006.
[20] F. Landi, E. Tua, G. Onder et al., “Minimum data set for home
care: a valid instrument to assess frail older people living in the
community,” Medical Care, vol. 38, no. 12, pp. 1184–1190, 2000.
[21] V. Mor, “A comprehensive clinical assessment tool to inform
policy and practice: applications of the minimum data set,”
Medical care, vol. 42, no. 4, pp. 50–59, 2004.
[22] J. M. Schols, H. F. Crebolder, and C. van Weel, “Nursing home
and nursing home physician: the Dutch experience,” Journal of
the American Medical Directors Association, vol. 5, no. 3, pp.
207–212, 2004.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 174097, 10 pages
http://dx.doi.org/10.1155/2014/174097

Research Article
Home Appliance Management System for Monitoring
Digitized Devices Using Cloud Computing Technology in
Ubiquitous Sensor Network Environment

Yun Cui,1 Myoungjin Kim,1 Yi Gu,1 Jong-jin Jung,2 and Hanku Lee3
1
Department of Internet and Multimedia Engineering, Konkuk University, Seoul 143701, Republic of Korea
2
Digital Media Research Center, Korea Electronic Technology Institute, Seoul 121835, Republic of Korea
3
Center for Social Media Cloud Computing, Konkuk University, Seoul 143701, Republic of Korea

Correspondence should be addressed to Hanku Lee; hlee@konkuk.ac.kr

Received 30 August 2013; Revised 28 December 2013; Accepted 4 January 2014; Published 18 February 2014

Academic Editor: Young-Sik Jeong

Copyright © 2014 Yun Cui et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

The number of service techniques available for digitized home appliances is rapidly increasing as a result of various advances in
digital technology. Users can now easily control and monitor home appliances via sensor networks formed among home appliances
in ubiquitous environments. However, home appliances generate such large amounts of metadata about their status every month
that in order to provide home appliance monitoring services to users, an approach that is able to store, analyze, and process these
large amounts of metadata is needed. We propose a system that uses UPnP to collect metadata from home appliances and cloud
computing technology to store and process the metadata collected from ubiquitous sensor network environments. Our proposed
system utilizes a home gateway and is designed and implemented using UPnP technology to search for and collect device features
and service information. It also provides a function for transmitting the metadata from the home appliances to a cloud-based data
server that uses Hadoop-based technology to store and process the metadata collected by a home appliance monitoring service.

1. Introduction devices deployed in home networks are generated by the sen-


sors integrated inside the home appliances. These metadata
With the unfolding of the information age, home appliances,
including various types of digital devices, became capable of should be collected, analyzed, and processed in a ubiquitous
communicating with one another through the Internet. Many sensor network environment. To facilitate this, a relay device
smart devices are now being equipped with new features. For that enables outside communications with the home network
example, users can now control their smart TVs via their is needed.
mobile phones and watch the media contents stored on a PC A home gateway is such a device [6–9]. Home appliances
on their smart TVs. A home network enables all connectable can be monitored and controlled via a network deployed
devices to be connected in a single network inside of the home inside the home. However, it is impossible for the home
so that they can communicate with each other. In the new network to communicate with an external network outside
millennium, home networks have evolved in a consistent way. of the home as is. Home gateways are used to overcome
Simultaneously, the amounts of log data and metadata used this limitation of home networks. Most home gateways
for monitoring the status of home appliances have increased use diverse technological elements to collect metadata and
significantly. With the ultimate goal of realizing a way to perform associated processes for devices deployed in a home
cope with these changes, many researchers have carried out network. OSGi is used to support these diverse technological
studies focusing on how to process and analyze the huge elements by processing and analyzing the metadata they
amounts of data generated by sensors deployed throughout collect [10]. In addition, OSGi is convenient because it
smart homes [1–5]. Studies indicate that the metadata from provides the functions necessary for the home network on
2 International Journal of Distributed Sensor Networks

a single platform from its bundles and allows developers to extracting the data stored in HDFS, we designed a progress
implement the functions they require. module using MapReduce in the data server. The data server
As the large amounts of metadata generated by home presents the data to the users via HTTP after extracting the
appliances deployed in home networks increase significantly, required data using MapReduce [16]. In this process, if the
home gateways that use OSGi are encountering problems user wants to make a change to a device’s state, the data
such as insufficient computing power and shortage of data server receives the change request from the user and extra-
storage space. Researchers are now therefore looking to utilize cts specific commands for the designated device. Upon extra-
cloud computing technology to handle the huge amounts cting the commands, the data server then sends them to the
of data generated by the appliances. Cloud computing is home gateway so that the commands can be executed. Our
a state-of-the-art technology that has been receiving a lot proposed system facilitates the monitoring and control of a
of attention in the computing field. In cloud computing, number of home appliances by cooperation of the data server
distributed processing of massive amounts of data can be and the home gateway [17].
achieved using spare resources, which results in savings, both The remainder of this paper is organized as follows.
economically and temporally. Furthermore, cloud computing Section 2 discusses related studies, home networks, smart
brings technological advances [2, 11–14]. Cloud computing homes, and cloud computing. Section 3 gives a detailed expla-
has become an effective solution for processing massive meta- nation about the system architecture designed by utilizing
data generated by home appliances connected via home the results from previous studies. Section 4 highlights the
gateways. Combining the various elements of technology data flow that occurs during the data communication process.
mentioned above, this paper proposes a cloud-based system Section 5 presents the results obtained from our system imp-
for monitoring and controlling home appliances. lemented on the basis of the designed architecture. Finally,
Our proposed cloud-based home digital devices moni- Section 6 concludes this paper.
toring and control system consists of two major parts, the
home network and a data server. It also includes a home 2. Related Work
gateway and a simulator. The home gateway is responsible
for collecting device features and the service capabilities of Many researchers have proposed approaches for controlling
the individual devices deployed in the home network and digital devices and using their service functions outside of
sending the data collected to the data server. The simu- the home network [1, 6, 18]. In [7], Kang et al. implemented
lator provides information about the home appliances. The a UPnP AV architectural multimedia system using a home
home gateway and the device simulator exchange data with gateway supported by the OSGi platform to provide internal
each other using the Cling library. The Cling library, which and external multimedia services. In their system, they used
supports the Android mobile OS, is a Java library of functions the UPnP bundle of OSGi to provide users with an external
that implements the UPnP service. It also has a function multimedia streaming service. The multimedia services are
that enables an external network to access a home network. provided by a multimedia sharing system based on the UPnP
This function makes the Cling library a good solution for AV Architecture [19]. Although the system was implemented
achieving communication between the home gateway and using OSGi, due to congested multimedia content, the system
the data server. In our proposed system, the home gateway could not support a large amount of multimedia data storing
does not establish the network using OSGi, unlike the and management approaches.
approach proposed in [7], in which OSGi is used to set In [20], Cui et al. proposed a UPnP-based multimedia
up the network. While a gateway that uses OSGi provides sharing system that utilizes cloud computing. This system
a number of useful functions to collect and manage data provides multimedia content storing and management func-
from devices residing in the home network, the objective tions via cloud computing, which is used to transcode the
of the home gateway proposed in this paper is to play the multimedia content to provide a personalized multimedia
simple role of a bridge between the home network and streaming service. In [14], Kim et al. developed a multimedia
a data server in the cloud. As a result, using the Cling content transcoding module using MapReduce and HDFS.
library, we designed and implemented a function that enables Dı́az-Sánchez et al. [12] also proposed media cloud, a middle-
communication between a UPnP-capable module and an ware for set-top boxes that classifies, searches for, and delivers
external network in order to collect data from the electronic multimedia content inside home networks and across any
devices deployed in the home network and send them to the cloud that interoperates with UPnP and DLNA. Media cloud
external server. In our proposed system, the data server stores provides an easy to manage, cost-effective solution for using
and maintains the metadata generated by the home applia- cloud computing to share content among federated home
nces. In addition, the data server provides a device moni- networks. It also allows devices from different home networks
toring service to the users. Metadata is stored in the data to communicate as if they are on the same local network.
server using the Hadoop Distributed File System (HDFS) A similar trend is taking place with sensors. With the
[15], which ensures scalability and security, even if the size development of small sensor nodes that can be connected
of the data increases significantly. HDFS is a Hadoop-based to a network, research on sensor networks, which function
file system that supports massive data processing effectively. by connecting several sensor nodes to each other, is under-
It stores data with a scalable and distributed structure and way [21]. The research is being conducted in areas such as
maintains a copy of the data to insure against any occurrence home security, healthcare, health management, and environ-
of data loss. To meet users’ requirements for processing and mental monitoring. In home networks that use DLNA and
International Journal of Distributed Sensor Networks 3

ECHONET, the information that the sensors acquire can gateway in XML format. After collecting the metadata, they
be used extensively by various devices. In [22], Jeong et al. are sent by the home gateway to the data server through a
implemented a large-scale middleware for ubiquitous sensor series of processes. The home gateway is capable of collecting
networks (called Lamses) that provides a USN middleware information such as device features, service capabilities,
mechanism to focus on network processing. Lamses supports and status information about devices deployed in the home
various heterogeneous sensor networks and mobile RFID. network using UPnP. Figure 1 depicts the structure of our
Unfortunately, RFID and other sensed devices have security proposed system.
vulnerabilities and generate a lot of data communication The proposed system can be divided into two parts
traffic. Hence, many researchers, such as Gao and Xiao [23] according to the component dealing with the data: the home
and Chen et al. [24], are currently researching core network network part, which monitors the status of devices and
issues and security problems. collects metadata and transmits them to the data server,
A system that utilizes a ubiquitous data source server and the cloud-based data server, which manages information
(UDSS)—a sensor device for home networks—for use by received from the home network in a coordinated fashion.
sensors in the home, has also been proposed [25]. In the The home gateway is the most important part of the home
proposed system, by connecting a sensor to an ordinary network. It can communicate with one or more home
home appliance and using the values acquired by the sensor, appliances in the home network via a router in both wireless
control of the home appliance is made possible. However, and wired fashion. In a home network connected via a router,
to achieve cooperative behavior like this, configuring that the home gateway uses the UPnP function to discover and
behavior directly on a PC connected to the sensor device is gather information on device features, service capabilities,
necessary. Configuration of a behavior cannot be performed and the status of the connected home appliances. The home
from outside of the home, which is very inconvenient [25]. gateway plays two important roles in the home network.
In [11], Xu et al. proposed a cloud-based framework First, it detects and collects information on device features
for enabling smart home monitoring services. The system and service capabilities advertised by the electronic devices.
architecture resolves several issues including certification, Second, it communicates with the cloud-based data server
media capture, Data-Cloud storage, and NAT traversal. The and sends metadata to it. In other words, the home gateway
system offers remote control for surveillance and automatic functions as a bridge between the home network and the data
sensor-control monitoring. In addition, it utilizes elastic server across the boundary of the network.
storage and intelligent processing with the help of cloud The data center resides in cloud storage and maintains the
computing. We implemented a prototype of this system to metadata sent by the home gateway. It is designed to analyze
verify the utility of this architecture. and store metadata about home appliances deployed in the
In [26], Wei et al. proposed a cloud architecture based on home network. Technically, the data center is implemented
an existing cloud system to support smart homes. In their using MapReduce and HDFS. The metadata stored in the
proposed architecture, clouds can provide more humanized data center are used to provide a monitoring and control
services for digital home appliances in smart homes, and service to the users. End users can remotely check the status
smart home nodes can form peer-to-peer networks and of any desired devices using their own smartphones. Further,
publish, lookup, and use services in the cloud. They designed in conjunction with the data server, they can also control the
a mechanism that connects the smart home nodes and a cloud services with which the devices are equipped. The individual
server to form a peer-to-peer network and introduced it as a modules comprising the system architecture are described in
web service in the cloud, so that smart home users can not more detail below.
only be suppliers but also consumers of cloud services.
In line with the related works outlined above, we propose 3.1. Home Gateway. In the home network established using
a cloud-based home appliance monitoring and control sys- the UPnP function, the home gateway detects and gath-
tem. Utilizing the strong points of previous research results, ers information about home appliances and their service
we design and implement a home gateway to collect metadata features. As a result, UPnP is considered to be a very
from home appliances and transmit them to a data server and powerful technology. However, connecting a UPnP-based
a cloud-based data server to store and manage the metadata home network to an external network is a very challeng-
generated by home appliances. ing task. For this reason, we propose to make the home
gateway responsible for passing the data collected from the
3. Proposed System Architecture devices residing in the home network to the external data
server. This gateway function can be realized by complicated
The objective of our proposed system is to store and maintain cooperation among a number of modules. The modules that
status information about home appliances (such as refrig- have to be implemented in the home gateway are as follows:
erators, air conditioners, humidifiers, and boilers) sent by network bridge module (NBM), device metadata parsing
a home gateway using a cloud-based data server. The data module (DMPM), device subscription function (DSF), action
server stores and maintains metadata generated by home transmission module (ATM), and device registering function
appliances on HDFS and also provides monitoring services (DRF). Figure 2 illustrates the internal structure of a home
for users by transmitting metadata to their smartphones gateway.
when they request data for a specific device. Metadata DRF is a basic function provided by UPnP that discovers
associated with home appliances are collected by the home and collects device feature information advertised by the
4 International Journal of Distributed Sensor Networks

Data server

Smart device

Home

Home network
Home
gateway

Router

Refrigerator Air conditioner Humidifier Boiler PC TV Printer

Figure 1: Architecture of our proposed system.

Network bridge module


Data temporary
memory

Home gateway Device subscription Action transmission


Device
module module
metadata
parsing
Device discovery and registering module
module

HTTP/HTTPU

UDP TCP

Figure 2: Internal structure of a home gateway.

devices in a home network. To accomplish this, DRF uses DSF can request more detailed information associated with
the simple service discovery protocol (SSDP), a network a specific device. When the request is made, DSF obtains
protocol for advertising and discovering the services and service metadata in XML format. DSF accesses the URL of
device features of individual electronic devices. SSDP is text- a specific device via the subscription command provided by
based and establishes a network among devices residing in a UPnP. It can fetch the service names, which can be supplied
home network using HTTPU. Consequently, electronic devi- by the device in XML, and can also get information on
ces use SSDP to advertise their features and service informa- the current status of the device. In order to achieve these
tion to other devices in a home network. The home gateway functions, DRF is implemented by GENA, which provides a
uses SSDP in the DRF to collect metadata from the devices. status alarm function based on HTTP. Thus, DSF retrieves
In collecting this information from the devices, SSDP adopts information from the devices through GENA and stores a
a multicast mechanism so that it always discovers the data via device’s status information in a temporary space. From the
port 1900. The discovered data are stored in temporary DRF information acquired, we can check the command codes
storage for use by DSF and ATM in the future. to control the service. These command codes are used by
The information retrieved by DRF is basic information ATM.
about electronic devices, such as deviceType, friendlyName, ATM uses data given by DRS and DSF to pass command
model description, model name, model number, UDN, and codes to electronic devices and control device services. ATM
model URL. On the basis of the information about the device, controls the service features of devices in two ways. First,
International Journal of Distributed Sensor Networks 5

Monitoring service Network bridge module

module
Metadata extraction module
Data server
Mapreduce

Hadoop distributed file system

Resource virtualization

CPUs Storages Networks

Figure 3: Internal structure of the cloud-based data server.

ATM can access the devices using information provided by immediately used by other modules or stored in a temporary
DRF, such as URL, UDN, and model name. Second, ATM can space for future use.
use the command codes sent by NBM to control the devices. The home gateway acts as a bridge between the home
ATM sends the commands through the simple object access network and the cloud-based external data server. In addi-
protocol (SOAP), a protocol that facilitates the exchange of tion, it is in charge of the exchange of data and collection of
XML messages over HTTP, HTTPS, and SMTP. SOAP is the information to and from the devices deployed in the home
underlying protocol used to deliver basic messages in web network. Metadata information associated with the devices is
services. There are several types of message patterns in SOAP. sent to the data server via home gateway. Using the metadata
It is designed with a design pattern combining header and information, the data server in conjunction with various
body, which is implemented in XML. Thus, SOAP is the most modules can offer a device monitoring service to users. In
suitable protocol for delivering data and commands over a the next section, we give details about the cloud-based data
HTTP-based environment. SOAP is also used as the primary server.
command-delivery mechanism in UPnP.
The home gateway facilitates the collection of device data 3.2. Cloud-Based Data Server. The data server delivers meta-
in a home network and control of the devices. In addition, data information to the smart devices, stores and manages
the home gateway has a function for communicating with device information, and provides monitoring services to
the cloud-based data server. NBM, in the home gateway, users. The metadata include the device information, com-
establishes a connection with the data server and transfers mand codes, and service information. Metadata are deposited
information about device features and service capabilities to in HDFS and used to provide monitoring services through
the data server through the connection. Information such as MapReduce. Because metadata information is passed in XML
device metadata and service metadata is sent to the NBM format, the data server needs a function to extract XML
residing in the data server via the NBM in the home gateway. data. To handle metadata generated by the electronic devices,
To make a connection between the home network and the the data server uses a combination of HDFS, MapReduce,
external network, NBMs are required to be implemented in metadata extraction module (MEM), NBM, and MSM.
both the home gateway and the data server. In this case, the Details about each module are given in the following sections.
communication is carried out via HTTP and information Figure 3 depicts the internal structure of the cloud-based data
is exchanged as XML-formatted data. When a user sends server.
commands to a specific device deployed in the home network, In order to keep communicating with the home gateway
the command entered by the user is passed to the device residing in the home network, the data server is required to
through NBM. In this way, users can control specific devices have a counterpart NBM to the NBM in the home gateway.
remotely. In this context, NBM can be considered the most The NBM allows the data server to send device control
important module since it acts as a networking bridge commands to the home gateway when the user makes a
between the home network and the external network. request for a specific device. It also allows the home gateway
In UPnP-based data communication, XML data is used to send metadata information generated by the electronic
as a vehicle for transferring data and HTTP is used as device to the data server. When the user sends a command
the protocol. The home gateway, devices, and data server to a specific device, the command has to be delivered to the
communicate with each other in XML format. Therefore, home gateway. To do this, NBM is equipped with a UPnP
metadata information associated with a specific device has bridge feature that enables it to provide host functions based
to be extracted from XML-formatted data. To extract the on the UPnP functional demands. Using NBM, the data
necessary information from the XML formatted data, we server can communicate in both directions and receive/send
implemented a DMPM inside the home network. DMPM XML data via HTTP without any restrictions. XML data sent
specifically parses XML data sent via HTTP and extracts by the home network are passed to its counterpart NBM
metadata information such as device type, model name, in the data server. The NBM then sends the XML data to
and URL. The information extracted by DMPM is either the MEM because the metadata have to be extracted in
6 International Journal of Distributed Sensor Networks

Smart device Data server

HTTP Control point


Home appliances Data transfer
Status Info.

UPnP device
Data transfer
Home network
TP SOAP/HTTP/SSDP/GENI

HT
TP
HT

HT
WAN based
TP Internet

Home Home appliances


Home appliance
gateway Status Info. transfer
(Humidifier, fridge
simulators)

Figure 4: The data flow in our proposed system.

order to get separate information such as a device’s feature, via HTTP. On successful delivery of the information to the
service information, and state information. The extracted user, he/she can then check the condition of the device on
information is then stored. his/her smart device. In addition to the monitoring service,
The MEM extracts detailed information about each the MSM is capable of controlling the device specified by the
device from the XML data sent by the home gateway. In other user. The user can check the available control functions on
words, the MEM parses the XML data and extracts individual his/her smart device. When the user clicks a command, a
field values from it. For more accurate data extraction, the request is sent to the MSM located in the data server, which
MEM is designed and implemented using the UPnP function. then passes it to MapReduce. The data server then extracts
Once the data have been extracted by the MEM, they are information from the command using MapReduce and sends
stored in a distributed storage space that is named according it to the home gateway via NBM. In short, the MSM acts as
to the device with which the data is associated. HDFS is an interface to provide services to the user.
considered the most suitable for storing the data because the
data are deposited in a distributed storage space. 4. Data Flow
Hadoop-based MapReduce takes the extracted metadata
and separates them according to the name of the devices, In this section, we discuss the data communication archi-
specifically, the model name. In this module, a mapping tecture among the components, focusing on the data server
process is carried out to investigate and store the metadata and the home gateway of the home network. Figure 4 illu-
delivered accompanied with the model name. When the data strates the data flow that occurs among components. All the
are stored in HDFS, three duplicates are made and stored in components of the proposed system are capable of trans-
a distributed manner due to the technical nature of HDFS. In mitting data in XML format. As shown in Figure 4, the home
terms of scalability of data, HDFS is also capable of effectively network comprises electronic devices, the home gateway, and
storing and maintaining the data even if the data consistently a router. The router facilitates the connection between the
increase in size. Eventually, the data stored in HDFS are used internal network and the external network.
to provide electronic device monitoring and control services All home appliances generate information about them-
to end users. selves, such as their features, service capabilities, and current
The metadata stored in HDFS are transferred to an MSM status. Device features and service capabilities are predefined
when a user makes a request. The MSM establishes a one- by respective vendors, while status information is generated
to-one connection with the user’s smart device. To extract by a sensor integrated with the device. Sensors differ accord-
status information about the device specified by the user, ing to the device with which they are associated. However, a
the MSM acquires the metadata associated with the device sensor is designed to meet some criteria to properly perform
from HDFS. It then passes the data to the user in text format its basic function as specified. For example, a refrigerator
International Journal of Distributed Sensor Networks 7

is divided into a freezer compartment and a refrigerator Table 1: Specifications for the components of the development
compartment. Each compartment has a distinctive sensor environment.
to measure temperature with different criteria. The user Data Home Appliances Smart
can check the temperature for each compartment using the Content
server gateway simulators devices
relevant sensor. Sometimes there may be a need to adjust the 2.9 GHz 1.4 GHz
temperature in the compartment depending on the food we 2.53 GHz 1 GHz
CPU Quad- Quad-
want to keep in the refrigerator. In addition, the refrigerator Dual-Core Dual-Core
Core Core
could provide a function that retrieves the expiration date of RAM 2 GB 2 GB 2 GB 2 GB
the food stored in it. These kinds of information are dealt
Hard disk 300 GB 150 GB 16 GB 16 GB
with by the data server. The refrigerator only passes the data,
such as the expiration date, to the data server. In the case of a Android Android
OS Ubuntu Ubuntu
4.1 4.0
humidifier, the sensor would need to measure the water level
of the water tank and transfer that data to the data server. Hadoop, Android
Libraries Cling Cling
Cling API
The sensor is used to measure the device’s condition except
for the basic features of the device. Information regarding the
device’s features is advertised within the home network via
the router. state using his/her smart device, it is necessary to send
The home gateway collects the information advertised the relevant command to the data server. The data server
via the router, checks it, and registers it in the DRF. The then fetches the commands that enable the user to control
home network is configured based on UPnP, so the data are the device. To do this, the data server finds out the action
exchanged among the devices in XML format. For this reason, command for the device in the metadata stored in HDFS in
the device features and service information are extracted conjunction with MapReduce. Once the action command is
using the DMPM. Specifically, DMPM extracts the device’s found, it is sent back to the home gateway via NBM, together
URL and model name from the advertised data. After these with information about the device. On receiving the action
data are extracted, the information is stored in a temporary command and the device’s information, the home gateway
space. The information is then utilized by the DSF to collect sends an appropriate command to the specific device. When
detailed information about the device. On the basis of the the device gets the command sent by the home gateway, it
information registered about the device, the DSF makes a changes its state in accordance with the command. Once the
request for detailed service information to the specific device. change is complete, the related information is sent back to
When the device receives this request from the DSF, it sends the home gateway. As data flows freely around the system, the
service function metadata back to the DSF. As with the system’s components carry out their functions in an organic
other types of information, the service function metadata are fashion by interfacing with one another. Figure 5 illustrates
extracted by the DMPM. The information is then used when the data flow activities for each step.
the action command is transmitted to the device in the future.
Once the DSF obtains service function information about 5. Implementation of Our Proposed System
a specific device, all of the data are sent to the data server
through the NBM, a communicating module that uses the 5.1. Development Environment. We implemented all the
HTTP protocol. devices comprising our proposed system using a general-
The data server obtains various pieces of information purpose computer and smart devices. Specifications for the
about the home appliances, such as device features, service various components used in the development environment
capabilities, and status information, from the home gateway for the implementation are listed in Table 1. The data server
via NBM. Once the information has been received, the MEM was a four-node cluster because it needed to be capable of
examines it and divides it into separate metadata such as storing metadata generated by a number of home appliances
model name, model URL, deviceType, friendlyName, model and creating large amounts of log files accordingly. In order
description, service description, and action name. Those to prevent loss of log data, the data were stored in HDFS
metadata are then deposited in HDFS using MapReduce, on the data server. Hadoop-based MapReduce was applied
and are used as basic data for providing device-monitoring to process the data. The Cling library was used to realize
services to the smart device of the user. When the user sends communication with the home network. Because the Cling
a request to the data server, the data server sends model name library has excellent support for UPnP and is Java-based,
and state information for the device using the MSM. it is suitable for MapReduce, which runs on a Java-based
In our proposed system, a user can monitor an appliance’s platform. In addition, Cling provides a UPnP library based
state and control it on his/her smart device. In providing on Android. Our system was implemented using simulators
monitoring and control services for the devices, the user’s acting as home appliances instead of actual devices. The
smart device does not need to have data processing capabili- simulator was developed with the Android-based Cling
ties itself. The smart device only utilizes the services provided library. Finally, a smart device was implemented with a focus
by the data server. This means that the function required on enabling it to be used anywhere an internet connection is
by the smart device is very simple. Thus, if the Internet is available because the smart device should be able to access the
available, the user can monitor and control the devices via data server in order to allow the user to monitor and control
the data server. If the user attempts to change an appliance’s the home appliances.
8 International Journal of Distributed Sensor Networks

Smart devices Data server Home gateway Appliances


Sensor
Advertisement
Device collection
Subscription
Metadata transmission
Metadata extraction and storage
Metadata transmission

Metadata extraction and storage


Monitoring service request (Hadoop based processing)

Metadata selection
Metadata transmission
Status view

Action call
Action command transmission
Action command selection
Action command transmission
Action command transmission
Change status

Figure 5: Data flow activities among the steps in our proposed system.

Figure 6: Implemented home appliance simulators.

5.2. Implementation Results. We implemented all compo- The main roles of the home gateway are as follows: (1)
nents, except for the smart devices, using the Java-based Cling collection of information about the home appliances, such as
library. We also implemented the simulators for home appli- device features, service capabilities, and conditions; (2) sen-
ances such as refrigerators, humidifiers, and air conditioners ding the information collected to the data server; and (3)
using a Samsung Galaxy Note 10.1 tablet. We then tested the allowing the user to control the home appliances by means
system in conjunction with the simulators. The simulation of commands sent by the data server to the device. We
results are shown in Figure 6. implemented these functions using the Cling library. The
After establishing a connection between the home gate- APIs used to collect information about devices are listed in
way and the data server, we sent information about the home Table 3.
appliances to be stored in HDFS on the data server. The stored The home gateway is in charge of sending the device’s sta-
data were then transferred to a user’s smart device by the tus information to the data server. To do this, we implemented
MSM of the data server. Using the data sent by the MSM, a Cling-based bridge in the home gateway. The bridge enables
users were able to browse information about the condition of the home gateway to communicate with the data center. As
the home appliances and control them at will. Figure 7 shows mentioned above, NBM operates as a bridge. The main APIs
screen captures for the data server, the home gateway, and the used for implementing the bridge are listed in Table 4.
smart device. Table 5 lists the APIs that are used for storing metadata in
To implement the home appliance simulator, we used an HDFS on the data server. The main APIs used by MapReduce
API provided by the Cling library. Table 2 lists the classes and to extract information are included in the APIs shown in
functions provided by the API. Table 5.
International Journal of Distributed Sensor Networks 9

(a) (b) (c)

Figure 7: Implementation results for the data server (a), the home gateway (b), and the smart device (c).

Table 2: Cling library API simulation classes and functions. Table 4: Classes and functions of the network bridge module.

Class names Functions Class names Functions


Device Generates the device features of devices BridgeStartedEvent Used to start a WAN bridge
Generates the service information of BridgeStoppedEvent Used to stop the WAN
Service
devices bridge
UDN Generates UUID ConfigureBridgeController Configures HTTP-based
DeviceDetails Used to advertise device features address
AnnotationLocal Binding service information provided by EndpointController Used to connect with an
ServiceBinder devices endpoint
Registers device features and service Bridge Used for getting
Registry communication arguments
information
SwitchableRouter Used to connect to the home network
Table 5: The APIs used to implement the data server.

Table 3: APIs used in the home gateway. Class names Functions


Configuration Sets system states
Class names Functions
Path Path of files or data directory
Device Generates the device features of devices InputSplit Splits the data stream
Generates the service information of FileSplit Splits files
Service
devices
GetPath Returns the split files’ path
UDN Generates UUID
FSDataInputStream Used for storing files in HDFS
Registers device features and service
Registry
information
SwitchableRouter Used to connect to the home network
and sends them to a cloud-based data server. The data server
RegistryListener Used to collect device information stores metadata on HDFS, processes them using MapReduce,
Used to transmit action commands to and also uses them to provide a monitoring service to users.
ActionCallback
control devices Users can also control the home appliances via the NBM
Subscription Requires detailed service information provided by the data server. As a result of the provision of the
Callback about devices home appliance monitoring and status-controlling functions,
ActionArgument users can easily confirm the status of home appliances.
Gets detailed service functions
Value Our proposed system easily deals with the large amounts
Periodically requires status information of home appliance metadata generated by processing them
GENASubscription
of devices using cloud computing technology and effectively utilizing
computing resources.
In our proposed system, HDFS is used to store and
6. Conclusions manage home appliance metadata. However, an effective
approach to store and manage semistructured data such as
Users can monitor and control home appliances from outside XML is needed. Therefore, as future work, we plan to design
a home network using our proposed system. Home appli- a real-time data monitoring system to effectively manage
ances form ubiquitous sensor networks via status sensors that semistructured and unstructured data. In order to reduce
they use to advertise device features and service information. the computational burden of smart devices, we also aim to
According to the home appliance information advertised, a design a zero-client interface using HTML5 to support the
home gateway collects metadata from the home appliances monitoring and control of home appliances. Furthermore,
10 International Journal of Distributed Sensor Networks

we plan to research about home cloud services to handle [12] D. Dı́az-Sánchez, F. Almenarez, A. Marı́n, D. Proserpio, and
multimedia devices and home appliances integration system. P. A. Cabarcos, “Media cloud: an open cloud computing
middleware for content management,” IEEE Transactions on
Consumer Electronics, vol. 57, no. 2, pp. 970–978, 2011.
Conflict of Interests [13] Y. Pan and J. Zhang, “Parallel programming on cloud com-
puting platforms—challenges and solutions,” Journal of Conver-
The authors declare that there is no conflict of interests
gence, vol. 3, no. 4, pp. 23–27, 2012.
regarding the publication of this paper.
[14] M. Kim, S. Han, Y. Cui, H. Lee, and C. Jeong, “A Hadoop-based
multimedia transcoding system for processing social media in
Acknowledgment the PaaS platform of SMCCSE,” KSII Transactions on Internet
and Information Systems, vol. 6, no. 11, pp. 2827–2848, 2012.
This paper was supported by Konkuk University in 2012. [15] K. Shvachko, H. Kuang, S. Radia, and R. Chansler, “The
Hadoop distributed file system,” in Proceedings of the IEEE 26th
Symposium on Mass Storage Systems and Technologies (MSST
References ’10), pp. 1–10, Incline Village, Nev, USA, May 2010.
[1] E. U. Warriach, E. Kaldeli, A. Lazovik, and M. Aiello, “An inter- [16] J. Dean and S. Ghemawat, “MapReduce: simplified data process-
paltform service-oriented middleware for the smart home,” ing on large clusters,” Communications of the ACM, vol. 51, no.
International Journal of Smart Home, vol. 7, no. 1, pp. 115–141, 1, pp. 107–113, 2008.
2013. [17] J. Liu and S. -H. Chung, “An efficient load balancing scheme
[2] H. Gu, Y. Diao, W. Liu, and X. Zhang, “The design of smart for multi-gateways in wireless mesh networks,” Journal of
home platform based on cloud computing,” in Proceedings Information Processing Systems, vol. 9, no. 3, pp. 365–378, 2013.
of the International Conference on Electronic and Mechanical [18] Y. Cui, M. Kim, and H. Lee, “Social media sharing system:
Engineering and Information Technology (EMEIT ’11), pp. 3919– supporting personalized social media service using UPnP tech-
3922, Harbin, China, August 2011. nology in cloud computing environment,” Information, vol. 15,
[3] X. Ye and J. Huang, “A framework for cloud-based smart home,” no. 5, pp. 2043–2054, 2012.
in Proceedings of the International Conference on Computer [19] UPnP Forum, “UPnP AV Architecture 1.1,” October 2008.
Science and Network Technology (ICCSNT ’11), pp. 894–897, [20] Y. Cui, M. Kim, and H. Lee, “Cloud-based home media system
Harbin, China, December 2011. model: providing a novel media streaming service using UPnP
[4] M. Z. Bjelica, B. Mrazovac, V. Vojnovic, and I. Papp, “Gateway technology in a home environment,” International Journal of
device for energy-saving cloud-enabled smart homes,” in Pro- Software Engineering and Its Applications, vol. 7, no. 4, pp. 127–
ceedings of the IEEE 35th International Convention (MIPRO ’12), 136, 2013.
pp. 865–868, Opatija, Croatia, 2012. [21] Y. Kato, T. Ito, H. Kamiya, and M. Ogura, “Home appliance
[5] M. M. Islam, J. H. Lee, and E.-N. Huh, “An efficient model for control using heterogeneous sensor networks,” in Proceedings of
smart home by the virtualization of wireless sensor network,” the Consumer Communications and Networking Conference, pp.
International Journal of Distributed Sensor Networks, vol. 2013, 1–5, Las Vegas, Nev, USA, 2009.
Article ID 168735, 10 pages, 2013. [22] Y.-S. Jeong, E.-H. Song, G.-B. Chae, M. Hong, and D.-S. Park,
[6] Y. M. Baek, S. C. Ahn, and Y.-M. Kwon, “UPnP network bridge “Large-scale middleware for ubiquitous sensor networks,” IEEE
for supporting interoperability through non-IP channels,” IEEE Intelligent Systems, vol. 25, no. 2, pp. 48–59, 2010.
Transactions on Consumer Electronics, vol. 56, no. 4, pp. 2226– [23] J. Gao and Y. Xiao, “Design for accountability in multi-core
2232, 2010. networks,” Journal of Convergence, vol. 3, no. 3, pp. 9–16, 2012.
[7] D.-O. Kang, K. Kang, S.-G. Choi, and J. Lee, “UPnP AV [24] C.-W. Chen, Y.-R. Tsai, and S.-J. Wang, “Cost-saving key agree-
architectural multimedia system with a home gateway powered ment via secret sharing in two-party communication systems,”
by the OSGi platform,” in Proceedings of the International Journal of Convergence, vol. 3, no. 4, pp. 29–36, 2012.
Conference on Consumer Electronics (ICCE ’05), pp. 405–406, [25] T. Matsuura, K. Hisazumi, T. Kitasuka, T. Nakanishi, and A.
January 2005. Fukuda, “UDSS: sensor device for context awareness in home
[8] P. Bellavista, P. Gallo, and C. Giannelli, “Discovering and access- network,” in Proceedings of the 4th International Conference
ing peer-to-peer services in UPnP-based federated domotic on Networked Sensing Systems (INSS ’07), pp. 196–200, Braun-
islands,” IEEE Transactions on Consumer Electronics, vol. 58, no. schweig, Germany, June 2007.
3, pp. 810–818, 2012. [26] Z. Wei, S. Qin, D. Jia, and Y. Yang, “Research and design of
[9] N. Ishikawa, “PUCC activities on overlay networking protocols cloud architecture for smart home,” in Proceedings of the IEEE
and metadata for controlling and managing home networks and International Conference on Software Engineering and Service
appliances,” Proceedings of the IEEE, vol. 101, no. 99, pp. 1–12, Sciences (ICSESS ’10), pp. 86–89, Beijing, China, July 2010.
2013.
[10] H.-Y. Hsueh, C.-N. Chen, and K.-F. Huang, “Generating meta-
data from web documents: a systematic approach,” Human-
Centric Computing and Information Sciences, vol. 3, no. 7, pp.
1–17, 2013.
[11] L. Xu, X. Zheng, W. Guo, and G. Chen, “A Cloud-based moni-
toring framework for smart home,” in Proceedings of the IEEE
4th International Conference on Cloud Computing Technology
and Science, pp. 805–810, Taipei, Taiwan, 2012.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 872842, 9 pages
http://dx.doi.org/10.1155/2014/872842

Research Article
GTrust: Group Extension for Trust Models in
Distributed Systems

Robson de Oliveira Albuquerque,1,2 Luis Javier García Villalba,1 and Tai-Hoon Kim3
1
Group of Analysis, Security and Systems (GASS), Department of Software Engineering and Artificial Intelligence (DISIA),
School of Computer Science, Office 431, Universidad Complutense de Madrid (UCM), Calle Profesor José Garcı́a
Santesmases s/n, Ciudad Universitaria, 28040 Madrid, Spain
2
Electrical Engineering Department, University of Brasilia, Campus Universitário Darcy Ribeiro, Asa Norte,
70910-900 Brasilia, DF, Brazil
3
Department of Convergence Security, Sungshin Women’s University, 249-1 Dongseon-dong 3-ga, Seoul 136-742, Republic of Korea

Correspondence should be addressed to Luis Javier Garcı́a Villalba; javiergv@fdi.ucm.es

Received 30 October 2013; Accepted 20 December 2013; Published 10 February 2014

Academic Editor: Naveen Chilamkurti

Copyright © 2014 Robson de Oliveira Albuquerque et al. This is an open access article distributed under the Creative Commons
Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is
properly cited.

This paper proposes and describes a trust model for distributed systems based on groups of peers. A group is defined as a collection
of entities with particular affinities and capabilities. All entities may have a trust and a reputation value of each other in the system.
In many cases it may be necessary to trust the whole system instead of one particular entity. In such cases group trust represents
the trust of their particular members. To achieve this, this paper presents a group trust calculation model. We implemented the
proposed model in a P2P simulation tool and presented main results for group trust calculation.

1. Introduction significantly because of the complexity, distribution, chan-


nels, data, and networks, which make the traditional security
Nowadays, distributed systems have become very complex approaches inefficient. This also leads the technology and
environments in that hundreds of nodes have to collaborate researches towards new manageability challenges.
in order to provide large-scale services. Some examples can
It has become clear that new trust management systems
be P2P networks, multiagent systems, grid systems, cloud
are necessary in order to accomplish security related to
systems, and so on. In these scenarios, trust between entities
becomes a crucial factor as a way of determining the reliability distributed system [2] considering the amount and variety
of the different nodes in the system and to detect and predict of systems connected. The management of trust relationships
misbehaviors and security threats. In these environments, between different peers belonging to a distributed system can
trust can also help in the veracity of the system. be done using different approaches. The trust relationships
Considering that the Internet nowadays has so many can be manually established by each node in the network
different types of things connected to it, there is no known around the rest of the nodes. This manual approach does
way of dealing with the amount of information or data that is not scale when the number of nodes becomes bigger and
necessary to verify if systems are fully reliable. This amount of bigger, so other approaches based on a trust model are
connected elements and its functions are commonly named used to automatically calculate how much a node can trust
Internet of things [1]. Once that so many possibilities of other nodes. Usually, a given node follows a trust model
information and systems are connected and a lot of them to determine if a node is trustworthy or not depending on
interoperable, the amount of security threats also increases two different aspects: (i) trust values are locally calculated
2 International Journal of Distributed Sensor Networks

and (ii) trust values are provided by the rest of the nodes in Node Betrayal
exit
the network (reputation).
Current trust models are generally used to calculate
one-to-one relationships between nodes. This means that 0 1
an entity A needs to determine the trust value for all the
Distrust Blind trust
other entities available in the distributed system, which has
to communicate with A. In large-scale scenarios, this fact Environment
is an important lack of scalability in distributed systems situations
due to the fact that A needs to calculate and maintain as
Figure 1: Trust or distrust and influences.
many trust relations as the number of nodes necessary to
accomplish A’s work. Other scenarios consider several entities
as a single node for trust purposes. For example, a distributed Table 1: Summary of common set of trust characteristics.
file system could be seen as a single entity even though it is
composed of several subentities and a security threat in any of Characteristic Example
them may compromise the complete file system. This kind of Entity A may trust B to download
simplifications may cause a lack of the accuracy of the current Trust is context aware files but does not trust B to perform
models. routing
When A needs to communicate with a group of nodes Trust can be measured Entity A has more trust in entity B
having the guarantee that the group itself is trustworthy, A than A’s trust in entity C
wants to independently form an opinion about the whole Trust changes with time The amount A trusts B may increase
group. If this is the case, it may be necessary to establish or decrease as interaction happens
communication with every group member. This makes entity Entity A may trust entity C because
A start an exhaustive process of discovering every member of Trust is socially aware C was presented by entity B, and A
the group. In most practical situations this is not a good idea already trusts B
because it will make entity A try to find maybe thousands of Trust may be directional Entity A may trust B, but B may not
nodes in a network. This consumes time and resources for trust A
entity A and may not be the best approach to achieving its
objectives.
To address these problems, the main contribution of this the decision of agreements between two or more members
paper offers a novel extension to conventional trust models of the network. That is particularly true in distributed envi-
that enables the support for calculating the trust values for ronments where there is no certainty about the destination
groups of nodes. A group is defined as a collection of entities and the communication process can be easily deceived.
with particular affinities and capabilities. Then, the entities Gambetta [8] considers trust as a particular level of subjective
which need to interact with a given group are able to find probability and Marsh [9] says that trust involves probability
a trust value for the whole group directly, thus avoiding and this permits a representation of trust in values between
the necessity of discovering the whole group members and zero and one.
providing more accurate information about the group than This approach creates a concept where a trust value
approaches which consider the group members as a single ranges from 0, which means complete distrust, to 1 which
entity. The extension provided has been implemented and means complete trust. This value may suffer interference of
validated by means of a set of statistics. nodes, betrayal, and so forth. Moreover, complete trust is
In order to describe the proposal, this paper is organized not desirable in most scenarios because it eliminates any
as follows. Section 2 reviews some aspects and definitions possibilities to suspect any particular node. Figure 1 illustrates
about trust and reputation. Section 3 discusses some related this consideration.
work of different trust models for distributed systems. There are common aspects in almost all the references
Section 4 presents the proposed group trust model. Section 5 about trust models that make us determine a common set of
shows implementation results and Section 6 ends this paper features related to trust. These features can be summarized in
with the conclusions and future works. Table 1.
As opinion, it has many subjective evaluations depending
on several factors like situation observed (context), own trust
2. Definitions value inference, information received by others in a social
relationship, and so forth. The reputation value evolves with
The concept of trust and its definitions has been studied by time and directly depends on the behavior of the entity being
many authors and is part of many research projects. Trust observed. Reputation may also represent indirect trust. It
is recognized as an important aspect for decision-making in includes asking for the opinion of other parties with whom
distributed systems [3–6], but there is no general consensus the entity has previously interacted in the past about a third
in the literature on the definition of trust and what trust entity. Reputation can also be defined as the common opinion
management comprehends. For example, Patel [7] considers of others regarding an entity [7], which may be used in the
that trust in computational relations may be focused on absence of trust formed from personal opinions. Reputation
the optimized selection of a communication partner and on values take time to be acquired, but it can be easily lost
International Journal of Distributed Sensor Networks 3

in social aspects. Calculation of reputation values is done is a robust reputation system for P2P and mobile ad hoc
using past information that has been obtained during time networks where everyone maintains a reputation rating and
and based in the information that was received from trusted a trust rating about everyone else they care about. PTM
parties. These variables enable an entity to form an idea [20] is a decentralized trust model which expressed trust
about an unknown entity. It could be considered as a social relationships with fuzzy logic. These relationships can be
evaluation of an individual or group of individuals. established as direct or indirect. In the former, A will trust
B without intervention of third parties. In the latter, the
indirect trust relationships are given by recommendations
3. Related Work from TTPs. A TTP is a peer who has a trust value higher than
a certain threshold. Such recommendations are distributed
There is an important number of research works providing using a pervasive recommendation protocol (PRP) among
trust models for different distributed scenarios such as grid close entities.
computing, P2P, multiagents, ad hoc networks, wireless Regarding trust models for multiagents systems,
sensor networks, and cloud computing. This section provides TRAVOS [7] consists of a trust and reputation model for
a review of trust and reputation models in order to motivate virtual organizations based in agents, in which trust is
our new trust model in context with the other works. Regard- measured using probability. The evaluation of the amount of
ing trust models for Zhao and Dong [10] present a trust trust is based on past interactions and reputation obtained by
model multidomain grids scenarios and consider that trust other nodes. Sporas [21] is another reputation mechanism in
can be used to evaluate the relationship between grid resource agent systems where the reputation is computed recursively
providers and grid consumers. Jingshan et al. [3] present and where the more recent a rating is, the more weight it
a trust model for grids based on the information provided has. MTrust [22] uses a Bayesian network to calculate the
by the last service used. According to the authors, their trust value among entities in the network. It is focused on
proposed model achieved less resources occupied, increased a mobile agent system, where the cooperative interactions
flexibility, and prevention of threat of malicious evaluation among these agents and their respective visited hosts are
and cooperative cheating in the grid. GridTrust [11] security ensured. Regret [23] (one of the most representative trust
framework is able to provide trust management in vertical and reputation models in multiagent systems) manages
and horizontal approach in the grid. GSF is based on layers reputation from three different dimensions: the individual
and policies that control and monitor users activities in such one, given from direct interactions with the agent; the social
a way that security and trust are guaranteed by their model. one, from previous experiences of group members with the
Regarding trust models for P2P, the novelty and strong agent and its acquaintances; and the ontological one, given
point of the model proposed in DWTrust [12] is that all by the combination of multiple aspects in order to build a
the factors that have influence on the trust value for a reputation about complex concepts. AFRAS [24] proposes
particular node are represented as dynamic weights that a reputation mechanism in multiagent systems whose main
adapt themselves depending on the trust policy of each characteristic is the modeling of an agent reputation and the
node. AntRep [13] is another trust model where reputation interaction rating as fuzzy sets. In case the reader is more
evidence is distributed over a P2P network based on the interested in how many of the previous models are being
swarm intelligence paradigm [14]. In AntRep each peer has calculated, Gómez Mármol and Martı́nez Pérez [5] provide
a reputation table (RT) which is very similar to the distance- a very complete and comprehensible survey of trust models
vector routing table [15] but differs in the following aspects: for distributed systems.
(i) each peer in the RT corresponds to one reputation content; Largillier and Vassileva [25] argue that group formation
(ii) the metric is the probability of choosing each neighbor is a difficult task. It has many different contexts and groups
as the next hop instead of the hop count to destinations. can be formed based on users criteria or using methods that
EigenTrust [16] has become one of the most cited trust models matches what users desire. In most cases it does not take into
for P2P networks. It achieves a decrease in the number of account previous successful or unsuccessful collaborations
downloads of inauthentic files in a P2P file-sharing network to forge new ones. Considering this, their work proposes a
by assigning each peer a unique global trust value, based on model of collaborative trust to help select the criteria that is
the peer’s history of uploads. the best fitted group for a task. Al-Oufi et al. [26] explain that
Regarding trust model for mobile ad hoc networks in order to protect users it is important to identify trustworthy
(MANETs), Chang et al. [17] propose a Markov chain-based people. Their work extends the Advogato trust metric [27] so
trust model to determine the trust value for each one-hop trustworthy users can be identified. The authors [26] claim
neighbors in multicast MANET and the results indicate that that their model has advantages over existing representative
the convergence speed is independent of the trust classes methods because it is able to discover reliable users and
and of the initial values of the proposed model. Liu et prevent unreliable users. Easa et al. [28] say trust is used
al. [4] present a reputation model able to use subjective in soft security and proposes a group-based trust method
opinions with familiar values in order to prevent selfish to propagate information among peers. They also consider
behaviors in MANET. Nodes accumulate reputation informa- two factors called intermediate group confidence and group
tion and create a familiarity value used to compute impact confidence used between two groups.
of reputation recommendation. RRS for P2P and MANETs Related to trust and the Internet of things, Saieda et al.
[18] present an enhancement of CONFIDANT [19], which [2] propose a new trust management system and design
4 International Journal of Distributed Sensor Networks

a context-aware and multiservice trust management system distributed system scenarios where every node can perform
fitting the new requirements that the authors consider impor- its own decision, such agreement is very difficult because
tant in their model. Schulz and Tjstheim [29] point out that, entities must exchange trust and reputation information that
when there are interactions with objects and services in the should have been defined previously considering, for exam-
Internet of things, usually the users need to trust that their ple, security aspects as availability and integrity. However, if
data is safe and that things will fulfill their promise. Wang it is assumed that an entity should not trust other entity if
et al. [30] consider trust management as a way of providing its trust value is not inside a specific range, this entity could
a potential solution for the security issues of distributed avoid exchanging information with another in the system
networks and propose a new distributed trust management thus leading to a complete failure of acquiring enough trust
mechanism for the Internet of things. They propose a model information to create trust consensus. Besides, this should
using sensor, core, and application layers which provide a consider that some basic factors are commonly known and
general framework for the study of trust management for the used by every entity in the system and that may not be true
Internet of things. in most distributed systems. If it is considered just voting
All this preview work shows that trust is used in many schemas for a leadership choosing process, this may not
different distributed technologies. Very few works consider represent consensus because what an entity does is just to
the group aspect of distributed system as an important char- vote. In other words, it is to choose one among many options.
acteristic to help provide security and reliability in distributed Voting schemas, in general, do not consider consensus in a
systems. It is also important to remember that trust and distributed manner, which contradicts the trust aspects. It is
reputation have increased significantly in recent years and not the objective of this work to develop a trust consensus
nowadays they are being considered as important factors to algorithm or a trust consensus model in order to choose a
help extend the functionalities in distributed systems. leader.
To have a consensus process enables entities to express
4. Group Trust Model their opinions about the leadership election process. It is
important to observe that any entity in the group may be
This section describes the extension for supporting groups in the potential leader of the group. One prerequisite is that the
trust models. This extension enables the definition of trust candidate entity has trust and reputation values expressed by
values over both groups and single entities. A group is defined the members of the group. Extending this view, any entity
as a collection of entities connected together with common may announce its preferred candidate also depending on the
goals or even common contexts. Thus the entities are able context. That makes the leadership choosing process more
to perform specific works in a common context like service complicated than just voting. For example, an entity could be
offering. Moreover, the entities are also able to perform trust responsible for taking other entities opinion and announcing
and reputation calculation of other entities in the system in the network who has the most elevated trust value among
that considers any interaction. This group extension can be 𝑛 + 1 members, where 𝑛 is half of the whole group. Well,
deployed over a system in which entities use any trust and in large groups that can be a problem because this process
reputation model that attends to the system needs. This work may flood the network with messages for just choosing one
just considers that there is a trust and a reputation algorithm entity as leader. Another point of view is that entities may
that can perform trust and reputation calculations and is infer that a trust value is acceptable or not thus generating a
considered as an extension over such algorithm. The trust trust threshold. If an entity does not overcome a specific trust
added value is a consequence of the individual trust values value than another entity, it may assume by its own means
of the group members. The added value represents a point of that the entity in focus may not be the leader for it. However,
information for external entities so they can use it to infer the that may not be true for another entity that believes that it has
whole group trust value. enough trust to be the leader. Both assumptions lead us to a
To perform a trust calculation over a group, it is a requisite quantitative trust measure and not a qualitative approach and
of our model that there should be a leader in the formation of in some distributed system that is not adequate. It is not the
the group. It is not easy to determine a leader for holding trust objective of this work to develop a trust leadership algorithm
information and thus a method by consensus is adopted to or a trust leadership model.
determine the leadership of the group. Entities in a group may So, once a leader already exists in the groups, entities in
be able to agree to a minimum level of trust (trust threshold) the group have agreed that this leader is the representation
in order to make a common analysis and commonly choose a of the group for new members and for the outside world.
leader based on trust. The problem is that not every entity has It is normal that entities may not be able to be actuated in
the same trust value about any other entity. This is because every context available in the system. For example, one entity
trust is calculated by every entity using its own ability and may be able to upload files but may not be able to perform
making use of its own inferences. matrix calculation. So it is a requisite to the model that the
Entities may agree in an ordinary value of trust and also leader in the group knows every context in order to be able
agree that this value is enough to assume that one specific to calculate the trust information of the group for all such
entity can represent the whole group. This assumption trans- contexts available within the group. Thus, let’s define how to
forms the chosen entity to the leader of the group. In real calculate the trust value of the groups. Firstly, the reputation
International Journal of Distributed Sensor Networks 5

that entity 𝐵 has for entity 𝐴 in a particular context 𝐶 is in distributed systems. We assume in our model that the
𝐶
represented in the following equation by notation 𝛿𝑎,𝑏 : protocol to exchange information with the leader can be
proactive, reactive, and hybrid depending on the scenario in
𝐶 𝐶 which the protocol is deployed. Note that in some scenarios
𝛿𝑎,𝑏 = 𝑖 𝑉𝑎,𝑏 , (1)
the members of groups already know who is the leader and
where 𝑖 𝑉 is the reputation value calculated for the interaction then can proactively send such information. A new member
𝑖 using the available reputation model in the system. In this can always ask for the leader of the group, so we assume that
𝐶
case 𝑖 𝑉𝑎,𝑏 is one record that represents the expectation that the node is able to find and communicate with the leader.
𝐵 will fulfill A’s requests in context 𝐶 for the interaction 𝑖. Once this process is defined, the leader computes the final
Trust and reputation values may be stored as many individual reputation of each entity as the average of the reputation
records of every contextualized interaction with the same values provided by the rest of entities within the group:
or different entity. Thus, an entity may have a collection of
𝑗
different reputation values for other entities in the system. ∑𝑖=1 𝐾𝑎,𝑏
Then, an entity 𝐵 may calculate the final reputation about an 𝜔𝑛𝑔 = with 𝑗 > 0, (4)
𝑗
entity 𝐴 for a particular context 𝐶 using
𝑗 𝐶
where 𝜔𝑛𝑔 is the average reputation of entity 𝑛 as seen by the
𝐶 ∑𝑖=1 𝑖 𝑉𝑎,𝑏 rest of the entities of group 𝑔 and 𝑗 represents the quantity
𝛿𝑎,𝑏 = with 𝑗 > 0, (2)
𝑗 of members in group 𝑔. After performing the final average
reputation of every entity in the group, the leader can generate
𝐶
where 𝛿𝑎,𝑏 is the final reputation that entity 𝐵 has for 𝐴 in the final trust value of the group using all reputation values
context 𝐶 and 𝑗 represents the amount of interactions that computed before. This computation process is represented:
𝐴 and 𝐵 have done in context 𝐶. Following, one entity may
have as many contexts as it is programmed to. Then the final ∑𝑥𝑖=1 𝜔𝑛𝑔
𝑖 (5)
𝜆𝑔 = , with 𝑥 > 0,
reputation regarding all contexts of one entity about another 𝑥
is given by the following expression:
where 𝜆𝑔 represents the final trust value of the group 𝑔 and
𝐶𝑖
∑𝑥𝑖=1 𝛿𝑎,𝑏 (3)
𝑥 represents the quantity of members in the group. Once the
𝐾𝑎,𝑏 = with 𝑥 > 0, leader has the trust value of the group, the leader can send
𝑥
this information to all members of the group.
where 𝐾𝑎,𝑏 is the final reputation value that entity 𝐵 has for In the case where there are many groups (𝑁), every group
𝐴 for all contexts and 𝑥 is the amount of all contexts that leader can perform its own trust value calculation and inform
𝐵 knows about 𝐴. This way entity 𝐵 is able to store all the its trust value to other group leaders. Every group leader has
reputation information about 𝐴 in a given time period as one the responsibility to store group trust information, send it
value. This value is used to perform the calculation of the when asked, and distribute this value to new members, new
trust value for the group. It is important to remember that leaders, and group outside requests as well. As seen the group
reputation evolves with time, so this value can go up or down role is very important, so the leader must be chosen carefully.
during time as 𝐵 interacts with 𝐴. In order to create a common process to perform group
In our model, we consider that what best represents the calculation the algorithm represented in Figure 2 can be used.
trust value of a group is the reputation that every entity
within the group has about all entities of the group that it is
part of. Then, the trust value can be calculated as an average 5. Implementation and Analysis
reputation of all members inside the group. Considering this,
the leader of the group receives and organizes the reputation The proposed model has been implemented and some
values of the rest of the entities and computes the trust value statistics results have been obtained in order to validate
of the group. For example, let’s consider an example group it. In essence, a testbed has been set up by means of a
of 5 members 𝐺 = {𝑀1, 𝑀2, 𝑀3, 𝑀4, 𝑀5} and 𝑀5 is the P2P simulation tool [31] to create a basic group and to
agreed group leader. In this case, 𝑀5 asks 𝑀1 about the develop all calculation processes. The simulation tool uses
reputation information about 𝑀2, 𝑀3, 𝑀4, and 𝑀5. After asynchronous interactions between machines and different
that, 𝑀5 asks 𝑀2 about the reputation information of 𝑀1, scenarios were simulated according to specific policies in
𝑀3, 𝑀4, and 𝑀5 and so on. Then, 𝑀5 uses this information the network. Some assumptions were defined in the test
to calculate the trust value of the group. It may sound that 𝑀5 environment in order to organize the tests. For simplicity,
may manipulate the reputation value that it receives, which is the testbed is accomplished assuming that peers do not lie
true. To avoid that particular case, we assume that the leader about trust and reputation values in the network. However
role is an important function in the group so the leader must this behavior can also be detected using the underline trust
not cheat; otherwise the whole system may fail if it is trust model used in the proposal. All participants are doing the
based. same number of interactions in the testbed. The objective is
It is important to remember that there is no common to find standards and verify certain behaviors about trust and
trust communication protocol for exchanging information reputation values in the system.
6 International Journal of Distributed Sensor Networks

Perform Table 2: Resumed interactions for test parameters.


Define group individual
Start leader reputation Source peer Destination peer Time (s) Speed (Kb/s)
calculation Peer1 Peer2 0.121 3363
Peer3 Peer4 0.280 723
Peer1 Peer6 0.441 459
Peer2 Peer7 0.510 797
Does the Peer6 Peer3 0.480 1221
Ask reputation No leader have all
information of information to Peer9 Peer4 0.701 1161
group members calculate group Peer10 Peer5 0.881 923
trust?
Peer6 Peer7 0.160 635
Yes
Peer7 Peer8 0.210 1937
Entity
calculates its Store
reputation of Table 3: Probable situations considered.
reputation
group known information of
members A-File load B-integrity C
group Description
members
check
(1) File corrupted and on 0.00 0.250
1.00
Send reputation time
values of Calculate group (2) File corrupted and a 0.00 0.125
entities to trust 0.50
leader little delayed
(3) File corrupted and 0.00 0.000
0.00
completely delayed
End Send group trust (4) File not corrupted and 1.00 1.000
when requested 1.00
on time
(5) File not corrupted and a 1.00 0.875
Figure 2: Algorithm for group trust calculation. 0.50
little delayed
(6) File not corrupted and 1.00 0.750
0.00
completely delayed

When interactions between entities correspond (or not)


to the expected behavior, it can be determined if the peer were executed. Several interactions have been fulfilled for a
is trustworthy (or not). Some behavior patterns have been file with fixed size (100 Kbytes), and a standard time could be
delimited as desirable in the system. Firstly, there are no defined for a successful interaction.
errors in the communication transmission; secondly, the time Table 2 has some summarized definitions of the test
for transmitting a file is determined by the quality level of the interactions to limit the values expected. Based on this infor-
transmission. These parameters have been chosen in order to mation it has been determined that the expected transference
simplify the P2P environment, thus permitting the focus of time of a file is up to 1 s, a short delay would be between 1 s and
the analysis on trust and reputation values considered in the 2 s, and a completely delayed is above 2 s. The other parameter
interactions of peers and performing the calculation of the defined is the integrity of the received file. A hash calculation
group trust value. is used to verify this condition.
The testbed is executed in machines with JXTA Shell [31] Once this parameter is defined, the file load times are
installed and configured. The simulated environment was parametrically determined by the variable 𝑎, the file integrity
composed of 500 nodes. These were defined as 5 different check times are determined by the variable 𝑏, and the variable
groups with a hundred nodes in each group. Each node 𝑐 determines the reputation feedback for the trust model
only performs interactions within its group. Also, each peer associated with the given interaction. Table 3 shows the
performs at least 20 interactions in the network. The network parameters used in our testbed to define how to infer some
topology is simple and uses 2 common layer switches. The reputation for a peer.
purpose of this topology is to represent a P2P network The reputation value 𝑐 is determined by the following
connected directly to a LAN. The peers are configured in the equation, where the parameter 𝑃 represents the weight
same network segment with no additional hops. Each peer (importance) that the network administrator allocates to the
uses a different TCP port. This characteristic is to permit the integrity of the file:
P2P network to establish connections on different ports.
The simulation testbed considered that the transmission 𝐶 = ((𝑃 × 𝑎) + ((1 − 𝑃) × 𝑏)) . (6)
delay and the integrity of the file are the parameters used
to decide whether a peer is malicious or not. This means Related to peers behavior, peers only accomplished inter-
that the peer can send a corrupted file, delay its sending to actions with appropriate parameters to verify the convergence
another peer, or perform both. The interval of time values of trust and reputation values. The underlying trust model
for the transmission is defined after some file transfer tests used in the testbed is TRAVOS [7], which allows peers to
International Journal of Distributed Sensor Networks 7

1.000 environment. When 20% of the peers start behaving in a


0.900 malicious manner, the trust value of the group decreases and
0.800 tends to stabilize in a value near 0.8. The analysis shows
0.700 that the increase of the trust coefficients provided by the
0.600 good peers overcomes the decrease of the coefficient of the
0.500 malicious peers. In this case the group is still considered
0.400 trustworthy (𝜆𝑔 > 0.7) despite having malicious members,
0.300 as represented in Figure 5.
0.200
0.100 5.4. Scenario 4: Random Behavior of 40 Peers in Group 1. In
0.000 this test 40% of group 1 behaves randomly. This test simulates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 a situation where the P2P network is compromised and there
Trust of group 1 Trust of group 4
is no guarantee that the peers in this group are trustworthy
Trust of group 2 Trust of group 5 or not. When 40% of the group members are malicious, the
Trust of group 3 trust coefficient of the group tends to stabilize in a value
near 0.6 which represents that the peers in the group are not
Figure 3: Group trust of an ideal environment. trustworthy, and thus the group is not considered trustworthy
because of the threshold. Figure 6 shows this result.

realize that some members of the network changed their 5.5. Scenario 5: Random Behavior of 60 Peers in Group 1. In
behavior. The testbed has been set up in order to have peer1 as this test 60% of group 1 behaves randomly; then the trust
leader of each group. Once all these parameters were set up, coefficient tends to stabilize in a value near 0.5, also making
we defined different scenarios for our tests. Direct trust of the the group untrustworthy because of the threshold, as seen in
peers and reputation values based on context of the groups are Figure 7.
calculated in the simulations in order to calculate group trust.
The tested scenarios, its results, and analysis are presented in 5.6. Group 1 Analysis. This test was performed to analyze
the following subtopics. In all graphs the 𝑥-axis is the number group 1, compiled in one graph, as seen in Figure 8. When
of interactions and the 𝑦-axis is the correspondent trust value peers change their behavior, the trust value of the group
in each round. decreases, thus making a group with constant behavior
change to be untrustworthy considering a defined threshold
5.1. Scenario 1: All Peers Behave Accordingly. In this test all of 𝜆𝑔 = 0.7. When nodes behave randomly, the value of the
the peers in all groups behave as expected. This means that group trust tends to 0.5.
they fulfill their requirements and perform their defined The reader may realize that the individual behavior of
context correctly. Note that the entire peer acts following the each member in the group influences the trust value of
same behavior, without changing any aspect of its functional the group as a whole. The results can also be considered
context. In this case, the trust value of the group is considered satisfactory because all the peers are initiated at the same time
extremely trustworthy and it tends to stabilize in a value in the network and interact with each other the same number
near 1, thus avoiding blind trust. When there is no malicious of times.
peer in the network, the trust value of the group reflects These results also show that the trust value of group 1 in
the individual behavior of the peers in the group. This is the first scenario is originally high (moment in which all the
considered the ideal world. Figure 3 shows this result. peers have good behavior). After that, it starts to decrease in
the moment the peers in the group change their behavior or
5.2. Scenario 2: Random Behavior of Peers. In this test all acts forming a coalition. As a result, the group trust model
peers in all groups behave randomly after round 4. This can be used as a parameter to interact or not with a specific
means that it is not known for certain by the other group group.
members whether a particular peer behaved accordingly
or not. This test was set up in order to verify the results
when nodes behave in a proper manner sometimes and then
6. Conclusion
change their behavior with no particular reason. This can This work has reviewed different trust and reputation models
be considered the worst environment imaginable because it in distributed systems. We developed a model as an extension
cannot be possible to predict if a node will or will not behave to support the calculation of trust values of groups of entities.
accordingly. This scenario is represented in Figure 4. The proposed model has been validated in a P2P simulation
tool. Our results show that it is possible to generate and to
5.3. Scenario 3: Random Behavior of 20 Peers in Group 1. In calculate group trust behavior in distributed systems.
this test 20% of group 1 behaves randomly. This test simulates We consider that it is important that a trust leadership
a coalition of peers in order to modify the group trust. Such based algorithm or a trust consensus algorithm should be
behavior is considered as if the nodes suffer some kind of better studied in order to create leaders in groups in a dis-
attack or there are peers acting as black holes in the P2P tributed manner. It is also important to define a trust protocol
8 International Journal of Distributed Sensor Networks

1.000 1.000
0.900 0.900
0.800 0.800
0.700 0.700
0.600 0.600
0.500 0.500
0.400 0.400
0.300 0.300
0.200 0.200
0.100 0.100
0.000 0.000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Trust of group 1 Trust of group 4 Trust of group 1 Trust of group 4


Trust of group 2 Trust of group 5 Trust of group 2 Trust of group 5
Trust of group 3 Trust of group 3

Figure 4: Group trust of the worst environment. Figure 7: Group trust of G1 when 60 nodes change their behavior.

1
1.000 0.9
0.900 0.8
0.800 0.7
0.6
0.700
0.5
0.600
0.4
0.500 0.3
0.400 0.2
0.300 0.1
0.200 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0.100
0.000 G1 trust-normal behavior G1 trust-40 bad nodes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 G1 trust-random behavior G1 trust-60 bad nodes
G1 trust-20 bad nodes
Trust of group 1 Trust of group 4
Trust of group 2 Trust of group 5 Figure 8: Group 1 synthesis.
Trust of group 3

Figure 5: Group trust of G1 when 20 nodes change their behavior.

as a platform to support trust based communications. We


consider that as research areas that can be deeply studied.
Using the concept of group trust, the proposed model
1.000
in this paper can be used in bigger and more complex
0.900
distributed systems architectures. As future work we will
0.800
implement our group trust model in software agents, grid
0.700
platforms, or cloud environments in order to evaluate its
0.600 behavior in bigger systems.
0.500
0.400
0.300 Conflict of Interests
0.200
The authors declare that there is no conflict of interests
0.100
regarding the publication of this paper.
0.000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Trust of group 1 Trust of group 4 Acknowledgments


Trust of group 2 Trust of group 5
Trust of group 3 Part of the computations of this work was performed in
EOLO, the HPC of Climate Change of the International
Figure 6: Group trust of G1 when 40 nodes change their behavior. Campus of Excellence of Moncloa, funded by MECD and
MICINN. The first author acknowledges the Laboratory for
International Journal of Distributed Sensor Networks 9

Decision Technologies at the University of Brasilia (LATI- World Wide Web, pp. 640–651, ACM, New York, NY, USA,
TUDE/UnB) for its support to this work. May 2003.
[17] B.-J. Chang, S.-L. Kuo, Y.-H. Liang, and D.-Y. Wang, “Markov
chain-based trust model for analyzing trust value in distributed
References multicasting mobile Ad Hoc networks,” in Proceedings of the
[1] M. J. Covington and R. Carskadden, “Threat implications of IEEE Asia-Pacific Services Computing Conference, pp. 156–161,
the internet of things,” in Proceedings of the 5th International December 2008.
Conference on Cyber Conflict (CyCon ’13), pp. 1–12, Tallinn, [18] S. Buchegger and J. Y. le Boudec, “A robust reputation system
Estonia, June 2013. for P2P and mobile Ad-hoc networks,” in Proceedings of the 2nd
[2] Y. B. Saieda, A. Olivereaua, D. Zeghlache, and M. Laurent, Workshop on the Economics of P2P Systems, pp. 156–161, June
“Trust management system design for the internet of things: 2004.
a context-aware and multi-service approach,” Computers & [19] S. Buchegger and J. Y. le Boudec, “Performance analysis of
Security B, vol. 39, pp. 351–365, 2013. the CONFIDANT protocol,” in Proceedings of the 3rd ACM
[3] S. Jingshan, Y. Jiabin, and Y. Fengshou, “Grid trust model based International Symposium on Mobile Ad Hoc Networking and
on last service and hierarchy,” Journal of Nanjing University of Computing (MOBIHOC ’02), pp. 226–236, ACM, New York, NY,
Aeronautics and Astronautics, vol. 43, no. 2, pp. 273–278, 2011. USA, June 2002.
[4] Y. Liu, K. Li, Y. Jin, Y. Zhang, and W. Qu, “A novel reputation [20] F. Almenrez, A. Marn, C. Campo, and C. Garca, “PTM: a perva-
computation model based on subjective logic for mobile ad hoc sive trust management model for dynamic open environments,”
networks,” Future Generation Computer Systems, vol. 27, no. 5, in Proceedings of the 1st Workshop on Pervasive Security and
pp. 547–554, 2011. Trust, 2004.
[5] F. Gómez Mármol and G. Martı́nez Pérez, “Towards pre- [21] G. Zacharia, “Trust management through reputation mecha-
standardization of trust and reputation models for distributed nisms,” Applied Artificial Intelligence, vol. 14, no. 9, pp. 881–907,
and heterogeneous systems,” Computer Standards and Inter- 2000.
faces, vol. 32, no. 4, pp. 185–196, 2010. [22] S. Songsiri, “MTrust: a reputation-based trust model for a
[6] T. Beth, M. Borcherding, and B. Klein, “Valuation of trust in mobile agent system,” Proceedings of the 3rd International
open networks,” in Proceedings of the 3rd European Symposium Conference on Autonomic and Trusted Computing, Springer,
on Research in Computer Security, pp. 3–18, Springer, London, Berlin, Germany, vol. 4158, pp. 374–385, 2006.
UK, 1994. [23] J. Sabater and C. Sierra, “Regret: reputation in gregarious
[7] J. Patel, A trust and reputation model for agent-based virtual societies,” in Proceedings of the 5h International Conference on
organisations [Ph.D. thesis], Electronics and Computer Science, Autonomous Agents (AGENTS ’01), pp. 194–195, ACM, New
Faculty of Physical Sciences and Engineering, University of York, NY, USA, June 2001.
Southampton, Southampton, UK, 2007. [24] J. Carbo, J. M. Molina, and J. Davila, “Trust management
[8] D. Gambetta, Can We Trust Trust? chapter 13, Department of through fuzzy reputation,” International Journal of Cooperative
Sociology, University of Oxford, 2000. Information Systems, vol. 12, no. 1, pp. 135–155, 2003.
[9] S. P. Marsh, Formalising trust as a computational concept [Ph.D. [25] T. Largillier and J. Vassileva, “Using collective trust for group
thesis], Department of Computing Science and Mathematics, formation,” in Proceedings of the 18th International Conference
University of Stirling, Stirling, UK, 1994. on Collaboration and Technology, pp. 137–144, Springer, Berlin,
[10] T. Zhao and S. Dong, “Trust-GSM: a trust aware security Germany, 2012.
model for multi-domain grid,” in Proceedings of the 5th Annual [26] S. Al-Oufi, H. N. Kim, and A. El Saddik, “A group trust metric
ChinaGrid Conference (ChinaGrid ’10), pp. 43–47, Guangzhou, for identifying people of trust in online social networks,” Expert
China, July 2010. Systems with Applications, vol. 39, no. 18, pp. 13173–13181, 2012.
[11] S. Naqvi and P. Mori, “Security and trust management for [27] R. Levien, “Advogato’s trust metric,” 2000, http://www.
virtual organisations: GridTrust approach,” in IFIP Advances advogato.org/trust-metric.html.
in Information and Communication Technology, pp. 306–309, [28] F. R. Easa, A. G. Bafghi, and H. Shakeri, “A group-based trust
2009. propagation method,” in Proceedings of the 2nd International
[12] C. Huang, H. Hu, and Z. Wang, “A dynamic trust model Conference on Computer and Knowledge Engineering, pp. 313–
based on feedback control mechanism for P2P applications,” in 317, October 2012.
Autonomic and Trusted Computing, L. T. Yang, H. Jin, J. Ma, and [29] T. Schulz and I. Tjstheim, “Increasing trust perceptions in the
T. Ungerer, Eds., vol. 4158 of Lecture Notes in Computer Science, internet of things,” in Aspects of Information Security, Privacy,
pp. 312–321, Springer, Berlin, Germany. and Trust, L. Marinos and I. Askoxylakis, Eds., vol. 8030 of
[13] W. Wang, G. Zeng, and L. Yuan, “Ant-based reputation evidence Lecture Notes in Computer Science, pp. 167–175, Springer, Berlin,
distribution in P2P networks,” in Proceedings of the 5th Inter- Germany, 2013.
national Conference on Grid and Cooperative Computing (GCC [30] J. P. Wang, S. Bin, Y. Yu, and X. X. Niu, “Distributed trust
’06), pp. 129–132, Hunan, China, October 2006. management mechanism for the internet of things,” Applied
[14] J. Kennedy and R. C. Eberhart, Swarm Intelligence, Morgan Mechanics and Materials, vol. 347, no. 350, pp. 2463–2467, 2013.
Kaufmann, Boston, Mass, USA, 1st edition, 2001. [31] “JXTA—get connected,” 2013, http://jxta.free.fr/.
[15] W. Stallings, Data and Computer Communications, Prentice
Hall, New York, NY, USA, 7th edition, 2004.
[16] S. D. Kamvar, M. T. Schlosser, and H. Garcia-Molina, “The
eigentrust algorithm for reputation management in P2P net-
works,” in Proceedings of the 12th International Conference on
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 839540, 10 pages
http://dx.doi.org/10.1155/2014/839540

Research Article
Webit&NEU: An Embedded Device for the Internet of Things

Jialiang Wang, Hai Zhao, Jiuqiang Xu, and Yuanguo Bi


College of Information Science & Engineering, Northeastern University, Shenyang 110819, China

Correspondence should be addressed to Yuanguo Bi; biyuanguo@ise.neu.edu.cn

Received 16 June 2013; Revised 13 December 2013; Accepted 19 December 2013; Published 14 January 2014

Academic Editor: Naveen Chilamkurti

Copyright © 2014 Jialiang Wang et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

The Internet of Things (IoT) is regarded as the future generation Internet, which ranges from radio frequency identification
(RFID) to the ubiquitous computing systems such as wireless sensor networks and mobile ad hoc networks. With the rapid
development of IoT, designing an effective low-cost embedded terminal device for the IoT become very necessary. A new embedded
device, Webit&NEU, and its reduced embedded real-time operating system used for IoT are implemented by our China Liaoning
Province Embedded Technique Key Laboratory in this paper. Besides, related modules in terms of RFID technique, wireless
communication, and network protocol are also provided in this paper. Compared with several current solutions of connecting
devices and Internet, it has the advantages of good real-time performance, light weight, and low cost. Besides, this paper also puts
forward a localization algorithm for the Webit&NEU, and experimental test results in terms of real-time system ability, network
communication performance, and localization algorithm show that Webit&NEU can work well and meet the actual requirements
of the IoT.

1. Introduction the China’s product patent (nos. ZL 00 2 52482.1 and ZL 01


2 29725.9).
The IoT is a new-emerging technique. After the age of The design and implementation of embedded device
Internet and wireless sensor network, people are gradu- Webit&NEU are based on Webit2.0. Besides the basic func-
ally entering the era of IoT. The IoT refers to uniquely tions of Webit2.0, new functions such as RFID data pro-
identifiable objects (things) and their virtual representations cessing and wireless date communication are also added to
in an Internet-like structure [1]. In fact, the IoT includes the Webit&NEU, and its microcontroller is also updated to
technologies such as RFID, sensors, and smart devices. The Atmega128L so that it can well be used in IoT.
concept of the IoT has become more and more popular
This paper mainly makes three novel research contribu-
now. RFID is often regarded as a prerequisite for the IoT
tions.
[2, 3]. Supposing all objects of daily life were equipped
with radio tags, thus they could be identified, tacked, and (1) It implements a light-weight and low-cost embedded
managed by computers, and then they will certainly bring device Webit&NEU used for the IoT and its reduced
great convenience to people’s lives. operating systems kernel Webit&NEU OS written in
Embedded Internet device Webit2.0 can make the stan- AVR assembly language.
dard industry device have the ability of accessing the Internet, (2) It implements data collection module, wireless com-
and it has successfully been embedded to fieldbus, industrial munication module, and network protocol module
devices, and so forth, so people can feel free to access those efficiently.
devices through Internet. Webit2.0 has been successfully
(3) It proposes an improved localization algorithm for the
developed by our China Liaoning Province Embedded Tech-
practical application of Webit&NEU.
nique Key Laboratory and has been large-scaly manufactured
by China Shenyang Neu-era Information Technology Stock This paper is organized as follows. The second sec-
Co., Ltd [4]. It is worth noting that Webit2.0 has obtained tion presents the current embedded system communication
2 International Journal of Distributed Sensor Networks

RFID reader
Client
Radio ware Internet
Client
RFID reader Internet
Server
RS485 concentrator Handheld Server
RFID reader
Client
Client
RFID reader
Figure 2: Connection method of distribution access.
Figure 1: Connection method of wireless communication.

solutions and related analysis. The third section describes the Client
design and implementation of Webit&NEU hardware system, RFID reader
RS232
its light-weight operating system kernel, and related perfor- PC Internet
mance analysis. Besides, the wireless communication module Server
between different devices, RFID data collection module, and RS232
the TCP/IP protocol module are provided in this section. The RFID reader PC
fourth section proposed an improved localization algorithm Client
for Webit&NEU, and performance comparison in terms of Figure 3: Connection method of bus access.
localization error and localization time is described in this
section. Concluding remarks are given at the end of the paper.
3. Design and Implementation of Webit&NEU
2. Current Embedded System Communication
3.1. Design of Webit&NEU Hardware. Webit&NEU uses the
Solutions
basic structure of Webit2.0. It can manage the data collected
The current common methods used to collect, communicate, from the RFID reader and CC2530 and store the necessary
and manage data are shown as follows [5, 6]. data to memory. Besides it can assemble HTTP packet
according to different applications and then send them to
(1) RS485 is adopted in consideration of its good capa- Internet by the RTL8019AS.
bility of long distance communication. The imple- The product appearance of Webit2.0 is shown as Figure 4
mentation includes connecting all RFID readers by shows (compared with one yuan coin).
concentrator and linking them by server. In this Its corresponding interface parts are described as below:
method, the server handles the data and also supports
Internet interface so as to make users access them (1) 14-bit full-duplex User I/O (TTL electrical level),
remotely as Figure 1 shows. (2) power supply interface (DC 9V),
(2) Handheld RFID is used reader to read and write RFID (3) network interface: IEEE802.3/RJ-45,
card, and then system sends data to nearby server by
the method of wireless transmission and implements (4) network data signal lights,
resources sharing by connecting to Internet. This (5) in-system programming interface.
method is adopted by some applications having high
portable requirements as Figure 2 shows. And its technique feature and performance are provided,
respectively, as below.
(3) RFID and PC are usually connected by RS232 in this
method. As the limit of communication capability for Technique feature:
RS232, it is suitable for short distance communica-
tion. PC filters and handles these data collected by (i) no gateway and PC needed,
RFID reader and then sends these data to the server
(ii) independent design of hardware and software
as Figure 3 shows.
architecture,
For most of the RFID products, the connection method (iii) independent intelligent,
between different devices is usually implemented by USB or (iv) independent function of network server,
serial port [7], which is not only inconvenient to expand, but (v) independent addressability,
also is unsuitable for remote data transmission, so this is the
(vi) embedded design,
bottleneck for these devices to be applied to the IoT. So we
engaged to develop embedded device features: high efficiency, (vii) low cost,
light weight, and low cost used in the IoT. (viii) small in size.
International Journal of Distributed Sensor Networks 3

Tag Webit and NEU


2
Tag
3 .. RFID reader RJ-45
4
. User
Webit2.0
Tag CC2530
C
..
5 . User
Webit and NEU ..
Tag Internet .
Tag User
RFID reader
1 .. RJ-45
. Webit2.0
CC2530
C
Tag

Figure 5: Composition architecture of Webit&NEU.


Figure 4: Product appearance of Webit2.0.

Performance of Webit2.0:
(2) Sending Commands. Webit&NEU microprocessor sends
a request command (02H) to RFID reader so as to indicate
(i) Atmel AVR RISC processor,
that it will send commands, and RFID reader will return a
(ii) customized definition Web page, response command (10H) to the microprocessor to show
(iii) customized definition CGI programming, it has already prepared for receiving commands. After
(iv) duplexing I/O interface with 14 bit TTL electri- executing the above procedures, the microprocessor of
cal level, Webit&NEU begins to send commands.
(v) UART interface of TTL electrical level supports
up to 115200 bps, (3) Data Verification. This is used to make sure the data
received are correct. It is implemented by the method of
(vi) 10 M Ethernet interface (RJ-45),
XOR operation. If this procedure is correct, then the system
(vii) in-system Programmability (ISP), will execute data handling program. If not, the system will
(viii) protocol supported: ARP, ICMP, IP, TCP, and set the Flag in response frame as 1, so as to imply RFID
HTTP, reader that the data is wrong and order RFID reader to send
(ix) Network interface: IEEE 802.3/RJ-45. it again.

Webit&NEU can not only implement wireless commu- (4) Data Filtering. While microprocessor of Webit&NEU
nication with each other by CC2530, but also send the receives data from RFID reader, it will judge whether the data
data collected from RFID reader to the Internet through is anticipated according to message ID, number of data bytes,
RJ-45 interface as Figure 5 shows. Thus while devices are and data verification. If not, then the system will filter the
embedded with the Webit&NEU, then they can be used to wrong and incomplete data.
smartly identify, locate, track, monitor, and manage these
devices having RFID tag. The Webit&NEU well inherits good 3.2. The Reduced Webit&NEU Operating System Kernel
feature such as real-time ability from Webit2.0, and the most
important is that the design goal for Webit&NEU is the 3.2.1. The Design and Implementation of Webit&NEU OS. A
implementation of light weight and low cost. real-time operating system must have the ability to respond
RFID reader collects data from devices having tags so to external events timely. In order to coordinate and execute
as to identify devices [8]. The RFID data collection module, tasks effectively, Webit&NEU OS system provides the follow-
CC2530 wireless communication module, and Webit&NEU ing services: interrupt handling, intertask communication,
microprocessor module form the whole Webit&NEU hard- task synchronization, memory management, timing services,
ware, and architecture illustration between Webit&NEU task priority assignment, and so on.
microprocessor module and RFID function module is shown All of these functions implemented by the unique design
as Figure 6 shows. of system call can easily execute real-time applications.
The Webit&NEU microprocessor controls the RFID System call is a program supported to user by system, while
reader to achieve the function of data collection and users need to implement certain system functions; what they
management, and it mainly includes the below 4 procedures. need to do is to call the accordingly system call in their
application program, so it is convenient for users to use the
(1) Initialization. Webit&NEU microprocessor implements system kernel.
the initialization of RFID reader by sending specific All the system calls are written in AVR assembly language.
command (01H) to it. As one of the important advantages for AVR assembly
4 International Journal of Distributed Sensor Networks

Power Crystal Power Crystal


supply oscillator supply oscillator
Address wire
RF High-
Data wire writing/ Antenna
Serial Control frequency Antenna
Webit2.0 port MCU circuit reading matching
filtering coil
Control wire chip circuit
circuit

Network Expansion
interface interface

Figure 6: Hardware architecture between Webit2.0 and RFID.

language is that it can easily and flexibly operate a certain (iii) WAIT 3: synchronizing tasks with interrup-
storage location in memory, even its certain bit of the storage tions.
location, so system can handle task, message, interruption,
timing, and so on effectively. (5) Timing services:
So the Webit&NEU OS system can well be used to
effectively manage data collection, wireless communication (i) SET INTERVAL: setting a time interval after the
in the IoT [9, 10], and it has successfully been developed interval event occurred,
by our China Liaoning Province Embedded Technique Key (ii) WAIT: waiting for interval event or timeout to
Laboratory [11]. occur.
The system calls constitute the basic operating system and
their brief descriptions are provided as follows. The design and implementation of data variable units
and tables in the memory block bring great convenience for
(1) Task management services:
system to handle task information and its responding priority,
(i) CREATE TASK: creating and scheduling a task interruption, message, timing, and so on. Besides, while
dynamically, designing the system calls, the data storage units and tables
(ii) DELETE TASK: deleting certain specific task, are all stored in the internal SRAM, so the speed in terms of
task switching and information handling is improved to some
(iii) GET FUNCTION ID: obtaining task function
extent.
ID (value ranges from 00 to 0FFH),
By using the above system calls, system can well synchro-
(iv) SUSPEND: suspending a task being executed. nize and schedule multitasks in the IoT. Although only one
task can be executed on the processor at any given time, the
(2) Intertask communication services:
multiplexing of all tasks makes it appear as if all of the tasks
(i) ALLOCATE: allocating buffer space where a are running simultaneously.
task creates a message to be sent,
(ii) SEND MESSAGE: sending certain message to 3.2.2. The Performance Test of Real-Time Ability about
specific task, Webit&NEU OS. In order to evaluate the real-time perfor-
(iii) WAIT MESSAGE: allowing a task to wait for a mance of Webit&NEU OS, we mainly tested two performance
message to come, parameters of task switching time and max interruption
inhabit time [12, 13] and then compared them with Webit5.0
(iv) DEALLOCATE: returning certain specific
OS (The fifth-generation operating system designed for
buffer to the system buffer.
Webit2.0) and TinyOS 2.1.2. We chose the TinyOS 2.1.2 as the
(3) Internal memory management services: comparison system because it also has relatively small kernel
code size compared with the other operating systems.
(i) GET MEM: getting the address of certain mem- TinyOS is an open source, BSD-licensed operating system
ory having specific length is currently available designed for low-power wireless devices, such as those used
in the system, in sensor networks, ubiquitous computing, personal area
(ii) RELESE MEM: returning certain memory with networks, smart buildings, and smart meters. It is written in
specific length to the system memory pool. the nesC programming language as a set of cooperating tasks
and processes. TinyOS started as a collaboration between the
(4) Interrupt-handling services: University of California, Berkeley, in cooperation with Intel
Research and Crossbow Technology. A worldwide commu-
(i) DISABLE INTERRUPT: disabling some inter- nity from academia and industry uses, develops, and supports
ruptions, the operating system as well as its associated tools. TinyOS
(ii) ENABLE INTERRUPT: reenabling disabled 2.1.2 is officially released on August 20, 2012. TinyOS 2.1.2
interruptions, includes support for updated msp430-gcc (4.6.3) and avr-gcc
International Journal of Distributed Sensor Networks 5

40 60
36.5 53.5 51.7 52.1

Max interruption inhibit time (𝜇s)


35 34.1
32.3 50 46.5
43.1 45.1
Task switching time (𝜇s)

30
40
25
21.3 22.2
20.9 21.4 30
20 18.4 19.6
20 18.9
15 15.3 17.3

10 10

5 0
Wetib and NEU OS Webit5.0 OS TinyOS 2.1.2
0
Webit and NEU OS Webit5.0 OS TinyOS 2.1.2
Maximum
Minimum
Maximum
Average
Minimum
Average Figure 8: Experimental test results of max interruption inhibit time
(𝜇s).
Figure 7: Experimental test results of task switching time (𝜇s).

(4.1.2). A complete 6lowpan/RPL IPv6 stack. Support for the driver, data collection, and device driver module. The three
ucmini platform and ATmega128RFA1 chip [14]. modules and their composition are shown in Figure 9.
We used the tools of logic analyzer (TLA603), arbitrary Network driver module is the key to ensure RFID
waveform generator (AWG2021), and digital storage oscil- terminal devices are networked. In order to implement
loscope (TDS1012). In the test programs, we added some the connection between devices and Internet, the TCP/IP
control codes by transforming the value of high and low protocol is prerequisite. This system also implements the
levels of pulses through I/O interface. For each experiment function of Web server so as to make clients access these
below, we tested 20 times totally, kept down the maximum devices by browser.
and minimum, and then calculated their average as Figures 7 RFID data collection module is the input data part for
and 8 show. the whole system. This module implements communication
For the Webit&NEU OS, the reduction of task switch- between different devices by RFID technology. In order
ing time and max interruption inhabit time is 8.41% and to guarantee the correction and security of data collection
13.44% separately compared with Webit5.0 OS, which means and transmission, firstly there should be a procession of
Webit&NEU can not only process task switching more establishing link before data frames transmission, and sys-
quickly, but also fast respond to external interruptions. tem uses handshake principle to implement synchronization
Compared with TinyOS 2.1.2, we can know that the task between sender and receiver. Secondly, the data frames used
switching time of Webit&NEU OS is shorter, mainly because to communicate should include not only the actual data, but
of the special design structure of TASK READY TAB (16 also the necessary control and check bit, which means data
memory units ranging from 0283H to 0292H are used to store should be verified so as to guarantee the data correction,
related information of every ready task). The low 4 bit stores so sometimes the data retransmission operation is required.
the task priority, while the high 4 bit of each unit stores the Finally, the system filters the control and check bit and then
task ITD. When a task is inserted into TASK READY TAB, obtains the effective data.
it will be put in suitable place according to its priority Devices driver module is the basic part of the RFID
so as to make sure all tasks in the task ready table are terminal devices. This layer masks the complexity of micro-
sorted by task priority. But for the max interruption inhibit controller underlying hardware and supports simple interface
time, TinyOS 2.1.2 is better, because the two categories of to applications. This module includes Webit&NEU system
interruption handling program (COMMON SERVER and initiation, serial port driver, and network driver.
TIMER0 SERVER) take longer time for the Webit&NEU OS.
But compared with Webit5.0 OS, the Webit&NEU OS is better 3.4. Communication between Different Webit&NEU Devices.
in terms of both task switching time and max interruption The basic communication mechanism for the Webit&NEU is
inhibit time. sending and receiving the format message through CC2530
during different Webit&NEU devices. The implemented for-
3.3. RFID Data Collection Module. The RFID terminal func- mat of data packet includes link types, message length, bit
tion module of Webit&NEU can be summarized as below. identification, source/destination task, order/response identi-
The data collected from the RFID reader are sent to spe- fication and data as Figure 10 shows, which aims to implement
cific server by Internet so as to make the devices networked. wireless communication efficiently [15].
In order to implement these functions, the architecture of The first 4 bytes of the data packet is preamble which
terminal function module is mainly composed of network is used to implement the packet synchronization, and the
6 International Journal of Distributed Sensor Networks

Embedded RFID terminal

Network driver module Data collection module Device driver module

Thin TCP/IP Data Data Data Serial port System Network card
Webserver
protocol verification write/read filtering driver initiation driver

Figure 9: Architecture about RFID terminal function module of Webit&NEU.

Bit: 7∼0 7 6∼0


RSSI VAL CRC OK LQI VAL

Byte: 2 1 0∼20 n 2
Frame
Frame control sequence Address Payload FCS
MAC header (MHR) MAC MAC footer (MFR)
Byte: 4 1 1 5 + (0 to 20 + n) payload

Preamble SFD Length MAC protocol data unit (MPDU)

Figure 10: The communication format of data packet.

following byte is start-of-frame delimiter (SFD), whose value ARP response module; if it is IP packet (value is 0800H),
is 0A7H used to indicate the beginning of the data packet, system will then upload the packet to network layer and then
the next byte is the length of the data packet, and its low call the IP handling module.
7 bits is used to save the value of length, so its maximum The system executes correspondingly operations accord-
value is 127, the following bytes are the PHY service data unit ing to the protocol value of IP packet existent in IP Input
(PSDU), and it is composed of MAC header (Including frame function; if the value is 0 × 01, the system will turn to ICMP
control, sequence number, and addressing number), payload, execution module; if the value is 0 × 06, the system will turn
and MAC footer. While sending message between different to the UDP handling module; if the value is 0 × 11, the system
Webit&NEU devices, the reduced message format is put into will turn to the UDP processing module.
the payload of the data packet. For the TCP protocol in the transport layer, if the port
In a word, the microprocessor of Webit&NEU controls of TCP is 0 × 80, the system will send the data to HTTP
the CC2530 to send and receive data so as to implement server, and the HTTP server will respond to it after executing
the wireless communication between different Webit&NEU related operations. The whole data process flow in the TCP/IP
devices. is shown in Figure 11.
In order to evaluate the network performance, we tested
the parameters 20 times in terms of network response time,
3.5. Implementation of TCP/IP Protocol. As the storage network upload rate and download rate. The maximum,
resource of the ATmega 128L is relatively limited, so this paper minimum, and average values are described respectively in
aims to implement a reduced TCP/IP protocol so as to meet Figures 12, 13 and 14 shows. Network response time, network
the basic requirements in the practical application. The design upload rate, and download rate are very important for
of TCP/IP protocol stack is using hierarchical structure. evaluating the network performance, which can well reflect
About link layer, it refers to the network card driver so as the network transmission velocity and real-time ability.
to implement the functions of receiving and sending Internet The experimental test results show that Webit&NEU
data frame, as this procedure depends on hardware address. OS performs better than Webit5.0 OS in terms of network
Considering that IP protocol in the network layer is IP response time and network upload and download rate.
address, a dynamic translation between these two addresses Compared with Webit&NEU OS and TinyOS 2.1.2 systems,
is needed. Webit&NEU OS has little quicker network response time
System judges the type of the data packet if it is ARP than TinyOS 2.1.2, but the network upload rate and download
request (value is 0806H), and then the system will call the rate are slower than TinyOS 2.1.2. In general, the network
International Journal of Distributed Sensor Networks 7

Beginning 80
69.2

Network upload rate (kbps)


Receiving data frame 64 62.3
56.4 59.3
Y
ARP? 49.6 48.2
48 45.2
N 41.2
Y Handling and 35.6
IP? sending ARP
Y response 32
N ICMP?
N Handling and 16
sending ICMP
UDP? Y response
0
N Webit and NEU OS Webit5.0 OS TinyOS 2.1.2
Handling and
Y sending response
TCP? Maximum
N Y Minimum
HTTP?
Average
Handling and
N sending response Figure 13: Experimental test results about network upload rate
(kbps).

End
80 76.2
Figure 11: Process flow of data packet. 69.3
Network download rate (kbps) 66.5 65.3
64
54.3 59.4 52.8
5 47.4
4.4 48 43.2
4.3
Network response time (𝜇s)

4.1
4 3.9 3.9
3.7
32
3.1
3 2.6 2.8
16
2
0
1 Webit and NEU OS Webit5.0 OS TinyOS 2.1.2

0 Maximum
Webit and NEU OS Webit5.0 OS TinyOS 2.1.2 Minimum
Average
Maximum
Minimum Figure 14: Experimental test results about network download rate
Average (kbps).

Figure 12: Experimental test results about network response time


(𝜇s).
algorithm ETL for Webit&NEU used in the IoT. In below
discussion about localization algorithm, each Webit&NEU is
regarded as a node.
performance of Webit&NEU can meet the basic requirement
The localization of nodes in the two-dimensional space
of data transmission so as to make sure that Webit&NEU can
can directly be calculated by their distance between nodes.
well be applied to the IoT [6, 7].
If only knowing the coordinates of the two reference nodes
𝑂1 and 𝑂2 , it may cause uncertainty while calculating the
4. Localization Algorithm Designed for unknown reference node as Figure 15(a) shows; this is
Webit&NEU because the two circles form two intersections of 𝑃1 and
𝑃2 , so it can not determine the accurate localization about
One of the most important functions for this system is the unknown node. Thus, at least three reference points are
to manage the devices efficiently, so obtaining the position needed to determine the localization of the unknown node
of certain device is very necessary for Webit&NEU. The in two-dimensional space as Figure 15(b) shows.
development of Webit&NEU is devoted to make it well Calculating the distance between nodes above is under
used in the practical application; thus, the research of their the assumption that the distance measurement is carried out
localization is very important, because it directly affected the with absolute precision; however, the measurement error is
communication ability and efficiency. inevitable in the practical application environment. Suppos-
Based on the traditional localization algorithm TL (used ing the error range is (0, ±𝑠), while the practical distance of
in the Webit2.0), we propose an improved localization two nodes is 𝑟, then the measured distance range is (𝑟, 𝑟 ± 𝑠).
8 International Journal of Distributed Sensor Networks

O3 P2
O1 O1 P1 O2
P2 P O1
P3
P1
O2 O2 O3

(a) (b) (c)

Figure 15: Analysis of node localization.

Due to the existence of error, the localization error will not L4


form a point, but a small area as the shaded area shows in F5 P2
L5
Figure 15(c). The localization error area caused by the three
reference points of 𝑃1 , 𝑃2 , and 𝑃3 is the region formed by the
F
six arcs of 𝐹1 , 𝐹2 , 𝐹3 , 𝐹4 , 𝐹5 , and 𝐹6 as Figure 16 shows.
While the error value of 𝑠 is small enough, then the L3
F6
error value can be approximated as the region formed by the Q5
E
hexagon of 𝐴𝐵𝐶𝐷𝐸𝐹. Consider the following: A
Q6 𝜀
𝛽1,2
𝛽3,1 𝛽2,3 Q4
1 𝛽1,2 P1
Q1 P
∵ area (𝑄6 𝐴𝑄1 𝑃) = 2area (𝑄6 𝐴𝑃) = 2 ( ⋅ 𝜀 ⋅ 𝜀 tan )
2 2 L6
Q3 D
B
Q2
𝛽1,2 𝛽2,3 𝛽3,1
∴ area (𝐴𝐵𝐶𝐷𝐸𝐹) = 2𝜀2 (tan + tan + tan )
2 2 2 F4
C
𝜋 F1
∵ (tan 𝛽)󸀠󸀠 = 2 tan 𝛽 ⋅ sec2 𝛽 ≥ 0 (0 ≤ 𝛽 ≤ ) L1 P3
2 F2 L2
21𝛽1,2 𝛽2,3 F3
∴ area (𝐴𝐵𝐶𝐷𝐸𝐹) = 6𝜀 (tan + tan
3 2 2
Figure 16: Analysis of node localization error.
𝛽3,1
+ tan )
2
𝛽1,2 + 𝛽2,3 + 𝛽3,1 Algorithm 1 (proposed ETL algorithm).
≥ 6𝜀2 tan
6
Step 1. Calculate distance 𝑆𝑖𝑗 (𝑖 ≠
𝑗) between any two nodes
𝜋
= 6𝜀2 tan = 2√3𝜀2 . and store them to database.
6
(1) Step 2. Every node sends broadcast packet periodically, and
each broadcast packet should include a message as the format
So while the condition of 𝛽1,2 = 𝛽2,3 = 𝛽3,1 = 𝜋/3 is met, of {𝐼𝐷, 𝑇Send , (𝑎, 𝑏)}, 𝐼𝐷 is the identification of unknown
the localization error can reach the minimum value of 2√3𝜀2 . node, 𝑇Send is the time of sending message, and (𝑎, 𝑏) is its
This means only when the place of the three reference nodes coordinate.
forms an equilateral triangle, the localization error can reach
the smallest value [16]. Step 3. After receiving the broadcast packet, system calculates
While arranging reference nodes in the monitoring the distance L𝑖 according to the time of sending message
region, the above localization method canminimize the (𝑇Send ) and receiving message (𝑇Rec ) and then sends these
localization error. However, the three reference nodes of 𝑃1 , dates in the database.
𝑃2 , and 𝑃3 should not be placed very close, because if the
calculation distance of unknown reference nodes is too short, Step 4. While database receives 𝑁 messages totally, for each
3
then the localization error will become very large. Because set of 𝐶𝑁 , use the formula of cos 𝑎𝑖,𝑗 = (𝐿2𝑖 + 𝐿2𝑗 + 𝑆𝑖𝑗2 )/2𝐿 𝑖 𝐿 𝑗
while the three reference points are geographically too close, to calculate the angle between unknown node and two other
it will seem like a point, so it cannot be used to locate the reference nodes.
unknown node in this case.
We can get the position of unknown node by using the Step 5. Use three nodes whose angle exists in the range of
improved localization algorithm as below. 𝜋/6 − 𝜆 < 𝛼1,2 , 𝛼2,3 , 𝛼3,1 ≤ 𝜋/6 + 𝜆 to calculate the position of
International Journal of Distributed Sensor Networks 9

20 1

18 0.9

0.8
16
0.7
Localization error (cm)

Localization time (ms)


14
0.6
12 0.5

10 0.4

0.3
8
0.2
6
0.1
4 0
3 4 5 6 7 89 10 11 12 13 14 15 16 17 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Number of Webit and NEU devices Number of Webit and NEU devices
TL algorithm TL algorithm
ETL algorithm ETL algorithm
Figure 17: Comparison of localization error. Figure 18: Comparison of localization time.

3 because of its good localization accuracy.


unknown node. For each eligible set in 𝐶𝑁 , system calculates
corresponding position of unknown node {𝐻1 , 𝐻2 , . . .}.
(b) The Test and Analysis of Real-Time Ability. In order to test
Step 6. For all the position of unknown node {𝐻1 , 𝐻2 , . . .}, the real-time ability ETL algorithm, we also implement ETL
system calculates average value 𝐻avg . algorithm and TL algorithm separately based on Webit&NEU
For TL algorithm used in Webit2.0, it gets the position OS and evaluate the real-time localization ability while the
by rough calculation firstly and then obtains the final number of Webit&NEU devices is increased continuously,
value by repeated similar procedure. Compared with TL and the experimental results measured are shown in Fig-
algorithm, the ETL algorithm we proposed avoids some ure 18.
repeatable process by the above specific filter. The subsequent As we can see from the above results, while the number
experiments will evaluate the performance of localization of Webit&NEU devices is 3, 4, and 5, the localization time
error and localization time for the ETL algorithm. for these two localization algorithm is almost the same, but
with the increase of the number of Webit&NEU devices, the
(a) The Test and Analysis of Localization Error. In order to localization time of ETL algorithm increases exponentially
locate the position of unknown devices, the two localization while ETL algorithm increases correspondingly smoothly.
algorithms are both implemented. We compared the testing From the above analysis we can know that ETL algorithm
results by executing the Webit&NEU OS. The experimental is better than TL algorithm in terms of good-time ability and
region adopted is the indoor environment whose area is higher localization accuracy [17, 18]. Due to these features of
4 m ∗ 6 m. There are totally 17 Webit&NEU devices as the good real-time ability and less localization error, thus ETL
reference node, which are placed by the method of the above algorithm can be better executed for Webit&NEU in the
localization algorithm, and these devices form 20 equilateral practical application [19].
triangles totally in this localization area.
As the Figure 17 shows, while the number of Webit&NEU 5. Conclusions
devices is 3, the localization error caused by the two algo-
rithms is close, but, with the increase of the Webit&NEU Webit&NEU is a new device designed to be used in the IoT in
devices number, the localization error of ETL algorithm order to implement smart management of devices. This paper
decreases more quickly than that of TL algorithm. While the mainly introduces its hardware architecture, software system,
number of Webit&NEU devices reaches to 6, the localization wireless communication module, RFID module, and network
error decreases smoothly for ETL algorithm, but correspond- protocol module. In order to evaluate its real application
ingly while the number of Webit&NEU devices reaches to value, we improve traditional localization algorithm used for
12, the localization error begins to decrease smoothly for TL Webit2.0 and propose an ETL algorithm, and the experimen-
algorithm. tal results show that ETL algorithm has good real-time ability
The comparison of the two algorithms verifies that the and less localization error than the traditional one. Besides,
the ETL algorithm causes less localization error than TL experimental results in terms of task switching time, max
algorithm; thus ETL algorithm is better to be used in the IoT interruption inhibit time, network response time, network
10 International Journal of Distributed Sensor Networks

upload rate, and network download show that it works well [9] R. Pellizzoni and M. Caccamo, “Impact of peripheral-processor
and can also meet the basic application requirements for interference on WCET analysis of real-time embedded sys-
the IoT. The Webit&NEU OS can well be executed in some tems,” IEEE Transactions on Computers, vol. 59, no. 3, pp. 400–
experimental tests, but it still will be continuously optimized 415, 2010.
so as to better be applied to IoT. [10] J. Wu, J.-C. Liu, and W. Zhao, “A general framework for param-
The design and implementation of embedded device eterized schedulability bound analysis of real-time systems,”
Webit&NEU will provide a good solution for the IoT. The IEEE Transactions on Computers, vol. 59, no. 6, pp. 776–783,
widely application of Webit&NEU will undoubtedly bring 2010.
great convenience for people to implement smart manage- [11] Intel Corporation, IRMX 51 iDCX 51 Distributed Control Exec-
ment of devices. At the meantime, the design aim of light utive User’s Guide for Release 2.0, Order Number 460367, Intel
Corporation, Santa Clara, Calif, USA, 1987.
weight and low cost will certainly facilitate the widely usage
of Webit&NEU. [12] W. Dong, C. Chen, X. Liu, K. Zheng, R. Chu, and J. Bu, “FIT:
a flexible, lightweight, and real-time scheduling system for
wireless sensor platforms,” IEEE Transactions on Parallel and
Conflict of Interests Distributed Systems, vol. 21, no. 1, pp. 126–138, 2010.
[13] J. Whitham and N. Audsley, “Time-predictable out-of-order
The authors declare that there is no conflict of interests execution for hard real-time systems,” IEEE Transactions on
regarding the publication of this paper. Computers, vol. 59, no. 9, pp. 1210–1223, 2010.
[14] http://www.tinyos.net/.
Acknowledgments [15] L. Sun, J. Li, Y. Chen, and H. Zhu, Wireless Sensor Network,
Tsinghua University Press, Beijing, China, 2005.
This work is partly supported by the National Natural [16] Y. Zhou, “The optimizing selection and error analysis of location
Science Foundation of China (no. 61101121), Fundamental reference nodes in smart space,” Northeastern University, pp.
Research Funds for the Central Universities of China under 41–49, 2008.
Grant no. N110404002, Key Laboratory Project Funds of [17] G. Cabri, L. Leonardi, M. Mamei, and F. Zambonelli, “Location-
Shenyang Ligong University under Grant no. 4771004kfs03, dependent services for mobile users,” IEEE Transactions on
Educational Committee of Liaoning Province Science and Systems, Man, and Cybernetics A, vol. 33, no. 6, pp. 667–681,
Technology Research Projects under Grant no. L2013096, 2003.
and Cultivation Fund of the Key Scientific and Technical [18] J. Hightower and G. Borriello, “Location systems for ubiquitous
Innovation Project, Ministry of Education of China (no. computing,” IEEE Computers, vol. 34, no. 8, pp. 57–66, 2001.
708026). The authors thank Jan Vitek, Ales Plsek, and Lei [19] L. Yan, Y. Zhang, L. T. Yang, and H. Ning, The Internet of Things:
Zhao for their help during studying at Purdue University From RFID to the Next-Generation Pervasive Networked Systems
from September 2010 to September 2012. The authors also (Wireless Networks and Mobile Communications), Auerbach
thank the anonymous reviewers for their valuable comments. Publications, 2008.

References
[1] http://en.wikipedia.org/wiki/Internet-of-Things.
[2] G. D. Abowd and E. D. Mynatt, “Charting past, present and
future research on ubiquitous computing,” ACM Transaction on
Computer-Human Interaction, vol. 7, no. l, pp. 29–58, 2002.
[3] G. Y. Xu, Y. C. Shi, and W. K. Xie, “Pervasive computing,”
Computer Journal, vol. 26, no. 9, pp. 1042–1052, 2003.
[4] Z. Hai and C. Yan, Pervasive Computing, Northeastern Univer-
sity Press, Shenyang, China, 2005.
[5] A. H. Ho, Y. H. Ho, and K. A. Hua, “Handling high mobility
in next-generation wireless ad hoc networks,” International
Journal of Communication Systems, vol. 23, no. 9-10, pp. 1078–
1092, 2010.
[6] S.-R. Yang and C.-W. Leong, “A conformance test tool for next
generation network applications and systems,” International
Journal of Communication Systems, vol. 23, no. 6-7, pp. 708–731,
2010.
[7] N. Bagherzadeh and M. Matsuura, “Performance impact of
task-to-task communication protocol in network-on-chip,”
Journal of Circuits, Systems and Computers, vol. 18, no. 2, pp.
283–294, 2009.
[8] K. Cho, S. Pack, T. T. Kwon, and Y. Choi, “An extensible and
ubiquitous RFID management framework over next-generation
network,” International Journal of Communication Systems, vol.
23, no. 9-10, pp. 1093–1110, 2010.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2014, Article ID 608972, 11 pages
http://dx.doi.org/10.1155/2014/608972

Research Article
iotSilo: The Agent Service Platform Supporting Dynamic
Behavior Assembly for Resolving the Heterogeneity of IoT

Euihyun Jung,1 Ilkwon Cho,2 and Sun Moo Kang2


1
Deptartment of Computer Science, Anyang University, 602-14 Jungang-ro, Buleun-myeon, Ganghwa-gun,
Inchon 417-833, Republic of Korea
2
Division of Digital Infrastructure, National Information Society Agency, NIA Building, Cheonggyecheonno 14, Jung-gu,
Seoul 100-775, Republic of Korea

Correspondence should be addressed to Ilkwon Cho; ikcho@nia.or.kr

Received 30 August 2013; Accepted 28 November 2013; Published 14 January 2014

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2014 Euihyun Jung et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Although a lot of researchers have painted a rosy picture of Internet of Things (IoT), there have been no widely accepted solution and
related standards until now. To achieve the successful realization of IoT, the close collaboration of devices is the primary requisite.
However, the heterogeneity of devices such as different hardware or network connectivity prohibits the realization of IoT. In order
to overcome the heterogeneity issue, we suggested the agent service platform named iotSilo in which agents can communicate and
cooperate on behalf of their devices. With this delegation approach, the iotSilo can support diverse devices without worrying about
their differences. In designing an agent, several software design patterns are adopted to enable the agent to assemble behaviors
for hiding the heterogeneity of devices. To investigate the effectiveness of the iotSilo, we developed eleven different types of the
IoT devices to emulate real world things with Arduino, deployed the devices in both Korea and Japan, and then conducted three
experiments.

1. Introduction the different features to interact with each other. For example,
wireless sensors and RFID embedded devices cannot identify
A lot of research groups have predicted that Internet of peers due to their different identifier schemes. Even, the same
Things (IoT) would be a core infrastructure to provide the kinds of wireless sensors could not make a session if they have
future IT services enabling the smart society [1–3]. IoT is different network connectivities. Unfortunately, the current
defined as a pervasive network infrastructure where various IoT enabling technologies such as wireless sensor networks
digital things including RFID embedded objects, sensors, or (WSN) [10] and machine-to-machine (M2M) [11] cannot
mobile phones are interconnected and communicate with cope with these problems properly yet. Although WSN is
each other. In the near future, several trillion devices would considered as the main infrastructure of IoT [6], WSN usually
collaborate to serve people through the global machine-to- consists of homogeneous devices sharing the same network
machine interaction provided by the IoT technology [4–6]. types and protocols. As a result, WSN often makes isolated
However, the research on IoT is still in its early stage, so islands that cannot interoperate with each other, so it cannot
there is no agreed and common solution to realize it yet work as the IoT technology by itself anymore. M2M has
[7–9]. existed in the different form since the advent of computer
There are several issues to block the IoT realization; networking automation such as “telemetry” or “SCADA.”
the most essential one is the heterogeneity caused by the Due to the stable cellular M2M communication and the
various features of devices such as network types, identifier sophisticated M2M data modules, M2M is considered as
schemes, and interworking protocols [3, 4]. IoT needs a close another prominent technology for IoT. However, M2M is
collaboration of devices, but it is hard for the devices with driven under the telco business model, so it is inherently
2 International Journal of Distributed Sensor Networks

locked in the walled garden of telcos. That is, M2M also makes several experiments to show the effectiveness of the proposed
a closed island similar to WSN except its size. In addition to platform. Finally, Section 5 gives the conclusion.
this, M2M companies forced to use their proprietary M2M
module to join their M2M networks, and thereby the third
party groups had difficulty in joining it. For now, both WSN 2. Related Research
and M2M do not propose any particular ways to resolve the
heterogeneity, whereas they stick to the monolithic design There are several fundamental causes why existing technolo-
of the same hardware, network types, and even protocols gies have failed to resolve the heterogeneity issue of IoT. First,
[4]. devices have different identification schemes such as IPv6,
In order to resolve the heterogeneity issue of IoT, the RFID, or ZigBee address, so they cannot identify and locate
researchers of cyber-physical systems (CPS) have paid atten- others. In the conventional data network, a participant has
tion to the software agent and they believe that the agent to identify and locate peers using identifiers before it makes
technology would be a solution to hide nicely the hetero- a session. IPSO [15], Auto-ID [16], and OID [17] research
geneity of devices [12, 13]. In the proposed scenario, devices groups have been competing for occupying the major identi-
delegate their authority to the corresponding agents and then fier in IoT, but any group does not answer the interoperability
the actual collaboration is done in the agent level [12]. Since with other identifiers. Second, the different network connec-
an agent identifies and communicates with other agents in the tivity inhibits devices from making an end-to-end session
agent space, the differences of physical devices can be easily between them. For example, a device on a ZigBee network
hidden. This seemed a good idea to use the agent technology cannot make a session to another device on the Internet
for overcoming the heterogeneity, but a detailed structure or a with IP connection. There have been some studies to address
reference model was not represented yet. Most of all, to hide this [18, 19], but they partially solved the problem using
the heterogeneity, the single type of agent has to contain all a specialized gateway. Lastly, there is still no agreed com-
different functions of heterogeneous devices in it. It can be mon interworking protocol between heterogeneous devices.
an intuitive approach, but it is impractical because all features Although Jini, UPnP, HAVi, and so forth were suggested as
and functions of various devices cannot be anticipated and the interworking protocols, they all failed to unite devices or
implemented in the development phase. Additionally, even to interoperate with other standards. Since devices are made
if this approach is adopted, whenever a new device appears from many different manufacturers and they equip their own
or the functions of a device are changed, the agent must be interworking protocols, they cannot exchange information at
modified in the source code and be redeployed again into all even if devices manage to make a physical session between
the system. Therefore, new approach with which an agent them.
transforms itself depending on the features of devices is While existing technologies failed to show their abilities
needed. for the IoT realization, some research groups suggested the
In order to fulfill the requirement, we proposed an alternative architecture with a totally different approach. This
agent architecture in which an agent assembles the needed architecture is called the IoT data platform [20]. Several plat-
behaviors for the corresponding device and links them into forms such as COSM (formerly Pachube) [21] or Open.sen.se
its core on runtime like the Lego block. Since this architecture [22] are announced. In the IoT data platform, the IoT devices
is much different from the ordinary software design, we just have a responsibility to report their data using a prede-
adopted portable service abstraction (PSA) and dependency fined protocol while they ignore their heterogeneity such as
Injection (DI) design patterns. We also developed the agent the network types. The reported data can be used to provide
service platform named iotSilo to evaluate the proposed the instant IoT services to its users regardless of the kinds of
agent architecture. In the iotSilo, various devices with dif- the reporting devices. The IoT data platform achieves some
ferent sensing functions and network connectivities delegate degree of success because it can hide the heterogeneity by
their authority to the corresponding agents. We conducted separating devices and their data. COSM reports one million
several experiments on the iotSilo after making various data feed into COSM per day, and the developers of COSM
devices with Arduino [14] and deploying the devices in can easily make new IoT services with the reported data.
both Korea and Japan. The experiments showed that the However, this approach cannot provide a peer-to-peer collab-
proposed agent can assemble various behaviors depending oration between devices, because its purpose is to manipulate
on the corresponding devices and it enables acting for the the transmitted data instead of accessing the devices directly.
totally different devices without affecting the agent itself Separating devices and their data is a good attempt to make
at all. They also demonstrated that various devices with mash-up IoT applications, but the full-level IoT services such
different network connectivities can collaborate through the as the device collaboration cannot be achieved with this
cooperation of their agents instead of direct communication architecture.
between heterogeneous devices. This evaluation indicated Besides, the CPS researchers expected that the software
that the proposed agent model can be a novel method to agent played an important role to realize IoT [12, 13]. It
overcome the heterogeneity of IoT. seems a novel approach, but they have not provided a
The remainder of this paper is organized as follows. The reference model or a practical architecture until now. The
related research about the heterogeneity of IoT is stated in most controversial issue of this approach is how an agent can
Section 2. In Section 3, the proposed platform is minutely hold vast functions of heterogeneous devices within it. It is
described. This is followed by Section 4 which discusses impractical that the single agent contains every function of all
International Journal of Distributed Sensor Networks 3

devices in the world. The intuitive solution for this issue can Behaviors Behaviors
be the creation of all kinds of agents for devices. However,
this solution also has a limitation. Different kinds of agents
can suffer with the interoperability between them as their
corresponding devices do.
iotSilo

WiFi ZigBee
3. Architecture
3.1. Conceptual Design. The heterogeneity of devices is natu-
ral and unavoidable because devices have to be designed to fit Figure 1: The conceptual design of the iotSilo.
themselves to their applications and surroundings. Therefore,
the forcing uniform scheme on the heterogeneous devices has
no choice to fail. We decided that hiding the heterogeneity case. Also, we were reluctant to choose Inheritance because
would be a key design factor instead of enforcing particular of the several weaknesses: inheritance conflict, excessive
network types, identifier schemes, or protocols. For this dependency of intermediate parent classes, and compile time
purpose, we adopted a software agent [23] to act for a device binding [24].
in a relationship of agency. An agent can communicate with Comparing to Inheritance, Composition provides more
other agents while it hides its device’s network type, pro- flexibility. By dividing an agent into agent’s core and its
tocol, and other heterogeneous natures. Even while devices behaviors which perform the functions of its device, the agent
are located on the different networks and have different can easily accept any kind of request from devices. However,
identifiers, they can painlessly communicate and collaborate the coherence between the agent core and its behaviors is
with each other in the agent space. This approach enables still unavoidable even though Composition is adopted. In
the physical interaction of devices to be transposed onto the research, the portable service abstraction (PSA) and
the cyber interaction of agents, which is greatly flexible dependency injection (DI) patterns are used to remove the
in responding to the heterogeneity of devices. Comparing coherence.
to the severe limitation of the physical environment, the
cyber environment allows devices a high level of freedom 3.3. Portable Service Abstraction (PSA). In order to support
to collaborate with each other regardless of their different every function of the various devices, the separation of
natures. the functions from the agent core is required. However,
The conceptual design of the iotSilo adopting the software this separation leads to a new problem that an agent core
agent is shown in Figure 1. In the iotSilo, a device delegates its has to know all method signatures of the device-dependent
authority to a corresponding agent. When a device wants to functions. That is, the agent core has no choice but to contain
communicate or collaborate with other devices, it orders its the name of all classes and method signatures in its source
corresponding agent to do it. Then, the corresponding agent code as shown in Figure 2(a). In this structure, whenever
performs a proper behavior on behalf of the device, such as a new device is added, the agent core should be modified
reporting the device’s data to the system or sending a request in the source code level and be redeployed. Therefore, a
to other devices. If needed, the agent can communicate with simple separation cannot be a solution in considering the vast
other agents using the message bus in the iotSilo. Using the diversity of devices.
iotSilo, devices can make a logical channel between them This problem has been referred to as the dependency
using only their limited physical channels connected to their in the OOD and the portable service abstraction (PSA)
agents even if they cannot directly communicate with each policy has been proposed to reduce the dependency between
other. objects. The PSA recommends architects to use an interface
rather than a concrete object for achieving low coherence
3.2. Agent Design. In designing agents, the extensibility is a between objects. In our design shown in Figure 2(b), devices’
major consideration that we have thought intensely, because functions are abstracted as a Behavior interface, which is
an agent should handle many various devices without cor- implemented by actual behavior classes. Then, the agent
rupting the running system. Generally, there are two main core can call various device-dependent functions through
methods of the extensibility in the object oriented design the Behavior interface. Unlike the conventional system, the
(OOD): Inheritance and Composition. Although Inheritance addition of new devices can be easily supported without
is intuitive, the method is not recommended to make different affecting the agent core and the running system. The resulting
kinds of classes inherited from the same parent class [24]. structure is to be the form of the Strategy design pattern.
Inheritance should be used in the “is-a” relationship between With the pattern, the agent core can act as a proxy of various
classes. That means all classes using Inheritance are included devices by equipping various device-dependent classes which
in the same category. In the research, agents seem to be implement the Behavior interface.
the same kind of “agent” which acts for a real world thing.
However, agents are just the avatar of real world things 3.4. Dependency Injection (DI). The PSA policy provides
which are totally different in their properties and operations. an agent to equip the behavior classes performing device-
Therefore, the adoption of Inheritance is not proper for this dependent functions without modifying the agent core, but
4 International Journal of Distributed Sensor Networks

Temp
getTemp() +getTemp()
<<interface>> Core
Core Behavior
Camera process() -behavior
-temp +process()
getCam()
-camera
-newDev +getCam() External
config.
?
New device Temp Camera New device

+newOp() +process() +process() +process()

(a) (b)

Figure 2: (a) The ordinary dependency. (b) The decreasing dependency by using the Behavior interface.

<bean id=“vibAgent”
class=“net.agentsilo.iotsilo.agent.ThingAgent” scope=“prototype”>
<property name=“info” ref=“thingInfo” />
<property name=“behaviorMap”>
<map>
<entry key=“report” value=“vib report” />
<entry key=“get data” value=“vib get” />
<entry key=“set cmd” value=“vib set” />
</map>
</property>
</bean>
⋅⋅⋅⋅⋅⋅
<!-- Behavior Definition -->
<bean id=“vib report”
class=“net.agentsilo.iotsilo.behavior.GeneralReport” />
<bean id=“vib get”
class=“net.agentsilo.iotsilo.behavior.DefaultHttpGetData” />
<bean id=“vib set”
class=“net.agentsilo.iotsilo.behavior.DefaultHttpSetCmd” />

Algorithm 1: The snippet of configuration file describing the vibAgent and its behavior classes.

the agent core still has to hold the behavior classes’ names mapped to different behavior classes depending on the type of
in the source code because the instantiation of the behavior devices. The directives are linked to the actual implemented
classes is unavoidable. We resolved this problem using the classes in the configuration file shown in Algorithm 1 and
dependency injection (DI) [25]. The DI is a design pattern these classes are dynamically assembled into the agent core at
that allows removing hard-coded dependencies in the source runtime. For example, the “report” behavior is linked to the
code and injecting them from the external configuration. The “GeneralReport” class that reports the vibration sensor’s data
DI ensures that the agent core does not know where device- to the iotSilo management console.
dependent functions come from and it allows the selection In the proposed system, all the behavior classes should
among multiple implementations of the given interface at implement the Behavior interface which has a single method
runtime. Using the PSA and the DI, the agent core can choose of “process (object. . . values)” and they are assembled into
the proper behavior class from the external configuration agents using the dynamic binding. In general, the Strategy
without knowing the actual name of the behavior class as pattern is enough to change behaviors depending on the
shown in Figure 2(b). In the snippet of the configuration in types of devices. However, an agent has to support many
Algorithm 1, the “vibAgent” acts for a vibration sensor and it functions of devices, so the agent maintains a behavior
has three directives: a “report,” a “get data,” and a “set cmd.” map which holds the pair of the “directive” key and the
Generally, a directive indicates an agent’s behavior open to the “Behavior implemented class object” value. In Figure 3, the
external entities such as other agents. The external entities can vibAgent’s behavior map based on the configuration file
request a behavior to the target agent with the directive cor- in Algorithm 1 is described. When an external directive
responding to the behavior instead of the actual class name of “report” is requested to the vibAgent, the agent chooses
the behavior. With this mechanism, the same directive can be the corresponding “GeneralReport” behavior class and then
International Journal of Distributed Sensor Networks 5

“report” Directive Behavior DefaultHttpGetData


get data vib get
set cmd vib set DefaultHttpSetData
report vib report Behavior
GeneralReport

Execute

Figure 3: The structure and process of the agent’s behavior map.

executes it. Using the method, agents can hold any kinds of {
devices’ behaviors unlimitedly. Common part “version”: float alue,
“id”: sender agent’s id,

3.5. Protocols. In the iotSilo, two kinds of protocols are “data”: [


defined. First protocol is between a device and a correspond- {
ing agent and second is between agents. A protocol between “directive”: target directie,
Custom part
a device and an agent should support exchanging various “arg”: {
data with devices because devices can have their own unique args needed for directie
properties and operations. However, if all requirements are }
defined in a single protocol interface, the protocol interface }
]
would be too complex. It means that the protocol should be
}
not only extensible but also concise.
In order to meet both conflicting requirements, we Figure 4: The protocol interface between a device and an agent.
designed the protocol interface consisting of a common and
a custom part as shown in Figure 4. In the common part,
“version” is the protocol version and “id” is the identifier {
Common part
allocated to a device and its agent. The common part is “id”: sender agent’s id,
not unchanged and all agents handle it identically, but the
processing of the custom part tagged as “data” can be varied “data”: {
depending on the devices’ nature. When a packet is received “directive”: target directie,
from its device, an agent processes the common part and it Custom part “arg”: {
hands over the custom part to its corresponding behaviors args needed for directie
using the given directive defined in the custom part. The “arg” }
in the custom part can be varied because the handling method
}
of the Behavior interface supports variable arguments. That
}
is, agents leave the manipulation of the custom part to the
indicated behavior, so the contents of the custom part can Figure 5: The protocol interface between agents.
have a high degree of freedom.
The protocol interface in Figure 4 is used in the commu-
nication flow from a device to an agent. In order to collaborate
with other devices, the protocol should support the bidirec- and a receiver identifier is omitted because each agent has its
tional communication, so it should have an interface called own listening channel to the message bus in the iotSilo. When
from an agent. In the opposite flow, the interface format is a sender agent publishes a message to the target channel of
the same except for the number of directives. We decided that the receiver agent, the message is asynchronously delivered
the protocol interface toward the device can have only a single through the message bus.
directive in the custom part considering the processing power
of an embedded device. 3.6. Message Bus between Agents. Between agents, multiple
The protocol interface between agents is similar to the concurrent communication sessions could occur in the iot-
one between a device and an agent as shown in Figure 5. The Silo. Since all sessions are independent of each other, the ordi-
different part is that the protocol interface can only hold a nary request-response metaphor, for example, synchronous
single behavior. A device can issue multiple behaviors at the communication between agents, may cause the performance
same time, but an agent only requests a single behavior at one degradation and the deadlock of the system. Small amounts
time. The protocol interface between agents can also contain of mesh topology connections among agents are enough to
any kind of information in the custom part because the halt the whole system if only a single agent delays a response.
corresponding agent leaves actual processing of the custom In order to avoid this catastrophe, we adopted a message
part to the matching behavior. The “id” is a sender identifier oriented middleware (MOM) [26] to construct a message bus.
6 International Journal of Distributed Sensor Networks

{
“id”:”foo@silo.net”,
“data”: {
···
}
Publish }

Message bus

Listen

“foo”

Physical channel
Logical channel

Figure 6: The message bus in the iotSilo.

MOM relies on asynchronous message passing in which a


message queue provides temporary storage when a destina-
tion peer is busy or is not connected. Therefore, a sender and
a receiver do not need to connect to the network at the same
time. It can solve problems with the intermittent connectivity.
Even if a receiver fails for some reasons, senders can continue
to send their messages unaffected. The messages will simply
accumulate in the message queue for later processing when
the receiver resumes. In the iotSilo, an agent is designed to
have a listening channel named its identifier on the message
bus. When an agent wants to send a message to a peer agent,
the agent makes a message and it publishes the message with
the peer agent’s identifier. Then, the message bus in the iotSilo
delivers the message to the destination agent asynchronously.
This process is depicted in Figure 6.
IoT is expected to be composed of at least several million
devices and various messages are exchanged in it. Therefore,
the extensibility and the scalability are major considerations
to choose MOM. In order to fulfill these design factors, Figure 7: The developed IoT devices.
we selected ActiveMQ [27] for the following reasons. First,
ActiveMQ supports both string messages and blob message.
In the current design, the protocol only uses string messages,
We made eleven different types of the IoT devices: a tempera-
but if the binary data is needed, the protocol can be easily
ture sensor, a humidity sensor, an optical detector, a vibration
extended by using the blob message. Second, ActiveMQ has a
sensor, a radioactive sensor, a camera sensor, a rainfall meter,
capability to build a cluster easily. The capability is important
a wind vane, a wind gauge, a speaker, and an illuminometer.
when the message bus of the iotSilo is required to be scaled
The devices were connected on three kinds of networks:
up. The plan for the scalability of the iotSilo will be discussed
Ethernet, WiFi, and ZigBee. These totally different functions
in Chapter 5.
and network types enable the IoT devices to emulate real
world heterogeneous things. The developed IoT devices are
shown in Figure 7.
4. Experiments In order to show the effectiveness of the iotSilo, the IoT
devices were deployed at three locations: Anyang Univer-
4.1. Physical Things and Experiment Environment. In the sity and Pusan University in Korea and Waseda University
research, the IoT devices were implemented using Arduino in Japan. The points in Korea were connected to Korea
[14] in order to emulate real world things. Arduino is an Advanced Research Network (KOREN) and the point in
open-source single-board microcontroller designed to make Japan was connected to Japan Gigabit Network Extreme
various electronic devices easily in multidisciplinary projects. (JGN-X). Each point was configured to have eleven devices
International Journal of Distributed Sensor Networks 7

Vibration Optic
sensor detector
Illuminometer

KOREN/JGN

Humidity
sensor

Temperature
sensor
ZigBee WSN Wireless AP

Speaker Sink
WiFi
Ethernet

Rainfall Wind vane


meter

Wind
gauge Radioactive
Camera sensor sensor

Figure 8: The deployment structure of the IoT devices for experiments.

as shown in Figure 8. In these experiments, we wanted After the experiment, we changed the report function
to test three check points: the dynamic assembly of the from the “CelsiusReport” class to the “FahrenheitReport”
various device-dependent functions into the agent’s core, class in the configuration of the agent for the temperature
the collaboration between devices at a distant location with sensor. This subexperiment assumed the situation where a
different network types, and the modification of behaviors device changed its behavior after finishing the deployment
without affecting other parts of the system. of the IoT services. In this sub experiment, the reported
temperature data is well interpreted as the Fahrenheit value
without affecting other parts of the system and even the
4.2. Dynamic Assembly of Device-Dependent Functions. In corresponding agent itself.
modeling the agent, we focused on the agent’s dynamic sup-
port of the device-dependent functions without modifying 4.3. Collaboration of Heterogeneous Devices at Distant Loca-
the source code of the agent itself. To evaluate this design tions. In this experiment, when an optical detector at Waseda
purpose, we conducted an experiment in which the same University sensed the human body, it sent a request to a
kinds of agents act as a proxy of two different kinds of speaker at Anyang University to make a warning sound.
sensors: a camera sensor connected through the Ethernet and Physically, the optical detector and the speaker were not
a temperature sensor through the ZigBee. directly connected and did not know each other’s network
The camera sensor reports binary image data to the status at all, but the optical detector communicated with
corresponding agent which stores the data into a mass storage the speaker using agents’ collaboration. The detector issued
and renders the stored images to the management console. the “report” directive to its agent; then the agent chose
On the other hand, the agent of the temperature sensor stores the “humanDetection” behavior class which sent a request
the reported temperature data into a database and it renders message containing “beep” directive to the speaker agent.
the data as a bar chart. As shown in Figure 9, each agent does After receiving the request, the speaker agent chose the
not need to modify the agent core at all but just to load proper behavior corresponding to the “beep” directive. Then, the
device-dependent behaviors in the external configuration behavior issued a “set cmd” directive which contained a
as shown in Algorithm 2. At runtime, each agent loads sound generation command to the speaker. The experiment
device-dependent behaviors and assembles them into the gave the expected result although these devices were con-
agent itself as indicated in the configuration. This experiment nected on different networks. The whole procedure is shown
showed that any kinds of devices can be easily supported in Figure 10.
by the proposed agent without the code modification if the
corresponding device-dependent functions are indicated in 4.4. Addition of New Functions without Affecting Other Parts
the external configuration. of the System. We pointed out that new devices would be
8 International Journal of Distributed Sensor Networks

External
al
config.

iotSilo
Directive Behavior
report picture report PictureReport
··· ···
FahrenheitReport

Directive Behavior CelsiusReport


report cel report
··· ···

Figure 9: The agents’ assembly of device-dependent behaviors based on the external configuration.

<bean id=“temperatureAgent”
class=“net.agentsilo.iotsilo.agent.ThingAgent”
scope=“prototype”>
<property name=“info” ref=“thingInfo” />
<property name=“behaviorMap”>
<map>
<entry key=“report” value=“cel report” />
<entry key=“get data” value=“temp get” />
<entry key=“set cmd” value=“temp set” />
</map>
</property>
</bean>
<bean id=“pictureAgent”
class=“net.agentsilo.iotsilo.agent.ThingAgent”
scope=“prototype”>
<property name=“info” ref=“thingInfo” />
<property name=“behaviorMap”>
<map>
<entry key=“report” value=“picture report” />
<entry key=“get data” value=“picture get” />
<entry key=“set cmd” value=“picture set” />
</map>
</property>
</bean>
<bean id=“cel report”
class=“net.agentsilo.iotsilo.behavior.CelsiusReport” />
<bean id=“fah report”
class=“net.agentsilo.iotsilo.behavior.FahrenheitReport” />
<bean id=“picture report”
class=“net.agentsilo.iotsilo.behavior.PictureReport” />

Algorithm 2: The configuration of temperatureAgent and pictureAgent.

often added and the already deployed devices would replace “RadioActiveReport” behavior sent a request to the speaker
functions due to the dynamicity of IoT. In the experiment, agent when it checked the high radioactivity level. In order to
we assumed that a radioactive sensor suddenly needed a check this function, the radioactive beads were used as shown
warning sound for the high radioactivity level. However, in Figure 11.
the radioactive sensor did not have a sound function at the The result showed that the addition of new function
deployment time, so it needed a help from the speaker nearby. was successful without affecting other parts of the system. It
To add the function after the device deployment, we just only means that the mash-up-style IoT services are always possible
changed the radioactive sensor’s “report” behavior from the with the iotSilo. Additionally, though the radioactive sensor
“GeneralReport” behavior to the “RadioActiveReport.” The was connected with WiFi and the speaker was connected with
International Journal of Distributed Sensor Networks 9

iotSilo

Directive Behavior

“set cmd” speakerSet


Set cmd
“beep” beepBehavior
ZigBee
Message Bus

beep

WiFi Directive Behavior


report
"report" humanDetection

Figure 10: The collaboration of heterogeneous devices located at distant location.

Table 1: Comparison with other technologies.

Factor for IoT iotSilo WSN M2M


System integration with Good Moderate Poor
heterogeneous devices
Dynamic function Best Poor Poor
extension
Support of collaboration
between heterogeneous Good Poor Poor
devices
Technology stability Moderate Good Good Radioactive Radioactive
Poor Moderate Good Speaker sensor beads
Scalability

Figure 11: The radioactive beads are put on the radioactive sensor
and the sensor requests an alarm to speaker.
ZigBee, two devices easily communicated with each other in
spite of the difference of their network connectivity.
5.2. Federation of the iotSilos. From the evaluation, the
scalability of the iotSilo should be improved. Since IoT is
5. Evaluation and Future Research expected to be composed of at least several million devices,
5.1. Evaluation. In order to evaluate the effectiveness of the the scalability is essential property that all IoT platforms
iotSilo, we compared the iotSilo with other IoT enabling should support. The same numbers of agents corresponding
technologies. As shown in Table 1, the iotSilo is much better to all devices have to be allocated in a single iotSilo, so the
than other technologies in supporting heterogeneous devices. size of IoT depends on the capacity of the iotSilo. Generally,
The iotSilo can support various heterogeneous devices, but the methods of enhancing the scalability fall into two broad
WNS and M2M have the limit of device types. The dynamic categories: scale-out and scale-up [28]. The scale-up is a
function extension is easily supported by changing the config- simple way but it is not practical at all for the IoT environment
uration of agents in the iotSilo, but other technologies should because the number of devices can easily pass over the added
modify components in the source level. In WSN and M2M, resources. For this reason, the scale-out seems the only way
it is difficult for heterogeneous devices to communicate with to resolve the scalability issue of IoT. In the further study,
each other because the technologies force the devices to we have a plan to design that multiple iotSilos can federate
have the same network connectivity. Comparing to it, the into a virtual single iotSilo in the manner of scale-out. Each
iotSilo successfully achieved the collaboration of devices iotSilo takes charge of each organization and delivers requests
on the different network connectivity by using the indirect to other iotSilos when its devices want to collaborate with the
communication containing conceptual directives. The iotSilo devices belonging to the other iotSilo. Using this federation,
is superior to the conventional technology in resolving the the iotSilo can be extended to large scale easily.
heterogeneity issue of the IoT, but the iotSilo reveals some
weaknesses of technology stability and the scalability due to 5.3. Directory Service. In the current design, an agent has
its preliminary phase. to know the target directive before calling it. That means
10 International Journal of Distributed Sensor Networks

the directive should be contained in the behavior code. [2] D. Bandyopadhyay and J. Sen, “Internet of things: applications
Since behaviors can be easily replaced in the configuration and challenges in technology and standardization,” Wireless
file, this structure does not severely affect the dependency Personal Communications, vol. 58, no. 1, pp. 49–69, 2011.
between agents. However, if an agent can search other [3] J. K. Ng, “Ubiquitous healthcare: healthcare systems and appli-
agents’ behaviors dynamically and understand semantically, cation enabled by mobile and wireless technologies,” Journal of
the intelligent collaboration of agents may be possible. This Convergence, vol. 3, no. 2, pp. 15–20, 2012.
kind of smart and automated collaboration of machines [4] H. Sundmaeker, P. Guillemin, P. Friess, and S. Woelffle, “Vision
is another vision of the IoT. In the further research, we and challenges for realizing the internet of things,” Cluster of
will study the semantic directory service with which every European Research Projects on the Internet of Things, European
Commission, 2010.
agent registers its behaviors and semantically searches others’
behaviors. For a long time, the related studies have been [5] J. C. Augusto, V. Callaghan, D. Cook, A. Kameas, and I.
Satoh, “Intelligent environments: a manifesto,” Human-Centric
conducted in the field of the Semantic Web Services [29]
Computing and Information Sciences, vol. 3, article 12, 2013.
and some meaningful methods such as SSWAP [30] have
[6] L. Atzori, A. Iera, and G. Morabito, “The internet of things: a
been produced. Therefore, it may not be difficult to make
survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805, 2010.
a directory service for IoT with the Semantic Web Services
[7] F. Mattern and C. Floerkemeier, “From the internet of comput-
technology. Additionally, we also have a plan to create a
ers to the internet of things,” in From Active Data Management
new ontology which can describe agents’ behaviors and IoT to Event-Based Systems and More, vol. 6462 of Lecture Notes in
services. Computer Science, pp. 242–259, 2010.
[8] L. Tan and N. Wang, “Future internet: the internet of things,”
6. Conclusion in Proceedings of the 3rd International Conference on Advanced
Computer Theory and Engineering (ICACTE ’10), pp. V5376–
Although many visions have been presented and expectation V5380, Chengdu, China, August 2010.
about IoT is growing rapidly, there has not been any solution [9] E. Cho and S. Helal, “Expressive exceptions for safe pervasive
for IoT yet. There may be many issues to prevent the spaces,” Journal of Information Processing Systems, vol. 8, no. 2,
realization of IoT, but the heterogeneity is the most essential 2012.
one. In order to resolve the issue, we suggested the agent [10] J. Yick, B. Mukherjee, and D. Ghosal, “Wireless sensor network
service platform, iotSilo. It enables agents to communicate survey,” Computer Networks, vol. 52, no. 12, pp. 2292–2330, 2008.
and collaborate to make IoT services on behalf of their [11] K. Chang, A. Soong, M. Tseng, and Z. Xiang, “Global wireless
corresponding devices. The structures of agent and protocol machine-to-machine standardization,” IEEE Internet Comput-
ing, vol. 15, no. 2, pp. 64–69, 2011.
were designed to hide the heterogeneity of devices and to
extend easily the devices’ functions. With Arduino, various [12] M. Chen, J. Wan, and F. Li, “Machine-to-machine communi-
cations: architectures, standards and applications,” KSII Trans-
IoT devices were made to emulate real world things and
actions on Internet and Information Systems, vol. 6, no. 2, pp.
they were deployed in both Korea and Japan. In order to 488–497, 2012.
show the effectiveness of the iotSilo, several experiments
[13] M. Iqbal and H. B. Lim, “Poster abstract: a cyber-physical
were conducted. The results showed that the iotSilo enables middleware framework for continuous monitoring of water
devices to communicate and collaborate with each other distribution systems,” in Proceedings of the 7th ACM Conference
regardless of their heterogeneous natures such as network on Embedded Networked Sensor Systems (SenSys ’09), pp. 401–
types. The results also showed that the iotSilo enables agents 402, November 2009.
to assemble or replace their device-dependent behaviors at [14] D. Wilcher, Learn Electronics with Arduino, Apress, 2012.
runtime without corrupting the system. [15] The IPSO Alliance, “Technical Information,” 2013, http://www
The iotSilo has shown a new way to resolve the hetero- .ipso-alliance.org/technical-information.
geneity issue for IoT, but there is some room for improvement [16] E. Fleisch, “What is the internet of things?—An economic
because it is still in the experimental stage. For the further perspective,” Auto-ID Labs White Paper WP-BIZAPP-053,
studies, we have a plan to design a directory service that 2013, http://autoidlabs.org/uploads/media/AUTOIDLABS-
enables agents to register and find behaviors semantically. In WP-BIZAPP-53.pdf.
addition, we will study the scalability of the iotSilo to support [17] O. Dubuisson, “Introduction to Object Identifiers (OID) and
a huge number of devices. registration authorities,” France Telecom Orange, 2013, http://
www.oid-info.com/doc/introductiontoobjectidentifiers(OIDs)
.pdf.
Conflict of Interests [18] Q. Zhu, R. Wang, Q. Chen, Y. Liu, and W. Qin, “IOT gateway:
bridging wireless sensor networks into internet of things,” in
The authors declare that there is no conflict of interests Proceedings of the IEEE/IFIP 8th International Conference on
regarding the publication of the paper. Embedded and Ubiquitous Computing (EUC ’10), pp. 347–352,
Hong Kong, China, December 2010.
References [19] S. Hong, D. Kim, M. Ha et al., “SNAIL: an IP-based wireless
sensor network approach to the Internet of things,” IEEE
[1] T. R. Regina, T. Tome, and C. E. Rothenberg, “Scenario of Wireless Communications, vol. 17, no. 6, pp. 34–42, 2010.
evolution for a future internet architecture,” in New Network [20] Postscapes, “Internet of Things Platforms-Postscapes,” 2013,
Architectures, pp. 57–77, Springer, 2010. http://postscapes.com/internet-of-things-platforms.
International Journal of Distributed Sensor Networks 11

[21] COSM, “Cosm—internet of things platform connecting devices


and apps for real-time control and data storage,” 2013, http://
www.cosm.com.
[22] Open.Sen.se, 2013, http://open.sen.se.
[23] H. S. Nwana and D. T. Ndumu, “A brief introduction to
software agent technology,” in Agent Technology: Foundations,
Applications, and Markets, pp. 29–48, Springer, Wooldridge,
Mo, USA, 2010.
[24] K. Knoernschild, Java Design: Objects, UML, and Process,
Pearson Education, 2001.
[25] M. Fowler, “Inversion of control containers and the dependency
injection pattern,” 2013, http://www.martinfowler.com/articles/
injection.html.
[26] C. Edward, “Message-oriented middleware,” in Middleware
for Communications, Q. H. Mahmoud, Ed., pp. 1–28, Wiley,
Chichester, UK, 2004.
[27] B. Snyder, D. Bosanac, and R. Davies, ActiveMQ in Action,
Manning, 2011.
[28] M. Michael, J. E. Moreira, D. Shiloach, and R. W. Wisniewski,
“Scale-up x scale-out: a case study using nutch/Lucene,” in
Proceedings of the 21st International Parallel and Distributed
Processing Symposium (IPDPS ’07), March 2007.
[29] R. Studer, S. Grimm, and A. Abecker, Semantic web services:
concepts, technologies, and applications, Springer, 2007.
[30] D. D. G. Gessler, G. S. Schiltz, G. D. May et al., “SSWAP: a
simple semantic web architecture and protocol for semantic web
services,” BMC Bioinformatics, vol. 10, article 1471, p. 309, 2009.
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2013, Article ID 795630, 9 pages
http://dx.doi.org/10.1155/2013/795630

Research Article
Distributed Risk Aversion Parameter Estimation for First-Price
Auction in Sensor Networks

Xin An,1 Shuo Xu,2 Jiancheng Chen,1 and Yuan Zhang1


1
School of Economics and Management, Beijing Forestry University, No. 35 Qinghua East Road, Haidian, Beijing 100083, China
2
Information Technology Support Center, Institute of Scientific and Technical Information of China, No. 15 Fuxing Road,
Haidian, Beijing 100038, China

Correspondence should be addressed to Jiancheng Chen; chenjc1963@163.com

Received 30 August 2013; Accepted 27 November 2013

Academic Editor: Luis Javier Garcia Villalba

Copyright © 2013 Xin An et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Following the Internet, the Internet of Things (IoT) becomes a prime vehicle for supporting auction. The use of market mechanisms
to solve computer science problems is gaining significant traction. More and more clues show that the bidders tend to be risk-averse
ones. However, traditional nonparametric approach is only applicable for the case of risk neutrality in a centralized server. This
study proposes a generalized nonparametric structural estimation procedure for the first-price auctions in the distributed sensor
networks. To evaluate the performance of the aggregated parameter estimators, extensive Monte Carlo simulation experiments are
conducted for ten different values of risk aversion parameters including the risk neutrality case in multiple classic scenes. Moreover,
in order to improve the usability of the aggregated parameter estimators, some guidance is also given for real-world applications.

1. Introduction Risk aversion is used to explain the advertisers’ behavior


under uncertainty. The auction model and the optimal
Auctions are suggested as a basic pricing mechanism for set- mechanism design for risk-averse bidders have been studied
ting prices for access to shared resources, including band- by [16–18]. Within the private value paradigm, risk-averse
width sharing in wireless sensor networks (WSNs) [1]. Fol- bidders tend to shade less their private values relative to the
lowing the Internet, the Internet of Things (IoT) [2, 3] risk neutral case, which often results in some overbidding
becomes a prime vehicle for supporting auction [4]. More- [19]. More and more clues show that the bidders indeed tend
over, the use of market mechanisms to solve computer science to be risk-averse ones [20–22].
problems such as resource sharing [1, 5, 6], load awareness In recent years, in order to gain some insight from
[7], task allocation [8], and network routing [9–11], is gaining auction data, structural approaches, pioneered by Paarsch
significant traction. [23], have attracted extensive attention. Some of them rely
In addition to the real-time concerns associated with upon a parametric specification of the bidders’ private values
auctions in distributed sensor networks (DSNs), privacy distribution, for example, the piecewise pseudomaximum
concerns are also very important [12–15]. Therefore, many likelihood estimation (PPMLE) approach [24, 25]. Laffont
protocols are proposed in the literature. For example, the et al. [26] have proposed a simulated nonlinear least square
protocol for a sealed-bid auction proposed by Franklin and estimation method, which allows general parametric specifi-
Reiter [12] uses a set of distributed auctioneers and features cations. However, all of the methods rely on some assumption
an innovative primitive called verifiable signature-sharing. on parametric structures.
Recently, Lee et al. [14] put forward an efficient multiround Without any parametric assumptions, Guerre et al. [27]
anonymous auction protocol. When there are more than one have presented a computationally convenient nonparamet-
party bidding the same highest price for auctioned objects, ric estimation procedure. But it is only applicable for the
the protocol picks out the bidders offering the same highest case of risk neutrality. Therefore, it cannot explain the agents’
price in the first round to the next round. behavior very well. To overcome this problem, this paper
2 International Journal of Distributed Sensor Networks

to his/her bid 𝑏𝑛,𝑡 for the auctioned object 𝑂𝑡 (𝑡 ∈ N𝑇 ), where


Ot 𝑏𝑚,𝑡 is the 𝑚th player’s bid for the auctioned object 𝑂𝑡 .
The first-order condition for maximizing expected utility
can be written as

b1,t bn,t bN𝑡 ,t


··· ··· (𝑁𝑡 − 1) 𝑠󸀠 (𝑏𝑛,𝑡 ) 𝑓 (V𝑛,𝑡 ; 𝑁𝑡 ) (V𝑛,𝑡 − 𝑏𝑛,𝑡 ) − 𝛾𝐹 (V𝑛,𝑡 ; 𝑁𝑡 ) = 0.
t ∈ NT (1)

Figure 1: The Schematic diagram for auction model.


Since one can only access the equilibrium bid 𝑏𝑛,𝑡 (𝑡 ∈ N𝑇 , 𝑛 ∈
N𝑁𝑡 ) and cannot access private value V𝑛,𝑡 (𝑡 ∈ N𝑇 , 𝑛 ∈ N𝑁𝑡 )
in the real-world applications, it should be better to see the
generalizes nonparametric estimation procedure, so that it
private value V𝑛,𝑡 s as a function of equilibrium bid 𝑏𝑛,𝑡 s. By
can be applicable for risk aversion in the first-price auction.
rearranging (1), one can easily obtain
Our previous work restricts us to a special case only with two
different numbers of bidders [28] or to a centralized server
[29], but in this study we lose these restriction to distributed 𝐹 (𝑠 (𝑏𝑛,𝑡 ) ; 𝑁𝑡 )
sensor networks. V𝑛,𝑡 = 𝑏𝑛,𝑡 + 𝛾 ⋅ ,
𝑓 (𝑠 (𝑏𝑛,𝑡 ) ; 𝑁𝑡 ) 𝑠󸀠 (𝑏𝑛,𝑡 ) (𝑁𝑡 − 1) (2)
The rest of the paper is organized as follows. After the
risk-averse model for first-price auction with independent 𝑡 ∈ N𝑇, 𝑛 ∈ N𝑁𝑡 .
private value is briefly introduced in Section 2, a generalized
distributed nonparametric estimation procedure is proposed
for sensor networks in Section 3. In Section 4, extensive Additionally, 𝐹(V𝑛,𝑡 ; 𝑁𝑡 ) = V𝑛,𝑡 , 𝑓(V𝑛,𝑡 ; 𝑁𝑡 ) = 1, and
Monte Carlo simulation experiments are conducted, and (𝑑𝑏𝑛,𝑡 /𝑑V𝑛,𝑡 ) = (1/𝑠󸀠 (𝑏𝑛,𝑡 )). Hence from (1), one can obtain
Section 5 concludes this work.

𝑑𝑏𝑛,𝑡 𝑁𝑡 − 1 𝑏𝑛,𝑡
2. Preliminary: Risk-Averse Model = (1 − ), 𝑡 ∈ N𝑇, 𝑛 ∈ N𝑁𝑡 . (3)
𝑑V𝑛,𝑡 𝛾 𝑣𝑛,𝑡
A single and indivisible object 𝑂𝑡 (𝑡 ∈ N𝑇 = {1, 2, . . . , 𝑇})
is sold through an auction to 𝑁𝑡 ∈ M = {𝑚1 , 𝑚2 , . . . , 𝑚𝑀}
bidders with their respective bid 𝑏𝑛,𝑡 (𝑡 ∈ N𝑇 , 𝑛 ∈ N𝑁𝑡 = To solve the differential equation (3), the following equilib-
{1, 2, . . . , 𝑁𝑡 }), where M is a finite set with 𝑀 ≥ 2 elements. rium bid function can be obtained:
Thus, one can consider simultaneously 𝑇 similar single item
auctions. Figure 1 shows the schematic diagram for classic 𝑁𝑡 − 1
𝑏𝑛,𝑡 ≡ 𝜎 (V𝑛,𝑡 ) = V , 𝑡 ∈ N𝑇, 𝑛 ∈ N𝑁𝑡 . (4)
auction model. 𝑁𝑡 − 1 + 𝛾 𝑛,𝑡
In this paper, the private value paradigm is considered,
where every bidder has a private value V𝑛,𝑡 (𝑡 ∈ N𝑇, 𝑛 ∈ N𝑁𝑡 )
for the auctioned object 𝑂𝑡 (𝑡 ∈ N𝑇 ). The private values Let 𝐺(𝑏; 𝑁𝑡 ) and 𝑔(𝑏; 𝑁𝑡 ) be the CDF and PDF of the
V𝑛,𝑡 s are drawn independently from a cumulative probability bids with 𝑁𝑡 − 1 competing bidders, respectively. From (4),
distribution (PDF) 𝐹(V; 𝑁𝑡 ), which is assumed to be known it is not difficult to see that bid 𝑏 = 𝜎(V) has the same
to all bidders and is defined on compact support [V, V] with a CDF (cumulative probability distribution function) with V;
probability density function (PDF) 𝑓(V; 𝑁𝑡 ). namely, 𝐺(𝑏; 𝑁) = 𝐹(𝑠(𝑏); 𝑁). In fact, Guerre et al. [27]
have proofed that distribution function 𝐹(⋅; ⋅) is unique and
Intuitively, every bidder is potentially risk-averse with
equivalent to 𝐺(⋅; ⋅). Moreover, their PDFs also have some
a von Neuman Morgensten utility function 𝑈(⋅) satisfying
relevance; namely, 𝑔(𝑏) = 𝑓(𝑠(𝑏))/𝜎󸀠 (𝑠(𝑏)). Therefore, (5) can
𝑈󸀠 (⋅) > 0, 𝑈󸀠󸀠 (⋅) ≤ 0, and 𝑈(0) = 0. The bidders are
be simplified as
symmetric in the sense that they share the same private value
CDF 𝐹(V; 𝑚) and the same utility function 𝑈(⋅). Specifically,
the distribution 𝐹(V; 𝑚) for the private values is a uniform 𝐺 (𝑏𝑛,𝑡 ; 𝑁𝑡 )
distribution on [0, 1] with a constant relative risk (CRRA) V𝑛,𝑡 = 𝑏𝑛,𝑡 + 𝛾 ⋅ , 𝑡 ∈ N𝑇, 𝑛 ∈ N𝑁𝑡 .
𝑔 (𝑏𝑛,𝑡 ; 𝑁𝑡 ) (𝑁𝑡 − 1)
utility function, 𝑈(𝑥) = 𝑥𝛾 with 𝛾 ∈ [0, 1]. In this
(5)
specification, 1 − 𝛾 is the coefficient of relative risk aversion,
with 𝛾 = 1 corresponding to risk neutrality.
Let 𝑏 = 𝜎(V) denote the equilibrium bid function. Under 3. Risk Aversion Parameter Estimation
weak regularity conditions, the equilibrium bid function is
strictly increasing and differentiable, so that its inverse 𝑠(𝑏) = 3.1. Meta-Parameter Estimators. As suggestions by Campo
𝜎−1 (𝑏) exists and inherits these properties [27]. Bidder 𝑛 ∈ et al. [22], let 𝑏𝛼(𝑚𝑘 ) and 𝑏𝛼(𝑚𝑙 ) denote the 𝛼th percentile of
N𝑁𝑡 maximizes his expected utility E[Π𝑛,𝑡 ] = [Pr(𝑏𝑛,𝑡 ≥ 𝑏𝑚,𝑡 , the CDF 𝐺(⋅; 𝑚𝑘 ) and 𝐺(⋅; 𝑚𝑙 ), respectively; the equation
𝑚 ≠𝑛)]𝑈(V𝑛,𝑡 − 𝑏𝑛,𝑡 ) = 𝐹(𝑠(𝑏𝑛,𝑡 ))𝑁𝑡 −1 (V𝑛,𝑡 − 𝑏𝑛,𝑡 )𝛾 with respect 𝐺(𝑏𝛼(𝑚𝑘 ) ; 𝑚𝑘 ) = 𝛼 = 𝐺(𝑏𝛼(𝑚𝑙 ) ; 𝑚𝑙 ) holds for any different
International Journal of Distributed Sensor Networks 3

number of bidders 𝑚𝑘 , 𝑚𝑙 ∈ M. Thus, equipped with for each 𝛾̂𝑚𝑘 ,⋅ . Similarly, one can combine 𝛾̂𝑚𝑘 ,⋅ s with another
percentile, (5) becomes two types of weights: 𝑇𝑚𝑘 /𝑇 and (𝑚𝑘 ⋅ 𝑇𝑚𝑘 )/𝐿 𝑇 , as seen in
Table 2. Thus, one can obtain four aggregated estimators for
{ 𝐺 (𝑏𝛼(𝑚𝑘 ) ; 𝑚𝑘 ) the risk aversion parameter 𝛾 in total as follows
{
{ 𝑏(𝑚𝑘 )
+ 𝛾 ⋅
{
{ 𝛼 (𝑚 )
{
{ (𝑚𝑘 − 1) 𝑔 (𝑏𝛼 𝑘 ; 𝑚𝑘 ) 𝑇𝑚𝑘 𝑇𝑚𝑙
{
{ 𝛾̂𝑎,𝑎 : ∑ ∑ 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) ,
{
{ 𝛾𝛼
{
{ = 𝑏𝛼(𝑚𝑘 ) + , 𝑇 𝑇 − 𝑇𝑚𝑘
{
{ (𝑚 )
𝑚𝑘 ∈M 𝑚𝑙 ∈M\𝑚𝑘
{
{ (𝑚𝑘 − 1) 𝑔 (𝑏𝛼 𝑘 ; 𝑚𝑘 )
{
{
V𝛼 = { (6) 𝑇𝑚𝑘 𝑚𝑙 ⋅ 𝑇𝑚𝑙
{ (𝑚𝑙 )
{ 𝐺 (𝑏𝛼(𝑚𝑙 ) ; 𝑚𝑙 ) 𝛾̂𝑎,𝑏 : ∑ ∑ 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) ,
{
{ 𝑏 + 𝛾 ⋅ 𝑇 𝐿 𝑇 − 𝑚𝑘 ⋅ 𝑇𝑚𝑘
{
{ 𝛼 (𝑚 )
(𝑚𝑙 − 1) 𝑔 (𝑏𝛼 𝑙 ; 𝑚𝑙 )
𝑚𝑘 ∈M 𝑚𝑙 ∈M\𝑚𝑘
{
{
{
{ (8)
{
{ 𝛾𝛼 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝑇𝑚𝑙
{
{ = 𝑏𝛼(𝑚𝑙 ) + .
{
{
{ (𝑚 )
(𝑚𝑙 − 1) 𝑔 (𝑏𝛼 𝑙 ; 𝑚𝑙 ) 𝛾̂𝑏,𝑎 : ∑ ∑ 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) ,
{ 𝑚𝑘 ∈M 𝐿𝑇 𝑚𝑙 ∈M\𝑚𝑘
𝑇 − 𝑇𝑚𝑘
{
Through simple arithmetic operations on (6), one can 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝑚𝑙 ⋅ 𝑇𝑚𝑙
𝛾̂𝑏,𝑏 : ∑ ∑ 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) .
obtain the following estimator 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) for risk aversion 𝑚𝑘 ∈M 𝐿𝑇 𝑚𝑙 ∈M\𝑚𝑘
𝐿 𝑇 − 𝑚𝑘 ⋅ 𝑇𝑚𝑘
parameter 𝛾:
Now there are only four aggregated estimators for risk
𝑏𝛼(𝑚𝑘 ) − 𝑏𝛼(𝑚𝑙 ) = 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) aversion parameters for users to choose from. However, in
fact, there is no apparent reason to prefer one estimator to
1 another, and many factors may influence one’s choice: such
⋅ 𝛼( (𝑚 ) as, auctions’ number and the number of bidders.
(𝑚𝑙 − 1) 𝑔 (𝑏𝛼 𝑙 ; 𝑚𝑙 ) (7) In this situation, Monte Carlo simulations and methods
[30, 31] can be utilized to examine the performance of each
1 estimator. Please see Section 4 for more details. But before
− (𝑚𝑘 )
).
(𝑚𝑘 − 1) 𝑔 (𝑏𝛼 ; 𝑚𝑘 ) this, the next subsection will describe in detail the parameter
estimation procedure in the distributed sensor networks.
On closer examination on (7), it is very surprising that
𝐺(⋅; ⋅) disappears, which means that the estimators for 𝛾 have 3.3. Distributed Parameter Estimation Procedure. Our dis-
nothing to do with 𝐺(⋅; . . .). What is more, it is very easy tributed parameter estimation procedure is inspired by
to verify 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) = 𝛾̂(𝑚𝑙 ,𝑚𝑘 ) (𝑚𝑘 , 𝑚𝑙 ∈ M, 𝑚𝑘 ≠𝑚𝑙 ). In this MapReduce [32, 33], a programming model for processing
way, one can obtain 𝑀(𝑀 − 1)/2 estimators for risk aversion large data sets with a distributed algorithm on a cluster. The
parameter 𝛾. schematic diagram for our procedure is shown in Figure 2. In
Since these estimators cannot utilize the global infor- fact, two-hierarchical Mapper-Reducer structure is adopted
mation, but only local information, they are named meta- in our estimation procedure. More specifically, the whole
parameter estimators in the work. In the next subsection, estimation procedure is summarized as follows.
some weighted combinations of all meta-parameter estima-
tors, called aggregated parameter estimators, will be intro- Step 1. Each bidder with a sensor prepares his/her bid price
duced. These aggregated parameter estimators will be more for each of interested auctioned objects. And then he/she
helpful for the real-world applications. submits his secrete bid price and ID to Mapper server through
distributed sensor networks, whose ID was assigned by an
3.2. Aggregated Parameter Estimators. It is very important to auctioneer.
choose a proper estimator for risk aversion parameter in the
Step 2. The Mapper server will decide to transfer the cor-
real-world applications. But which one is better? Intuitively,
responding bid prices and IDs to different auction server.
it seems that some (weighted) combinations of all meta-
Usually, auctioned objects will be divided into several groups
parameter estimators in Section 3.1 may be appealing.
and deployed in different auction servers.
In this study, two-level combinations are considered.
Specially, for any 𝑚𝑘 ∈ M, the estimator 𝛾̂𝑚𝑘 ,⋅ is first obtained Step 3. At the end of auctions, each of auctioned objects
from 𝛾̂(𝑚𝑘 ,𝑚𝑙 ) (𝑚𝑙 ∈ M \ 𝑚𝑘 ) using two kinds of weights: will receive different number of bidders. In Figure 2, auction
𝑇𝑚𝑙 /(𝑇−𝑇𝑚𝑘 ) and (𝑚𝑙 ⋅𝑇𝑚𝑙 )/(𝐿 𝑇 −𝑚𝑘 ⋅𝑇𝑚𝑘 ), as seen in Table 1. servers with the same color mean the same number of
Here, 𝐿 𝑇 = ∑𝑇𝑡=1 𝑁𝑡 , 𝑇𝑚𝑘 and 𝑇𝑚𝑙 are the times of auctions bidders. Now, auction servers will transfer all bids to PDF &
with 𝑚𝑘 and 𝑚𝑙 bidders, respectively. The main difference of CDF estimation server.
Tables 1(a) and 1(b) is that the former only considers the times
of auctions 𝑇𝑚 with 𝑚𝑘 bidders, but the latter considers both Step 4. The PDF & CDF estimation server will estimate the
the times of auctions 𝑇𝑚 with 𝑚𝑘 bidders and the number of ̂ 𝑚𝑖 ), 𝑔(𝑏;
𝐺(𝑏; ̂ 𝑚𝑖 ), 𝐹(V; ̂ 𝑚 ) for ∀𝑚 ∈ M and ̂V for
̂ 𝑚𝑖 ), 𝑓(V; 𝑖 𝑛,𝑡
bidders 𝑚𝑘 . Thus, there are two inner aggregated estimators ∀𝑡 ∈ N𝑇 , ∀𝑛 ∈ N𝑁𝑡 .
4 International Journal of Distributed Sensor Networks

Table 1: Inner weights for aggregated parameter estimators.

(a)

𝑚1 𝑚2 ⋅⋅⋅ 𝑚𝑘 ⋅⋅⋅ 𝑚𝑀
𝑚1 ,⋅
𝑇𝑚2 𝑇𝑚𝑘 𝑇𝑚𝑀
𝛾̂ 0 ⋅⋅⋅ ⋅⋅⋅
𝑇 − 𝑇𝑚1 𝑇 − 𝑇𝑚1 𝑇 − 𝑇𝑚1
𝑚2 ,⋅
𝑇𝑚1 𝑇𝑚𝑘 𝑇𝑚𝑀
𝛾̂ 0 ⋅⋅⋅ ⋅⋅⋅
𝑇 − 𝑇𝑚2 𝑇 − 𝑇𝑚2 𝑇 − 𝑇𝑚2
.. .. .. .. ..
. . . d . d .
𝑇𝑚1 𝑇𝑚2 𝑇𝑚𝑀
𝛾̂𝑚𝑘 ,⋅ ⋅⋅⋅ 0 ⋅⋅⋅
𝑇 − 𝑇𝑚𝑘 𝑇 − 𝑇𝑚𝑘 𝑇 − 𝑇𝑚𝑘
.. .. .. .. ..
. . . d . d .
𝑚𝑀 ,⋅
𝑇𝑚1 𝑇𝑚2 𝑇𝑚𝑘
𝛾̂ ⋅⋅⋅ ⋅⋅⋅ 0
𝑇 − 𝑇𝑚𝑀 𝑇 − 𝑇𝑚𝑀 𝑇 − 𝑇𝑚𝑀
(b)
𝑚2 ⋅ 𝑇𝑚2 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝑚𝑀 ⋅ 𝑇𝑚𝑀
𝛾̂𝑚1 ,⋅ 0 ⋅⋅⋅ ⋅⋅⋅
𝐿 𝑇 − 𝑚1 ⋅ 𝑇𝑚1 𝐿 𝑇 − 𝑚1 ⋅ 𝑇𝑚1 𝐿 𝑇 − 𝑚1 ⋅ 𝑇𝑚1
𝑚1 ⋅ 𝑇𝑚1 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝑚𝑀 ⋅ 𝑇𝑚𝑀
𝛾̂𝑚2 ,⋅ 0 ⋅⋅⋅ ⋅⋅⋅
𝐿 𝑇 − 𝑚2 ⋅ 𝑇𝑚2 𝐿 𝑇 − 𝑚2 ⋅ 𝑇𝑚2 𝐿 𝑇 − 𝑚2 ⋅ 𝑇𝑚2
.. .. .. .. ..
. . . d . d .
𝑚𝑘 ,⋅
𝑚1 ⋅ 𝑇𝑚1 𝑚2 ⋅ 𝑇𝑚2 𝑚𝑀 ⋅ 𝑇𝑚𝑀
𝛾̂ ⋅⋅⋅ 0 ⋅⋅⋅
𝐿 𝑇 − 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝐿 𝑇 − 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝐿 𝑇 − 𝑚𝑘 ⋅ 𝑇𝑚𝑘
.. .. .. .. ..
. . . d . d .
𝑚𝑀 ,⋅
𝑚1 ⋅ 𝑇𝑚1 𝑚2 ⋅ 𝑇𝑚2 𝑚𝑘 ⋅ 𝑇𝑚𝑘
𝛾̂ ⋅⋅⋅ ⋅⋅⋅ 0
𝐿 𝑇 − 𝑚𝑀 ⋅ 𝑇𝑚𝑀 𝐿 𝑇 − 𝑚𝑀 ⋅ 𝑇𝑚𝑀 𝐿 𝑇 − 𝑚𝑀 ⋅ 𝑇𝑚𝑀

Table 2: Outer weights for aggregated parameter estimators. Step 4.3. To estimate ̂V𝑛,𝑡 according to (5).
𝑚1 𝑚2 ⋅⋅⋅ 𝑚𝑘 ⋅⋅⋅ 𝑚𝑀 It is worth noting that Steps 4.2 and 4.3 are optional. If one
𝑇𝑚1 𝑇𝑚2 𝑇𝑚𝑘 𝑇𝑚𝑀 does not want to estimate them, he/she can just skip these two
⋅⋅⋅ ⋅⋅⋅ steps. That is why they are shown by dotted boxes in Figure 2.
𝑇 𝑇 𝑇 𝑇
𝑚1 ⋅ 𝑇𝑚1 𝑚2 ⋅ 𝑇𝑚2 𝑚𝑘 ⋅ 𝑇𝑚𝑘 𝑚𝑀 ⋅ 𝑇𝑚𝑀
⋅⋅⋅ ⋅⋅⋅ ̂ 𝑚𝑖 ), 𝑔(𝑏;
Step 5. The estimated values for 𝐺(𝑏; ̂ 𝑚𝑖 ) will be
𝐿𝑇 𝐿𝑇 𝐿𝑇 𝐿𝑇
allocated by another Mapper to several 𝛾 estimation servers.
The corresponding servers will estimate the meta-parameter
̂ 𝑚𝑖 ), 𝑔(𝑏;
Step 4.1. To estimate 𝐺(𝑏; ̂ 𝑚𝑖 ) [29, 34], estimators by (7).
𝑇
̂ (𝑏; 𝑚) = 1 𝑚 𝑚 Step 6. Another Reducer will calculate the four aggregated
𝐺 ∑ ∑1 (𝑏 ≤ 𝑏) , 𝑚 ∈ M,
𝑚𝑇𝑚 𝑡=1 𝑖=1 𝑖,𝑡 parameter estimators according by (8).
(9)
𝑚 𝑚 𝑇
1 𝑏 − 𝑏𝑖,𝑡 4. Experimental Design and Discussions
𝑔̂ (𝑏; 𝑚) = ∑ ∑𝐾𝑔 ( ), 𝑚 ∈ M,
𝑚𝑇𝑚 ℎ𝑔 𝑡=1 𝑖=1 ℎ𝑔
In order to evaluate the performance of all estimators,
where 1(⋅) is a indicator function, 𝐾𝑔 (⋅) is a kernel with a extensive Monte Carlo experiments are conducted in this
compact support, and ℎ𝑔 is a vanishing bandwidth. section.

Step 4.2. To estimate 𝐹(V; ̂ 𝑚 ) [29, 34],


̂ 𝑚𝑖 ), 𝑓(V; 4.1. Experimental Design. In all the simulation experiments,
𝑖
𝑇
the private costs are drawn from a uniform distribution on
1 𝑚 𝑚 [0, 1], and the bidders have a CRRA utility function, 𝑈(𝑥) =
𝐹̂ (V; 𝑚) = ∑ ∑1 (V𝑖,𝑡 ≤ V) , 𝑚 ∈ M,
𝑚𝑇𝑚 𝑡=1 𝑖=1 𝑥𝛾 , 𝛾 ∈ [0, 1]. The experiment takes ten different parameter
(10) values of relative risk aversion: 𝛾𝑖 = 0.1 × 𝑖 (𝑖 = 1, . . . , 10) with
𝑚 𝑚 𝑇
1 V − V𝑖,𝑡 𝛾10 = 1.0 corresponding to risk neutrality.
𝑓̂ (V; 𝑚) = ∑ ∑𝐾𝑔 ( ), 𝑚 ∈ M, In order to simulate the real auction data as closely as
𝑚𝑇𝑚 ℎ𝑓 𝑡=1 𝑖=1 ℎ𝑓
possible, the experiment considers three kinds of sample sizes
where ℎ𝑓 is a vanishing bandwidth, 𝐾𝑓 (⋅) is a kernel function. 𝑇: 400, 2000, and 8000, which corresponds to small, median,
International Journal of Distributed Sensor Networks 5

𝛾̂ a,a 𝛾̂ a,b 𝛾̂ b,a 𝛾̂ b,b

Reducer: 𝛾 estimation server

𝛾̂ m1 ,m2 𝛾̂ m1 ,m3 ··· 𝛾̂ m1 ,m𝑘 ··· 𝛾̂ m1 ,m𝑀 ··· 𝛾̂ m𝑘 ,m𝑙 ··· 𝛾̂ m𝑀−1 ,m𝑀

𝛾 estimation server 𝛾 estimation server 𝛾 estimation server

···

Mapper: load balance

̂ m1 )
G(b; ̂ m2 )
G(b; ̂ mk )
G(b; ̂ mM )
G(b;
··· ···
̂ (b; m1 )
g ̂ (b; m2 )
g ̂ (b; mk )
g ̂ (b; mM )
g
N 𝑡 T
{{̂
n,t }n=1 }t=1
̂ m1 )
F(
; ̂ m2 )
F(
; ̂ mk )
F(
; ̂ mM )
F(
;
···
̂ m1 )
f(b; ̂ m2 )
f(b; ̂ mk )
f(b; ̂ mM )
f(b;

Reducer: PDF and CDF estimation server

···

O1 O2 O3 O4 O5 OT−1 OT

N1 ≡ m1 N2 ≡ m2 N3 ≡ m1 N4 ≡ m2 N5 ≡ m3 ··· NT−1 ≡ m1 NT ≡ m3
m m m m m m m
{bn,1 }n=1
1
{bn,2 }n=1
2 {bn,3 }n=1
1
{bn,4 }n=1
2 3
{bn,5 }n=1 {bn,T−1 }n=1
1 3
{bn,T }n=1

Auction server Auction server Auction server

···

Mapper: load balance

Bidders

Figure 2: The schematic diagram for distributed risk aversion parameter estimation.

and large sample, respectively. In each of these samples, the 𝑚 ∈ M was equally likely, while in Design B, large 𝑚s were
number of bidder 𝑚 ∈ M could take on four different values: more likely than small ones, and small 𝑚s were more likely
3, 6, 9, and 12. We investigate three different patterns for than large ones in Design C.
the design matrix and the probability distribution of the 𝑚s. Specifically, we first generate randomly private valuations
Table 3 illustrates the detailed 𝑇𝑚 s and their corresponding for different designs from the uniform distribution. We then
Pr(𝑚)s for the three different designs. In Design A, each compute numerically bids using (4) with different values
6 International Journal of Distributed Sensor Networks

Table 3: Design matrices of the 𝑇𝑛 s.

Sample size 400 2000 8000


𝑚 3 6 9 12 3 6 9 12 3 6 9 12
𝑇𝑚 100 100 100 100 500 500 500 500 2000 2000 2000 2000
Design A
Pr(𝑚) 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25
𝑇𝑚 40 80 120 160 200 400 600 800 800 1600 1800 3200
Design B
Pr(𝑚) 0.10 0.20 0.30 0.40 0.10 0.20 0.30 0.40 0.10 0.20 0.30 0.40
𝑇𝑚 160 120 80 40 800 600 400 200 3200 2400 1600 800
Design C
Pr(𝑚) 0.40 0.30 0.20 0.10 0.40 0.30 0.20 0.10 0.40 0.30 0.20 0.10

Table 4: The estimation performance of the aggregated estimators for 𝛾 in Design A.

Mean STD Lower quartile Medium Upper quartile


𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10
(a) T = 400
𝛾̂𝑎,𝑎 0.1837 0.5008 1.0019 0.3635 0.2974 0.7339 0.1305 0.4122 0.8832 0.1814 0.4853 0.9950 0.2376 0.5571 1.1275
𝛾̂𝑎,𝑏 0.1807 0.5037 1.0011 0.5794 0.4048 1.0530 0.1097 0.3902 0.8633 0.1809 0.4830 0.9966 0.2514 0.5721 1.1370
𝛾̂𝑏,𝑎 0.1816 0.5024 1.0004 0.5057 0.3669 0.9407 0.1149 0.3969 0.8679 0.1820 0.4837 0.9957 0.2470 0.5675 1.1300
𝛾̂𝑏,𝑏 0.1778 0.5074 1.0030 0.8011 0.5262 1.4031 0.0861 0.3702 0.8399 0.1805 0.4767 0.9797 0.2671 0.5940 1.1541
(b) T = 2000
𝛾̂𝑎,𝑎 0.1863 0.4701 0.9468 0.0367 0.0471 0.0862 0.1627 0.4383 0.8913 0.1873 0.4698 0.9412 0.2112 0.4997 0.9993
𝛾̂𝑎,𝑏 0.1861 0.4704 0.9481 0.0535 0.0608 0.0998 0.1512 0.4309 0.8799 0.1872 0.4682 0.9375 0.2219 0.5087 1.0041
𝛾̂𝑏,𝑎 0.1861 0.4702 0.9474 0.0478 0.0558 0.094 0.1546 0.4331 0.8836 0.1873 0.4693 0.9384 0.2181 0.5046 1.0015
𝛾̂𝑏,𝑏 0.1860 0.4711 0.9503 0.0717 0.0785 0.1228 0.1382 0.4189 0.8646 0.1886 0.4672 0.9344 0.2326 0.5202 1.0140
(c) T = 8000
𝛾̂𝑎,𝑎 0.1842 0.4620 0.9262 0.0166 0.0246 0.0466 0.1734 0.4453 0.8950 0.1849 0.4619 0.9252 0.1958 0.4796 0.9566
𝛾̂𝑎,𝑏 0.1839 0.4619 0.9264 0.0235 0.0302 0.0524 0.1685 0.4412 0.8903 0.1848 0.4609 0.9233 0.1996 0.4830 0.9597
𝛾̂𝑏,𝑎 0.1840 0.4619 0.9262 0.0212 0.0281 0.0498 0.1700 0.4429 0.8927 0.1847 0.4609 0.9233 0.1982 0.4811 0.9588
𝛾̂𝑏,𝑏 0.1836 0.4619 0.9268 0.0310 0.0379 0.0632 0.1638 0.4364 0.8817 0.1849 0.4599 0.9209 0.2040 0.4879 0.9647

for 𝛾. Note that the random numbers for the experiments medium of the aggregated estimators are near to the real
are generated using the multiplicative congruential method values, and STDs are not large, especially for large sample
with modulus (231 − 1), multiplier 397,204,094, and initial size. This means that our distributed risk aversion parameter
seed 2,420,375. To minimize the impact of noise, the above estimation procedure is feasible. In fact, one can observe
procedure is repeated 1000 times. similar phenomena for other cases. The corresponding results
In our experiments, let 𝐾(𝑢) = (35/32)(1 − 𝑢2 )3 1(|𝑢| ≤ for other cases are available from the authors upon request.
In order to improve usability of these aggregated estima-
𝑙), ℎ𝑔 = 1.06̂ 𝜎𝑏 (𝑚𝑇𝑚 )−0.2 , ℎ𝑓 = 1.06̂ 𝜎V (𝑚𝑇𝑚 )−0.2 , where
tors, Table 8 gives some useful suggestions based on
𝜎̂𝑏 and 𝜎̂V are the standard deviations (STD) of observed
bids and private valuations, respectively. However, the kernel 10 󵄨󵄨 𝑥,𝑦 󵄨
󵄨𝛾̂ − 0.1 × 𝑖󵄨󵄨󵄨
density estimator is biased at the boundaries of the support. 𝛾̂ = arg min ∑ 󵄨 . (11)
Similar to [27], 10% observed pseudo-private values near the 𝑥,𝑦∈{𝑎,𝑏}
𝑖=1 0.1 × 𝑖
boundaries are trimmed.
Let us take the third row in Table 8 as an example. If the
4.2. Results and Discussions. From (7), it is not difficult sample size of one real-world application approaches to 2000
to see that the percentile 𝛼 may influence the estimation and the distribution pattern of 𝑚 follows Design B, the
performance for the risk aversion parameter 𝛾. In order to aggregated estimator 𝛾̂𝑏,𝑏 is better than the other.
minimize the influence 𝛼 on the estimators, the percentile 𝛼 is To evaluate further the goodness of fit of the distributed
optimized to select 𝛼∗ from {0.9, 0.91, . . . , 0.99}, so that STD risk aversion parameter estimation procedure, we also calcu-
of estimators for 𝛾 is minimized. late the 2-norm between the estimated private valuations (5)
Tables 4, 5, and 6 report the estimation performance of and actual ones, defined formally as
the aggregated estimators for risk aversion parameter 𝛾 ∈
{𝛾2 , 𝛾5 , 𝛾10 } with 𝛼∗ for Designs A, B, and C, respectively. 1 𝑇 𝑡
𝑁
2
Mean, STD, lower quartile, medium, and upper quartile ℓ2 = √ ∑ ∑ (̂V − V𝑛,𝑡 ) . (12)
𝑚𝑇 𝑡=1 𝑛=1 𝑛,𝑡
are used in the paper. One can see that all the means and
International Journal of Distributed Sensor Networks 7

Table 5: The estimation performance of the aggregated estimators for 𝛾 in Design B.

Mean STD Lower quartile Medium Upper quartile


𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10
(a) 𝑇 = 400
𝛾̂𝑎,𝑎 0.1835 0.5003 1.0105 0.5919 0.6023 0.6935 0.1184 0.3934 0.8393 0.1514 0.4862 0.9617 0.1924 0.5888 1.1069
𝛾̂𝑎,𝑏 0.1935 0.4958 1.0243 0.7731 0.7770 0.8624 0.1095 0.3691 0.8237 0.1498 0.4783 0.9536 0.1980 0.6036 1.1168
𝛾̂𝑏,𝑎 0.1892 0.4971 1.0176 0.6977 0.7039 0.7884 0.1124 0.3768 0.8284 0.1501 0.4821 0.9592 0.1955 0.6017 1.1094
𝛾̂𝑏,𝑏 0.2010 0.4929 1.0354 0.9091 0.9095 0.9984 0.1041 0.3516 0.8081 0.1489 0.4733 0.9546 0.2059 0.6159 1.1339
(b) 𝑇 = 2000
𝛾̂𝑎,𝑎 0.1876 0.4745 0.9570 0.0629 0.0699 0.1148 0.1463 0.4294 0.8779 0.1899 0.4692 0.9425 0.2289 0.5144 1.024
𝛾̂𝑎,𝑏 0.1871 0.4745 0.9577 0.0803 0.0866 0.1362 0.1358 0.4186 0.8639 0.1882 0.4672 0.9423 0.2376 0.5263 1.032
𝛾̂𝑏,𝑎 0.1873 0.4743 0.9569 0.0733 0.0797 0.1270 0.1400 0.4229 0.8688 0.1893 0.4676 0.9419 0.2344 0.5214 1.0295
𝛾̂𝑏,𝑏 0.1867 0.4746 0.9587 0.0939 0.1004 0.1556 0.1272 0.4095 0.8548 0.1882 0.4632 0.9349 0.2452 0.5333 1.0427
(c) 𝑇 = 8000
𝛾̂𝑎,𝑎 0.1837 0.4622 0.9276 0.0251 0.0325 0.0591 0.1676 0.4411 0.8873 0.1837 0.4605 0.9228 0.1991 0.4805 0.9634
𝛾̂𝑎,𝑏 0.1833 0.4620 0.9276 0.0317 0.0394 0.0689 0.1636 0.4355 0.8811 0.1829 0.4595 0.9212 0.2028 0.4842 0.9698
𝛾̂𝑏,𝑎 0.1835 0.4620 0.9274 0.0291 0.0366 0.0647 0.1650 0.4372 0.8842 0.1833 0.4601 0.9214 0.2016 0.4830 0.9659
𝛾̂𝑏,𝑏 0.1830 0.4618 0.9278 0.0369 0.0454 0.0781 0.1602 0.4310 0.8753 0.1833 0.4583 0.9184 0.2058 0.4878 0.9717

Table 6: The estimation performance of the aggregated estimators for 𝛾 in Design C.

Mean STD Lower quartile Medium Upper quartile


𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10
(a) 𝑇 = 400
𝛾̂𝑎,𝑎 0.1860 0.4859 0.9946 0.2084 0.2004 0.4406 0.1471 0.4238 0.8556 0.1845 0.4733 0.9719 0.2205 0.5242 1.0975
𝛾̂𝑎,𝑏 0.1914 0.4868 0.9996 0.3832 0.3404 0.6500 0.1326 0.4084 0.8555 0.1908 0.4705 0.9723 0.2422 0.5277 1.1033
𝛾̂𝑏,𝑎 0.1900 0.4865 0.9979 0.3352 0.3010 0.5880 0.1368 0.4131 0.8590 0.1888 0.4717 0.9715 0.2348 0.5254 1.1031
𝛾̂𝑏,𝑏 0.1995 0.4886 1.0045 0.6261 0.5393 0.9307 0.1134 0.3880 0.8468 0.1966 0.4688 0.9706 0.2646 0.5452 1.1209
(b) 𝑇 = 2000
𝛾̂𝑎,𝑎 0.1840 0.4663 0.9392 0.0258 0.0432 0.0918 0.1674 0.4356 0.8774 0.1841 0.4649 0.9337 0.2015 0.4942 0.9918
𝛾̂𝑎,𝑏 0.1830 0.4670 0.9443 0.0375 0.0501 0.1052 0.1616 0.4332 0.8822 0.1833 0.4649 0.9367 0.2088 0.4977 0.9934
𝛾̂𝑏,𝑎 0.1833 0.4668 0.9429 0.0338 0.0474 0.0997 0.1632 0.4344 0.881 0.1838 0.4647 0.9364 0.2069 0.4959 0.9929
𝛾̂𝑏,𝑏 0.1819 0.4682 0.9517 0.0541 0.0649 0.1417 0.1522 0.4280 0.8784 0.1857 0.4641 0.9353 0.2169 0.5083 1.0041
(c) 𝑇 = 8000
𝛾̂𝑎,𝑎 0.1836 0.4607 0.9235 0.0120 0.0228 0.0481 0.1754 0.4457 0.8899 0.1830 0.4599 0.9241 0.1916 0.4763 0.9559
𝛾̂𝑎,𝑏 0.1837 0.4612 0.9248 0.0158 0.0235 0.0451 0.1724 0.4458 0.8942 0.1832 0.4605 0.9239 0.1945 0.4781 0.9548
𝛾̂𝑏,𝑎 0.1837 0.4611 0.9245 0.0145 0.0229 0.0452 0.1735 0.4459 0.8941 0.1832 0.4599 0.9234 0.1936 0.4773 0.9538
𝛾̂𝑏,𝑏 0.1840 0.4621 0.9268 0.0221 0.0283 0.0492 0.1695 0.443 0.8928 0.1838 0.4603 0.9253 0.1988 0.4802 0.9589

The corresponding results are shown in Table 7, where the in a centralized server. In this paper, A generalized non-
aggregated estimator for risk aversion parameter 𝛾 is set by parametric structural estimation procedure is proposed for
Table 8. From Table 7, one can easily see that private values the first-price auctions in distributed sensor networks. In
can also be estimated very well, especially for large sample. order to evaluate the performance, extensive Monte Carlo
simulation experiments are conducted for ten different val-
ues of 𝛾 including the risk-neutral case in multiple classic
5. Conclusions scenes. Though there are no unique estimators for risk
Auctions are suggested as a basic pricing mechanism for aversion parameter, four aggregated parameter estimators
setting prices for access to shared resources, including band- are obtained and some guidance is also given for real-world
width sharing in wireless sensor networks (WSNs). Following applications.
the Internet, the Internet of Things (IoT) becomes a prime Similarly, our previous work on PPMLE [25] is also
vehicle for supporting auction. extended to distributed sensor networks. Additionally, if our
More and More clues show that the bidders tend to distributed parameter estimation procedure is equipped with
be risk-averse ones. However, traditional nonparametric localization technologies [35–38], it can be utilized in more
approach is only applicable for the case of risk neutrality mobile situations.
8 International Journal of Distributed Sensor Networks

Table 7: The 2-norm between the estimated and actual private values.

Mean STD Lower quartile Medium Upper quartile


𝑇
𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10 𝛾2 𝛾5 𝛾10
(a) Design A
400 0.0163 0.0224 0.0391 0.0659 0.0380 0.0932 0.0060 0.0115 0.0196 0.0096 0.0154 0.0251 0.0161 0.0224 0.0365
2000 0.0084 0.0118 0.0188 0.0050 0.0050 0.0079 0.0045 0.0083 0.0140 0.0071 0.0102 0.0161 0.0109 0.0136 0.0209
8000 0.0036 0.0073 0.0128 0.0009 0.0013 0.0022 0.0029 0.0063 0.0112 0.0033 0.0070 0.0122 0.0040 0.0081 0.0140
(b) Design B
400 0.0103 0.0235 0.0308 0.0719 0.0665 0.0662 0.0043 0.0099 0.0158 0.0059 0.0142 0.0196 0.0088 0.0225 0.0286
2000 0.0059 0.0089 0.0151 0.0034 0.0036 0.0058 0.0033 0.0064 0.0112 0.0049 0.0078 0.0131 0.0074 0.0103 0.0172
8000 0.0031 0.0060 0.0106 0.0012 0.0014 0.0024 0.0023 0.0051 0.0091 0.0027 0.0056 0.0099 0.0036 0.0064 0.0115
(c) Design C
400 0.0194 0.0238 0.0432 0.0597 0.0456 0.0762 0.0070 0.0130 0.0223 0.0110 0.0160 0.0294 0.0173 0.0224 0.0411
2000 0.0084 0.0132 0.0222 0.0048 0.0054 0.0139 0.0050 0.0097 0.0165 0.0070 0.0116 0.0190 0.0104 0.0150 0.0238
8000 0.0049 0.0093 0.0158 0.0017 0.0019 0.0030 0.0037 0.0079 0.0137 0.0043 0.0087 0.0150 0.0056 0.0101 0.0171

Table 8: The guidance on choice of the aggregated estimators. [4] Z. Chen, H. Huang, Y. E. Sun, and L. Huang, “True-MCSA:
a framework for truthful double multi-channel spectrum auc-
Sample size Design A Design B Design C tions,” Cluster Computing, vol. 12, no. 8, pp. 3838–3850, 2013.
Small 𝛾̂𝑎,𝑏 𝛾̂𝑎,𝑎 𝛾̂𝑎,𝑎 [5] J. Ostwald, V. Lesser, and S. Abdallah, “Combinatorial auction
Medium 𝛾̂𝑎,𝑎 𝛾̂𝑏,𝑏 𝛾̂𝑎,𝑏 for resource allocation in a distributed sensor network,” in
Large 𝛾̂𝑎,𝑏 𝛾̂𝑎,𝑏 𝛾̂𝑎,𝑎 Proceedings of the 26th IEEE International Real-Time Systems
Symposium, pp. 266–274, IEEE Computer Society, Washington,
DC, USA, 2005.
Conflict of Interests [6] C. H. S. Carvalho, I. Woungang, A. Anpalagan, and S. K. Dhu-
randher, “Energy-efficient ratio resource management scheme
The authors declare that there is no conflict of interests for heterogeneous wireless networks: a queueing theory per-
regarding the publication of this paper. spective,” Journal of Convergence, vol. 3, no. 4, pp. 15–22, 2012.
[7] X. Li, N. Mitton, A. Nayak, and I. Stojmenovic, “Achieving load
Acknowledgments awareness in position-based wireless ad hoc routing,” Journal of
Convergence, vol. 3, no. 3, pp. 17–22, 2012.
This work was funded partially by Fundamental Research [8] N. Edalat, Auction-based strategy for distributed task allocation
Funds for the Central Universities: Research on Entrepreneu- in sensor networks [Ph.D. thesis], National University of Singa-
rial Mechanism, Clusters and Organizing Mechanism of pore, 2010.
Peasants in Forest Zone under Grant no JGTD2013-04, [9] X. Su, S. Chan, and G. Peng, “Auction in multi-path multi-hop
Beijing Forestry University Young Scientist Fund: Research routing,” IEEE Communications Letters, vol. 13, no. 2, pp. 154–
on Econometric Methods of Auction with their Applications 156, 2009.
in the Circulation of Collective Forest Right under Grant no [10] M. Yoon, Y. K. Kim, and J. W. Chang, “An energy-efficient
BLX2011028 and Key Technologies R&D Program of Chinese routing protocol using message success rate in wireless sensor
12th Five-Year Plan (2011–2015): Key Technologies Researcher networks,” Journal of Convergence, vol. 4, no. 1, pp. 15–22, 2013.
on Large Scale Semantic Computation for Foreign Scientific [11] H. R. Lee, K. Y. Chung, and K. S. Jhang, “A study of wireless
& Technical Knowledge Organization System, and Key Tech- sensor network routing protocols for maintenance access hatch
nologies Research on Data Mining from the Multiple Electric condition,” Journal of Information Processing Systems, vol. 9, no.
Vehicle Information Sources under Grant no 2011BAH10B04 2, pp. 237–246, 2013.
and 2013BAG06B01, respectively. Our gratitude also goes to [12] M. K. Franklin and M. K. Reiter, “The design and implementa-
the anonymous reviewers for their valuable comments. tion of a secure auction service,” IEEE Transactions on Software
Engineering, vol. 22, no. 5, pp. 302–312, 1996.
[13] K. Peng, “A secure network for mobile wireless service,” Journal
References of Information Processing Systems, vol. 9, no. 2, pp. 247–258, 2013.
[1] S. Y. Shah, Use of auctions in wireless sensor networks [M.S. [14] C. C. Lee, M. S. Hwang, and C. W. Lin, “The design and
thesis], Rensselaer Polytechnic Institute, 2011. implementation of a secure auction service,” Journal of Discrete
[2] D. Uckelmann, M. Harrison, and F. Michahelles, Architecting the Mathematical Sciences and Cryptography, vol. 10, no. 4, pp. 547–
Internet of Things, Springer, New York, NY, USA, 2011. 557, 2013.
[3] C. Perera, A. Zaslavsky, P. Christen, and D. Georgakopoulos, [15] K. Peng, “An improved fast and secure hash algorithm,” Journal
“Context aware computing for the internet of things: a survey,” of Information Processing Systems, vol. 8, no. 1, pp. 119–132, 2012.
IEEE Communications Surveys & Tutorials PP, vol. 99, pp. 1–41, [16] E. Maskin and J. Riley, “Optimal auctions with risk averse
2013. buyers,” Econometrica, vol. 52, no. 6, pp. 1473–1518, 1984.
International Journal of Distributed Sensor Networks 9

[17] S. Matthews, “Comparing auctions for risk averse buyers: a Journal of Information and Computational Science, vol. 9, no. 2,
buyer’s point of view,” Econometrica, vol. 55, no. 3, pp. 633–646, pp. 257–265, 2012.
1987. [37] X. Lu, P. Lio, P. Hui, and H. Jin, “A location prediction algo-
[18] A. Goel and K. Munagala, “Hybrid keyword search auctions,” in rithm for mobile communications using directional antennas,”
Proceedings of the 18th International Conference on World Wide International Journal of Distributed Sensor Networks, vol. 2013,
Web, pp. 221–230, ACM, New York, NY, USA, 2009. Article ID 418606, 10 pages, 2013.
[19] J. C. Cox, V. L. Smith, and J. M. Walker, “Theory and individual [38] C. H. Oh, “Location estimation using space time signal pro-
behavior of first-price auctions,” Journal of Risk and Uncertainty, cessing in RFID wireless sensor networks,” International Journal
vol. 1, no. 1, pp. 61–99, 1988. of Distributed Sensor Networks, vol. 2013, Article ID 634531, 8
[20] J. K. Goeree, C. A. Holt, and T. R. Palfrey, “Quantal response pages, 2013.
equilibrium and overbidding in private-value auctions,” Journal
of Economic Theory, vol. 104, no. 1, pp. 247–272, 2002.
[21] J. Lu and I. Perrigne, “Estimating risk aversion from ascending
and sealed-bid auctions: the case of timber auction data,”
Journal of Applied Econometrics, vol. 23, no. 7, pp. 871–896, 2008.
[22] S. Campo, E. Guerre, I. Perrigne, and Q. Vuong, “Semiparamet-
ric estimation of first-price auctions with risk-averse bidders,”
Review of Economic Studies, vol. 78, no. 1, 2011.
[23] H. J. Paarsch, “Deciding between the common and private
value paradigms in empirical models of auctions,” Journal of
Econometrics, vol. 51, no. 1-2, pp. 191–215, 1992.
[24] S. G. Donald and H. J. Paarsch, “Identification, estimation, and
testing in parametric empirical models of auctions within the
independent private values paradigm,” Econometric Theory, vol.
12, no. 3, pp. 517–567, 1996.
[25] X. An, S. Liu, and S. Xu, “Piecewise pseudo-maximum likeli-
hood estimation for risk aversion case in first-price sealed-bid
auction,” Computational Economics, vol. 38, no. 4, pp. 439–463,
2011.
[26] J.-J. Laffont, H. Ossard, and Q. Vuong, “Econometrics of first-
price auctions,” Econometrica, vol. 63, no. 4, pp. 953–980, 1995.
[27] E. Guerre, I. Perrigne, and Q. Vuong, “Optimal nonparametric
estimation of first-price auctions,” Econometrica, vol. 68, no. 3,
pp. 525–574, 2000.
[28] X. An, S. Liu, and S. Xu, “Assess the goodness of fit for risk
aversion parameter of first price auction via nonparametric
method,” Journal of Management Science and Statistical Deci-
sion, vol. 6, no. 4, pp. 38–42, 2009.
[29] X. An, J. Chen, and Y. Zhang, “Risk aversion parameter
estimation for first-price auction with nonparametric method,”
in Proceedings of the 2nd International Conference on Ubiquitous
Context-Awareness and Wireles Sensor Network, pp. 253–260,
Springer, Heidelberg, NY, USA, 2013.
[30] G. A. Mikhailov, Parametric Estimates by the Monte Carlo
Method, VSP, Utrecht, The Netherlands, 1999.
[31] I. Manno, Introduction to the Monte-Carlo Method, Akadémiai
Kiadó, Budapest, Hungary, 1999.
[32] J. Dean and S. Ghemawat, “MapReduce: simplified data process-
ing on large clusters,” Communications of the ACM, vol. 51, no.
1, pp. 107–113, 2008.
[33] A. Sinha and D. K. Lobiyal, “Performance evaluation of data
aggregation for cluster-based wireless sensor network,” Human-
Centric Computing and Information Sciences, vol. 3, no. 13, pp.
1–17, 2013.
[34] R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification,
John Wiley & Sons, 2nd edition, 2001.
[35] Z. Pei, Z. Deng, S. Xu, and X. Xu, “Anchor-free localization
method for mobile targets in coal mine wireless sensor net-
works,” Sensors, vol. 9, no. 4, pp. 2836–2850, 2009.
[36] S. Xu, X. Qiao, L. Zhu, Y. Zhang, and L. Lin, “Fast but not
bad initial configuration for metric multidimensional scaling,”
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2013, Article ID 848746, 7 pages
http://dx.doi.org/10.1155/2013/848746

Research Article
An Efficient Adaptive Anticollision Algorithm
Based on 4-Ary Pruning Query Tree

Wei Zhang,1,2 Yajun Guo,2 Xueming Tang,1 Guohua Cui,1 Longkai Wu,3 and Ying Mei1
1
School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China
2
School of Computer, Central China Normal University, Wuhan 430079, China
3
National Institute of Education, Nanyang Technological University, 1 Nanyang Walk, Singapore 637616

Correspondence should be addressed to Wei Zhang; zwccnu@163.com

Received 7 September 2013; Revised 19 November 2013; Accepted 25 November 2013

Academic Editor: Luis Javier Garcı́a Villalba

Copyright © 2013 Wei Zhang et al. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

In radio frequency identification system (RFID), the efficiency in which the reader identifies multiple tags is closely related to the
methods to solve the collision of multiple tags. At present, a reasonable solution is the introduction of 4-ary query tree (or n-ary
query tree) to reduce the collision time slots and additional query is used to decrease idle timeslots. The advantage of a 4-ary tree
anti-collision algorithm is that it is able to reduce collision timeslots, but it also increases the idle timeslots. To reduce these excessive
idle timeslots the 4-ary tree anticollision algorithm brings, an anti-collision algorithm based on adaptive 4-ary pruning query tree
(A4PQT) is proposed in this paper. On the basis of the information of collision bits, some idle timeslots can be eliminated through
pruning the 4-ary tree. Both theoretical analysis and simulation results support that A4PQT algorithm can significantly reduce
recognition time and improve throughput of the RFID system.

1. Introduction reduce the communication overhead of the RFID system?


Therefore, an efficient anticollision algorithm for identify-
In the Radio frequency identification (RFID) system, if mul- ing multitag is of great importance for the wireless RFID
tiple readers and multiple tags, or a single reader and multiple system.
tags, transmit simultaneously in the readers’ working area, RFID system for solving multitag collision problem is cur-
there are three types of collision as readers and tags operate rently divided into ALOHA-based anticollision algorithms
on the same wireless channel. First, it is the frequency and tree-based anticollision algorithms [1, 2]. ALOHA-based
interference among readers which is due to the overlapping anticollision algorithms such as Slotted ALOHA, framed slot-
of two or more readers in the working area. The signals ted ALOHA, dynamic framed slotted ALOHA, and enhanced
transmitted by these readers are causing mutual interference; dynamic framed slotted ALOHA are on the basis of a proba-
thus the readers cannot read properly the tag data within bilistic method, in which each tag selects randomly a time slot
the region. Second, when a tag appears in two or more in response to the query of reader in the event of a collision.
readers’ working area, it will not know which readers to If there are a large number of tags, the collision will happen
communicate with. Third, when many tags appear in the when some tags repeatedly back off after the collision, so there
working area of one reader, these tags respond simultaneously will be a long time for the tag to be identified. Tree-based
to the queries of the reader, which will result in collision. anticollision algorithms, such as binary search algorithms [2,
Generally, the first two types of collision are called reader- 3], query tree algorithms [4–10], and tree-splitting algorithms
to-reader collision, and the third is known as reader-to-tag [11] are based on deterministic methods. In the tree-based
collision. When collision occurs, the reader cannot read the anticollision algorithm, the reader iteratively queries a subset
tag’s data. How to reduce the number of collisions? How of tags which match a given property until all tags are
to reduce the messages that tag transmits repeatedly and identified.
2 International Journal of Distributed Sensor Networks

In the binary tree anticollision algorithm, the reader algorithm [12] split the tags into 𝑚 + 1 groups, from 𝐺0 to 𝐺𝑚 ,
sends a query to tags. Upon receiving the query from the where 𝑚 is the tag ID. A tag belongs to 𝐺𝑘 only if the number
reader, tags compare their own ID numbers to the query of bit 1 in its ID is equal to k. When a collision occurs, the
number. Tags respond only when their ID numbers are less reader divides these collided tags into two subgroups, namely,
than or equal to the query ID number. When there are mul- subgroup 0 and subgroup 1. Each group or subgroup uses two
tiple tags simultaneously to respond, it will cause a collision. counters, namely, 𝐶1 and 𝐶0 , which represent the number
Then the reader will change the query number and set the of 0 and 1 in the remaining tag IDs. When the 𝐶0 or 𝐶1 is
highest collision bit to 0. Other bits after highest collision are equal to 1 in a group, the reader can identify the tags in the
set to 1. The query will be repeated until it can identify each groups.
tag. Some studies have improved identification efficiency In order to reduce idle time slots the 4-ary tree brings,
of the binary tree anticollision algorithm by reducing the this paper proposes an adaptive 4-ary pruning query tree
number of times to repeat searching [2, 3]. Wu et al. [3] (A4PQT) anticollision algorithm, which adaptively prune
proposed a binary tree algorithm based on ALOHA. The the idle time slot branches without any additional query,
algorithm uses a dynamic, adaptive, and split method to so it greatly improves the identification efficiency of RFID
adjust the frame length and brings frame length closer to the system.
number of tags, so that the efficiency of the algorithm is very The rest of the paper is organized as follows. Section 2
close to the optimal values. introduces the basic idea to design A4PQT. Section 3 presents
Query tree (QT) algorithm uses the query prefix of reader A4PQT. Section 4 describes the performance of the pro-
to split tags into two groups. The reader transmits a query posed algorithm. Section 5 analyzes the experimental results
string called prefix and the tags compare the string with its of A4PQT. Section 6 compares A4PQT with query tree
ID to see whether any of its ID contains the prefix. Only those algorithm (QT), collision tree algorithm (CT) [4], and the
tags whose IDs have a prefix matching to the string respond improved 4-ary query tree algorithm (I4QTA) [6]. Section 7
to the query. If the match succeeds, the tag transmits its ID to draws some conclusions.
the reader. Collision occurs when multiple tags have the same
prefix. In this case, the reader forms two new query prefixes by
appending the old prefix with a binary 0 or 1. The reader then 2. Optimal Split Tree for
repeats the query with a different new prefix, and these tags Anticollision Algorithm
are divided into two different groups until the number of tags
in a group is one. However, in the basic query tree algorithm, In order to improve the recognition efficiency, many anti-
the reader gradually inquires bit by bit. If the reader sends a collision recognition algorithms have been proposed based
query and no tag’s ID matches the query string, it will result in on the binary tree, 4-ary tree, and n-ary tree. There are
an idle time slot and increase the traffic and query time. Many three types of time slots in the identification process of tree-
researchers have improved the query tree algorithm. In the based anticollision algorithms: readable time slots (one tag
4-ary query tree anticollision algorithm [6], the query prefix response), collision time slots (multiple tags response), and
updates by increasing two binary bit each time and the query idle time slots (no tag response). If a tree-based anticollision
by the reader no longer constitutes a binary tree but splits into algorithm in identifying the same number of tags requires
a 4-ary tree. The 4-ary query tree algorithm can reduce the minimum time slots, then the algorithm is optimal. Suppose
collision time slots but increase the idle time slots. In some there are five tags, which are 0100, 1001, 0010, 1011 and 0110,
n-ary tree anticollision algorithms [1, 7], in order to reduce the tree-split process of anticollision algorithm to identify
idle time slots once collision occurs, the reader will add an multiple tags by using a binary tree and 4-ary tree is shown
additional query to determine the status of the collision bit in Figure 1.
and avoid to query the nonexistent query branching. So it will As can be seen from Figure 1, a data frame of the tree-
avoid many idle time slots. This way can improve efficiency based anticollision algorithm can be expressed by a tree.
but adds an extra query time slot. Wu et al. [3] also introduce A data frame is constituted by a number of time slots and
a bit collision detection mechanism based on basic query tree each time slot corresponds to a branch of the tree. For
anticollision algorithm to reduce the idle time slots, and it is an anticollision algorithm, the more total time slots are to
only suitable for mobile reader to identify tags. identify a certain number of tags, the lower identification
Tree-splitting anticollision [11] algorithm uses a random efficiency the algorithm will bring. In Figure 1(a), there are
number generator to split tags into a plurality of subsets. five tags to be identified. The algorithm that uses a binary
Each tag has a random number generator and a counter and tree-splitting method requires five collision time slots, one
responds to the query of reader when the counter value is idle time slot and eleven total time slots. While in Figure 1(b),
0. The start value of the counter of each tag is 0. When the by using a 4-ary tree method to identify the same five tags,
collision occurs, the reader broadcasts collision information. the algorithm requires three collision time slots, five idle time
These tags just responding to the reader will generate a slots and a total of thirteen time slots. As can be seen, the
random number 0 or 1 and add to the counter. Those tags that binary tree-splitting method to identify the same number of
has remained silent will set their counter value plus 1. Tree- tags will result in a relatively large collision time slot and a
splitting anticollision algorithms are similar to the slotted relatively small idle time slot the anti-collision algorithm can
ALOHA algorithm. These algorithms are random and their reduce the collision time slots by using the 4-ary tree splitting
recognition efficiency is low. The new enhanced anticollision method, but it also increases the idle time slots.
International Journal of Distributed Sensor Networks 3

5 5
0 1
00 11
2 01 10
3
00 10 11
01 2
1 2
1 2 2
0100 0101 0110 0111 1000 1011
010 011 100 101 1001 1010

1 1 1 1 1 1 1 1

Collision timeslots Collision timeslots

Readable timeslots Readable timeslots

Idle Idle
(a) Binary query collision tree (b) 4-ary query collision tree

Figure 1: The process of binary tree and 4-ary tree anticollision algorithm for identifying tags.

The total time slots of a n-ary tree anticollision algorithm (1) If the mode is the highest collided bit +0, the two
and [5] branches 01 and 11 can be cut.
(2) If the mode is the highest collided bit +1, the two
𝑡 (𝑚) branches 00 and 10 can be cut.
∞ (1) (3) If the mode is the highest collided bit +𝑋, do no
𝑚 𝑚−1
= 1 + 𝐵 ∑ 𝐵𝐿 [1 − (1 − 𝐵−𝐿 ) − 𝑚𝐵−𝐿 (1 − 𝐵−𝐿 ) ], pruning.
𝐿=0
In the first case, according to the quadtree splitting
method, the node 01 and node 11 are apparent idle time slot
where 𝐵 is the number of branches of the tree, 𝑚 is the nodes. Similarly, in the second case, node 00 and node 10 are
number of tags, and 𝐿 is the current level. When 𝐵 value idle time slot nodes, and the two nodes can all be pruned.
is different, the total time slots of an anticollision algorithm In the third case, since next the highest collided bit is also a
are different. It has been proved that when the 𝐵 value is collision bit, it is not possible to determine whether there is
3, the total time slots are the minimum; that is to say the an idle time slot node and we cannot cut any branch.
identification process is most efficient, but it is not possible The A4PQT algorithm consists of rounds of queries and
to construct a 3-ary tree. The advantage an anticollision responses. In each round, the reader transmits query prefix.
algorithm has by using 𝑛-ary tree is that it is able to reduce Tags receive the query prefix and check whether their own
collision time slots, but it increases the idle time slots. IDs contain the same prefix. If the tag’s ID contains the query
The basic idea of this paper is to take advantage of some prefix, the tag sends its ID except the part which is the same
information to cut some branches of the 4-ary tree (idle as the received prefix. If there is a collision, the reader updates
time slots). This corresponds to the way the 3-ary tree splits, query prefix based on the principle of pruning. For the reader,
which can guarantee minimum total time slots and greatly a stack is used as a prefix pool to hold prefixes. Firstly, a null
improve the anticollision recognition efficiency of 4-ary tree string 𝜀 is pushed onto the stack. The reader starts a query
algorithm. with a null string 𝜀; if this causes a collision, the reader pushes
new queries onto the stack and pops prefix to a new query
3. 4-Ary Pruning Query Tree until the stack is empty. The A4PQT algorithm is described
as follows.
Anticollision Algorithm
(1) Initialize algorithm. An empty string 𝜀 is pushed onto
A4PQT uses tag IDs to split tags into four groups. The reader the stack.
transmits a query prefix and the tags in the work area of
the reader respond to the query. Manchester code is used to (2) Determine whether the stack is empty. If it is empty,
detect collision bits. If a collision occurs, the reader updates then go to step (7).
query prefix. From the beginning of the highest collision bit, (3) The reader pops a new query prefix from the stack,
a collision node is split by a 4-ary tree and A4PQT will cut and sends to tags. Tags compare the query prefix with
some idle time slot nodes according to the characteristics their IDs and check whether their IDs contain the
of collision bits. Assuming 𝑋 denotes the collision bit, the prefix. If the matching is successful, tags respond to
pruning principles are as follows. the reader query and send their IDs which do not
4 International Journal of Distributed Sensor Networks

include the prefix. If the matching is not successful, 4. Performance Analysis


then tags respond to nothing.
In RFID tag identification, the total time slots of an anti-
(4) Reader receives response from tags. If only one tag collision algorithm to identify all tags are important perfor-
responds, turn to step (6). If no tag responds, turn to mance indicators; the less the total time slots, the better the
step (7). If multiple tags respond simultaneously, then performance of the algorithm. A4PQT algorithm has two
a collision occurs. The reader updates query prefix kinds of situations in implementation process; one is split in
based on principle of pruning and pushes new pre- accordance with the 4-ary tree but to cut two branches. The
fixes onto the stack. Suppose 𝑆 is the set of query pre- other is split by a completely 4-ary tree.
fixes; the response of tag is 𝑏1 𝑏2 , . . . , 𝑏𝑢−1 𝑏𝑢 𝑏𝑢+1 , . . . , 𝑟, Nodes on 4-ary tree include the root nodes, intermediate
If the reader detects the highest collision bit which nodes, and leaf nodes. The degree of intermediate node is 4
is 𝑏𝑢 , then new query prefixes produce the following and the degree of leaf node is 0. So the total nodes of a 4-ary
principles tree are

𝑁 = 𝑛0 + 𝑛4 . (2)
(4.1) If the 𝑏𝑢+1 bit is 0, then cut two branches
of 4-ary tree; only use 𝑆 𝑏1 𝑏2 , . . . , 𝑏𝑢−1 00 and Here 𝑛0 is the number of nodes where the degree is 0 and 𝑛4 is
𝑆 𝑏1 𝑏2 , . . . , 𝑏𝑢−1 10 as two new prefixes and push the number of nodes where the degree 4. Since node degree is
the two prefixes onto the stack. 4 has 4 children, leaf node has 0 children, and the root node
(4.2) If the 𝑏𝑢+1 bit is 1, then cut two branches is not a child of the other nodes. Therefore, the total nodes of
of 4-ary tree; only use 𝑆 𝑏1 𝑏2 , . . . , 𝑏𝑢−1 01 and a 4-ary tree can also be expressed as
𝑆 𝑏1 𝑏2 , . . . , 𝑏𝑢−1 11 as two new prefixes and push 𝑁 = 0 ∗ 𝑛0 + 4𝑛4 + 1 = 4𝑛4 + 1. (3)
them onto the stack.
(4.3) If the 𝑏𝑢+1 bit is a collided bit, then generate four Then there is
new branches. The reader uses 𝑆𝑏1 𝑏2 , . . . , 𝑏𝑢−1 00,
𝑆𝑏1 𝑏2 , . . . , 𝑏𝑢−1 01, 𝑆𝑏1 𝑏2 , . . . , 𝑏𝑢−1 10, and 𝑆𝑏1 𝑏2 , 𝑛0 + 𝑛4 = 4𝑛4 + 1. (4)
. . . , 𝑏𝑢−1 11 as new prefixes and pushes them onto
The number of leaf nodes can be determined as follows:
the stack.
𝑛0 = 3𝑛4 + 1, (5)
(5) Repeat step (2)–step (4). (𝑛0 − 1)
𝑛4 = . (6)
(6) Identify tag. 3
(7) Algorithm ends. Let 𝑛 be the number of tags to be identified. When
pruning condition is satisfied, A4PQT algorithm produces
Using the five tags (they are 0100, 1001, 0010, 1011, and no idle time slots; the number of leaf nodes is equal to the
0110) as an example from Figure 1, the identifying process of number of tags; namely, 𝑛0 = 𝑛.
A4PQT is shown in Table 1, and the collision tree pruning The number of intermediate nodes is only half the
process corresponding to the identifying process of the number of intermediate nodes of a full 4-ary tree, namely,
example is shown in Figure 2. When the reader sends an 𝑛0 − 1
empty string 𝜀, all tags are responding. The reader receives 𝑛4󸀠 = . (7)
the response of tags and detects a collision according to the 6
Manchester code; the result is XXXX, where X represents a So when meet the pruning condition, the total time slots of
collided bit. The reader uses 00, 01, 10, and 11 as new prefixes A4PQT algorithm are
according to the principle of pruning. When the query prefix
is 00, identify the tag 0010. When the query prefix is 11, there 𝑛 + (𝑛 − 1) (7𝑛 − 1)
𝑁 = 𝑛 + 𝑛4󸀠 = = . (8)
is no tag response, resulting in an idle time slot. When the 6 6
query prefix is 01, the reader judges that the collided bit is X0
When does not meet the pruning condition, each collision
and can cut two branches 01 and 11. When the query prefix is
time slot in A4PQT algorithm will generate 0–2 idle time slot.
10, the collided result is X1; this can cut the two branches 00
If there has 0 idle time slot, the number of leaf nodes is equal
and 10.
to the number of tags; that is, 𝑛0 = 𝑛. According to formula
It can be seen from Figure 2 that, to identify five tags by
(5), we have
using pruning, A4PQT algorithm generates four additional
time slots, wherein the collision time slots are three and the 𝑛 = 3𝑛4 + 1. (9)
idle time slots are one, while as shown in Figure 1, the total
additional time slots of binary collision tree are six, and 4-ary Then the total time slots of A4PQT algorithm are
collision tree are eight. So A4PQT algorithm can reduce the
collision time slots and the idle time slots; it can improve the (4𝑛 − 1)
𝑁 = 𝑛0 + 𝑛4 = 𝑛 + 𝑛4 = . (10)
identification efficiency of RFID system. 3
International Journal of Distributed Sensor Networks 5

Table 1: The identifying process of A4PQT.

Round 1 2 3 4 5 6 7 8 9
R→T 𝜀 00 01 10 11 0100 0110 1001 1011
T→R Collided Readable Collided Collided Idle Readable Readable Readable Readable
Tag 1 0100 0100 0100
Tag 2 1001 1001 1001
Tag 3 0010 0010
Tag 4 1011 1011 1011
Tag 5 0110 0110 0110

Communication complexity is also a performance index


5 for an anticollision algorithm; it is said to identify all
00 11
tags required to transmit total number of bits. The com-
01 10 munication complexity includes the reader communication
complexity and tag communication complexity. Let 𝐶(𝑛) be a
1 2 2 communication complexity of A4PQT algorithm to identify
n tags, let 𝐶𝑅 (𝑛) represent the communication complexity of
0100 0110 1001 1011 reader, let 𝐶𝑇 (𝑛) represent the communication complexity of
tag; then there is
1 1 1 1
𝐶 (𝑛) = 𝐶𝑅 (𝑛) + 𝐶𝑇 (𝑛) . (15)

In A4PQT algorithm, the sum of the reader query prefix


Collision timeslots
length and tag response length is equal to the tag length. Let
Readable timeslots 𝐿 pre.𝑖 be the query prefix bits length of the reader, let 𝐿 req.𝑖 be
the bits length of tag response, and let 𝐿 ID be the bits length
Idle
of tag ID; then formula (15) can be expressed as
Figure 2: The process of A4PQT for identifying tags.
𝑇
𝐶 (𝑛) = ∑ (𝐿 pre.𝑖 + 𝐿 req.𝑖 ) , (16)
𝑖=1
If there are 2 idle time slots, it means that one collision node
will split two idle nodes; an idle node is also a leaf node, and where 𝑇 is the total time slots of the A4PQT algorithm.
then the leaf nodes include readable nodes (n tags) and idle Since 𝐿 ID = 𝐿 pre.𝑖 + 𝐿 req.𝑖 , the communication complexity
nodes. of the A4PQT algorithm is
Assuming the number of idle nodes is m, by formula (5),
we have (7𝑛 − 1)
𝐶 (𝑛) = [ , 2𝑛 − 3] ∗ 𝐿 ID . (17)
6
𝑛 + 𝑚 = 3𝑛4 + 1. (11)
And 𝑚 = 2𝑛4 ; obtain 𝑛4 = 𝑛 − 1; then the total time slots of 5. Simulation and Result
A4PQT algorithm are
To test the performance of A4PQT, we compare our scheme
𝑁 = 𝑛 + 𝑚 + 𝑛4 = 𝑛 + 3𝑛4 = 𝑛 + 3 (𝑛 − 1) = 2𝑛 − 3. (12) with query tree algorithm (QT), collision tree algorithm (CT)
[4], and the improved 4-ary query tree algorithm (I4QTA)
Therefore, the total time slots of A4PQT algorithm are
[6]. CT eliminates the unnecessary idle time slots based on
(7𝑛 − 1) the basic query tree algorithm. I4QTA adopts a transposition
𝑇=[ , 2𝑛 − 3] . (13)
6 way to reduce idle time slots. When two continuous collision
bits occur, tags modify some bits to respond; the reader judges
Throughput is another important performance indicator of
a tag prefix according to the transposed number, but this
an anticollision algorithm, which is the ratio between the
method also adds an extra cycle.
number of tags to be identified and the total time slots
Randomly generating 96 bits tag, the number of tags
required to identify them. Throughput reflects the recogni-
increases from 0 to 1000, and all results are the average of 100
tion efficiency of the algorithm; the greater the throughput,
experiments.
the higher the recognition efficiency.
In total time slots, Figure 3 shows the total time slots of
Let 𝑆 be the identification throughput of A4PQT algo-
QT, CT, I4QTA, and A4PQT for identification of all tags. It
rithm; we have
can be seen that the total time slots of CT are significantly less
𝑛 𝑛 than that of QT; this is because the CT has no idle time slots.
𝑆= = . (14)
𝑁 [(7𝑛 − 1) /6, 2𝑛 − 3] The total time slots of the I4QTA are slightly less than that of
6 International Journal of Distributed Sensor Networks

3000 ×107
1.8
2500
1.5
2000

Communication complexity
Total time slots

1.2
1500

0.9
1000

0.6
500

0 0.3
0 100 200 300 400 500 600 700 800 900 1000
Number of tags 0
0 100 200 300 400 500 600 700 800 900 1000
QT 14QAT
CT A4PQT Number of tags
QT 14QAT
Figure 3: Total time slots of the four algorithms to identify tags.
CT A4PQT

Figure 5: The communication complexity of the four algorithms to


1 identify tags.

0.9
0.8 transmitted bits of A4PQT algorithm are always less than that
0.7 of the other three algorithms.
0.6
The experimental results show that A4PQT algorithm can
Throughout

significantly reduce the total time slots and the transmitted


0.5 bits for identifying tags; thus A4PQT algorithm has very fast
0.4 identification rate and very high throughput; this is because
A4PQT algorithm can eliminate some idle time slots.
0.3
0.2
6. Discussion
0.1
0 QT, CT, I4QAT, and A4PQT all belong to query tree algo-
0 100 200 300 400 500 600 700 800 900 1000 rithm. QT algorithm is a binary query tree algorithm. The
Number of tags reader sends a query prefix and tags will respond when their
IDs have a prefix matching. The collision will occur when
QT 14QAT
CT A4PQT
multiple tags respond simultaneously; then the reader will
update the prefix by adding 0 and 1 in the original prefix.
Figure 4: Throughput of the four algorithms to identify tags. Since the prefix in QT is bitwise incrementally updating,
this will cause no tag response when some queries are sent.
This will bring idle time slot and increase the query time.
CT algorithm is also a binary query tree algorithm. It is an
CT. I4QTA split by 4-ary tree can reduce collision time slots improved version of the QT. The prefix in CT algorithm is
and adjust its query prefix through the response of tags, which updated by jumping; thus it can avoid the idle time slots.
can reduce the idle time slots the 4-ary tree generates. A4PQT CT algorithm performance is also greatly improved and
algorithm uses an adaptive way to prune 4-ary tree, so it can can avoid all idle time slots that the QT has. But it does
more effectively eliminate some idle time slots, and the total not avoid the collision time slots. I4QAT is a 4-ary query
time slots are less than those of the other three algorithms. tree algorithm which can reduce the collision time slots
Figure 4 shows the throughput of the four algorithms. but meanwhile increases the idle time slots. I4QAT uses
With the increasing of the number of tags, the throughput Manchester code to detect that the collided bit is one bit or
of QT is about 34% and that of CT tends to be 50%; the two consecutive bits. If there are two consecutive collided
throughput of I4QTA is about 52%, while that of A4PQT bits, the reader adds an additional query to send to tags.
tends to be 64%. When tags receive the query, they change the corresponding
In communication complexity, Figure 5 shows the total two bits. The conversion method is the “00” converted into
transmitted bits for identifying n tags using the QT, CT, “1,” “01” converted into “01,” “10” converted into “001,” and
I4QTA, and A4PQT algorithms. As can be seen, the total “11” converted into “0001”. I4QAT algorithm is to reduce idle
International Journal of Distributed Sensor Networks 7

time slots by using an additional query and it can eliminate system,” in Proceedings of the 24th International Conference on
the idle time slots. So the performance of I4QAT algorithm Microelectronics, pp. 1–4, 2012.
is greatly improved. However, I4QAT algorithms rely on [3] H. Wu, Y. Zeng, J. Feng, and Y. Gu, “Binary tree slotted ALOHA
additional queries to eliminate idle time slots; thus it also for passive RFID tag anticollision,” IEEE Transactions on Parallel
affects the performance of the I4QAT. It is also an additional and Distributed Systems, vol. 24, no. 1, pp. 19–31, 2013.
burden to tags to change two bits. A4PQT algorithm is [4] X. Jia, Q. Feng, and L. Yu, “Stability analysis of an efficient anti-
different from I4QAT algorithm. A4PQT algorithm does collision protocol for RFID tag identification,” IEEE Transac-
not execute additional queries; instead, it assumes there are tions on Communications, vol. 60, no. 8, pp. 2285–2294, 2012.
five tags which use pruning way to eliminate some of the [5] D. R. Hush and C. Wood, “Analysis of tree algorithms for RFID
idle time slots. When a collision bit appears, all the invalid arbitration,” in Proceedings of the IEEE International Symposium
branches will be pruned to eliminate all the idle time slots. on Information Theory, pp. 107–116, 1998.
Even when there are two consecutive collision bits, A4PQT [6] Y. Kim, S. Kim, S. Lee, and K. Ahn, “Improved 4-ary query tree
algorithm can still eliminate most of the idle time slots algorithm for anti-collision in RFID system,” in Proceedings of
without having to execute additional queries. As shown in the International Conference on Advanced Information Network-
ing and Applications (AINA ’09), pp. 699–704, May 2009.
our previous performance analysis, the average time slots
requested by A4PQT algorithm have been lower than those [7] P. Pupunwiwat and B. Stantic, “Unified Q-ary tree for RFID tag
anti-collision resolution,” in Proceedings of the 20th Australasian
required by I4QAT algorithm. When the number of tags
Database Conference (ADC ’09), Conferences in Research and
reaches 500, the average number of time slots requested by
Practice in Information Technology, pp. 49–58, 2009.
A4PQT algorithm will be about 700. Relatively, the average
[8] H. Gou and Y. Yoo, “A bit collision detection based Hybrid
number of time slots requested by I4PQT algorithm will come
Query Tree protocol for anti-collision in RFID system,” in Pro-
up to 900. As to some other aspects in terms of performance, ceedings of the 11th IEEE International Conference on Computer
A4PQT algorithm also has an obvious advantage over I4QAT and Information Technology (CIT ’11), pp. 158–163, September
algorithm as well as other algorithms. 2011.
[9] Y. Jiang and R. N. Zhang, “An adaptive combination query
7. Conclusion tree protocol for tag identification in RFID systems,” IEEE
Communications Letters, vol. 16, no. 8, pp. 1192–1195, 2012.
In the multitag identification environment, the collision is [10] J. Sung, D. Kim, T. Kim, and J. Choi, “Heuristic query tree
the major issue affecting the performance of RFID system. protocol: Use of known tags for RFID tag anti-collision,” IEICE
Collision resolution strategy based on binary tree can reduce Transactions on Communications, vol. E95-B, no. 2, pp. 603–
idle time slots but increase collision time slots, while the 4-ary 606, 2012.
tree resolution strategy is to reduce the collision time slots but [11] M.-K. Yeh, J.-R. Jiang, and S.-T. Huang, “Parallel response query
increase the idle time slots. In this paper, we propose a novel tree splitting for RFID tag anti-collision,” in Proceedings of
4-ary query tree algorithm called adaptive 4-ary pruning the International Conference on Parallel Processing Workshops
query tree (A4PQT) for identifying multiple tags based on the (ICPPW ’11), pp. 6–15, September 2011.
characteristics of collided bit, using pruning way to eliminate [12] Y.-H. Chen, S.-J. Horng, R.-S. Run et al., “A novel anti-collision
some idle time slots of 4-ary tree. The A4PQT algorithm algorithm in RFID systems for identifying passive tags,” IEEE
makes use of the advantages of 4-ary tree scheme that has Transactions on Industrial Informatics, vol. 6, no. 1, pp. 105–121,
2010.
less collision time slots and overcomes shortcomings of its
more idle time slots. Both theoretical analysis and simulation
results show that A4PQT algorithm can significantly reduce
the total time slots for identifying multitag and improve
the throughput of identification tags. As evidenced in the
performance analysis, the adoption of n-ary tree will increase
the idle time slots while the collision time slots are decreased.
We envision that the pruning strategy will be an important
and effective way to improve the efficiency of identification
in the Radio frequency identification (RFID) system. Our
further research work will be focused on further study of
proper pruning strategy which will eliminate the increased
idle time slots and decrease the total time slots.

References
[1] J. Shin, B. Jeon, and D. Yang, “Multiple RFID tags identification
with m-ary query tree scheme,” IEEE Communications Letters,
vol. 17, no. 3, pp. 604–607, 2013.
[2] A. Rennane, H. Saadi, R. Touhami, and M. C. E. Yagoub, “A
comparative performance evaluation study of the basic binary
tree and aloha based anti-collision protocols for passive RFID
Hindawi Publishing Corporation
International Journal of Distributed Sensor Networks
Volume 2013, Article ID 958241, 13 pages
http://dx.doi.org/10.1155/2013/958241

Research Article
Improving Performance through REST Open API
Grouping for Wireless Sensor Network

Min Choi,1 Young-Sik Jeong,2 and Jong Hyuk Park3


1
Department of Information and Communication Engineering, Chungbuk National University, 52 Naesudong-ro,
Heungdeok-gu, Cheongju, Chungbuk 361-763, Republic of Korea
2
Department of Multimedia Engineering, Dongguk University, 30 Pildong-ro 1-gil, Jung-gu, Seoul 100-715, Republic of Korea
3
Department of Computer Engineering, Seoul National University of Science and Technology, 232 Gongneung-ro,
Nowon-gu, Seoul 139-743, Republic of Korea

Correspondence should be addressed to Jong Hyuk Park; parkjonghyuk1@hotmail.com

Received 18 June 2013; Accepted 30 August 2013

Academic Editor: Naveen Chilamkurti

Copyright © 2013 Min Choi et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

With this growth of the Internet, it is expected that every device, including computers, will be connected to the Internet, as it is
called IoT. For example, smartphones and even refrigerators require an address to connect to the Internet. In this research, we
design Internet of things architecture, especially for wireless sensor networks. The architecture consists of wireless sensor networks
with a microcontroller at the very bottom level. They are connected to smart devices at the next level. However, the computing
capability of the smart devices is generally less powerful than that of the conventional devices. Thus, it is necessary to offload the
computation-intensive part by careful partitioning of application functions. In this research, we focus on designing the concept of
MapReduce like approach through the web service grouping of several web services into one. We propose two methods: REST API
grouping and REST API caching. First, the web service composition results in reducing energy consumption and communication
latency by composing two or more REST web services into one. Second, the web service caching technique provides fast access
that is recently accessed or frequently accessed. We conducted the experiments with Jersey REST web service server. Experimental
result shows that our approach outperforms conventional approaches.

1. Introduction computing [3]. It improves application performance and


efficiency by offloading complex and time-consuming tasks
With the fast development of the Internet technologies, web onto powerful computing platforms. By running only simple
based architectures are becoming the major technologies tasks on mobile devices, we can achieve a longer battery
for various fields of mobile computing. Nowadays, we are lifetime and a greater processing efficiency. Not only is this
experiencing a major shift from traditional mobile appli- offloading with the use of parallelism faster but it can also be
cations to mobile cloud computing. The demand of Open used to solve problems related to large datasets of nonlocal
API based development stems from the increasing use of resources. With a set of computers connected on a network,
smartphone applications [1, 2]. Community portal companies there is a vast pool of CPUs and resources, and you have the
such as Google, Naver, and Yahoo are providing the Open ability to access files on a cloud. In this paper, we propose a
API service for the access of their service. Before we go into novel approach that realizes the mobile cloud convergence
more details, we briefly introduce the REST Open API based in a transparent and platform-independent way. Users need
mobile application development approaches. not know how their jobs are actually executed in distributed
Within a few years, we can expect a major shift from environment, and users need not take into account whether
traditional mobile application technology to mobile cloud their mobile platforms are iPhone or Android.
2 International Journal of Distributed Sensor Networks

To communicate with remote procedure call between develop, deploy, upload, and run their composed web services
client and server, interface should be defined at first. To with the use of general OOP languages.
this end, WSDL and RPC were used for the specification. The rest of this paper is organized as follows. Section 3
However, these previous approaches are relatively compli- describes the necessity of WSN using REST web service
cated and highly overloaded. Recently, REST architecture is grouping. Section 2 shows conversion of REST web service
first introduced by Fielding. REST web service is becoming to objects. Section 4 depicts management server architecture
popular and explosively used in the field of application for REST web service system. Then, Section 5 shows perfor-
development of web and smartphone. Therefore, today’s mance evaluation. Finally, we conclude and summarize our
many Internet companies already provide their services by work in Section 6.
both traditional SOAP based web service and RESTful web Wireless sensor network brings computing power to
services [4, 5]. The main difference between REST web places and things that were previously not able to imagine
service and SOAP/WSDL web service is as follows. Due to to realize because they were cost prohibitive or physically
the complicated characteristics of SOAP based web services, impossible [10, 11]. This emerging wireless technology allows
REST web service is introduced. REST web service removes computing to go to places never before possible, everywhere
the overhead from encoding/decoding of header and body of our physical world. Via the Internet, a variety of computing
during message transfer. The REST web service enables users devices, including wireless sensor network devices, are con-
and developers to easily use the web services at remote nected into a worldwide computing network and becoming
or local sites. We need not add additional communication the next generation communication devices.
layer or protocols for REST web service, but we can easily
In this research, we make use of the Chipcon CC2420 RF
achieve scalability and performance. This research evaluates
Transceiver which is capable of 2.4 GHz communication by
the performance of mash-up architectures through RESTful
IEEE 802.15.4 standard [12]. It reduces the load on the host
Open API web services on smart mobile devices. It provides
controller and allows CC2420 to interface low-cost micro-
the analytical and experimental results for the performance
controllers. Figure 1 shows a block diagram of RF sensor
evaluation of system models. We especially try to find an
module and its connection to ATmega128 microcontroller.
optimal number of parallel REST web server architectures
under certain request arrival rates. And we show the perfor- The left side of Figure 2 shows a CC2420 RF module.
mance of proposed architecture, especially the mean number The right side of Figure 2 represents an example of real
of requests in the queue and the mean waiting time. connection between ATmega128 microcontroller and the
The area of REST web service composition is under- CC2420 RF module. During transmission, the FIFO and
explored and most research efforts are still at their initial FIFOP pins are only related to the RXFIFO. The SFD pin
state [3, 6–8]. In this paper, we propose a new conver- is active during transmission of a data frame. The SFD
sion method from web service execution result to object. pin goes high when the SFD field has been completely
REST web service execution results are usually provided transmitted. In receive mode, the FIFOP pin can be used
in XML format. Previous composition method is required to interrupt the microcontroller when a threshold has been
to analyze web service execution result with XML parser exceeded or a complete frame has been received. This pin
[9]. Other previous composition approaches were exploited should be connected to an ATmega128’s interrupt input port.
to synthesize program code from linear logic or first-order The ATmega128 microcontroller communicates with smart
logic [1, 2]. These papers are well organized theoretically devices to provide data which is applicable to arguments
and logically, but they have limited capability in terms of of REST Open APIs, for example, temperature, brightness,
automatic synthesis. However, in order to provide an easy way humidity, and any data from ADC. In 2004, the concept of
for web service composition, we convert REST web service MapReduce [13] was introduced as a novel programming
to objects. The conversion changes web service to a directly model and implementation for a large set of computing
readable format (objects) with OOP language. The objects are devices. Map generates a set of intermediate key/value pairs
programming primitives generally available for all types of and Reduce merges all intermediate values associated with
OOP languages, such as C++ and Java. Since OOP languages the same intermediate key, so that programs with this are
are very popular for developers, they can easily utilize OOPs automatically parallelized and executed on a large cluster of
to compose web services. computing devices.
REST web service is core technology for smartphone This research focuses on designing the concept of MapRe-
application development. This is because REST web service is duce through the web service composition of several web ser-
the most appropriate way for accessing information through vices into one. This REST web service composition results in
the Internet. Usually, a smartphone application needs infor- reducing energy consumption and communication latency.
mation from several sources of (one or more) REST web This is because the conventional approach generates several
services [1]. So, we need to utilize two or more REST web consecutive connection requests to remote servers through
services composition to realize a target application [3, 6]. In REST Open API. In this case, two or more REST web
this paper, we propose a server architecture for managing services execution should be carried out on smartphones.
REST web services. This server is for managing web ser- However, our REST web service composition eliminates such
vices so as to provide web server maintenance, especially several consecutive connection requests since several REST
on composition, deployment, and management of REST web services are composed into one. Moreover, the REST
web services. It enables service developers to conveniently web service caching technique in this research provides
International Journal of Distributed Sensor Networks 3

Automatic gain control

Digital
ADC demodulator

-Digital RSSI Serial


-Gain control
LNA -Image suppression voltage
-Channel filtering
-Demodulation regulator
ADC -Frame
-Synchronization

Serial microcontrollers interface


TXRX control
Digital

Control logic
interface
0 Freq with FIFO
90 synth buffers,
CRC and
encryption
TX power control

Digital
DAC
modulator
Power
control -Data spreading Digital and
PA Σ -Modulation analog test
interface
X08C DAC
On-chip
BIAS

16 MHz

Figure 1: Chipcon CC2420 RF module block diagram [12].

(a) (b)

Figure 2: CC2420 RF module and ATmega128 board.

optimization through data caching that is recently accessed keyword. This step is to prevent persons who are under 19
or frequently accessed. years of age to access adult data through the search engine.
REST web service is core technology for smartphone The second step is to search the keyword actually from web
application development. This is because REST web service database. This step is to get the content from search engine
is the most appropriate way for information access through after checking keyword validity of Algorithm 1. Algorithm 3
the Internet. Usually, a smartphone application needs infor- describes the list of error messages when there is failure in
mation from several (one or more) REST web services. So, we Open API request, for example, invalid input parameters,
need to utilize two or more REST web services for realizing network failure, and authentication failure. Like above, the
target application. Algorithm 1 shows the Open API REST necessity for several REST web service composition is obvi-
web service for the development of search applications on ous.
smartphones.
Algorithm 2 shows the example of open API REST web 2. Conversion of REST Web Service to Objects
service for keyword search of web documents. Assuming
developing a web search application, two-phase search task Web service composition requires a method to access data
is necessary; the first step is to check the validity of search that are in XML format of web service execution result
4 International Journal of Distributed Sensor Networks

Table 1: Real examples of the web service to object conversion.

Class variables Num Latitude Longitude Name Street City County State Country
Republic of
Object instance 1 37.511591238542 127.05944600764 Coex Mall Samsung-dong Kangnam-gu Seoul
Korea

Object instance 2 37.512302929275 127.05963882578 Coex Square Samsung-dong Kangnam-gu Seoul Republic of
Korea

(a) (b) (c) type of XML data. When clients receive the XML, they first
XML parse the XML and finally they get the data that they wanted.

Web application Objects Composition 3. The Necessity of WSN Using REST Web
(web service)
Service Grouping for MapReduce
Web application
XML (web service) As shown in Algorithm 4, the above XML document con-
(a) (b) (c) tains a single element ResultSet, which has subelements for
Web application
Objects head, locations, and item. The locations element contains a
(web service) collection of item elements. The item element has several
attributes: num, latitude, longitude, name, street, city, county,
Figure 3: Conversion of web service execution result to objects. state, and country. In Algorithm 5, we see the class definition
for conversed object mapping. For convenient use of objects
in OOP languages, the result of data conversion should be
provided by a real object instance which can be directly
from OOP languages. Because OOP languages are familiar to
referenced on OOP program source code. To do this, we need
developers, they can easily utilize the OOPs to compose web
a skeleton class, shown as a sample in Algorithm 5, in which
services. In order to realize REST web service composition,
simple types are mapped to each property variable and service
we propose a web service composition method by conversion
developers can access the property values using get and set
of web service to objects. The reason why we convert the
methods as shown in Algorithm 5. The above example in
REST web service to objects is to make an easy way for
Algorithm 5 of REST web service execution can be converted
manipulating the web service result into composition. The
by the following set of object instances which have attributes
objects mean that they are the programming primitives which
of the following result in Table 1.
are generally available for all types of OOP languages, such as
For the example of Algorithm 4, the locations element
C++ and Java.
contains a collection of <item> tags which has subelements.
Figure 3 depicts the extraction process from web service
The tag <item> is the object identification element in our
to objects. Step (a) represents that web service execution
conversion system, and it has several attributes: num, latitude,
results are returned as XML format. Step (b) describes the
longitude, name, street, city, county, state, and country. It
process that XML is converted to object. The process is to
is easy for a human to make a decision that <item> tag is
derive objects that are available for object-oriented languages.
repeated per object. However, it is not easy for a machine
Actually, our web service manager converts the XML result to
to decide which tag is corresponding to the object separator.
create Java program objects that represent the result data of
This conversion process is repeated until reaching the end tag.
web service execution. step (c) is to compose several objects
That is why our system requires the separation of tag name
to make another new web service that utilizes one or more
for object identification at the beginning of the conversion
web services. The reason why we convert web service to object
process.
is that the object-oriented language is the most convenient
tool for developers to manipulate and understand easily. This
is because previous REST web service composition proposals 4. Management Server Architecture for
of H. Zhao [4] and X. Zhao [5] are well organized theoretically REST Web Service
and logically, but these are difficult for developers and
users to easily understand and manipulate with a familiar In this section, we propose a server architecture for managing
programming language. REST web services. This server is for managing web services
Algorithm 4 represents the result of REST web service instead of web so as to provide web server maintenance ser-
execution. REST web service execution result is provided as vice, especially composition, deployment, and management.
XML data like above. After that, we proceed to the extraction Figure 4 shows the architecture of our REST web service
process with the results of REST web service execution. In management system. The main role of the system is com-
this example, we use web service from Yahoo. The REST web position/deployment/management of REST web services. It
service is called “Open API.” It returns execution result by a enables service developers to conveniently develop, deploy,
International Journal of Distributed Sensor Networks 5

Object 1
(c)
A web service Object 2

Service developer

(e) Composition
(a) (b)
Composed web service
(d)
Mobile web
(smartphones) REST web service
manager
Web server

(a’)
Database

Web browser

Figure 4: REST web service management system.

(1) Request URL


http://openapi.naver.com/search
(2) Request parameter
key string (mandatory): key string for authentication
target string (mandatory): adult
query string (mandatory): search keyword as UTF-8 encoding
- Sample URL
http://openapi.naver.com/search?key=test&query=girl&target=adult
(3) Response field
adult integer: 0, 1 (0—non adult, 1—adult)

Algorithm 1: Open API of REST web service for checking search keyword validity.

upload, and run the composed web service by general OOP This is because the computing power of smartphones is
languages. Web browsers and mobile web browsers shown in generally less than that of other mobile computing devices,
(a) of Figure 4 are very popular on desktop and smartphones, such as laptop computers and mobile tablets. Therefore, it is
respectively. They commonly utilize the HTTP to communi- necessary to offload the computation-intensive part by the
cate with web server through port number 80. The web server careful partitioning of application functions across the cloud
in (b) of Figure 4 is an application daemon which receives computing platform. To this end, we make use of RESTful web
request from web browser and provides the requested docu- service to realize distributed computing environment.
ments and data. Module (c) in Figure 4 represents web service During loading and running composed REST web service
or composed web service. It can be provided by platform- in (d) of Figure 4, dynamic binding is required for composed
independent packaging technology, such as COM/COM+ web service to use objects which are converted from web
and JavaBeans. This package can include directory structure service. Likewise, the management system has to instantiate
that has a restriction on which directory should have a and dynamically bind the composed objects. This is because
configuration file for our web service management system. our system provides service concurrent users at the same
Module (d) in Figure 4 is REST web service manager. It man- time. At the time, it is not possible for all web services to
ages REST web services which can be either a native REST be loaded onto memory. Some of them might be garbage
web service or a composed REST web service. It provides collected during the runtime. Thus, we need to reload and
service to requests from clients. The service developers (e) bind the object when it is about to be referenced. So, our web
in Figure 4 can upload their web service or composed web service management system supports dynamic loading and
service onto our REST web service management system, so binding for converted objects from web service.
that web services can be launched and serviced on demand. Likewise, we propose a REST web service management
This is quite useful for smartphone application developers. system that provides REST web service for clients such as
6 International Journal of Distributed Sensor Networks

Start and management system. This is similar to object caching


for consecutive requests. Assuming that we enable the option
REST web service execution for object caching, then we can remove the upper part of
Algorithm 6. This is because object 1 in Algorithm 6 is already
stored in the database and the lower part of Algorithm 6 can
XML parsing
reuse the stored object. At this time, we have to be careful
about checking that the stored object is up to date. If the
Object conversion part

Object identification stored value is not up to date, the cached object should be
element tag start invalidated. To this end, our management system periodically
XML element object property checks the object validity by a preset threshold which is
mapping called OVL. Usually, we set this threshold to the web service
Object identification
characteristics, because for some web services the result does
element tag end not change when input value is the same, but for some web
services the result often changes depending on time.
Object caching significantly improves the performance
Object caching of our web service composition and management system,
especially on sudden batch requests within a short period of
Saving to database time, because the object caching technique does not reexecute
web service that results in the same result at every request,
for example, in Algorithm 7, the web service execution for
Service management part

REST web service package loading checking adult keyword. In this case, for the same keyword,
the result of web service execution is always the same.
Object dynamic binding If result of REST web service execution contains several
result sets, the object conversion module separates the result
Object reference from REST web sets into several objects. This is one of the major differences
services
between REST web service and SOAP/WSDL based web
service. Object conversion from SOAP/WSDL web service
is relatively easy to decide which part is corresponding
End
to a specific object, since WSDL describes specifically and
Figure 5: REST web service composition procedure. formally the details of the web service so that the system
automatically understands the web service result and manip-
ulates the result. However, object conversion from REST web
service is not so easy because it does not support WSDL-
smartphone applications. Simply by uploading their web like description and there is no formal description for the
service package onto our system, web service developers can REST web service. That is why we introduced the concept
operate their service without a physical server. There is only a of object identification element. As shown in the example of
restriction that binary format of uploaded package should be Algorithm 4 in the previous research [1], the tag <item> is
compatible to our service management operating system and selected as object identification element by REST web service
configuration file should be located onto a specified directory developer (human). It is easy for a human to make the
on our system. The configuration file could be of various decision that <item> tag is repeated per object. However, it is
formats such as xml and cfg. The contents can be as follows. not easy for a machine to decide which tag is corresponding
Algorithm 6 represents the sample configuration file for to the object separator. So, the conversion process is repeated
the description of REST web service package location. The until reaching the end tag. To this end, our system requires the
configuration file includes a single top-level element <XML separation tag name for object identification at the beginning
element> which has subelements <name> for package and of the conversion process.
<value> element for package path (directory). By putting the After conversion, we can develop various applications on
configuration file onto a specific path of REST web service desktop, mobile, and smartphones. Then, we need not access
management system, our management system locates the REST web service through Open API interface but we make
configuration file and launches developer’s web services. use of converted objects. Algorithm 7 shows an example
Figure 5 depicts the flowchart of our web service compo- source code for actual REST web service composition. The
sition and management system. There are two big parts; one is upper parts of Algorithm 7 represent REST web service
the object conversion module and the other one is the service execution for checking search keyword validity. When we
management module. The object conversion module is to get the result, we make use of XmlObjectConversionFactory
convert the web service execution result to object. The service and XmlObjectConverter to convert the result to object.
management module is to deploy and run the composed web These tools enable programmers to access and modify XML
service. In Figure 5, there is a stage in the middle of those documents via a general OOP language, not via XML parsers.
two above modules for checking the option of saving the Actually, the lower parts of Algorithm 7 manipulate the
converted object into the database temporarily. This option is web service execution result with XML parsers, especially
to improve the performance of our web service composition XMLPullParser and XMLPullParserFactory. This research
International Journal of Distributed Sensor Networks 7

(1) Request URL


http://openapi.naver.com/search
(2) Request parameter
key string (mandatory): key string for authentication.
target string (mandatory): webkr
query string (mandatory): search keyword as UTF-8 encoding
domain string: site domain for searching
display integer: search result numbers per a page (10 as default, 100 as max)
start integer: search start position (1 as min, 1000 as max)
- Sample URL
http://openapi.naver.com/search?key=test&query=keyword&display=10&start=1&target=webkr
(3) Response field
rss: for debugging
channel: container for search results
lastBuildDate datetime: date of result generated
total integer: total number of documents
start integer: start value of search result documents
display integer: number of search result
item: search result including title, link, description
title string: search result document title
link string: hypertext link for search result document.
description string: summary for search result document

Algorithm 2: Open API of REST web service for searching from web database.

5. Performance Evaluation
(4) Error messages
000: System error In this section, we introduce system architecture and elemen-
010: Your query request count is over the limit tary technologies for implementing the mobile application.
011: Incorrect query request REST web service is core technology for smartphone/smart
020: Unregistered key TV application development. This is because REST web
021: Your key is temporary unavailable service is the most appropriate way for accessing information
100: Invalid target value through the Internet. Usually, a smartphone application
101: Invalid display value
needs information from several sources of (one or more)
102: Invalid start value
110: Undefined sort value REST web services. First, we exploited our web service con-
200: Reserved version technique [8] between REST Open API and objects.
900: Undefined error occurred We have the REST web service conversion technology that
includes the extraction process from web service to objects.
When web service execution results are returned in XML for-
Algorithm 3: Error messages of Open API REST web service. mat, we can convert the XML result to object. The process is to
derive objects that are available for object-oriented languages.
Actually, our web service manager converts the XML result to
create Java program objects that represent the result data of
focuses on the composition stage, which is shown in the web service execution. Finally, we compose several objects to
upper part of Algorithm 7, and the stage only deals with make another new web service that utilizes one or more web
conversion from web service to object. It does not care about services. The reason why we convert web service to object is
the implementation details after conversion. Therefore, the that the object-oriented language is the most convenient tool
lower parts of Algorithm 7 simply make use of conventional for developers to manipulate and understand easily. Second,
XML parsing as implementation techniques for another web we make use of OAuth [6] based authentication mechanism
service. This approach makes it possible for a developer who in order to authenticate our REST web service users. OAuth
knows little about XML to process with a simple method is an open standard for authorization. It allows users to
and they immediately make use of the classes that are share their private resources stored on one site with another
automatically converted. To work with web service execution site without having to hand out their credentials, typically
result in their program, we map the result directly to a set of supplying username and password tokens instead. Each token
objects that reflects the XML result according to its structure. grants access to a specific site for specific resources and for
We can achieve this by converting the web service execution a defined duration. This allows a user to grant a third party
result into a set of derived content classes. site access to their information stored with another service
8 International Journal of Distributed Sensor Networks

<?xml version=“1.0” encoding=“UTF-8”?>


<ResultSet>
<head><publisher>YahooKorea
GUGI</publisher><Error>0</Error><ErrorMessage>No
Error</ErrorMessage><Found>8</Found>
</head>
<locations>
<item>
<num>1</num>
<latitude>37.511591238542</latitude>
<longitude>127.05944600764</longitude>
<name>Coex Mall</name>
<street></street>
<city>Samsung-dong</city>
<county>Kangnam-gu</county>
<state>Seoul</state>
<country>South Korea</country>
</item>
<item>
<num>2</num>
<latitude>37.512302929275</latitude>
<longitude>127.05963882578</longitude>
<name>Coex Square</name>
<street></street>
<city>Samsung-dong</city>
<county>Kangnam-gu</county>
<state>Seoul </state>
<country>South Korea</country>
</item>
</locations>
</ResultSet>
<!-- openapi1.local.maps.kr3.yahoo.com uncompressed/chunked Fri Jan 6 23:55:53 UTC 2012 -- >

Algorithm 4: REST web service execution example.

REST web server farm make use of both Tomcat and Jersey in order to implement
In Out our systems.
Web server B1 For evaluating system performance of modeled web
In Out server traffic (requests), we present a model of queuing
In Out B2 In Out
A
In Out A
network [8] as shown in Figure 6, incorporating M/M/1 and
B3 M/M/s models. The model of our REST Open API web
In Out service architecture is presented in Figure 1. REST Open
B4 API web service is composed of 3 components comprising
the following: (1) a web server, (2) REST web server farms,
and (3) mash-up applications. As shown in Figure 1, there
Figure 6: System architecture. are a number of components (nodes) that consist of several
queues. A request may receive service at one or more queues
before exiting from the system. A model shows the system
architecture in which jobs departing from A arrive at another
provider, without sharing their access permissions or the full queue (i.e., the REST web server farm from B1 to B4).
extent of their data. Third, we adopt the Apache Tomcat 7.0 Requests arrive at the web server A with frequency
as a web application server and Jersey 1.8 for REST Open FreqIn. The initialization process for the request is done at
API service provider. Apache Tomcat is an open software node A. Then, the request proceeds to the component, either
with Java Servlet and JavaServer Pages technologies. Apache “REST web server farm” network or others depending on the
Tomcat powers numerous large-scale web applications across type of the request; if the request is for the REST web server,
a diverse range of industries and organizations. Jersey is the then it goes to the REST web server farm. If the request is for
open source JAX-RS (JSR 311) Reference Implementation [7] just web server, then it goes to the web server. The requests
for building RESTful web services. Jersey provides an API traverse via the Internet users and are received by the client’s
so that developers may extend Jersey to suit their needs. We browser, represented by the components at the bottom of
International Journal of Distributed Sensor Networks 9

class definition {
access modifier variable type property variable1 (argument);
access modifier variable type property variable2 (argument);
return type get property variable1() {
return property variable1;
}
return type set property variable1(variable type value1) {
property variable1 = value1;
}
return type get property variable2() {
return property variable2;
}
return type set property variable2(variable type value2) {
property value2 = value2;
}
}

Algorithm 5: Class definition for web service to object conversion.

𝜆 jobs per unit time. If any 𝑚 servers are busy, the arriving
<XML element> requests wait in a queue. The state of the system is represented
<name>web service package</name> by the number of jobs 𝑛 in the system. We can get the mean
<value>web service package path(directory)</value> waiting time as follows:
</XML element>
𝐸 [𝑛𝑞 ] 󰜚
Algorithm 6: Configuration requirement for uploading REST web 𝐸 [𝑤] = = . (1)
𝜆 [𝑚𝜇 (1 − 𝜌)]
service.
The expressions are used for performance analysis of
M/M/s model in this research. Requests arrive from outside
Figure 5. Our system model is a sort of open queuing network following a Poisson process with a certain arrival rate 𝜆 > 0.
that has external arrivals and departures. The requests enter Hence, we have the overall arrival rate to node 𝑖, 𝜆 𝑖 , including
the system at “IN” and exit at “OUT.” The number of requests both external arrivals and internal transitions:
in the system varies with time. In analyzing an open system, 𝐽
we assume that the throughput is known (to be equal to the 𝜆𝜆 𝑖 = 𝛼𝑝0𝑖 + ∑ 𝜆 𝑗 𝑝𝑗𝑖 , 𝑖 = 1, . . . , 𝐽; (2)
arrival rate), and we also assume that there is no probability 𝑗=1
of incomplete transfer in this system, so there is no retrial
path to go back to node A. The REST web server farm can then
have more than one computing server; we especially present
4 computing servers in Figure 5. 𝜆 = (−𝑃)−1 𝑎. (3)
At each node, let us consider an M/M/1 queue with a
processor sharing service discipline. The interarrival times All requests submitted must first pass through the web
of requests are according to a Poisson process with rate server for providing HTTP service before moving on to the
𝜆 and the service times are exponentially distributed and REST web servers, Jersey. Requests arrive at the web server at
there is only one server. There are no buffer or population an average rate of 1000/sec to 15000/sec. To handle the load,
size limitations and the service discipline is FCFS. In this the REST web server components may have several parallel
research, experimental results were conducted by both real clouded or clustered architectures.
experiments and performance analysis of M/M/1 model. Figure 7 represents the mean number of requests in the
In our system in Figure 1, we do not depend only on the queue and traffic intensity at component A. Traffic intensity
M/M/1 queue as shown but we also make use of M/M/s is calculated by the arrival rate over the service rate that
model [9]. This is because the REST web service in our means how fast the incoming traffic is serviced on the server.
system is provided by clustered/clouded systems consisting The traffic intensity is a sort of constant on M/M/1 queue
of multiple numbers of servers. So, it is necessary to analyze (component A is M/M/1 queue). Since the service rate of the
this component separately using M/M/s model. The M/M/s Apache web server is 16000 requests/sec, the mean number
model can be used to model parallel systems that have several of requests in the queue reaches up to maximum on the total
identical servers and all jobs waiting for these servers are kept arrival rate is increasing to 15000. Figure 8 shows the mean
in one system. It is assumed that there are 𝑚 servers each with number of requests in the queue as increasing total arrival
a service rate of 𝜇 requests per unit time. The arrival rate is rate. And this is the similar to the case of Figure 7.
10 International Journal of Distributed Sensor Networks

Object1 obj1;
String strSearchKeyword = getParameter(STR PARAM SEARCHKEYWORD);
String strWebSvcQuery = “http://openapi.naver.com/search?key=test&query=”;
strWebSvcQuery += strSearchKeyword + “&target=adult”;
URL text = new URL(strWebSvcQuery);
XmlObjectConversionFactory objCreator = XmlObjectConversionFactory.newInstance();
XmlObjectConverter xoConverter = objCreator.newConverter();
obj1 = xoConverter.setInput (text.openStream(), null);
if (obj1.getbAdult()) {
return;
}
else
{
try{
strWebSvcQuery = “http://openapi.naver.com/search?key=test&query=”;
strWebSvcQuery += strSearchKeyword +
“&display=10&start=1&target=webkr”;
URL text = new URL(strWebSvcQuery);
String test = text.toString();
XmlPullParserFactory parserCreator =
XmlPullParserFactory.newInstance();
XmlPullParser parser = parserCreator.newPullParser();
parser.setInput(text.openStream(), null);
String tag;
int parserEvent = parser.getEventType();
while (parserEvent != XmlPullParser.END DOCUMENT){
switch(parserEvent){
case XmlPullParser.TEXT:
tag = parser.getName();
break;
case XmlPullParser.END TAG:
tag = parser.getName();
break;
case XmlPullParser.START TAG:
tag = parser.getName();
break;
}
}catch(Exception e){
Log.e(“dd”, “Error in network call” + e);
}
}

Algorithm 7: Composition of multiple web services.

Figures 9 and 10 present the mean waiting time and four multiple servers of Jersey 1.6 REST web service providers.
the mean number of requests by the number of REST web From these experiments, we see the fact that 4 or 5 numbers
servers. Until now, we just make use of four REST web servers of REST web servers are enough for the current level of
without considering the optimal number of parallelism. So, workloads.
we carried out the experiment as shown in Figures 9 and Figures 11 and 12 present the mean waiting time and the
10. To do this, we modeled component B as the M/M/m mean number of requests in the queue with increasing of total
queue. The value m is larger than 1. This means the REST arrival rate at component B. We model component B as the
web servers are comprised of multiple Jersey 1.6 servers. These M/M/m queue. The value m is larger than 1. This means the
figures show the fact that the mean number of requests in REST web servers are comprised of multiple Jersey 1.6 servers.
the queue is decreasing as the number of REST web servers These figures show the fact that the mean number of requests
increases. Actually, we carried out this experiment with the and the mean waiting time are increasing as the total arrival
International Journal of Distributed Sensor Networks 11

14 0.1
12
0.08
10
8 0.06

6 0.04
4
0.02
2
0 0
2000 4000 6000 8000 10000 12000 14000 2 3 4 5 6 7 8 9 10 11
Total arrival rate (number of requests/s) Number of REST web servers

Traffic intensity Mean number of jobs in the queue


Mean number of jobs in the queue
Figure 10: Mean number of requests in the queue as increasing
Figure 7: Traffic intensity and mean number of requests in the number of REST web servers.
queue as increasing total arrival rate.
1.2E − 07

0.0000001
0.001
8E − 08
0.0008
6E − 08
0.0006 4E − 08

0.0004 2E − 08

0
0.0002 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Total arrival rate (number of requests/s)
0
2000 4000 6000 8000 10000 12000 14000 Mean waiting time
Total arrival rate (number of requests/s)
Figure 11: Mean waiting time as increasing total arrival rate.
Mean number of jobs in the queue

Figure 8: Mean number of requests in the queue as increasing total 0.0012


arrival rate.
0.001
0.00001
0.0008
0.000008
0.0006
0.000006
0.0004
0.000004
0.0002
0.000002 0
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
0
2 3 4 5 6 7 8 9 10 11 Total arrival rate (number of requests/s)
Number of REST web servers Mean number of jobs in the queue

Mean waiting time Figure 12: Mean number of requests in the queue as increasing total
arrival rate.
Figure 9: Mean waiting time as increasing number of REST web
servers.

We also provide the experimental result to represent the


efficiency of our management server for REST web service.
rate. The reason why the waiting time and queue length are We established the architecture described in Section 4, con-
not reaching the maximum even though the total arrival rate sisting of web service manager and web server, and we imple-
approaches the maximum value (15000) is the multiple REST mented and deployed the composed REST web service as
web servers. Actually, we carried out this experiment with the shown in example code of Table 2. We performed our experi-
four multiple servers of Jersey 1.6 REST web service providers. ment on Intel Pentium Core I5, 4G platform. We used Tomcat
12 International Journal of Distributed Sensor Networks

12
10
8
6
4
2
0
Adult + search Adult + Typo + Typo + search POI POI
encyclopedia encyclopedia + knowledge + real estate price

Separated
Composed
Object cached

Figure 13: Experimental result of REST web service management server.

Table 2: Configuration parameters. web service composition, we proposed a new conversion


method from web service execution result to object. The
System measure Component A Component B reason why we convert the REST web service to objects is
From 1000/sec to From 1000/sec to to make an easy way for manipulating the web service result
Total arrival rate, 𝜆 𝑖
15000/sec 15000/sec into composition. Actually, this paper showed Java objects
Service rate, 𝜇𝑖 15000/sec 15000/sec conversion from the result of web service execution. This is
Multiple number of very useful for smartphone application development, because
1 From 2 to 11
servers, 𝑠𝑖 REST web service is becoming popular and explosively used
Traffic intensity, 𝜌𝑖 𝜆/𝜇 𝜆/𝑠𝜇 in the field of smartphone and web application development.
In addition, we proposed RESTful web service composi-
tion method and system which enable developers to easily
deploy their web service through HTTP protocol. In this
7.0 as web server and web application server. We implemented research, we proposed a REST Open API based mobile cloud
web service management and composition server onto the application development architecture. This paper presents
same server, but they might be separated depending on two case studies for the actual mobile cloud convergence
architecture design for performance improvement. Figure 13 information system. First, researchers are struggling to get
shows our experimental result. The “separated” represents information about research conferences, seminars, invited
the conventional approach in which two or more REST web lectures, and so on. They try to search such activities through
services execution should be carried out on smartphones. web search engines, but it takes a lot of time. This research
The “composed” represents our approach that several REST is to provide a service for the Open APIs including the
web services are composed into one. The “object cached” following: getting/putting conference information, search-
represents optimized approach in which object caching is ing research papers, PDF viewers, and mobile review sys-
exploited on composed REST web service. tems. Future information systems will be working on smart
As shown in Figure 13, REST web service composition devices such as smartphones or smart devices. Such smart
method outperforms conventional approach from 17.15% up devices are especially appropriate for the alerting confer-
to 35.35%. The object caching optimization improves our ences/seminars/workshops and reviewing research papers.
REST web service composition technique from 4.34% to We also proposed a REST Open API based mobile cloud
25%. In cases of POI + knowledge and POI + real estate application development architecture. This research evaluates
price of Figure 13, the performance improvement from the the performance of mash-up architectures through RESTful
optimization is not significant because the amount of time to Open API web services on smart mobile devices. It provides
POI access is relatively lower than access time to real estate the analytical and experimental results for the performance
price and knowledge search open APIs. evaluation of system models. In particular, we found an
optimal number of parallel REST web servers architectures
6. Concluding Remarks under certain request arrival rates. And we showed the
performance of proposed architecture, especially the mean
In this paper, REST web service execution results are usually number of requests in the queue and the mean waiting time.
provided in XML format. So, conventional methods need to As a future work, we will make this service available
analyze the result with XML parser. However, since OOP from MapReduce parallel computing platform in which job
languages are familiar to developers, they can easily utilize submission begins by the invocation of the REST Open
the OOPs to compose web services. In order to realize REST API through web browsers and the job execution is done
International Journal of Distributed Sensor Networks 13

by parallel computing platform with phases of mapping, [9] R. Jain, The Art of Computer System Performance Analysis,
synchronization, and reducing. One of the most important Techniques for Experimental Design, Measurement, Simulation
benefits of this approach is the fact that the interface of job and Modeling, John Wiley & Sons, New York, NY, USA, 1991.
submission is very familiar to users because it is REST Open [10] “The internet of things: in action, the next web,” http://
API, not the MapReduce interface. Likewise, we will continue thenextweb.com/insider/2013/05/19/the-internet-of-things-in-
research on design and implementation of this platform, action/.
called REST-MapReduce. [11] M. Yoon, Y. K. Kim, and J. W. Jang, “An energy-efficient
routing protocol using message success rate in wireless sensor
networks,” Journal of Convergence, vol. 4, no. 1, 2013.
Acronyms [12] Chipcon CC2420 data sheet-2.4 GHz, IEEE 802.15.4 RF
Transceiver.
REST: REpresentational state transfer
[13] J. Dean and S. Ghemawa, “MapReduce: simplified data pro-
WSDL: Web service description language cessing on large clusters,” in Proceedings of the 6th USENIX
RPC: Remote procedure call Symposium on Operating System Design and Implementation,
IoT: Internet of things 2004.
M2M: Machine to machine
SOAP: Simple object access protocol
OOP: Object-oriented programming
ADC: Analog-digital converter
HTTP: Hyper text transfer protocol
OVL: Object validity lifetime.

Acknowledgments
This research was jointly supported by the Basic Science
Research Program through the National Research Foun-
dation of Korea (2013055028) and the MSIP (Ministry of
Science, ICT & Future Planning), Republic of Korea, under
the R&D program supervised by the KCA (Korea Communi-
cations Agency) (KCA-2013-12-912-03-001).

References
[1] M. S. Islam, M. R. Rahman, A. Roy, M. I. Islam, and M. R. Amin,
“Performance evaluation of finite queue switching under two-
dimensional M/G/1(m) traffic,” Journal of Information Process-
ing Systems, vol. 7, no. 4, pp. 679–690, 2011.
[2] T. Saba, “Implications of E-learning systems and self-efficiency
on students outcomes: a model approach,” Human-Centric
Computing and Information Sciences, vol. 2, no. 6, pp. 1–12, 2012.
[3] R. Pan, G. Xu, B. Fu, P. Dolog, Z. Wang, and M. Leginus,
“Improving recommendations by the clustering of tag neigh-
bours,” Journal of Convergence, vol. 3, no. 1, pp. 13–20, 2012.
[4] H. Zhao and P. Doshi, “Towards automated RESTful Web
service composition,” in Proceedings of the IEEE International
Conference on Web Services (ICWS ’09), pp. 189–196, Los
Angeles, Calif, USA, July 2009.
[5] X. Zhao, E. Liu, G. J. Clapworthy, N. Ye, and Y. Lu, “RESTful web
service composition: extracting a process model from linear
logic theorem proving,” in Proceedings of the 7th IEEE Inter-
national Conference on Next Generation Web Services Practices
(NWeSP ’11), pp. 398–403, October 2011.
[6] “Mobile Public Information in Seoul Korea,” http://mobile
.openapi.seoul.go.kr/.
[7] “Shared resource portal in Korea,” http://www.data.go.kr/.
[8] T. Saha, M. Abu Shufean, M. Alam, and M. I. Islam, “Perfor-
mance evaluation of the WiMAX network based on combining
the 2D markov chain and MMPP traffic model,” Journal of
Information Processing Systems, vol. 7, no. 4, pp. 653–678, 2011.

Вам также может понравиться