Context Aware Computing For IoTs - Survey
Context Aware Computing For IoTs - Survey
Context Aware Computing For IoTs - Survey
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
I. I NTRODUCTION
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 applications, mobile computing, pervasive/ubiquitous computing to
the Internet of Things (IoT) over the last decade. However,
context-aware computing became more popular with the introduction 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 established as a well known research area in computer science.
Many researchers have proposed definitions and explanations
c 2014 IEEE
1553-877X/14/$31.00
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
415
416
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
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 networking, 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].
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
417
418
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
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.
SN comprises of the sensor hardware (sensors and actuators), firmware and a thin layer of software. The IoT
comprises everything that SN comprises and further it comprises 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.
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.
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 access 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.
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
419
420
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
Middleware
DM
Hydra [61]
ISMB [62]
ASPIRE [63]
UBIWARE [64]
UBISOAP [65]
UBIROAD [66]
GSN [67]
SMEPP [68]
SOCRADES [69]
SIRENA [70]
WHEREX [71]
PP
TABLE I
I OT M IDDLEWARE C OMPARISON [14]
CA
SP
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
are three main approaches that we can follow to build contextaware applications [88].
No application-level context model: Applications perform
all the actions, such as context acquisition, pre-processing,
storing, and reasoning within the application boundaries.
Implicit context model: Applications uses libraries, frameworks, and toolkits to perform context acquisition, preprocessing, storing, and reasoning tasks. It provides a standard design to follow that makes it easier to build the
applications quickly. However, still the context is hard bound
to the application.
Explicit context model: Applications uses a context management infrastructure or middleware solution. Therefore,
actions such as context acquisition, pre-processing, storing,
and reasoning lie outside the application boundaries. Context
management and application are clearly separated and can be
developed and extend independently.
3) Definition of Context Model and Context Attribute: We
adopt the following interpretations of context model and context attributes provided by Henricksen [89] based on Abowd
et al. [3] in our research work.
A context model identifies a concrete subset of the context
that is realistically attainable from sensors, applications and
users and able to be exploited in the execution of the task.
The context model that is employed by a given context-aware
application is usually explicitly specified by the application
developer, but may evolve over time [89].
A context attribute is an element of the context model
describing the context. A context attribute has an identifier,
a type and a value, and optionally a collection of properties
describing specific characteristics [89].
4) Definition of Quality of Context: There are number of
definitions and parameters that have been proposed in the
literature regarding quality of context (QoC). A survey on QoC
is presented in [16]. QoC is defined using a set of parameters
that expresses the quality of requirements and properties of the
context data. After evaluating a number of different parameter
proposals in the literature, [16] has defined QoC based on three
parameters: context data validity, context data precision, and
context data up-to-dateness. QoC are being used to resolve
context data conflicts. Further, they claim that QoC is depend
on quality of the physical sensor, quality of the context data,
and quality of the delivery process.
B. Context-aware Features
After analysing and comparing the two previous efforts conducted by Schilit et al. [79] and Pascoe [80], Abowd et al. [3]
identified three features that a context-aware application can
support: presentation, execution, and tagging. Even though,
the IoT vision was not known at the time these features are
identified, they are highly applicable to the IoT paradigm as
well. We elaborate these features from an IoT perspective.
Presentation: Context can be used to decide what information and services need to be presented to the user. Let
us consider a smart [22] environment scenario. When a user
enters a supermarket and takes their smart phone out, what
they want to see is their shopping list. Context-aware mobile
applications need to connect to kitchen appliances such as a
421
422
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
!
$"
$
%
$
"
!%
&
!
!
!
"
!
!
#
#
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
423
User
Computing (System)
Physical (Environment)
Historical
Social
Networking
Things
Sensor
Who (Identity)
Where (Location)
When (Time)
What (Activity)
Why
Sensed
Static
Profiled
Derived
Operational
Conceptual
Objective
Cognitive
External (Physical)
Internal (Logical)
Low-level (Observable)
High-level (Non-Observable)
(2011)
Yanwei [103]
(2011)
Liu [102]
(2010)
Rizou [101]
(2009)
Mei &
Easterbrook [100]
(2009)
Zhong [99]
(2007)
Chong [98]
(2007)
Guan [97]
(2006)
Miao and Yuan [96]
(2005)
Van Bunningen [95]
(2003)
Prekop &
Burnett [92],
Gustavsen [93],
Hofer [94]
(2003)
Henricksen [89]
(2000)
Chen and Kotz [6]
(1999)
Abowd [3]
(1997)
Ryan [87]
(1994)
Schilit [79]
Context Types
(1994)
Schilit [79]
TABLE II
D IFFERENT C ONTEXT C ATEGORISATION S CHEMES AND T HEIR S COPES
Based on the evaluation of context categorisation, it is evident that no single categorisation scheme can accommodate all
the demands in the IoT paradigm. We presented a comparison
between conceptual and operational categorisation schemes
in Table IV. To build an ideal context-aware middleware
solution for the IoT, different categorisation schemes need to
be combined together in order to complement their strengths
and mitigate their weaknesses.
D. Levels of Context Awareness and characteristics
Context awareness can be identified in three levels based
on the user interaction [104].
Personalisation: It allows the users to set their preferences,
likes, and expectation to the system manually. For example,
users may set the preferred temperature in a smart home
environment where the heating system of the home can
maintain the specified temperature across all rooms.
Passive context-awareness: The system constantly monitors the environment and offers the appropriate options to
the users so they can take actions. For example, when a user
enters a super market, the mobile phone alerts the user with
a list of discounted products to be considered.
Active context-awareness: The system continuously and
autonomously monitors the situation and acts autonomously.
For example, if the smoke detectors and temperature sensors
424
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
2
2 3
2 2
2 2
2 2
2 2
(Q)
High-level (Non-Observable)
Low-level (Observable)
Internal (Logical)
External (Physical)
Cognitive
Objective
Profiled
Static
Sensed
2
3
3
2
2
2
2
(P)
Why
3
3 3
1 1 1
3 3 3 3
2 2 2 3 3
2 2 2 3 3 3
3 3 3 2 2 2 2
1 1 1 2 2 2 2
1 1 1 2 2 2 2
3 3 1 3 2 1 1
2 2 2 1 2 3 3
2 2 2 3 2 1 1
2 2 3 1 2 3 3
2 2 2 3 2 1 1
(Q) very high; 2 means
Conceptual
What (Activity)
When (Time)
Where (Location)
3
3
3
1
3
2
2
3
1
1
3
2
2
2
2
(P)
Operational
2
3 3
3 3
2 3
3 3
1 1
3 3
2 2
2 2
3 3
1 1
2 1
3 3
2 2
2 2
2 2
2 2
1 means
Who (Identity)
Sensor
Things
2
2 2
2 2
2 2
3 3
2 2
3 3
1 1
3 3
2 2
2 2
3 3
1 1
2 2
3 3
2 2
2 2
2 2
2 2
as (Q).
Derived
User
3
Computing (System)
3 3
Physical (Environment)
3 2 2
Historical
3 2 2 2
Social
3 2 3 2 2
Networking
3 2 2 2 2
Things
3 2 1 2 2
Sensor
2 2 2 2 2
Who (Identity)
3 3 2 2 2
Where (Location)
3 3 3 2 3
When (Time)
3 2 2 2 2
What (Activity)
3 3 3 2 3
Why
1 1 1 2 1
Sensed
2 3 3 2 3
Static
2 2 2 2 2
Profiled
2 2 2 2 2
Derived
3 3 3 2 3
Operational
1 1 1 2 1
Conceptual
2 2 2 2 2
Objective
1 3 3 2 3
Cognitive
2 2 2 2 2
External (Physical)
2 2 2 2 2
Internal (Logical)
2 2 2 2 2
Low-level (Observable)
2 2 2 2 2
High-level (Non-Observable)
Notes: We denote row labels as (P) and column labels
(P) (Q) very low.
Networking
Social
Historical
Physical (Environment)
Computing (System)
User
TABLE III
R ELATIONSHIP B ETWEEN D IFFERENT C ONTEXT C ATEGORIES
3
1 3
3 1 3
1
1 3
moderate; 3 means
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
425
TABLE IV
C OMPARISON OF C ONTEXT C ATEGORISATION S CHEMES
Pros
Categorisation Schemes
Where, when, who,
what, objective
Cons
Conceptual
User, computing,
physical, environmental,
time, social, networking,
things, sensors contexts
Why, cognitive
Operational
Internal (physical),
internal (logical),
low-level (observable),
high-level
(non-observable)
an ideal context-aware framework for the IoT, multiple different context representation models should be incorporated
together to improve their efficiency and effectiveness.
Multi-model reasoning: No single reasoning model can
accommodate the demands of the IoT. We will discuss
reasoning in Section IV-C. Each reasoning model has its
own strengths and weaknesses. An ideal framework should
incorporate multiple reasoning models together to complement each others strengths and mitigate their weaknesses.
Mobility support: In the IoT, most devices would be
mobile, where each one has a different set of hardware and
software capabilities. Therefore, context-aware frameworks
should be developed in multiple flavours (i.e. versions),
which can run on different hardware and software configurations (e.g. more capabilities for server level software and
less capabilities for mobile phones).
Share information (real-time and historic): In the IoT,
there is no single point of control. The architecture would
be distributed. Therefore, context sharing should happen at
different levels: framework-to-framework and frameworkto-application. Context model in-dependency has been discussed earlier and is crucial in sharing.
Resource optimisation: Due to the scale (e.g. 50 billion devices), a small improvement in data structures or processing
can make a huge impact in storage and energy consumption.
This stays true for any type of resource used in the IoT.
Monitoring and detect event: Events play a significant role
in the IoT, which is complement by monitoring. Detecting an
426
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
Fig. 6. This is the simplest form of a context life cycle. These four steps are
essential in context management systems and middleware solutions. All the
other functions that may offer by systems are value added services.
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
427
TABLE V
C OMPARISON OF C ONTEXT A CQUISITION M ETHODS BASED ON R ESPONSIBILITY (P USH , P ULL )
Criteria
Pros
Push
Pull
Cons
Applicability
Can be used when sensors know about when to send the data and
have enough processing power and knowledge to reason locally.
(e.g. event detection where one or small number of sensors can
reason and evaluate the conditions by their own without software
level complex data processing and reasoning.)
TABLE VI
C OMPARISON OF C ONTEXT A CQUISITION M ETHODS BASED ON F REQUENCY (I NSTANT, I NTERVAL )
Instant
Criteria
Pros
Interval
Cons
Applicability
Can be used to collect data from temperature sensors for controlling air condition or measure air pollution where actions are
not event oriented but monitoring oriented. Ideally, applicable for
the situations where expected outcome is not known by either
hardware level (i.e. sensors) or software level
428
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
TABLE VII
C OMPARISON OF C ONTEXT A CQUISITION M ETHODS BASED ON S OURCE (D IRECT S ENSORS , M IDDLEWARE , C ONTEXT S ERVERS )
Criteria
Pros
Cons
Applicability
Through Middleware
Significant technical knowledge is required including hardware level embedded device programming and configuring
Significant amount of time, effort,
cost involved
Updating is very difficult due to tight
bound between sensor hardware and
consumer application
Can be used for small scale scientific experiments. Can also be used for situation where
limited number of sensors are involved
Can be used in situations where significant amount of context are required but
have only limited resources (i.e. cannot
employ context middleware solutions due
to resource limitations) that allows run the
consumer application
TABLE VIII
C OMPARISON OF C ONTEXT A CQUISITION M ETHODS BASED ON S ENSOR T YPES (P HYSICAL , V IRTUAL , L OGICAL )
Criteria
Pros
Physical Sensors
Cons
Applicability
Virtual Sensors
Logical Sensors
Can be used to collect information that cannot be measure physically such as calendar
details, email, chat, maps, contact details,
social networking related data, user preferences, user behaviour, etc.
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
Manually provided: Users provide context information manually via predefined settings options such as preferences (e.g.
understand that user doesnt like to receive event notifications
between 10pm to 6.00am). This method can be use to retrieve
any type of information.
B. Context Modelling
We discuss the basic definition of context modelling in
Section III-A3. Context modelling is also widely refereed to
as context representation. There are several popular context
modelling techniques [10], [122] used in context-aware computing. Before we present the discussion on context modelling techniques, lets briefly introduce context modelling
fundamentals. Context models can be static or dynamic. Static
models have a predefined set of context information that will
be collected and stored [103]. The requirements that need to be
taken into consideration when modelling context information
are identified and explained in [12] as heterogeneity and mobility, relationships and dependencies, timeliness (also called
freshness), imperfection, reasoning, usability of modelling
formalisms, and efficient context provisioning. Typically, there
are two steps in representing context according to a model:
Context modelling process: In the first step, new context
information needs to be defined in terms of attributes, characteristics, relationships with previously specified context,
quality-of context attributes and the queries for synchronous
context requests.
Organize context according to the model: In the second step,
the result of the context modelling step needs to be validated.
Then the new context information needs to be merged and
added to the existing context information repository. Finally,
the new context information is made available to be used
when required.
The first step performs the actual modelling of context.
However, the factors and parameters that are considered for
the modelling context are very subjective. It varies from one
solution to another. We use two examples to demonstrate the
variance. Currently, there is no standard to specify what type
of information needs to be considered in context modelling.
We discussed context categories proposed by the researcher
in Section III-C. Even though these categories provide highlevel guidelines towards choosing relevant context, choosing
specific context attributes is a subjective decision.
Example 1: MoCA [49] has used an object oriented approach to model context using XML. There are three sections
in the proposed context model: structural information (e.g.
attributes and dependencies among context types), behavioural
information (e.g. whether the context attribute has a constant
or variable value), and context-specific abstractions (e.g. contextual events and queries).
Example 2: W4 Diary [123] uses a W4 (who, what, where,
when) based context model to structure data in order to
extract high-level information from location data. For example, W4 represents context as tuples (e.g. Who: John,
What: walking:4km/h, Where: ANU, Canberra, When: 201301-05:9.30am).
In the IoT paradigm, context information has six states
[124]: ready, running, suspended, resumed, expired, and terminated. These states are also similar to the process states
429
430
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
TABLE IX
C OMPARISON OF S EMANTIC W EB O NTOLOGY L ANGUAGES (RDF(S), OWL(2))
RDF(S)
Cons
Pros
OWL(2)
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
431
TABLE X
C OMPARISON OF C ONTEXT M ODELLING AND R EPRESENTATION T ECHNIQUES
Pros
Techniques
Cons
Key-Value
Simple
Flexible
Easy to manage when small in size
Markup
Scheme
Tagged
Encoding
(e.g. xml)
Graphical
(e.g.
databases)
Object
Based
Logic
Based
Ontology
Based
Flexible
More structured
Validation possible through schemas
Processing tools are available
Allows relationships modelling
Information retrieval is moderately
easier
Different standards and implementations are available.
Validation possible through constraints
Allows relationships modelling
Can be well integrated using programming languages
Processing tools are available
Allows to generate high-level context using low-level context
Simple to model and use
support logical reasoning
Processing tools are available
Support semantic reasoning
Allows more expressive representation of context
Strong validation
Application independent and allows
sharing
Strong support by standardisations
Fairly sophisticated tools available
Applicability
Can be used to represent context in programming code level. Allows context runtime manipulation. Very short term, temporary, and mostly
stored in computer memory. Also support data
transfer over network.
Can be used to generate high-level context using
low-level context (i.e. generate new knowledge),
model events and actions (i.e. event detection),
and define constrains and restrictions.
432
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
433
$#
$"
"
!
Fig. 7. (a) Counts of model types used in 109 of 114 reviewed context-aware applications. (b) Counts for 50 recognition applications; classifiers are used
most often for applications that do recognition [108].
434
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
TABLE XI
C OMPARISON OF C ONTEXT R EASONING D ECISION M ODELLING T ECHNIQUES
Pros
Techniques
Cons
Supervised
Learning
(Artificial neural
network,
Bayesian
Networks,
Case-based
reasoning,
Decision tree
learning, Support
vector machines)
Unsupervised
Learning
(Clustering,
k-Nearest
Neighbour)
Rules
Probabilistic logic
(Dempster-Shafer,
hidden Markov
Models, naive
Bayes)
Ontology based
(First-Order
Predicate Logic)
Fuzzy Logic
Fairly accurate
Number of alternative models are
available
Have mathematical and statistical
foundation
Simple to define
Easy to extend
Less resource (e.g. processing, storage) intensive
Allow more natural representation
Simple to define
Easy to extend
Less resource (e.g. processing, storage) intensive
Can handle uncertainty
Allow complex reasoning
Allow complex representation
More meaningful results
Validation and quality checking is
possible
Can reason both numerical and textual data
Allows to combine evidence
Can handle unseen situations
Alternative models are available
Can handle uncertainty
provide moderately meaningful results
Applicability
For situations where knowledge is critical. For example, store and reason domain
knowledge about agricultural domain. It allows the context information to be store
according to the ontology structure and automatically reason later when required
rules to annotate sensor data with context information. Application of rule based reasoning is clearly explained in relation
to context-aware I/O control in [167].
4) Fuzzy logic: This allows approximate reasoning instead
of fixed and crisp reasoning. Fuzzy logic is similar to probabilistic reasoning but confidence values represent degrees of
membership rather than probability [168]. In traditional logic
theory, acceptable truth values are 0 or 1. In fuzzy logic partial
truth values are acceptable. It allows real world scenarios to
be represented more naturally; as most real world facts are
not crisp. It further allows the use of natural language (e.g.
temperature: slightly warm, fairly cold) definitions rather than
exact numerical values (e.g. temperature: 10 degrees Celsius).
In other words it allows imprecise notions such as tall, short,
dark, trustworthy and confidence to be captured, which is
critical in context information processing. In most cases, fuzzy
reasoning cannot be used as a standalone reasoning technique.
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
435
436
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
437
438
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
TABLE XII
S UMMARIZED TAXONOMY USED IN TABLE XIII
Taxonomy
5
Modelling
Reasoning
Distribution
Architecture
9
10
11
12
13
14
15
16
17
18
19
20
Description
Key-value modelling (K), Markup schemes (M), Graphical modelling (G), Object oriented
modelling (Ob), Logic-based modelling (L), and Ontology-based modelling (On)
Supervised learning (S), Un-supervised learning (U), rules (R), Fuzzy logic (F), Ontology-based
(O), and Probabilistic reasoning (P)
Publish/subscribe (P) and Query (Q)
Component based architecture (1) , Distributed architecture (2), Service based architecture (3),
Node based architecture (4) , Centralised architecture (5), Client-server architecture (6)
Available ()
Available ()
Available ()
context Discovery (D) and context Annotation (A)
High level (H) and Low level (L).
Available ()
Physical sensors (P), Software sensors (S), Mobile devices (M), Any type of sensor (A)
Conflict resolution (C), context Validation (V)
Aggregate (A), Filter (F)
Available ()
Available ()
Available ()
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
439
440
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
Project Name
Citations
Year
Project Focus
Modelling
Reasoning
Distribution
Architecture
Knowledge
Management
Event Detection
Context Discovery
and Annotation
Level of Context
Awareness
Quality of Context
Data Processing
Dynamic Composition
Registry Maintenance
TABLE XIII
E VALUATION OF S URVEYED R ESEARCH P ROTOTYPES , S YSTEMS , AND A PPROACHES
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
Context Toolkit
[72]
2001
1,5
Solar
Aura
[184]
[191]
2002 M
2002 M
K,M,Ob
M
R
R
P
P
2
2
D
D
H
H
P
A
CoOL
CARISMA
[192]
[193]
2003 T
2003 M
On
M
R,O
R
Q
Q
1
2
H
H
S
M
CoBrA
Gaia
SOCAM
[119]
[168]
[194]
2004 M
2004 M
2004 M
On
F,On
On
R,O
S,P, F
R,O
Q
Q
Q,P
1
2,3
3
D
D
H
H
H
A
A
A
CARS
CASN
SCK
TRAILBLAZER
[195]
[188]
[142]
[196]
2005 S
2005 M
2005 M
2005 S
K
F,On
M,On
K
U
F,O
R,O
R
P
Q
Q
2
1
2
A
D
A,D
D
H
L
H
L
P
P
A
P
BIONETS
PROCON
CMF (MAGNET)
e-SENSE
[197]
[86]
[85]
[44]
2006 M
2006 S
2006 M
2006 M
On
K
M
R,O
R
R
R
Q
Q
P,Q
Q
1
2
2,4
2,4
A
D
D
D
H
L
H
H
A
P
A
P
A,F
HCoM
CMS
MoCA
CaSP
SIM
[198]
[106]
[199]
[185]
[200]
[124]
2007
2007
2007
2007
2007
2007
M
M
M
M
M
M
G,On
On
M,Ob
M,On
K,G
On
R,O
O
O
O
R
O
Q
P,Q
P,Q
P,Q
5
1,2
4,5
6
2
D
S
D
D
H
H
H
H
H
H
S
A
A
A
P
P
C
V
F
A
A
A
COSMOS
DMS-CA
CDMS
AcoMS
CROCO
EmoCASN
[201]
[202]
[203]
[141]
[204]
[88]
[118]
[205]
2008
2008
2008
2008
2008
2008
2008
2008
M
S
M
M
M
M
M
S
Ob
M
K,M
On
On
M,G,On
On
K
R
R
R
O,P
R,O
R,O
R,O
R
Q
Q
Q
Q
P,Q
P
Q
Q
2,4
5
2
5
5
5
2,4
D
D
D
A
D
D
H
H
H
H
H
H
H
L
P
A
A
P
P
A
P
C,V
A,F
Hydra
UPnP
COSAR
SPBCA
C-CAST
CDA
SALES
MidSen
[61]
[206]
[151]
[161]
[207]
[208]
[209]
[210]
[52]
2009
2009
2009
2009
2009
2009
2009
2009
2009
M
M
M
M
M
M
M
M
M
K,On,Ob
K,M
On
On
M
On
Ob
M
K
R,O
R
S,O
R,O
R
O
R
R
Q
Q
Q
Q
P,Q
P
Q
Q
P,Q
3
4
5
2
5
5
4,6
2,4
5
D
A
A
D
D
D
D
H
H
H
H
H
H
H
L
H
P
A
P
A
A
A
V
P
P
SCONSTREAM
Feel@Home
CoMiHoC
Intelligibility
ezContext
UbiQuSE
COPAL
[211]
[101]
[212]
[213]
[108]
[105]
[214]
[215]
2010
2010
2010
2010
2010
2010
2010
2010
S
M
M
M
T
M
M
M
G
M
G,On
Ob
K,Ob
M
M
R
P
O
R,P
R,S,P
R
R
R
Q
Q
P,Q
Q
Q
Q
Q
P,Q
5
2,4
2,4
5
1,5
5
5
1,5
D
D
D,A
D
H
H
H
H
H
H
H
H
P
A
A
A
A
A
A
V
V
A,F
[50]
P
2,4
Octopus
2011 S
[216]
P
2
2011 M
[153]
K,Ob
S,P
2,4
2011 S
Notes: Refer Section V-A for the meanings of the abbreviations and symbols used in the table
D
D
D,A
H
H
H
A
P
M
A
A
A,F
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
for general concepts and lower level ontologies domain specific descriptions. SOCAM architecture comprises several key
components: context provider (acquires data from sensors and
other internal and external data sources and converts the context in to OWL representation), context interpreter (performs
reasoning using reasoning engine and stores the processed
context information in the knowledge base), context-aware
services (context consumers), and services locating service
(context providers and interpreter are allowed to register so
other components can search for appropriates providers and
interpreters based on their capabilities).
e-SENSE [44] enables ambient intelligence using wireless
multi-sensor networks for making context-rich information
available to applications and services. e-SENSE combines
body sensor networks (BSN), object sensor networks (OSN),
and environment sensor networks (ESN) to capture context in
the IoT paradigm. The features required by context-aware IoT
middleware solutions are identified as sensor data capturing,
data pre-filtering, context abstraction data source integration,
context extraction, rule engine, and adaptation.
HCoM [198] (Hybrid Context Management) is a hybrid
approach which combines semantic ontology and relational
schemas. This approach claims that standard database management systems alone cannot be used to manage context. In
contrast, semantic ontologies may not perform well in terms
of efficiency and query processing with large volumes of
data. So the hybrid approach is required. HCoM architecture
consists of five layers: acquisition layer, pre-processing layer,
data modelling and storage layer, management modelling
layer, and utilising layer. HCoM has identified several key
requirements that a context management solution should have
that are encapsulated in several components: context manager
(aggregates the results and sends the data to reasoning engine),
collaboration manager (if context selector decides the existing
context information is not sufficient to perform reasoning, the
collaboration manager attempts to gather more data from other
possible context sources), context filter (once the context is
received, it validates and decide whether it needs to be stored
in RCDB), context selector (based on the user request, it
decides what context should be used in reasoning processing
based on the accuracy, time, and required computational
resources), context-onto (manages the ontologies and acts as a
repository), rules and policy (users are allowed to add rules to
the system), RCDB (stores the captured context in a standard
database management system), rule-mining (a data base that
consists of rules that tell what actions to perform when), and
interfaces (provides interface to the context consumers).
MoCA [199] is a service based distributed middleware
that employs ontologies to model and manage context. The
primary conceptual component is context domain. The context
management node (CMN) is infrastructure that is responsible
for managing the context domain. Similar to most of the other
context management solutions, the three key components in
MoCA are: context providers (responsible for generating or
retrieving context from other sources available to be used by
the context management system), context consumers (consume
the context gathered and processed by the system), and context
service (responsible for receiving, storing, and disseminating
context information). MoCA uses an object oriented model for
441
442
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
is a middleware framework that supports context management and situation reasoning. CoMiHoc proposes a CoMoS
(Context Mobile Spaces), a context modeling, and situation
reasoning mechanism that extends the context spaces [219].
CoMiHoc uses Java Dempster-Shafer library [220]. CoMiHoc
architecture comprises six components: context provisioner,
request manager, situation reasoner, location reasoner, communication manager, and On-Demand Multicast Routing Protocol
(ODMRP).
ezContext [105] is a framework that provides automatic
context life cycle management. ezContext comprises several
components: context source (any source that provides context,
either physical sensors, databases or web service), context
provider (retrieves context from various sources whether in
push (passive) or pull (active) method, context manager
(manages context modelling, storage and producing high-level
context using low-level context), context wrapper (encapsulate
retrieved context into correct format, in this approach, keyvalue pairs), and providers registry (maintains list of context
providers and their capabilities). JavaBeans are used as the
main data format.
Octopus [50] is an open-source, dynamically extensible
system that supports data management and fusion for IoT
applications. Octopus develops middleware abstractions and
programming models for the IoT. It enables non-specialised
developers to deploy sensors and applications without detailed
knowledge of the underlying technologies and network. Octopus is focused on the smart home/office domain and its
main component is solver. Solver is a module that performs
sensor data fusion operations. Solvers can be added and
removed from the system at any time based on requirements.
Further solvers can be combined together dynamically to build
complex operations.
VI. L ESSONS L EARNED
1) Development Aids and Practices: Toolkits in general
are suitable for limited scale application. Managing context
in the IoT paradigm requires middleware solutions that can
provide more functionality towards managing data. Applications should be able to be built on top of the middleware
so they can request context from the middleware. Context
Toolkit [72] has introduced the notion of having common
standard interfaces. For example, context widget component
encapsulate the communication between context sources and
the toolkit. Standardisation makes it easier to learn, use, and
extend the toolkit. Standardisation is important in the IoT
paradigm, because it increases interoperability and extendibility. For example, standardising context modelling components
will help to employ the different techniques we discussed in
Section IV-B despite the differences in inner-workings. It also
enables the addition of different components when necessary.
In such a situation, standard interfaces and structures will guarantee a smooth interaction between new and old components.
Further, Intelligibility Toolkit [108] provides explanations to
the users to improve the trust between users and the contextaware applications which helps in faster adaptation of the users
towards IoT.
Making correct design decisions is a critical task in IoT.
For example, data modelling and communication can be done
443
444
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
445
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
446
%"-
.
#
$
,
,
+"
+
)!
)#
#
%!
!
$
2
+0
#
,
*
#
!
"
#
$
%
+
##
+)#
)#
#
(
+)
(")*
(
'*"
*
'
# !
#
/"
.
%
&
0
#
"
+)#
1
! "#
$
"
$
%&
%
'
'
%
%
!
*#
*
)
#
)
#
+
"
(
0
)
!
%!'
2#
"#
1
)#
3
3
#
3
"
"
"
"
)
"*"
!
"
(
#)
3)
3
#
(
#
) 3
%
#
"
*! %
"
( %
2
.
!
+
%
#
"
*
# *"
'!
"
##
+
##
#
+"
0
0
.""#*
.""
!
,
#
#
##
1+
!
2
#
#
3
+
4*! ##
!
#
)
Fig. 8. Taxonomy (functionalities commonly supported in existing research prototypes and systems); Conceptual Framework (value added features that need
to be supported by ideal context-aware IoT middleware solution)
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
447
[4] H. Sundmaeker, P. Guillemin, P. Friess, and S. Woelffle, Vision and challenges for realising the internet of things, European
Commission Information Society and Media, Tech. Rep., March
2010, http://www.internet-of-things-research.eu/pdf/IoT Clusterbook
March 2010.pdf [Accessed on: 2011-10-10].
[5] A. Zaslavsky, C. Perera, and D. Georgakopoulos, Sensing as a service
and big data, in International Conference on Advances in Cloud
Computing (ACC-2012), Bangalore, India, July 2012, pp. 2129.
[6] G. Chen and D. Kotz, A survey of context-aware mobile computing research, Department of Computer Science, Dartmouth College,
Hanover, NH, USA, Tech. Rep., 2000, http://www.cs.dartmouth.edu/
reports/TR2000-381.pdf [Accessed on: 2011-12-05].
[7] T. Strang and C. Linnhoff-Popien, A context modeling
survey, in In: Workshop on Advanced Context Modelling,
Reasoning and Management, UbiComp 2004 - The Sixth
International Conference on Ubiquitous Computing, Nottingham/England, 2004. [Online]. Available: http://elib.dlr.de/7444/1/
Ubicomp2004ContextWSCameraReadyVersion.pdf
[8] M. M. Molla and S. I. Ahamed, A survey of middleware for sensor
network and challenges, in Proc. 2006 International Conference
Workshops on Parallel Processing, ser. ICPPW 06. Washington,
DC, USA: IEEE Computer Society, 2006, pp. 223228. [Online].
Available: http://dx.doi.org/10.1109/ICPPW.2006.18
[9] K. E. Kjaer, A survey of context-aware middleware, in Proc.
25th conference on IASTED International Multi-Conference: Software
Engineering. ACTA Press, 2007, pp. 148155. [Online]. Available:
http://dl.acm.org/citation.cfm?id=1332044.1332069
[10] M. Baldauf, S. Dustdar, and F. Rosenberg, A survey on
context aware systems, Int. J. Ad Hoc Ubiquitous Comput.,
vol. 2, no. 4, pp. 263277, Jun. 2007. [Online]. Available:
http://dx.doi.org/10.1504/IJAHUC.2007.014070
[11] M. Perttunen, J. Riekki, and O. Lassila, Context representation and
reasoning in pervasive computing: a review, International Journal
of Multimedia and Ubiquitous Engineering, vol. 4, no. 4, pp. 128,
2009. [Online]. Available: http://www.sersc.org/journals/IJMUE/vol4
no4 2009/1.pdf
[12] C. Bettini, O. Brdiczka, K. Henricksen, J. Indulska, D. Nicklas,
A. Ranganathan, and D. Riboni, A survey of context modelling and
reasoning techniques, Pervasive Mob. Comput., vol. 6, pp. 161180,
April 2010. [Online]. Available: http://dx.doi.org/10.1016/j.pmcj.2009.
06.002
[13] A. Saeed and T. Waheed, An extensive survey of context-aware
middleware architectures, in Electro/Information Technology (EIT),
2010 IEEE International Conference on, may 2010, pp. 1 6.
[Online]. Available: http://dx.doi.org/10.1109/EIT.2010.5612118
[14] S. Bandyopadhyay, M. Sengupta, S. Maiti, and S. Dutta, Role of
middleware for internet of things, International Journal of Computer
Science and Engineering Survey, vol. 2, pp. 94105, 2011. [Online].
Available: http://airccse.org/journal/ijcses/papers/0811cses07.pdf
[15] P. Makris, D. Skoutas, and C. Skianis, A survey on context-aware
mobile and wireless networking: On networking and computing
environments integration, IEEE Commun. Surveys Tutorials, vol. PP,
no. 99, pp. 1 25, 2012. [Online]. Available: http://dx.doi.org/10.
1109/SURV.2012.040912.00180
[16] P. Bellavista, A. Corradi, M. Fanelli, and L. Foschini, A
survey of context data distribution for mobile ubiquitous systems,
ACM Computing Surveys, vol. xx, no. xx, p. 49, 2013.
[Online]. Available: http://www-lia.deis.unibo.it/Staff/LucaFoschini/
pdfDocs/context survey CSUR.pdf
[17] N. Olifer and V. Olifer, Computer Networks: Principles, Technologies
and Protocols for Network Design.
John Wiley & Sons,
2005. [Online]. Available: http://au.wiley.com/WileyCDA/WileyTitle/
productCd-EHEP000983.html
[18] D. Guinard, Towards the web of things: Web mashups for embedded
devices, in In MEM 2009 in Proc. WWW 2009. ACM, 2009.
[19] Casaleggio Associati, The evolution of internet of things, Casaleggio
Associati, Tech. Rep., February 2011, http://www.casaleggio.
it/pubblicazioni/Focus internet of things v1.81%20-%20eng.pdf
[Accessed on: 2011-06-08].
[20] European Commission, Internet of things in 2020 road map for
the future, Working Group RFID of the ETP EPOSS, Tech.
Rep., May 2008, http://ec.europa.eu/information society/policy/rfid/
documents/iotprague2009.pdf [Accessed on: 2011-06-12].
[21] P. Guillemin and P. Friess, Internet of things strategic research
roadmap, The Cluster of European Research Projects, Tech. Rep.,
September 2009, http://www.internet-of-things-research.eu/pdf/IoT
Cluster Strategic Research Agenda 2009.pdf [Accessed on: 2011-0815].
448
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
[71]
[72]
[73]
[74]
[75]
[76]
[77]
[78]
[79]
[80]
[81]
[82]
[83]
[84]
[85]
[86]
[87]
[88]
[89]
449
450
[90]
[91]
[92]
[93]
[94]
[95]
[96]
[97]
[98]
[99]
[100]
[101]
[102]
[103]
[104]
[105]
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
[125]
[126]
[127]
[128]
[129]
[130]
[131]
[132]
[133]
[134]
[135]
[136]
[137]
[138]
[139]
[140]
[141]
451
452
[160]
[161]
[162]
[163]
[164]
[165]
[166]
[167]
[168]
[169]
[170]
[171]
[172]
[173]
[174]
[175]
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
2008. ICSNC 08. 3rd International Conference on, oct. 2008, pp. 365
370. [Online]. Available: http://dx.doi.org/10.1109/ICSNC.2008.55
w3.org, Swrl: A semantic web rule language combining owl and
ruleml, May 2004, http://www.w3.org/Submission/SWRL/ [Accessed
on:2012-01-03].
X. Zhou, X. Tang, X. Yuan, and D. Chen, Spbca: Semantic patternbased context-aware middleware, in Parallel and Distributed Systems
(ICPADS), 2009 15th International Conference on, dec. 2009, pp. 891
895. [Online]. Available: http://dx.doi.org/10.1109/ICPADS.2009.146
C. Kessler, M. Raubal, and C. Wosniok, Semantic rules for contextaware geographical information retrieval, in Proc. 4th European
conference on Smart sensing and context, ser. EuroSSC09. Berlin,
Heidelberg: Springer-Verlag, 2009, pp. 7792. [Online]. Available:
http://dx.doi.org/10.1007/978-3-642-04471-7 7
C. Choi, I. Park, S. Hyun, D. Lee, and D. Sim, Mire: A
minimal rule engine for context-aware mobile devices, in Digital
Information Management, 2008. ICDIM 2008. Third International
Conference on, nov. 2008, pp. 172 177. [Online]. Available:
http://dx.doi.org/10.1109/ICDIM.2008.4746772
C. Barbero, P. D. Zovo, and B. Gobbi, A flexible context
aware reasoning approach for iot applications, in Proc. 2011
IEEE 12th International Conference on Mobile Data Management
- Volume 01, ser. MDM 11. Washington, DC, USA: IEEE
Computer Society, 2011, pp. 266275. [Online]. Available: http:
//dx.doi.org/10.1109/MDM.2011.55
K. Teymourian, O. Streibel, A. Paschke, R. Alnemr, and C. Meinel,
Towards semantic event-driven systems, in Proc. 3rd international
conference on New technologies, mobility and security, ser. NTMS09.
Piscataway, NJ, USA: IEEE Press, 2009, pp. 347352. [Online].
Available: http://dx.doi.org/10.1109/NTMS.2009.5384713
N. Konstantinou, E. Solidakis, S. Zoi, A. Zafeiropoulos,
P. Stathopoulos, and N. Mitrou, Priamos: a middleware
architecture for real-time semantic annotation of context features,
in Intelligent Environments, 2007. IE 07. 3rd IET International
Conference on, sept. 2007, pp. 96 103. [Online]. Available:
http://ieeexplore.ieee.org/xpls/abs all.jsp?arnumber=4449917
T. Terada, M. Tsukamoto, K. Hayakawa, T. Yoshihisa, Y. Kishino,
A. Kashitani, and S. Nishio, Ubiquitous chip: A rule-based i/o
control device for ubiquitous computing, in Pervasive Computing,
ser. Lecture Notes in Computer Science, A. Ferscha and F. Mattern,
Eds. Springer Berlin Heidelberg, 2004, vol. 3001, pp. 238253.
[Online]. Available: http://dx.doi.org/10.1007/978-3-540-24646-6 18
M. Roman, C. Hess, R. Cerqueira, A. Ranganathan, R. H. Campbell,
and K. Nahrstedt, A middleware infrastructure for active spaces,
IEEE Pervasive Computing, vol. 1, no. 4, pp. 7483, Oct. 2002.
[Online]. Available: http://dx.doi.org/10.1109/MPRV.2002.1158281
A. Ranganathan and R. H. Campbell, A middleware for contextaware agents in ubiquitous computing environments, in Proc.
ACM/IFIP/USENIX 2003 International Conference on Middleware,
ser. Middleware 03. New York, NY, USA: Springer-Verlag
New York, Inc., 2003, pp. 143161. [Online]. Available: http:
//dl.acm.org/citation.cfm?id=1515915.1515926
J. Mantyjarvi and T. Seppanen, Adapting applications in mobile
terminals using fuzzy context information, in Proc. 4th International
Symposium on Mobile Human-Computer Interaction, ser. Mobile HCI
02. London, UK, UK: Springer-Verlag, 2002, pp. 95107. [Online].
Available: http://dx.doi.org/10.1007/3-540-45756-9 9
A. Padovitz, S. W. Loke, and A. Zaslavsky, The ecora framework:
A hybrid architecture for context-oriented pervasive computing,
Pervasive Mob. Comput., vol. 4, no. 2, pp. 182215, Apr. 2008.
[Online]. Available: http://dx.doi.org/10.1016/j.pmcj.2007.10.002
D. Tsarkov, Fact++, Software, 2007, http://owl.man.ac.uk/
factplusplus/ [Accessed on: 2012-01-21].
Clark andParsia, Pellet: Owl 2 reasoner for java, Software, 2004,
http://clarkparsia.com/pellet/ [Accessed: 2011-12-18].
A. Zafeiropoulos, N. Konstantinou, S. Arkoulis, D.-E. Spanos,
and N. Mitrou, A semantic-based architecture for sensor data
fusion, in Mobile Ubiquitous Computing, Systems, Services and
Technologies, 2008. UBICOMM 08. The Second International
Conference on, 29 2008-oct. 4 2008, pp. 116 121. [Online].
Available: http://dx.doi.org/10.1109/UBICOMM.2008.67
A. Zafeiropoulos, D.-E. Spano, S. Arkoulis, N. Konstantinou, and
N. Mitrou, Data Management in the Semantic Web, ser. Distributed,
Cluster and Grid Computing - Yi Pan (Georgia State University),
Series Edito, H. Jin, Ed. NOVA Publishers, 2011. [Online].
Available: https://www.novapublishers.com/catalog/product info.php?
products id=20094
PERERA et al.: CONTEXT AWARE COMPUTING FOR THE INTERNET OF THINGS: A SURVEY
[193]
[194]
[195]
[196]
[197]
[198]
[199]
[200]
[201]
[202]
[203]
[204]
[205]
[206]
[207]
453
454
[227]
[228]
[229]
[230]
[231]
IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 16, NO. 1, FIRST QUARTER 2014
Charith Perera received his BSc (Hons) in Computer Science in 2009 from Staffordshire University, Stoke-on-Trent, United Kingdom and MBA in
Business Administration in 2012 from University
of Wales, Cardiff, United Kingdom. He is currently
pursing his PhD in Computer Science at The Australian National University, Canberra, Australia. He
is also working at Information Engineering Laboratory, ICT Centre, CSIRO and involved in OpenIoT
Project (Open source blueprint for large scale self
organizing cloud environments for IoT applications),
which is co-funded by the European Commission under seventh framework
program. His research interests include Internet of Things, pervasive and
ubiquitous computing with a focus on sensor networks, middleware, context
aware computing, mobile computing and semantic technologies. He is a
member of the Association for Computing Machinery (ACM) and the Institute
of Electrical and Electronics Engineers (IEEE).
Arkady Zaslavsky is the Science Leader of the
Semantic Data Management science area at Information Engineering Laboratory, ICT Centre, CSIRO.
He is also holding positions of Adjunct Professor
at ANU, Research Professor at LTU and Adjunct
Professor at UNSW. He is currently involved and
is leading a number of European and national research projects. Before coming to CSIRO in July
2011, he held a position of a Chaired Professor in
Pervasive and Mobile Computing at Lule University
of Technology, Sweden where he was involved in a
number of European research projects, collaborative projects with Ericsson
Research, PhD supervision and postgraduate education. Between 1992 and
2008 Arkady was a full-time academic staff member at Monash University,
Australia. Arkady made internationally recognised contribution in the area of
disconnected transaction management and replication in mobile computing
environments, context-awareness as well as in mobile agents. He made
significant internationally recognised contributions in the areas of data stream
mining on mobile devices, adaptive mobile computing systems, ad-hoc
mobile networks, efficiency and reliability of mobile computing systems,
mobile agents and mobile file systems. Arkady received MSc in Applied
Mathematics majoring in Computer Science from Tbilisi State University
(Georgia, USSR) in 1976 and PhD in Computer Science from the Moscow
Institute for Control Sciences (IPU-IAT), USSR Academy of Sciences in
1987. Before coming to Australia in 1991, Arkady worked in various research
positions at industrial R&D labs as well as at the Institute for Computational
Mathematics of Georgian Academy of Sciences where he lead a systems
software research laboratory. Arkady Zaslavsky has published more than 300
research publications throughout his professional career and supervised to
completion more than 30 PhD students. Arkady Zaslavsky is a Senior Member
of ACM, a member of IEEE Computer and Communication Societies.