`Exhibit 2009
`
`
`
`414
`
`IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
`
`Context Aware Computing for
`The Internet of Things: A Survey
`
`Charith Perera, Student Member, IEEE, Arkady Zaslavsky, Member, IEEE, Peter Christen, and
`Dimitrios Georgakopoulos, Member, IEEE
`
`Abstract—As we are moving towards the Internet of Things
`(IoT), the number of sensors deployed around the world is
`growing at a rapid pace. Market research has shown a significant
`growth of sensor deployments over the past decade and has
`predicted a significant increment of the growth rate in the
`future. These sensors continuously generate enormous amounts
`of data. However,
`in order to add value to raw sensor data
`we need to understand it. Collection, modelling, reasoning, and
`distribution of context in relation to sensor data plays critical
`role in this challenge. Context-aware computing has proven to
`be successful in understanding sensor data. In this paper, we
`survey context awareness from an IoT perspective. We present
`the necessary background by introducing the IoT paradigm and
`context-aware fundamentals at the beginning. Then we provide
`an in-depth analysis of context life cycle. We evaluate a subset
`of projects (50) which represent the majority of research and
`commercial solutions proposed in the field of context-aware
`computing conducted over the last decade (2001-2011) based
`on our own taxonomy. Finally, based on our evaluation, we
`highlight the lessons to be learnt from the past and some
`possible directions for future research. The survey addresses
`a broad range of techniques, methods, models, functionalities,
`systems, applications, and middleware solutions related to context
`awareness and IoT. Our goal is not only to analyse, compare
`and consolidate past research work but also to appreciate their
`findings and discuss their applicability towards the IoT.
`Index Terms—Internet of things, context awareness, sensor
`networks, sensor data, context life cycle, context reasoning,
`context modelling, ubiquitous, pervasive, mobile, middleware.
`
`I. INTRODUCTION
`
`C ONTEXT awareness, as a core feature of ubiquitous
`
`and pervasive computing systems, has existed and been
`employed since the early 1990s. The focus on context-aware
`computing evolved from desktop applications, web applica-
`tions, mobile computing, pervasive/ubiquitous computing to
`the Internet of Things (IoT) over the last decade. However,
`context-aware computing became more popular with the in-
`troduction of the term ‘ubiquitous computing’ by Mark Weiser
`[1] in his ground-breaking paper The Computer for the 21st
`Century in 1991. Then the term ‘context-aware’ was first used
`by Schilit and Theimer [2] in 1994.
`Since then, research into context-awareness has been es-
`tablished as a well known research area in computer science.
`Many researchers have proposed definitions and explanations
`
`of different aspects of context-aware computing, as we will
`discuss briefly in Section III. The definitions for ‘context’ and
`‘context-awareness’ that are widely accepted by the research
`community today were proposed by Abowd et al. [3] in 1999.
`During the last
`two decades, researchers and engineers
`have developed a significant amount of prototypes, systems,
`and solutions using context-aware computing techniques. Even
`though the focus varied depending on each project, one aspect
`remained fairly unchanged: that is the number of data sources
`(e.g. software and hardware sources). For example, most of
`the proposed solutions collect data from a limited number of
`physical (hardware) and virtual (software) sensors. In these
`situations, collecting and analysing sensor data from all the
`sources is possible and feasible due to limited numbers. In
`contrast, IoT envisions an era where billions of sensors are
`connected to the Internet, which means it is not feasible to
`process all the data collected by those sensors. Therefore,
`context-awareness will play a critical role in deciding what
`data needs to be processed and much more.
`Due to advances in sensor technology, sensors are get-
`ting more powerful, cheaper and smaller in size, which has
`stimulated large scale deployments. As a result, today we
`have a large number of sensors already deployed and it is
`predicted that the numbers will grow rapidly over the next
`decade [4]. Ultimately, these sensors will generate big data
`[5]. The data we collect may not have any value unless we
`analyse, interpret, and understand it. Context-aware computing
`has played an important role in tackling this challenge in
`previous paradigms, such as mobile and pervasive, which lead
`us to believe that it would continue to be successful in the
`IoT paradigm as well. Context-aware computing allows us
`to store context1 information linked to sensor data so the
`interpretation can be done easily and more meaningfully. In
`addition, understanding context makes it easier to perform
`machine to machine communication as it is a core element
`in the IoT vision.
`When large numbers of sensors are deployed, and start
`generating data, the traditional application based approach (i.e.
`connect sensors directly to applications individually and man-
`ually) becomes infeasible. In order to address this inefficiency,
`significant amounts of middleware solutions are introduced by
`researchers. Each middleware solution focuses on different as-
`pects in the IoT, such as device management, interoperability,
`
`Manuscript received September 28, 2012; revised January 30, 2013.
`C. Perera, A. Zaslavsky and D. Georgakopoulos are with the Infor-
`mation and Communication Centre, Commonwealth Scientific and Indus-
`1The term ‘context’ implicitly provide the meaning of ‘information’ ac-
`trial Research Organisation, Canberra, ACT, 2601, Australia (e-mail: first-
`name.lastname@csiro.au).
`cording to the widely accepted definition provided by [3]. Therefore,
`it
`is inaccurate to use the term ‘context information’ where ‘information’ is
`P. Christen is with the Research School of Computer Science, The
`Australian National University, Canberra, ACT 0200, Australia (e-mail:
`explicitly mentioned. However, research community and documents on the
`web frequently use the term ‘context information’. Therefore, we also use
`peter.christen@anu.edu.au).
`Digital Object Identifier 10.1109/SURV.2013.042313.00197
`both terms interchangeably.
`1553-877X/14/$31.00 c(cid:2) 2014 IEEE
`
`
`
`PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
`
`415
`
`platform portability, context-awareness, security and privacy,
`and many more. Even though, some solutions address multiple
`aspects, an ideal middleware solution that addresses all the
`aspects required by the IoT is yet to be designed. In this
`survey, we consider identifying the context-aware computing
`related features and functionalities that are required by an ideal
`IoT middleware solution as a key task.
`There have been several surveys conducted in relation to
`this field. We briefly introduce these surveys in chronological
`order. Chen and Kotz [6] (2000) have surveyed context aware-
`ness, focusing on applications, what context they use, and
`how contextual information is leveraged. In 2004, Strang and
`Linnhoff-Popien [7] compared the most popular context mod-
`elling techniques in the field. Middleware solutions for sensor
`networks are surveyed by Molla and Ahamed [8] in 2006. Two
`separate surveys were conducted by Kjaer [9] and Baldauf et
`al. [10] in 2007 on context-aware systems and middleware
`solutions using different taxonomies. Both surveys compared
`limited numbers, but different projects with very little overlap.
`c et al. [11] (2009) reviewed popular context representation
`and reasoning from a pervasive computing perspective. In
`2010, Bettini et al. [12] also comprehensively surveyed context
`modelling and reasoning by focusing on techniques rather
`than projects. In the same year another survey was done
`by Saeed and Waheed [13] focusing on architectures in the
`context-aware middleware domain. Bandyopadhyay et al. [14]
`have conducted a survey on existing popular Internet of
`Things middleware solutions in 2011. In 2012, Makris et al.
`[15] have conducted a survey on context-aware mobile and
`wireless networking (CAMoWiN) domain where they have
`identified all the possible components of a typical CAMoWiN
`architecture. The latest survey is done by Bellavista et al. [16]
`(2013) which is focused on context distribution for mobile
`ubiquitous systems.
`Our survey differs from the previous literature surveys
`mentioned above in many ways. Most of the surveys evaluated
`a limited number of projects. In contrast, we selected a large
`number of projects (50) covering a decade, based on the
`unique criteria that will be explained at the end of this section.
`These projects are different in scale. Some are large scale
`projects and others corresponds to small scale contributions.
`We took a much broader viewpoint compared to some of the
`previous surveys, as they have focused on specific elements
`such as modelling, reasoning, etc. Finally and most impor-
`tantly, our taxonomy formation and organisation is completely
`different. Rather than building a theoretical taxonomy and
`then trying to classify existing research projects, prototypes
`and systems according to it, we use a practical approach.
`We built our taxonomy based on past research projects by
`identifying the features, models, techniques, functionalities
`and approaches they employed at higher levels (e.g. we do not
`consider implementation/code level differences between differ-
`ent solutions). We consolidated this information and analysed
`the capabilities of each solution or the project. We believe this
`approach allows us to highlight the areas where researchers
`have mostly (priorities) and rarely (non-priorities) focused
`their attention and the reasons behind. Further, we have also
`used a non-taxonomical project based evaluation, where we
`highlight how the different combinations of components are
`
`designed, developed and used in each project. This allows to
`discuss their applicability from an IoT perspective.
`Our objectives in revisiting the literature are threefold:
`1) to learn how context-aware computing techniques have
`helped to develop solutions in the past, 2) how can we apply
`those techniques to solve problems in the future in different
`paradigms such as the IoT, and 3) to highlight open challenges
`and to discuss future research directions.
`This paper is organised into sections as follows: Section
`II provides an introduction to the IoT. In this section, we
`briefly describe the history and evolution of the Internet.
`Then we explain what
`the IoT is, followed by a list of
`application domains and statistics that show the significance
`of the IoT. We also describe the relationship between sensor
`networks and the IoT. Comparisons of popular IoT middleware
`solutions are presented at the end of the section in order to
`highlight existing research gaps. In Section III, we present
`context awareness fundamentals such as context-aware related
`definitions, context types and categorisation schemes, features
`and characteristics, and context awareness management design
`principles. In Section IV, we conduct our main discussion
`based on context life cycle where we identify four stages:
`acquisition, modelling, reasoning, and distribution. Section V
`briefly discusses the highlights of each project, which we use
`for the comparison later. Finally, Section VI discusses the
`lessons learn from the literature and Section VII identifies
`future research directions and challenges. Conclusion remarks
`are presented in Section VIII.
`For this literature review, we analyse, compare, classify a
`subset of both small scale and large scale projects (50) which
`represent the majority of research and commercial solutions
`proposed in the field of context-aware computing based on
`our own taxonomy. We selected the existing solutions to
`be reviewed based on different criteria. Mainly, we selected
`projects that were conducted over the last decade (2001-2011).
`We also considered main focus, techniques used, popularity,
`comprehensiveness, information availability, and the year of
`publication, in order to make sure that our review provides a
`balanced view on context-aware computing research.
`
`II. THE INTERNET OF THINGS PARADIGM
`In this section, we briefly introduce the IoT paradigm.
`Our intention is not to survey the IoT, but to present some
`fundamental information (e.g. how Internet evolved, what
`is the IoT, statistics related to IoT, underline technologies,
`characteristics, and research gaps in IoT paradigm) that will
`help with understanding the historic movements and the
`direction into which technology is moving today. The IoT
`paradigm has its own concepts and characteristics. It also
`shares significant amounts of concepts with other computer
`fields. The IoT bundles different technologies (e.g. sensor
`hardware/firmware, semantic, cloud, data modelling, storing,
`reasoning, processing, communication technologies) together
`to build its vision. We apply the existing technologies in
`different ways based on the characteristics and demands of
`the IoT. The IoT does not revolutionise our lives or the field
`of computing. It is another step in the evolution of the Internet
`we already have.
`
`
`
`416
`
`IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
`
`(cid:15)(cid:6)(cid:10)(cid:16)(cid:2)(cid:11)(cid:17)
`
`(cid:12)(cid:13)(cid:6)(cid:14)(cid:8)(cid:9)(cid:10)(cid:6)(cid:11)(cid:9)(cid:6)(cid:10)
`
`(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:6)(cid:11)(cid:9)(cid:6)(cid:10)
`
`(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:18)(cid:14)(cid:19)(cid:14)(cid:20)(cid:6)(cid:2)(cid:21)(cid:5)(cid:6)(cid:14)(cid:19)(cid:14)(cid:20)(cid:22)(cid:18)
`
`(cid:8)(cid:9)(cid:10)(cid:6)(cid:11)(cid:9)(cid:6)(cid:10)(cid:14)(cid:2)(cid:23)(cid:14)(cid:12)(cid:13)(cid:4)(cid:9)(cid:24)(cid:18)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:21)(cid:6)(cid:2)(cid:22)(cid:10)(cid:6)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:5)(cid:6)(cid:7)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:1)(cid:2)(cid:3)(cid:4)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:8)(cid:2)(cid:7)(cid:9)(cid:10)(cid:6)
`(cid:11)(cid:6)(cid:12)(cid:9)(cid:13)(cid:6)
`
`(cid:21)(cid:6)(cid:2)(cid:22)(cid:10)(cid:6)
`
`(cid:14)(cid:15)(cid:4)(cid:6)(cid:16)(cid:13)(cid:2)(cid:15)(cid:15)(cid:6)(cid:13)(cid:4)(cid:6)(cid:17)(cid:18)(cid:19)(cid:7)(cid:20)(cid:6)(cid:13)(cid:4)(cid:3)
`
`Fig. 1. Evolution of the Internet in five phases. The evolution of Internet begins with connecting two computers together and then moved towards creating
`World Wide Web by connecting large number of computers together. The mobile-Internet emerged by connecting mobile devices to the Internet. Then, peoples’
`identities joined the Internet via social networks. Finally, it is moving towards Internet of Things by connecting every day objects to the Internet.
`
`A. Evolution of Internet
`Before we investigate the IoT in depth, it is worthwhile
`to look at the evolution of the Internet. In the late 1960s,
`communication between two computers was made possible
`through a computer network [17]. In the early 1980s the
`TCP/IP stack was introduced. Then, commercial use of the
`Internet started in the late 1980s. Later, the World Wide Web
`(WWW) became available in 1991 which made the Internet
`more popular and stimulate the rapid growth. Web of Things
`(WoT) [18], which based on WWW, is a part of IoT.
`Later, mobile devices connected to the Internet and formed
`the mobile-Internet [19]. With the emergence of social net-
`working, users started to become connected together over the
`Internet. The next step in the IoT is where objects around us
`will be able to connect to each other (e.g. machine to machine)
`and communicate via the Internet [20]. Figure 1 illustrates the
`five phases in the evolution of the Internet.
`
`B. What is the Internet of Things?
`During the past decade,
`the IoT has gained significant
`attention in academia as well as industry. The main reasons
`behind this interest are the capabilities that the IoT [22], [23]
`will offer. It promises to create a world where all the objects
`(also called smart objects [24]) around us are connected to
`the Internet and communicate with each other with minimum
`human intervention [25]. The ultimate goal is to create ‘a
`better world for human beings’, where objects around us know
`what we like, what we want, and what we need and act
`accordingly without explicit instructions [26].
`The term ‘Internet of Things’ was firstly coined by Kevin
`Ashton [27] in a presentation in 1998. He has mentioned
`“The Internet of Things has the potential
`to change the
`world, just as the Internet did. Maybe even more so”. Then,
`the MIT Auto-ID centre presented their IoT vision in 2001
`[28]. Later, IoT was formally introduced by the International
`Telecommunication Union (ITU) by the ITU Internet report
`in 2005 [29].
`
`The IoT encompasses a significant amount of technologies
`that drive its vision. In the document, Vision and challenges
`for realising the Internet of Things, by CERP-IoT [4], a
`comprehensive set of technologies was listed. IoT is a very
`broad vision. The research into the IoT is still in its infancy.
`Therefore, there aren’t any standard definitions for IoT. The
`following definitions were provided by different researchers.
`(cid:129) Definition by [30]: “Things have identities and virtual
`personalities operating in smart spaces using intelligent
`interfaces to connect and communicate within social, en-
`vironment, and user contexts.”
`(cid:129) Definition by [20]:“The semantic origin of the expression is
`composed by two words and concepts: Internet and Thing,
`where Internet can be defined as the world-wide network
`of interconnected computer networks, based on a standard
`communication protocol, the Internet suite (TCP/IP), while
`Thing is an object not precisely identifiable Therefore, se-
`mantically, Internet of Things means a world-wide network
`of interconnected objects uniquely addressable, based on
`standard communication protocols.”
`(cid:129) Definition by [21]: “The Internet of Things allows people
`and things2 to be connected Anytime, Anyplace, with Any-
`thing and Anyone, ideally using Any path/network and Any
`service.”
`the last definition provided by [21] for our
`We accept
`research work, because we believe, this definition encapsulates
`the broader vision of IoT. Figure 2 illustrates the definition
`more clearly. The broadness of IoT can be identified by
`evaluating the application domains presented in Section II-C.
`
`C. IoT Application Domains
`The IoT, interconnection and communication between ev-
`eryday objects, enables many applications in many domains.
`The application domain can be mainly divided in to three cat-
`egories based on their focus [23], [4]: industry, environment,
`
`2We use both terms, ‘objects’ and ‘things’ interchangeably to give the same
`meaning as they are frequently used in IoT related documentation. Some other
`terms used by the research community are ‘smart objects’, ‘devices’, ‘nodes’.
`
`
`
`PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
`
`417
`
`(cid:14)(cid:2)(cid:15)(cid:3)(cid:10)(cid:11)(cid:2)(cid:12)
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:21)(cid:4)(cid:22)(cid:11)(cid:23)(cid:4)
`
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:16)(cid:30)(cid:17)(cid:23)(cid:4)
`(cid:14)(cid:2)(cid:15)(cid:19)(cid:10)(cid:4)(cid:5)(cid:4)
`
`(cid:14)(cid:2)(cid:15)(cid:3)(cid:11)(cid:28)(cid:4)
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:23)(cid:6)(cid:2)(cid:3)(cid:4)(cid:29)(cid:3)
`
`(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:2)(cid:4)(cid:3)
`(cid:6)(cid:7)(cid:8)
`(cid:9)(cid:10)(cid:11)(cid:2)(cid:12)(cid:13)
`
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:16)(cid:17)(cid:3)(cid:10)
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:18)(cid:4)(cid:3)(cid:19)(cid:6)(cid:5)(cid:20)
`
`(cid:14)(cid:2)(cid:15)(cid:6)(cid:2)(cid:4)
`(cid:14)(cid:2)(cid:15)(cid:27)(cid:6)(cid:21)(cid:15)
`
`(cid:14)(cid:2)(cid:15)(cid:8)(cid:24)(cid:4)(cid:5)(cid:22)(cid:11)(cid:23)(cid:4)
`(cid:14)(cid:2)(cid:15)(cid:8)
`(cid:25)(cid:26)(cid:13)(cid:11)(cid:2)(cid:4)(cid:13)(cid:13)
`
`Fig. 2. Definition of the Internet of Things: The Internet of Things allows
`people and things to be connected anytime, anyplace, with anything and
`anyone, ideally using any path/network and any service [21].
`
`and society. The magnitude of the applications can be seen in
`the statistics presented in Section II-D.
`Supply chain management [31], transportation and logis-
`tics [32], aerospace, aviation, and automotive are some of
`the industry focused applications of IoT. Telecommunication,
`medical technology [33], healthcare, smart building, home
`[34] and office, media, entertainment, and ticketing are some
`of the society focused applications of IoT. Agriculture and
`breeding [35], [36], recycling, disaster alerting, environmental
`monitoring are some of the environment focused applications.
`Asin and Gascon [37] listed 54 application domains under
`twelve categories: smart cities, smart environment, smart wa-
`ter, smart metering, security and emergencies, retail, logistics,
`industrial control, smart agriculture, smart animal farming,
`domestic and home automation, and eHealth.
`
`D. IoT Related Statistics
`The vision of the IoT is heavily energised by statistics and
`predictions. We present the statistics to justify our focus on
`the IoT and to show the magnitude of the challenges. It is
`estimated that there about 1.5 billion Internet-enabled PCs and
`over 1 billion Internet-enabled mobile phones today. These
`two categories will be joined with Internet-enabled devices
`(smart objects [24])) in the future. By 2020, there will be 50
`to 100 billion devices connected to the Internet [4].
`According to BCC Research [38], the global market for
`sensors was around $56.3 billion in 2010. In 2011, it was
`around $62.8 billion. Global market for sensors is expected
`to increase to $91.5 billion by 2016, at a compound annual
`growth rate of 7.8%.
`
`E. The Essential Component of IoT: Sensor Networks
`We provide a brief introduction to sensor networks in this
`section as it is the most essential component of the IoT. A
`sensor network comprises one or more sensor nodes, which
`
`communicate between themselves using wired and wireless
`technologies. In sensor networks, sensors can be homogeneous
`or heterogeneous. Multiple sensor networks can be connected
`together through different technologies and protocols. One
`such approach is through the Internet. The components and
`the layered structure of a typical sensor network are discussed
`in Section II-F.
`We discuss how sensor networks and the IoT work together
`in Section II-G. However, there are other technologies that
`can complement the sensing and communication infrastructure
`in IoT paradigm such as traditional ad-hoc networks. These
`are clearly a different technology from sensor networks and
`have many weaknesses. The differences are comprehensively
`discussed in [39].
`There are three main architectures in sensor networks: flat
`architecture (data transfers from static sensor nodes to the sink
`node using a multi-hop fashion), two-layer architecture (more
`static and mobile sink nodes are deployed to collect data from
`sensor nodes), and three-layer architecture (multiple sensor
`networks are connected together over the Internet). Therefore,
`IoT follows a three-layer architecture.
`Most of the sensors deployed today are wireless. There
`are several major wireless technologies used to build wireless
`sensor networks: wireless personal area network (WPAN) (e.g.
`Bluetooth), wireless local area network (WLAN) (e.g. Wi-Fi),
`wireless metropolitan area network (WMAN) (e.g. WiMAX),
`wireless wide area network (WWAN) (e.g. 2G and 3G net-
`works), and satellite network (e.g. GPS). Sensor networks
`also use two types of protocols for communication: non-IP
`based (e.g: Zigbee and Sensor-Net) and IP-based protocols
`(NanoStack, PhyNet, and IPv6).
`The sensor network is not a concept that emerged with
`the IoT. The concept of a sensor network and related re-
`search existed a long time before the IoT was introduced.
`However, sensor networks were used in limited domains to
`achieve specific purposes, such as environment monitoring
`[40], agriculture [35], medical care [41], event detection [42],
`structural health monitoring [43], etc. Further, there are three
`categories of sensor networks that comprise the IoT [44]: body
`sensor networks (BSN), object sensor networks (OSN), and
`environment sensor networks (ESN).
`Molla and Ahamed [8] identified ten challenges that need
`to be considered when developing sensor network middle-
`ware solutions: abstraction support, data fusion, resource con-
`straints, dynamic topology, application knowledge, program-
`ming paradigm, adaptability, scalability, security, and QoS
`support. A comparison of different sensor network middleware
`solutions is also provided based on the above parameters.
`Several selected projects are also discussed in brief in order
`to discover the approaches they take to address various chal-
`lenges associated with sensor networks.
`Some of the major sensor network middleware approaches
`are IrisNet, JWebDust, Hourglass, HiFi, Cougar, Impala,
`SINA, Mate, TinyDB, Smart Object, Agilla, TinyCubus,
`TinyLime, EnviroTrack, Mires, Hood, and Smart Messages.
`Some of the above approaches are surveyed in [8], [45].
`A survey on web based wireless sensor architectures and
`applications is presented in [46].
`
`
`
`418
`
`IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
`
`(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:12)(cid:9)(cid:11)(cid:10)(cid:13)
`
`(cid:20)(cid:21)(cid:22)(cid:23)(cid:24)(cid:11)(cid:9)(cid:5)(cid:6)
`(cid:1)(cid:3)(cid:25)(cid:26)(cid:4)(cid:10)(cid:27)(cid:10)(cid:21)(cid:3)(cid:9)(cid:27)(cid:2)(cid:6)
`(cid:28)(cid:11)(cid:29)(cid:21)(cid:30)(cid:11)(cid:15)(cid:6)
`
`(cid:31)(cid:3)(cid:17)(cid:24)(cid:11)(cid:9)(cid:5)(cid:6)
`(cid:1)(cid:3)(cid:25)(cid:26)(cid:4)(cid:10)(cid:27)(cid:10)(cid:21)(cid:3)(cid:9)(cid:27)(cid:2)(cid:6)
`(cid:28)(cid:11)(cid:29)(cid:21)(cid:30)(cid:11)(cid:15)(cid:6)
`
`(cid:14)(cid:21)(cid:9)(cid:18)(cid:6)
`(cid:16)(cid:3)(cid:5)(cid:11)(cid:15)
`
`(cid:20)(cid:21)(cid:22)(cid:23)(cid:24)(cid:11)(cid:9)(cid:5)(cid:6)
`(cid:14)(cid:11)(cid:9)(cid:15)(cid:3)(cid:12)(cid:6)
`(cid:16)(cid:3)(cid:5)(cid:11)(cid:15)
`
`(cid:14)(cid:11)(cid:9)(cid:15)(cid:3)(cid:12)(cid:6)(cid:16)(cid:11)(cid:10)(cid:17)(cid:3)(cid:12)(cid:18)(cid:15)(cid:6)(cid:7)(cid:14)(cid:16)
`
`(cid:13)
`(cid:19)
`(cid:31)(cid:3)(cid:17)(cid:24)(cid:11)(cid:9)(cid:5)(cid:6)
`(cid:14)(cid:11)(cid:9)(cid:15)(cid:3)(cid:12)(cid:6)
`(cid:16)(cid:3)(cid:5)(cid:11)(cid:15)(cid:6)
`
`(cid:1)(cid:2)(cid:3)(cid:2)(cid:4)(cid:5)(cid:6)(cid:1)(cid:4)(cid:7)(cid:8)(cid:6)
`(cid:9)(cid:10)(cid:11)(cid:12)
`
`(cid:13)(cid:10)(cid:14)(cid:4)(cid:15)(cid:12)(cid:6)(cid:1)(cid:4)(cid:7)(cid:8)(cid:6)
`(cid:9)(cid:10)(cid:11)(cid:12)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:24)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:19)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:20)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:21)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:22)
`
`(cid:16)(cid:3)(cid:17)(cid:12)(cid:18)(cid:6)(cid:23)
`
`Fig. 3. Layered structure of a sensor network: These layers are identified based on the capabilities posed by the devices. In IoT, this layered architecture
`may have additional number of sub layers as it is expected to comprises large verity of in sensing capabilities.
`
`F. Layers in Sensor Networks
`We have presented a typical structure of a sensor network
`in Figure 3. It comprises the most common components in a
`sensor network. As we have shown, with the orange coloured
`arrows, data flows from right to left. Data is generated by
`the low-end sensor nodes and high-end sensor nodes. Then,
`data is collected by mobile and static sink nodes. The sink
`nodes send the data to low-end computational devices. These
`devices perform a certain amount of processing on the sensor
`data. Then, the data is sent to high-end computational devices
`to be processed further. Finally, data reaches the cloud where
`it will be shared, stored, and processed significantly.
`Based on the capabilities of the devices involved in a sensor
`network, we have identified six layers. Information can be
`processed in any layer. Capability means the processing, mem-
`ory, communication, and energy capacity. Capabilities increase
`from layer one to layer six. Based on our identification of
`layers, it is evident that an ideal system should understand the
`capability differences, and perform data management accord-
`ingly. It is all about efficiency and effectiveness. For example,
`perform processing in the first few layers could reduce data
`communication. However, devices in the first few layers do
`not have a sufficient amount of energy and processing power
`to do comprehensive data processing [47]. IoT research needs
`to find more efficient and effective ways of data management,
`such as collecting, modelling, reasoning, distributing.
`
`G. Relationship Between Sensor Networks and IoT
`In earlier sections we introduced both IoT and sensor
`network concepts. In this section we explain the relation-
`ship between the two concepts. Previously, we argued that
`sensor networks are the most essential components of the
`IoT. Figure 4 illustrates the big picture. The IoT comprises
`sensors and actuators. The data is collected using sensors.
`Then, it is processed and decisions are made. Finally, actuators
`perform the decided actions. This process is further discussed
`in Section IV. Further, integration between wireless sensor
`networks and the IoT are comprehensively discussed in [48].
`The difference between sensor networks (SN) and the IoT is
`largely unexplored and blurred. We can elaborate some of the
`characteristics of both SN and IoT to identify the differences.
`
`(cid:129) SN comprises of the sensor hardware (sensors and ac-
`tuators), firmware and a thin layer of software. The IoT
`comprises everything that SN comprises and further it com-
`prises a thick layer of software such as middleware systems,
`frameworks, APIs and many more software components. The
`software layer is installed across computational devices (both
`low and high-end) and the cloud.
`(cid:129) From their origin, SNs were designed, developed, and used
`for specific application purposes, for example, detecting bush
`fire [44]. In the early days, sensor networks were largely
`used for monitoring purposes and not for actuation [49]. In
`contrast, IoT is not focused on specific applications. The
`IoT can be explained as a general purpose sensor network
`[50]. Therefore,
`the IoT should support many kinds of
`applications. During the stage of deploying sensors, the IoT
`would not be targeted to collect specific types of sensor
`data, rather it would deploy sensors where they can be used
`for various application domains. For example, company may
`deploy sensors, such as pressure sensors, on a newly built
`bridge to track its structural health. However, these sensors
`may be reused and connect with many other sensors in
`order to track traffic at a later stage. Therefore, middleware
`solutions, frameworks, and APIs are designed to provide
`generic services and functionalities such as intelligence,
`semantic interoperability, context-awareness, etc.
`that are
`required to perform communication between sensors and
`actuators effectively.
`(cid:129) Sensor networks can exist without the IoT. However, the IoT
`cannot exist without SN, because SN provides the majority
`of hardware (e.g. sensing and communicating) infrastructure
`support, through providing access to sensors and actuators.
`There are several other technologies that can provide ac-
`cess to sensor hardware, such as wireless ad-hoc networks.
`However, they are not scalable and cannot accommodate
`the needs of the IoT individually [39], though they can
`complement the IoT infrastructure. As is clearly depicted
`in Figure 4, SN are a part of the IoT. However, the IoT is
`not a part of SN.
`
`H. Characteristics of the IoT
`In Section II-G, we highlighted the differences between sen-
`sor networ