Context Aware Computing for The Internet of Things: A Survey
Summary (5 min read)
- 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.
- Research community and documents on the web frequently use the term ‘context information’.
- Finally and most importantly, their taxonomy formation and organisation is completely different.
II. THE INTERNET OF THINGS PARADIGM
- The authors briefly introduce the IoT paradigm.
- The IoT paradigm has its own concepts and characteristics.
- The IoT bundles different technologies (e.g. sensor hardware/firmware, semantic, cloud, data modelling, storing, reasoning, processing, communication technologies) together to build its vision.
- The IoT does not revolutionise their lives or the field of computing.
- It is another step in the evolution of the Internet the authors already have.
A. Evolution of Internet
- Before the authors 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 .
- In the early 1980s the TCP/IP stack was introduced.
- Later, the World Wide Web (WWW) became available in 1991 which made the Internet more popular and stimulate the rapid growth.
- 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 .
B. What is the Internet of Things?
- During the past decade, the IoT has gained significant attention in academia as well as industry.
- The ultimate goal is to create ‘a better world for human beings’, where objects around us know what the authors like, what they want, and what they need and act accordingly without explicit instructions .
- The term ‘Internet of Things’ was firstly coined by Kevin Ashton  in a presentation in 1998.
- The IoT encompasses a significant amount of technologies that drive its vision.
- The vision of the IoT is heavily energised by statistics and predictions.
E. The Essential Component of IoT: Sensor Networks
- The authors provide a brief introduction to sensor networks in this section as it is the most essential component of the IoT.
- In sensor networks, sensors can be homogeneous or heterogeneous.
- Multiple sensor networks can be connected 2We use both terms, ‘objects’ and ‘things’ interchangeably to give the same meaning as they are frequently used in IoT related documentation.the authors.
- One such approach is through the Internet.
- A comparison of different sensor network middleware solutions is also provided based on the above parameters.
F. Layers in Sensor Networks
- The authors have presented a typical structure of a sensor network in Figure 3.
- Data is generated by the low-end sensor nodes and high-end sensor nodes.
- These devices perform a certain amount of processing on the sensor data.
- Finally, data reaches the cloud where it will be shared, stored, and processed significantly.
- Capabilities increase from layer one to layer six.
G. Relationship Between Sensor Networks and IoT
- In earlier sections the authors introduced both IoT and sensor network concepts.
- Then, it is processed and decisions are made.
- Further, integration between wireless sensor networks and the IoT are comprehensively discussed in .
- The difference between sensor networks (SN) and the IoT is largely unexplored and blurred.
- As is clearly depicted in Figure 4, SN are a part of the IoT.
H. Characteristics of the IoT
- In Section II-G, the authors highlighted the differences between sensor networks and the IoT.
- First the knowledge needs to be generated by collecting data and reasoning it.
- Transforming the collected raw data into knowledge (high-level information) can be done by collecting, modelling, and reasoning the context.
- Due to the popularity of cloud computing , consuming resources as a service  such as Platform-as-a-Service (PaaS), Infrastructure-as-aService (IaaS), Software-as-a-Service (SaaS), has become main stream, also known as Everything-as-a-service.
I. Middleware Support for IoT
- As the authors mentioned at the beginning, the IoT needs to be supported by middleware solutions.
- “Middleware is a software layer that stands between the networked operating system and the application and provides well known reusable solutions to frequently encountered problems like heterogeneity, interoperability, security, dependability .”.
- In addition, challenges in developing middleware solutions for the IoT are discussed in .
- They have selected the leading middleware solutions and analyse them based on their functionalities, each one offers, device management, interoperation, platform portability, context-awareness, and security and privacy.
J. Research Gaps
- According to Table I, it can be seen that the majority of the IoT middleware solutions do not provide context-awareness functionality.
- In the early days, contextawareness was strongly bound to pervasive and ubiquitous computing.
- Even though there were some middleware solutions that provided an amount of context-aware functionality, they did not satisfy the requirements that the IoT demands.
- The authors also learnt that context-awareness has not been addressed in existing IoT focused solutions, which motivates us to survey the solutions in other paradigms to evaluate the applicability of context-aware computing techniques toward IoT.
- In the next section the authors discuss context-aware fundamentals that helps us understand the in-depth discussions in the later sections.
B. Context-aware Features
- After analysing and comparing the two previous efforts conducted by Schilit et al.  and Pascoe , Abowd et al.  identified three features that a context-aware application can support: presentation, execution, and tagging.
- Let us consider a smart  environment scenario.
- Automatic execution of services is also a critical feature in the IoT paradigm, also known as Execution.
- These objects will produce large volumes of sensor data that has to be collected, analysed, fused and interpreted .
- Therefore, sensor data collected through multiple sensors needs to be fused together.
C. Context Types and Categorisation Schemes
- Different researchers have identified context types differently based of different perspectives.
- Using this definition the authors are unable to identify the type of a given context.
- The above definition does not represent this accurately.
- If the authors collect the blood pressure level of a patient directly from a sensor attached to the patient, it could be identified as primary context.
- In contrast, conceptual categorisation allows an understanding of the conceptual relationships between context.
D. Levels of Context Awareness and characteristics
- Context awareness can be identified in three levels based on the user interaction .
- 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.
- The system continuously and autonomously monitors the situation and acts autonomously.
- If the smoke detectors and temperature sensors detect a fire in a room in a smart home environment, the system will automatically notify the fire brigade as well as the owner of the house via appropriate methods such as phone calls.
E. Context Awareness Management Design Principles
- Martin et al.  have identified and comprehensively discussed six design principles related to context-aware management frameworks .
- The functionali- ties need to be divided into layers and components in a meaningful manner.
- In the IoT paradigm, debugging would be difficult due to the exponential number of possible alternative interactions.
- It also needs to support complex relationships, constrains, etc.
IV. CONTEXT LIFE CYCLE
- A data life cycle shows how data moves from phase to phase in software systems (e.g. application, middleware).
- In other terms, context management has become an essential functionality in software systems.
- There are web-based context management services that provide context information management throughout the context’s life cycle.
- After reviewing the above life cycles, the authors derived an appropriate (i.e. minimum number of phases but includes all essential) context life cycle as depicted in Figure 6.
- The sources could be physical sensors or virtual sensors (context acquisition).
A. Context Acquisition
- In this section the authors discuss five factors that need to be considered when developing context-aware middleware solutions in the IoT paradigm.
- Open a door, switch on a light, or animal enters experimental crop field are some types of instant events.
- Both push and pull methods can be employed.
- In the IoT paradigm most objects will communicate with each other via a wireless means.
- These sensors do not necessarily generate sensor data by themselves.
B. Context Modelling
- The authors discuss the basic definition of context modelling in Section III-A3.
- The requirements that need to be taken into consideration when modelling context information are identified and explained in  as heterogeneity and mobility, relationships and dependencies, timeliness (also called freshness), imperfection, reasoning, usability of modelling formalisms, and efficient context provisioning.
- This is the simplest form of context representation among all the other techniques.
- According to many surveys, in contextaware computing and sensor data management, ontologies are the preferred mechanism of managing and modelling context despite its weaknesses.
C. Context Reasoning Decision Models
- Context reasoning can be defined as a method of deducing new knowledge, and understanding better, based on the available context .
- As a result, a large number of alternative sources will exist to provide the same information.
- The inferencing can be done in a single interaction or in multiple interactions.
- It has been used to detect activity recognition of patients in the healthcare domain  and to learn situations in a smart home environment .
- It allows the generation of high level context information using low level context.
D. Context Distribution
- Context distribution is a fairly straightforward task.
- Other than that there are two other methods to that are used commonly in context distribution: Query: Context consumer makes a request in terms of a query, so the context management system can use that query to produce results.
- Subscription (also called publish / subscribe): Context con- sumer can be allowed to subscribe with a context management system by describing the requirements.
- The system will then return the results periodically or when an event occurs (threshold violation).
- Further, this method is typically use in real time processing.
V. EXISTING RESEARCH PROTOTYPES AND SYSTEMS
- First the authors present their evaluation framework and then they briefly discuss some of the most significant projects and highlight their significance.
- Later, the authors identify the lessons they can learn from them towards context-aware development in the IoT paradigm in Section VI.
- The projects are discussed in the same order as in Table XIII.
A. Evaluation Framework
- The authors used abbreviations as much as possible to make sure that the structure allowed all 50 projects to be presented in a single page, which enables the readers to analyse and identify positive and negative patterns that they have not explicitly discussed.
- Some project do not have an explicit project name, here the authors used a dash (–) symbol.
- This varied widely from one solution to another.
- This is critical in all types of systems.
- Context processing can be classified into three categories (also called layers) .
B. Evaluation of Research Efforts
- Context Toolkit  aims to facilitating development and deployment of context-aware applications.
- A conflict resolution mechanism is also introduced in CARISMA based on macroeconomic techniques.
- It is specially focused on smart meeting places.
- In node level, node ID, location, and priority are collected.
- EMoCASN  (Environment Monitoring Oriented Context Aware Sensor Networks) proposes a context-aware model for sensor networks (CASN).
VI. LESSONS LEARNED
- 1) Development Aids and Practices: Toolkits in general are suitable for limited scale application.
- 2) Objects method allows complex data structures.
- It shows how the context modelling needs to be done in order to model device information.
- The consumers who want to access those sensors will pay the owners and acquire the sensor readings.
VII. CHALLENGES AND FUTURE RESEARCH DIRECTIONS
- As the authors mentioned earlier, one of their goal in this survey is to understand how context-aware computing can be applied in the IoT paradigm based on past experience.
- In this section their objective is to discuss six unique challenges in the IoT where novel techniques and solution may need to be employed.
- Incorporating and integrating multiple techniques has shown promising success in the field.
- The inner-workings of each technique can be different from one solution to another.
- Let us consider a situation where an environmental scientist wants to measure environmental pollution in New York city.
- The IoT has gained significant attention over the last few years.
- Understanding sensor data is one of the main challenges that the IoT would face.
- The EU has allocated a time frame for research and development into context-aware computing focused on the IoT to be carried out during 2015-2020.
- The authors analysed and evaluated contextaware computing research efforts to understand how the challenges in the field of context-aware computing have been tackled in desktop, web, mobile, sensor networks, and pervasive computing paradigms.
- A large number of solutions exist in terms of systems, middleware, applications, techniques, and models proposed by researchers to solve different challenges in context-aware computing.
Did you find this useful? Give us your feedback
Cites background from "Context Aware Computing for The Int..."
...The data may not have much meaningful value unless people find an effective way to analyze and understand it ....
Cites background from "Context Aware Computing for The Int..."
...Six unique challenges  of IoT include (i) Automated sensor configuration, (ii) context discovery, (iii) acquisition, modeling and reasoning (iv) selection of sensors in ‘sensing-as-a-service’ model  (v) securityprivacy-trust and (vi) context sharing....
...This results, in a unique challenges of connection and configuration ....
Cites background from "Context Aware Computing for The Int..."
...Context awareness may provide a great support to process and store the Big Data, and to make their interpretation easier ....
"Context Aware Computing for The Int..." refers background in this paper
...The differences are comprehensively discussed in ....
...the needs of the IoT individually , though they can complement the IoT infrastructure....
"Context Aware Computing for The Int..." refers background in this paper
...The application domain can be mainly divided in to three categories based on their focus , : industry, environment,...
...The main reasons behind this interest are the capabilities that the IoT ,  will offer....
"Context Aware Computing for The Int..." refers background or methods in this paper
..., those definitions are too specific and cannot be used to identify whether a given system is a context-aware system or not....
... introduced one of the leading mechanisms of defining context types....
... to be used in this research work, because this definition can be used to identify context from data in general....
...user and an application, including the user and applications themselves ....
... identified three features that a context-aware application can support: presentation, execution, and tagging....
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.
Q2. What have the authors stated for future works in "Context aware computing for the internet of things: a survey" ?
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.
Q3. What is the key component of a context-aware framework?
Hydra identifies context reasoning rule engine, context storage, context querying, and event/action management as the key components of a context-aware framework.
Q4. What are the challenges that need to be considered when developing sensor network middleware solutions?
Molla and Ahamed  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.
Q5. What are the components that can be dynamically composed according to the needs?
Components such as reasoning models, data fusion operators, knowledge bases, and context discovery components can be dynamically composed according to the needs.
Q6. What are the main components of the android mobile operating system?
In addition, the android mobile operating system consists of a number of software sensors such as gravity, linear accelerometer, rotation vector, and orientation sensors.
Q7. What are the common and basic information that needs to be captured in relation to context?
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.
Q8. What are the possible sources that can be used to collect evidence regarding the location of a user?
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.
Q9. What are some of the major sensor network middleware approaches?
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.
Q10. What is the purpose of object based modelling?
object based modelling is suitable to be used as an internal, nonshared, code based, run-time context modelling, manipulation, and storage mechanism.
Q11. What are the techniques used to acquire context?
The techniques used to acquire context can be varied based on responsibility, frequency, context source, sensor type, and acquisition process.
Q12. How can a consumer subscribe to a context management system?
Subscription (also called publish / subscribe): Context con-sumer can be allowed to subscribe with a context management system by describing the requirements.
Q13. What are the popular context modelling techniques?
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.
Q14. What is the definition of a context attribute?
A context attribute has an identifier, a type and a value, and optionally a collection of properties describing specific characteristics .
Q15. What are the abbreviations used to denote the context reasoning techniques employed by the project?
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).
Q16. What is the importance of adding ontologies when necessary?
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.
Q17. What is the importance of integrating context-aware capabilities in software and hardware?
in order to build a fully context-aware solution, the authors have to embed context-aware capabilities in both software and hardware layers.
Q18. What are the abbreviations used to denote the context modelling techniques employed by the project?
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)
Q19. What is the difference between graphical and key-value modelling?
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.
Q20. What is the method to tackle the problem of context awareness?
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.