scispace - formally typeset
Open AccessJournal ArticleDOI

Context Aware Computing for The Internet of Things: A Survey

TLDR
This paper surveys context awareness from an IoT perspective and addresses a broad range of techniques, methods, models, functionalities, systems, applications, and middleware solutions related to context awareness and IoT.
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.

read more

Content maybe subject to copyright    Report

This is an Open Access document downloaded from ORCA, Cardiff University's institutional
repository: http://orca.cf.ac.uk/134048/
This is the author’s version of a work that was submitted to / accepted for publication.
Citation for final published version:
Perera, Charith, Zaslavsky, Arkady, Christen, Peter and Georgakopoulos, Dimitrios 2013. Context
aware computing for the Internet of Things: a survey. Communications Surveys and Tutorials,
IEEE Communications Society 16 (1) , pp. 414-454. 10.1109/SURV.2013.042313.00197 file
Publishers page: https://doi.org/10.1109/SURV.2013.042313.00197
<https://doi.org/10.1109/SURV.2013.042313.00197>
Please note:
Changes made as a result of publishing processes such as copy-editing, formatting and page
numbers may not be reflected in this version. For the definitive version of this publication, please
refer to the published source. You are advised to consult the publisher’s version if you wish to cite
this paper.
This version is being made available in accordance with publisher policies. See
http://orca.cf.ac.uk/policies.html for usage policies. Copyright and moral rights for publications
made available in ORCA are retained by the copyright holders.

IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. X, NO. X, XXXX XXXX 1
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 intro-
duction 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
Charith Perera, Arkady Zaslavsky and Dimitrios Georgakopoulos are with
the Information and Communication Centre, Commonwealth Scientific and
Industrial Research Organisation, Canberra, ACT, 2601, Australia (e-mail:
firstname.lastname@csiro.au)
Peter Christen is with the Research School of Computer Science, The
Australian National University, Canberra, ACT 0200, Australia. (e-mail:
peter.christen@anu.edu.au)
Manuscript received xxx xx, xxxx; revised xxx xx, xxxx.
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 context
1
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,
platform portability, context-awareness, security and privacy,
1
The term ‘context implicitly provide the meaning of ‘information ac-
cording to the widely accepted definition provided by [3]. Therefore, it
is inaccurate to use the term context information where ‘information is
explicitly mentioned. However, research community and documents on the
web frequently use the term context information’. Therefore, we also use
both terms interchangeably.
arXiv:1305.0982v1 [cs.SE] 5 May 2013

IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. X, NO. X, XXXX XXXX 2
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 chronologi-
cal order. Chen and Kotz [6] (2000) have surveyed context
awareness, 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
modelling 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 tech-
niques 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 importantly, 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 different so-
lutions). 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.

IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. X, NO. X, XXXX XXXX 3
Mobile-InternetThe InternetNetwork Mobiles + People + PCs
Host
Host
Host Host
Host
Host
Web
Host
Host Host
Host
Mobile
Device
Mobile
Device
Mobile
Device
Mobile
Device
Internet of Things
Interconnected Objects
Host
Host Host
Host
Mobile
Device
Mobile
Device
People
People
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.
Definition by [30]: “Things have identities and virtual
personalities operating in smart spaces using intelligent
interfaces to connect and communicate within social, envi-
ronment, and user contexts.
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.
Internet
of
Things
Any path
Any Network
Anything
Any device
Any Service
Any
Business
Anyone
Anybody
Anytime
Any context
Any place
Anywhere
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].

IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. X, NO. X, XXXX XXXX 4
Definition by [21]: “The Internet of Things allows people
and things
2
to be connected Anytime, Anyplace, with Any-
thing and Anyone, ideally using Any path/network and Any
service.
We accept the last definition provided by [21] for our
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,
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
2
We 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’.
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 challenges
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].

Citations
More filters
Book ChapterDOI

A Comparative Analysis of Scalable and Context-Aware Trust Management Approaches for Internet of Things

TL;DR: This paper surveys scalable and context-aware trust management for IoT from three perspectives, and provides an in-depth trust/reliable management protocol for the IoT and evaluates comparable trust management protocols.
Journal ArticleDOI

A survey on the evolution of the notion of context-awareness

TL;DR: The use of context-based reasoning from the earlier perspective of artificial intelligence as well as the newer developments in ubiquitous computing is considered, to show that work in each area is complementary, and to highlight there are positive synergies arising amongst them.
Journal ArticleDOI

Security and Privacy Requirements for the Internet of Things: A Survey

TL;DR: In this paper, the authors present techniques, methods, and tools to support security and privacy requirements in existing non-IoT application designs, enabling their use and integration into IoT applications.
Proceedings ArticleDOI

The Device Cloud - Applying Cloud Computing Concepts to the Internet of Things

TL;DR: The Device Cloud is proposed, which can be envisioned as an application of the Cloud Computing Infrastructure as a Service (IaaS) and Platform as a service (PAAS) paradigms to the IoT domain, to allow sharing and on demand provisioning of resources provided by the connected embedded devices surrounding us.
Proceedings ArticleDOI

An evaluation of service discovery protocols in the internet of things

TL;DR: This paper presents an evaluation of commonly used service discovery protocols for the IoT, CoAP-SD, DNS- SD, mDNS-SD), and DDS-SD performed against both qualitative and quantitative metrics, on a physical experimental setup.
References
More filters
Journal ArticleDOI

A survey on sensor networks

TL;DR: The current state of the art of sensor networks is captured in this article, where solutions are discussed under their related protocol stack layer sections.
Journal ArticleDOI

The Internet of Things: A survey

TL;DR: This survey is directed to those who want to approach this complex discipline and contribute to its development, and finds that still major issues shall be faced by the research community.
Journal ArticleDOI

The Computer for the 21st Century

Mark D. Weiser
- 01 Sep 1991 - 
TL;DR: Consider writing, perhaps the first information technology: The ability to capture a symbolic representation of spoken language for long-term storage freed information from the limits of individual memory.
Journal ArticleDOI

The internet of things: a survey

TL;DR: The definitions, architecture, fundamental technologies, and applications of IoT are systematically reviewed and the major challenges which need addressing by the research community and corresponding potential solutions are investigated.
Proceedings ArticleDOI

Towards a Better Understanding of Context and Context-Awareness

TL;DR: Some of the research challenges in understanding context and in developing context-aware applications are discussed, which are increasingly important in the fields of handheld and ubiquitous computing, where the user?s context is changing rapidly.
Related Papers (5)
Frequently Asked Questions (20)
Q1. What are the contributions mentioned in the paper "Context aware computing for the internet of things: a survey" ?

In this paper, the authors survey context awareness from an IoT perspective. The authors present the necessary background by introducing the IoT paradigm and context-aware fundamentals at the beginning. Then the authors provide an in-depth analysis of context life cycle. The authors 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 their own taxonomy. 

Recent developments such as Transducer Electronic Data Sheet ( TEDS ) [ 221 ], Open Geospatial Consortium ( OGC ) Sensor Web Enablement related standards such as Sensor Markup Languages ( SensorML ) [ 133 ], sensor ontologies [ 143 ], and immature but promising efforts such as Sensor Device Definitions [ 224 ] show future directions to carry out the research work further, in order to tackle this challenge. Recent developments in semantic technologies [ 135 ], [ 143 ], [ 225 ] and linked data [ 226 ], [ 227 ] show future directions to carry out further research work. There are many types of context that can be used to enrich sensor data. Incorporating and integrating multiple techniques has shown promising success in the field. 

Hydra identifies context reasoning rule engine, context storage, context querying, and event/action management as the key components of a context-aware framework. 

Molla and Ahamed [8] identified ten challenges that need to be considered when developing sensor network middleware solutions: abstraction support, data fusion, resource constraints, dynamic topology, application knowledge, programming paradigm, adaptability, scalability, security, and QoS support. 

Components such as reasoning models, data fusion operators, knowledge bases, and context discovery components can be dynamically composed according to the needs. 

In addition, the android mobile operating system consists of a number of software sensors such as gravity, linear accelerometer, rotation vector, and orientation sensors. 

Some of the most common and basic information that needs to be captured in relation to context are context type, context value, time stamp, source, and confidence. 

The possible sources that can be used to collect evidence regarding the location are GPS sensors, motion sensor, calendar, email, social networking services, chat clients, ambient sound (sound level, pattern), users nearby, camera sensors, etc. 

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. 

object based modelling is suitable to be used as an internal, nonshared, code based, run-time context modelling, manipulation, and storage mechanism. 

The techniques used to acquire context can be varied based on responsibility, frequency, context source, sensor type, and acquisition process. 

Subscription (also called publish / subscribe): Context con-sumer can be allowed to subscribe with a context management system by describing the requirements. 

Their discussion is based on the six most popular context modelling techniques: key-value, markup schemes, graphical, object based, logic based, and ontology based modelling. 

A context attribute has an identifier, a type and a value, and optionally a collection of properties describing specific characteristics [89]. 

The authors use the following abbreviations to denote the context reasoning techniques employed by the project: supervised learning (S), un-supervised learning (U), rules (R), fuzzy logic (F), ontology-based (O), and probabilistic reasoning (P). 

As an IoT solution will be used in many different domains, the ability to add ontologies (i.e. knowledge) when necessary is critical for wider adaptation. 

in order to build a fully context-aware solution, the authors have to embed context-aware capabilities in both software and hardware layers. 

The authors use the following abbreviations to denote the context modelling techniques employed by the project: key-value modelling (K), markup Schemes (M), graphical modelling (G), object oriented modelling (Ob), logic-based modelling (L), and ontology-based modelling (On).6) 

In terms of expressive richness, graphical modelling is better than markup and key-value modelling as it allows relationships to be captured into the context model. 

the best method to tackle the problem of context awareness it to combine multiple models in such a way that, as a whole, they reduce weaknesses by complementing each other.