Essays /

2013 Context Aware Computing For The Internet Essay

Essay preview



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. 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 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: fi[email protected]) Peter Christen is with the Research School of Computer Science, The Australian National University, Canberra, ACT 0200, Australia. (e-mail: [email protected]) 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 getting more powerful, cheaper and smaller in size, which has stimulated large scale deployments. As a result, today we have a large number of sensors already deployed and it is predicted that the numbers will grow rapidly over the next decade [4]. Ultimately, these sensors will generate big data [5]. The data we collect may not have any value unless we analyse, interpret, and understand it. Context-aware computing has played an important role in tackling this challenge in previous paradigms, such as mobile and pervasive, which lead us to believe that it would continue to be successful in the IoT paradigm as well. Context-aware computing allows us to store context1 information linked to sensor data so the interpretation can be done easily and more meaningfully. In addition, understanding context makes it easier to perform machine to machine communication as it is a core element in the IoT vision. When large numbers of sensors are deployed, and start generating data, the traditional application based approach (i.e. connect sensors directly to applications individually and manually) becomes infeasible. In order to address this inefficiency, significant amounts of middleware solutions are introduced by researchers. Each middleware solution focuses on different aspects 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’ according 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



and many more. Even though, some solutions address multiple aspects, an ideal middleware solution that addresses all the aspects required by the IoT is yet to be designed. In this survey, we consider identifying the context-aware computing related features and functionalities that are required by an ideal IoT middleware solution as a key task. There have been several surveys conducted in relation to this field. We briefly introduce these surveys in chronological order. Chen and Kotz [6] (2000) have surveyed context 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 techniques rather than projects. In the same year another survey was done by Saeed and Waheed [13] focusing on architectures in the context-aware middleware domain. Bandyopadhyay et al. [14] have conducted a survey on existing popular Internet of Things middleware solutions in 2011. In 2012, Makris et al. [15] have conducted a survey on context-aware mobile and wireless networking (CAMoWiN) domain where they have identified all the possible components of a typical CAMoWiN architecture. The latest survey is done by Bellavista et al. [16] (2013) which is focused on context distribution for mobile ubiquitous systems. Our survey differs from the previous literature surveys mentioned above in many ways. Most of the surveys evaluated a limited number of projects. In contrast, we selected a large number of projects (50) covering a decade, based on the unique criteria that will be explained at the end of this section. These projects are different in scale. Some are large scale projects and others corresponds to small scale contributions. We took a much broader viewpoint compared to some of the previous surveys, as they have focused on specific elements such as modelling, reasoning, etc. Finally and most 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 solutions). We consolidated this information and analysed the capabilities of each solution or the project. We believe this approach allows us to highlight the areas where researchers have mostly (priorities) and rarely (non-priorities) focused their attention and the reasons behind. Further, we have also used a non-taxonomical project based evaluation, where we highlight how the different combinations of components are

designed, developed and used in each project. This allows to discuss their applicability from an IoT perspective. Our objectives in revisiting the literature are threefold: 1) to learn how context-aware computing techniques have helped to develop solutions in the past, 2) how can we apply those techniques to solve problems in the future in different paradigms such as the IoT, and 3) to highlight open challenges and to discuss future research directions. This paper is organised into sections as follows: Section II provides an introduction to the IoT. In this section, we briefly describe the history and evolution of the Internet. Then we explain what the IoT is, followed by a list of application domains and statistics that show the significance of the IoT. We also describe the relationship between sensor networks and the IoT. Comparisons of popular IoT middleware solutions are presented at the end of the section in order to highlight existing research gaps. In Section III, we present context awareness fundamentals such as context-aware related definitions, context types and categorisation schemes, features and characteristics, and context awareness management design principles. In Section IV, we conduct our main discussion based on context life cycle where we identify four stages: acquisition, modelling, reasoning, and distribution. Section V briefly discusses the highlights of each project, which we use for the comparison later. Finally, Section VI discusses the lessons learn from the literature and Section VII identifies future research directions and challenges. Conclusion remarks are presented in Section VIII. For this literature review, we analyse, compare, classify a subset of both small scale and large scale projects (50) which represent the majority of research and commercial solutions proposed in the field of context-aware computing based on our own taxonomy. We selected the existing solutions to be reviewed based on different criteria. Mainly, we selected projects that were conducted over the last decade (2001-2011). We also considered main focus, techniques used, popularity, comprehensiveness, information availability, and the year of publication, in order to make sure that our review provides a balanced view on context-aware computing research. II. T HE I NTERNET OF T HINGS 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.




The Internet

Mobile Device Mobile Device Host

Mobiles + People + PCs
People Mobile Device Host Host Host Host

Internet of Things

Host Host Web Host Host

Host Host Mobile Device Host Mobile Device Mobile Device Host


Interconnected Objects

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]. 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, environment, 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, semantically, Internet of Things means a world-wide network of interconnected objects uniquely addressable, based on standard communication protocols.” •

Anytime Any context Anything Any device Anyone Anybody

Internet of Things
Any place Anywhere Any path Any Network Any Service Any Business

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].



Definition by [21]: “The Internet of Things allows people and things2 to be connected Anytime, Anyplace, with Anything 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. •

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 networks), 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 research 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 middleware solutions: abstraction support, data fusion, resource constraints, dynamic topology, application knowledge, programming 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].

C. IoT Application Domains The IoT, interconnection and communication between everyday objects, enables many applications in many domains. The application domain can be mainly divided in to three categories 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 logistics [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 water, 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’.



F. Layers in Sensor Networks We have presented a typical structure of a sensor network in Figure 3. It comprises the most common components in a sensor network. As we have shown, with the orange coloured arrows, data flows from right to left. Data is generated by the low-end sensor nodes and high-end sensor nodes. Then, data is collected by mobile and static sink nodes. The sink nodes send the data to low-end computational devices. These devices perform a certain amount of processing on the sensor data. Then, the data is sent to high-end computational devices to be processed further. Finally, data reaches the cloud where it will be shared, stored, and processed significantly. High-end Low-end Computational Computational Devices Devices Sink Nodes Static Sink Node

Cloud (Internet)

Sensor Networks (SN2) High-end Low-end Sensor Sensor Nodes Nodes

Mobile Sink Node
Layer 6 Layer 5 Layer 4 Layer 3 Layer 2 Layer 1

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.

Based on the capabilities of the devices involved in a sensor network, we have identified six layers. Information can be processed in any layer. Capability means the processing, memory, communication, and energy capacity. Capabilities increase from layer one to layer six. Based on our identification of layers, it is evident that an ideal system should understand the capability differences, and perform data management accordingly. It is all about efficiency and effectiveness. For example, perform processing in the first few layers could reduce data communication. However, devices in the first few layers do not have a sufficient amount of energy and processing power to do comprehensive data processing [47]. IoT research needs to find more efficient and effective ways of data management, such as collecting, modelling, reasoning, distributing. G. Relationship Between Sensor Networks and IoT In earlier sections we introduced both IoT and sensor network concepts. In this section we explain the relationship between the two concepts. Previously, we argued that sensor networks are the most essential components of the IoT. Figure 4 illustrates the big picture. The IoT comprises sensors and actuators. The data is collected using sensors. Then, it is processed and decisions are made. Finally, actuators perform the decided actions. This process is further discussed in Section IV. Further, integration between wireless sensor networks and the IoT are comprehensively discussed in [48]. The difference between sensor networks (SN) and the IoT is largely unexplored and blurred. We can elaborate some of the characteristics of both SN and IoT to identify the differences. • 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. Users Services

Applications Internet of Things Middleware + Frameworks + APIs

Sensor Network Firmware Sensors Actuators

Other Technologies

Fig. 4.

Relationship between sensor networks and IoT.

H. Characteristics of the IoT In Section II-G, we highlighted the differences between sensor networks and the IoT. Further, we briefly explore the characteristics of the IoT from a research perspective. Based on



previous research efforts we identified seven major characteristics in the IoT [4]: intelligence, architecture, complex system, size considerations, time considerations, space considerations, and everything-as-a-service. These characteristics need to be considered when developing IoT solutions throughout all the phases from design, development, implement and evaluation. • Intelligence: This means the application of knowledge. 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. Context can be used to fuse sensor data together to infer new knowledge. Once we have knowledge, it can be applied towards more intelligent interaction and communication. • Architecture: IoT should be facilitated by a hybrid architecture which comprises many different architectures. Primarily there would be two architectures: event driven [51] and time driven. Some sensors produce data when an event occurs (e.g. door sensor); the rest produce data continuously, based on specified time frames (e.g. temperature sensor). Mostly, the IoT and SN are event driven [52]. Event-Condition-Action (ECA) rules are commonly used in such systems. • Complex system: The IoT comprises a large number of objects (sensors and actuators) that interact autonomously. New objects will start communicating and existing ones will disappear. Currently, there are millions of sensors deployed around the world [53]. Interactions may differ significantly depending on the objects capabilities. Some objects may have very few capabilities, and as such store very limited information and do no processing at all. In contrast, some objects may have larger memory, processing, and reasoning capabilities, which make them more intelligent. • Size considerations: It is predicted that there will be 50100 billion devices connected to the Internet by 2020 [4]. The IoT needs to facilitate the interaction among these objects. The numbers will grow continuously and will never decrease. Similar to the number of objects, number of interactions may also increase significantly. • Time considerations: The IoT could handle billions of parallel and simultaneous events, due to the massive number of interactions. Real-time data processing is essential. • Space considerations: The precise geographic location of a object will be critical [54] as location plays a significant role in context-aware computing. When the number of objects get larger, tracking becomes a key requirement. Interactions are highly dependent on their locations, their surroundings, and presence of other entities (e.g. objects and people). • Everything-as-a-service: Due to the popularity of cloud computing [55], consuming resources as a service [56] such as Platform-as-a-Service (PaaS), Infrastructure-as-aService (IaaS), Software-as-a-Service (SaaS), has become main stream. Everything-as-a-service [57] model is highly efficient, scalable, and easy to use. IoT demands significant amounts of infrastructure to be put in place in order to make its vision a reality, where it would follow a community or crowd based approach. Therefore, sharing would be essential, where an everything-as-a-service model would suit mostly sensing-as-a-service [5].

I. Middleware Support for IoT As we 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 [58].” The functionalities required by IoT middleware solutions are explained in detail in [4], [19], [20], [21], [29]. In addition, challenges in developing middleware solutions for the IoT are discussed in [59]. We present the summary of a survey conducted by Bandyopadhyay et al. [14]. 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. Table I shows the survey results. By the time we were preparing this survey, some of the middleware solutions listed (i.e. GSN and ASPIRE) were in the processing of extending towards next generation solutions (i.e. EU FP7 project OpenIoT (20122014) [60]) by combining each other’s strengths. TABLE I I OT M IDDLEWARE C OMPARISON [14] Middleware Hydra [61] ISMB [62] ASPIRE [63] UBIWARE [64] UBISOAP [65] UBIROAD [66] GSN [67] SMEPP [68] SOCRADES [69] SIRENA [70] WHEREX [71] × × × × × × × × × × × × × × × × × DM I PP CA SP

Legend: Device Management (DM), Interoperation (I), Platform Portability (PP), Context Awareness (CA), Security & Privacy (SP)

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 contrast, almost all the solutions are highly focused on device management, which involves connecting sensors to the IoT middleware. 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. We discuss the issues and drawbacks with existing solutions, in detail, in Section V. We discuss some of the research directions in Section VII. In this section, we introduced the IoT paradigm and highlighted the importance of context-awareness for the IoT. We 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 we discuss context-aware fundamentals that helps us understand the in-depth discussions in the later sections.



III. C ONTEXT AWARENESS F UNDAMENTALS This section discusses definitions of context and context awareness, context-aware features, types of context and categorisation schemes, different levels and characteristics of context-awareness, and finally, context management design principles in the IoT paradigm. A. Context-awareness Related Definitions 1) Definition of Context: The term context has been defined by many researchers. Dey et al. [72] evaluated and highlighted the weaknesses of these definitions. Dey claimed that the definition provided by Schilit and Theimer [2] was based on examples and cannot be used to identify new context. Further, Dey claimed that definitions provided by Brown [73], Franklin and Flachsbart [74], Rodden et al. [75], Hull et al. [76], and Ward et al. [77] used synonyms to refer to context, such as environment and situation. Therefore, these definitions also cannot be used to identify new context. Abowd and Mynatt [78] identified the five W’s (Who, What, Where, When, Why) as the minimum information that is necessary to understand context. Schilit et al. [79] and Pascoe [80] have also defined the term context. Dey claimed that these definitions were too specific and cannot be used to identify context in a broader sense and provided a definition for context as follows: “Context is any information that can be used to characterise the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves [3].” We accept the definition of context provided by Abowd et al. [3] to be used in this research work, because this definition can be used to identify context from data in general. If we consider a data element, by using this definition, we can easily identify whether the data element is context or not. A number of dictionaries have also defined and explained the word context: • Synonyms [81]: “Circumstance, situation, phase, position, posture, attitude, place, point; terms; regime; footing, standing, status, occasion, surroundings, environment, location, dependence.” • Definition by FOLDOC [82]: “That which surrounds, and gives meaning to, something else.” • Definition by WordNet [83]: “Discourse that surrounds a language unit and helps to determine its interpretation” • Definition by Longman [84]: “The situation, events, or information that are related to something and that help you to understand it” In addition, Sanchez et al. [85] explained the distinction between raw data and context information as follows: • Raw (sensor) data: Is unprocessed and retrieved directly from the data source, such as sensors. • Context information: Is generated by processing raw sensor data. Further, it is checked for consistency and meta data is added. For example, the sensor readings produced by GPS sensors can be considered as raw sensor data. Once we put the GPS sensor readings in such a way that it represents a geographical

location, we call it context information. Therefore in general, the raw data values produced by sensors can be considered as data. If this data can be used to generate context information, we identify these data as context. Therefore, mostly what we capture from sensors are data not the context information. Ahn and Kim [86] define context (also called compound events) as a set of interrelated events with logical and timing relations among them. They also define an event as an occurrence that triggers a condition in a target area. There are two categories of events: discrete events and continuous events. If the sampling rate is p: • Discrete events: An event that occurs at time t and t + p, there are considered to have been two separate event instances. (e.g. a door open, lights on, etc.) • Continuous events: An event instance lasting for at least time p, where an event occurring at time t and t + p, cannot be considered as two separate events. (e.g. raining, having a shower, driving a car, etc.) 2) Definition of Context-awareness: The term context awareness, also called sentient, was first introduced by Schilit and Theimer [2] in 1994. Later, it was defined by Ryan et al. [87]. In both cases, the focus was on computer applications and systems. As stated by Abowd et al. [3], those definitions are too specific and cannot be used to identify whether a given system is a context-aware system or not. Therefore, Dey has defined the term context-awareness as follows: “A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task. [3]” We accept the above definition on context-awareness to be used in our research work, because we can use this definition to identify context-aware systems from the rest. If we consider a system, by using this definition we can easily identify whether this system is a context-aware system or not. Context awareness frameworks typically should support acquisition, representation, delivery, and reaction [72]. In addition, there 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 smart refrigerator [90] in the home to retrieve the shopping list and present it to the user. This provides the idea of presenting information based on context such as location, time, etc. By definition, IoT promises to provide any service anytime, anyplace, with anything and anyone, ideally using any path/network. • Execution: Automatic execution of services is also a critical feature in the IoT paradigm. Let us consider a smart home [22] environment. When a user starts driving home from their office, the IoT application employed in the house should switch on the air condition system and switch on the coffee machine to be ready to use by the time the user steps into their house. These actions need to be taken automatically based on the context. Machine-to-machine communication is a significant part of the IoT. • Tagging: In the IoT paradigm, there will be a large number of sensors attached to everyday objects. These objects will produce large volumes of sensor data that has to be collected, analysed, fused and interpreted [91]. Sensor data produced by a single sensor will not provide the necessary information

that can be used to fully understand the situation. Therefore, sensor data collected through multiple sensors needs to be fused together. In order to accomplish the sensor data fusion task, context needs to be collected. Context needs to be tagged together with the sensor data to be processed and understood later. Context annotation plays a significant role in context-aware computing research. We also call this tagging operation as annotation as well. C. Context Types and Categorisation Schemes Different researchers have identified context types differently based of different perspectives. Abowd et al. [3] introduced one of the leading mechanisms of defining context types. They identified location, identity, time, and activity as the primary context types. Further, they defined secondary context as the context that can be found using primary context. For example, given primary context such as a person’s identity, we can acquire many pieces of related information such as phone numbers, addresses, email addresses, etc. However, using this definition we are unable to identify the type of a given context. Let us consider two GPS sensors located in two different locations. We can retrieve GPS values to identify the position of each sensor. However, we can only find the distance between the two sensors by performing calculations based on the raw values generated by the two sensor. The question is, ‘what is the category that distance belongs to?’ ‘is it primary or secondary?’ The distance is not just a value that we sensed. We computed the distance by fusing two pieces of context. The above definition does not represent this accurately. Thus, we define a context categorisation scheme (i.e. primary and secondary) that can be used to classify a given data value (e.g. single data item such as current time) of context in terms of an operational perspective (i.e. how the data was acquired). However, the same data value can be considered as primary context in one scenario and secondary context in another. For example, if we collect the blood pressure level of a patient directly from a sensor attached to the patient, it could be identified as primary context. However, if we derive the same information from a patient’s health record by connecting to the hospital database, we call it secondary context. Therefore, the same information can be acquired using different techniques. It is important to understand that the quality, validity, accuracy, cost and effort of acquisition, etc. may varied significantly based on the techniques used. This would be more challenging in the IoT paradigm, because there would be a large amount of data sources that can be used to retrieve the same data value. To decide which source and technique to use would be a difficult task. We will revisit this challenge in Section VI. In addition, a similar type of context information can be classified as both primary and secondary. For example, location can be raw GPS data values or the name of the location (e.g. city, road, restaurant). Therefore, identifying a location as primary context without examining how the data has been collected is fairly inaccurate. Figure 5 depicts how the context can be identified using our context type definitions.



TABLE II D IFFERENT C ONTEXT C ATEGORISATION S CHEMES AND T HEIR S COPES (2006) Miao and Yuan [96] (2005) Van Bunningen [95]

(2000) Chen and Kotz [6]

(2003) Henricksen [89]

(2003) Prekop & Burnett [92], Gustavsen [93], Hofer [94]

(2009) Mei & Easterbrook [100]

(2007) Guan [97]

Context Types 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)

Categories of Context (Conceptual Perspective) Activity Time Identity Location

Primary context: Any information retrieved without using existing context and without performing any kind of sensor data fusion operations (e.g. GPS sensor readings as location information). • Secondary context: Any information that can be computed using primary context. The secondary context can be computed by using sensor data fusion operations or data retrieval operations such as web service calls (e.g. identify the distance between two sensors by applying sensor data fusion operations on two raw GPS sensor values). Further, retrieved context such as phone numbers, addresses, email addresses, birthdays, list of friends from a contact information provider based on a personal identity as the primary context can also be identified as secondary context. •

Categories of Context (Operational Perspective) Primary Secondary Distance of two sensors computed using GPS values Image of a map retrieved from map service provider Retrieve friend list from users Facebook profile Identify a face of a person using facial recognition system Calculate the season based on the weather information Predict the time based on the current activity and calender Predict the user activity based on the user calender Find the user activity based on mobile phone sensors such as GPS, gyroscope, accelerometer

Location data from GPS sensor (e.g. longitude and latitude)

Identify user based on RFID tag

Read time from a clock

We acknowledge location, identity, time, and activity as important context information. The IoT paradigm needs to consider more comprehensive categorisation schemes in a hierarchical manner, such as major categories, sub categories and so on. Operational categorisation schemes allow us to understand the issues and challenges in data acquisition techniques, as well as quality and cost factors related to context. In contrast, conceptual categorisation allows an understanding of the conceptual relationships between context. We have to integrate perspective in order to model context precisely. We compare different context categorisation schemes in Table IV.

Identify opening door activity from a door sensor

Fig. 5. Context categorisation in two different perspectives: conceptual and operational. It shows why both operational and conceptual categorisation schemes are important in IoT paradigm as the capture different perspectives.

In addition to the two categorisation schemes we discussed earlier there are several other schemes introduced by different researchers focusing on different perspectives. Further, we highlight relationships between different context categories

(2011) Yanwei [103]

(2010) Rizou [101]

(1994) Schilit [79]

(1994) Schilit [79]

(2007) Chong [98]

(2009) Zhong [99]

(1999) Abowd [3]

(1997) Ryan [87]

(2011) Liu [102]



TABLE III R ELATIONSHIP B ETWEEN D IFFERENT C ONTEXT C ATEGORIES High-level (Non-Observable) Low-level (Observable) Physical (Environment)

Computing (System)

External (Physical)

Where (Location)


Read more


-01 -0105 -0121 -02 -03 -04 -05 -06 -07 -08 -0815 -10 -11 -12 -15 -18 -2 -20 -2007 -2009 -2011 -2012 -2020 -21 -23 -25 -26 -28 -287305 -29 -30 -5 -7 -98 /10. /10.1007/11669463 /10.1007/3-540-45756-9 /10.1007/978-3-540-24646-6 /10.1007/978-3-54024606-0 /10.1007/978-3-54079996-2 /10.1007/978-3-642-03819-8 /10.1007/978-3-642-04471-7 /10.1007/978-3-64202830-4 /10.1007/9781-4419-1674-7 /10.1007/s11036-008-0104-y /10.1016/j.comnet.2010.05.010 /10.1016/j.jnca.2004.06.002 /10.1016/j.pmcj.2007.10.002 /10.1016/j.pmcj.2009. /10.1016/s0169-023x(97)00056-6 /10.1049/cp /10.1109/ /10.1109/5.554205 /10.1109/65.313011 /10.1109/98.626982 /10.1109/98.944006 /10.1109/acct.2012.15 /10.1109/aina.2010.153 /10.1109/artcom.2009.85 /10.1109/bimnics.2006.361803 /10.1109/centric. /10.1109/conielecomp.2007.67 /10.1109/cse.2009.201 /10.1109/csss.2011.5972040 /10.1109/eit.2010.5612118 /10.1109/euc.2011.9 /10.1109/fgcn.2008.169 /10.1109/fose.2007.2 /10.1109/greencomcpscom.2010.22 /10.1109/hicss.2003. /10.1109/icacte.2010.5579543 /10.1109/icas.2010.17 /10.1109/iccas.2008.4694191 /10.1109/iccsa.2010.48 /10.1109/icdim.2007.4444272 /10.1109/icdim.2008.4746772 /10.1109/iciw.2010.50 /10.1109/icniconsmcl.2006.196 /10.1109/icpads.2009.146 /10.1109/icpca.2011.6106531 /10.1109/icppw.2006.18 /10.1109/icsnc.2008.55 /10.1109/ieeestd.2007.4346346 /10.1109/ieem.2008.4738203 /10.1109/innovations.2011.5893849 /10.1109/inss.2010.5573467 /10.1109/iscc. /10.1109/iscc.2009.5202318 /10.1109/iscc.2009.5202323 /10.1109/issnip.2007.4496818 /10.1109/iswc.1997.629931 /10.1109/iswc.1998.729534 /10.1109/iswpc.2010.5483728 /10.1109/iswpc.2010.5483753 /10.1109/itime.2011.6132129 /10.1109/iucs.2010.5666772 /10.1109/mc.2011.67 /10.1109/mcom.2002.1024422 /10.1109/mcom.2010.5560598 /10.1109/mcsa.1994.512740 /10.1109/mdm.2007.66 /10.1109/mdm.2011.55 /10.1109/mdso.2006.28 /10.1109/mfi.2008.4648011 /10.1109/mic.2004.66 /10.1109/mic.2009.143 /10.1109/mobiq. /10.1109/mobiqw.2006.361743 /10.1109/mprv.2002.1012334 /10.1109/mprv.2002.1158281 /10.1109/mprv.2003.1228526 /10.1109/mprv.2004.1269130 /10.1109/nesea.2010.5678060 /10.1109/ntms.2009.5384713 /10.1109/percom.2008.56 /10.1109/percomw.2004.1276898 /10.1109/pimrc.2009.5449966 /10.1109/smap.2008.10 /10.1109/tce.2007.4429229 /10.1109/tnsm.2006.4798306 /10.1109/tsc.2010.60 /10.1109/tse.2003. /10.1109/tsmcb.2008.923526 /10.1109/ubicomm.2008.67 /10.1109/udm.2005.7 /10.1109/vetecs.2008.618 /10.1109/wiiat.2010.190 /10.1109/wimob.2010.5645051 /10.1109/wmute.2008.10 /10.1109/ycict.2009.5382404 /10.1145/1056808.1057042 /10.1145/1101480.1101489 /10.1145/1267070.1267073 /10.1145/1378063.1378070 /10.1145/1387269.1387296 /10.1145/1518701.1518832 /10.1145/1526709. /10.1145/1551693.1551697 /10.1145/1839707.1839763 /10.1145/1864349.1864353 /10.1145/2070942. /10.1145/2184751.2184881 /10.1145/329124.329126 /10.1145/344949.344988 /10.1145/570738.570751 /10.1504/ /11619/ /2001/sw/wiki/rdfs /2004/owl/ /7444/1/ /academic/ /ai/papers/icinco-2008.pdf /article /catalog/product /citation.cfm?id=1332044.1332069 /citation.cfm?id=1763142. /citation.cfm?id=2019445. /citation.cfm?id=646258.683987 /citation.cfm?id=647985.743843 /citation.cfm?id=827987.828003 /computer/database+management+%26+ /digital-life/hometech/lg-smart-fridge-tellsyou-what-to-buy-cook-and-eat-20120110-1ps9z.html / /dms /docs/75.pdf /docs/mikhail-simonov.pdf / / / / / / / / / /editions/1.0/ /fce/contexttoolkit/pubs/manse99.pdf /ftp/cs/papers/0209/0209021.pdf / /icecc.2011.6066672 /inconsistency /index.php/scpe/article/view/ /index/ / /information /information-society/activities/ /j.pmcj.2007.10.001 /journal/ijcses/papers/0811cses07.pdf /journal/paperdownload.aspx?paperid=2345 /journals/ijmue/vol4 /jrb/intro.pdf /key-value /modules/admin/license /news/semantic-web-for-the-working-ontologist-2ndedition-effective-modeling-in-rdfs-and-owl-by-dean-allemang-jameshendler /page/foundations /pdf/iot /pdfs/8786/intech-challenges /pellet/ /people/barkhuus/ / /projects/jds/ /publications/ /publications/ceur-ws/vol-522/p6.pdf /publications/phd-thesis.pdf /pubs/1998/616 /resources/125900/125949/ /staff/lucafoschini/ /submission/swrl/ /viewdoc/download? /vital/access/handleresolver/1959.9/122313 /vol-146/paper7.pdf /what-is-ecm-enterprise-contentmanagement.aspx /wileycda/wileytitle/ / / / / /xpls/abs 0 01 02 0200 03 05 06 06.002 07 08 09 1 1.0 1.5 1.63 10 10.1016 10.1109 100 101 1017/s0269888900007797 102 1022 1025 103 104 105 106 107 108 1083 1085 109 10pm 11 110 1109/icas.2010.21 1109/percomw.2007.115 111 112 113 114 115 116 11681176 117 1174831 118 119 12 120 1207/s15327051hci16234 121 122 123 1237173 124 125 126 12606 127 128 129 12th 13 130 1305.0982 131 132 133 134 135 136 137 138 139 1393 14 140 1400 141 142 143 144 145 1451.5 146 147 148 149 15 150 151 1515915.1515926 152 1526788 153 154 155 156 1569 157 1574 158 159 15th 16 160 161 162 163 164 165 166 167 168 169 17 170 171 172 173 174 175 176 1763181 177 178 179 18 180 181 182 183 184 185 186 1865 1868 187 188 189 18th 19 190 1904 1908 191 192 193 194 195 196 1960s 197 198 1980s 1987 1989 199 1990s 1991 1994 1995 1996 1997 1998 1999 1st 2 2.0 20 200 2000 2001 2002 2003 2004 2004.1331740 2005 2006 2007 2008 2009 2009.pdf 2009/1.pdf 20094 201 2010 2010.29 2010.5546645 2010.pdf 2011 201112 2012 20122014 2013 201301 2015 2016 2019450 202 2020 203 204 205 206 207 2070978 208 209 20eng.pdf 20sept-02.pdf 20th 21 210 211 212 213 214 215 216 217 218 219 21st 22 220 221 222 223 224 225 226 227 228 229 23 230 2309 231 2313 236 238 24 244 247 24th 25 253 258 259 25th 26 2601 263 265 266 27 272 275 277 2787 27th 28 2805 2834 2838 286 2893 29 2920 292302 293 2944 2947 295 2g 2nd 3 3.0 30 3001 302 304 307 31 315 319 32 325 327/17 33 330 335 336 337 338 34 342 343 347 35 352 36 363 365 366 367 36th 37 370 372 376 379 38 380 382 3868 39 394 398 3fartifact 3g 3rd 4 4.0 40 400 403 404 41 42 43 430 433 437 44 440 4449917 45 451 458 46 4611/epfl 464 469 47 473 475 478 48 49 492 498 499 4km/h 4th 5 50 500 50100 504 505 51 514 516 5195749 52 522 53 532 533 535 538 54 55 56 56.3 57 571 5741 577 58 581 582 583 59 590 5th 6 6.00 6.1 60 606 61 613 62 62.8 620 627 63 64 65 659 66 663 67 68 69 6th 7 7.8 70 71 7181 72 73 74 75 76 77 78 79 7th 8 80 804 809 81 82 83 84 85 859 86 868 87 874 88 882 888 89 891 895 8th 9 9.30 9/1 9/55 90 91 91.5 92 929 93 94 945 95 96 97 98 99 9th a11 a16 a3 aaai abbrevi abil abl abowd abstract academia acc acceleromet accept acces access accommod accomplish accord acct accur accuraci achiev acknowledg acm acm/ifip/usenix acom acoust acquir acquisit across acsw act acta action activ actual actuat acycl ad ad-hoc adam adapt add addit address addressbookcp administr adopt advanc advantag advertis aerospac afb agenda agent aggreg agilla agoulmin agreement.php agricultur aham ahn aid aiim aim aina air akan akyildiz al alabama alam albano alcaraz alert algorithm align all.jsp allemang allianc alloc allow almost alnemr alon alreadi also alter altern altmann alway alzua ambient ambigu american amigo among amount anagnostou analys analysi and/or anderson andparsia andrdena android anguag anim annot annual anoth answer antoniou anu anybodi anyon anyplac anyth anytim anywher aper api app appear appl appli applianc applic application-level appoint appreci approach appropri approv approxim apr april arbitrarili archaeolog architect architectur archiv area aren argu aris arizona arkadi arkouli arnumb around arriv arrow artcom artifici arxiv aservic ashton asin aspect aspir assess assist associ associati assumpt ategori ategoris atkeson attach attain attempt attent attitud attribut attribute-valu atzori auction audio aug august aura australasian australia australian author auto auto-id autom automat automot autonom autumn avail aviat avoid awar away axiom b b6 back back-propag background backup badidi badii baek baker balanc balavalad baldauf bandwidth bandyopadhyay banerje bangalor barbero barkhuus barnaghi base bash basic batteri bauer bay bayesian bcc be becam beckwith becom bedford bedford-robert beer begin behav behavior behaviour behind beijnum believ bellavista belong benefit benjamin berlin bernardo best better bettini beyond biblion.ep bid big bikaki bikakis/pubs/survey-ami07.pdf biliti billion binari bind bio bio-inspir biolog bionet birthday bit bizer block blood bluetooth blunsom blur bobek bodi bohn book boro boston bott bouki bound boundari boyd brdiczka break breed bridg brief briefing briefli brigad bring british broad broader brock brogi broker brokercentr brook brown bruni bsn buchholz build built bulcao bundl bunningen burnett burrel bush busi buy c c-cast c1 ca caf cafe calcul calend calendar call cam came camera camowin campbel campo canberra cannata cannot cao capa capabilities/preference capabl capac caporuscio cappellari capra captur car cardin care carisma carnot carri casaleggio casar casda case case-bas casn casp cast castelli castro categori categoris caus causal cayirci cc/pp cda cdms cecnet cecnet.2011.5768647 cee celsius cem center centr central centralis centric centuri cerp cerp-iot cerqueira certain certainti ceur ch ch/epfl/theses/2010 chain chakraborti challeng chang chantzara chapman charact characteris characterist charith chart chat chatzimisio chaudhari chave cheap cheaper check cheme chen chervest chi china chip cho choi chong choos choudhuri chowdhuri christen chronolog chu chung cipriani circumst cis citat citi cla claim clark class classifi classifi classific claypool clean clear client client-serv clock close closer cloud cloud-bas cluster clusterbook cm cmf cmn cms co co-fund cobra coco cocograph code codeblu coffe cognit coin cold collabor collect collector colleg colour column com com/article/print/4986 com/dictionary/context com/report/sensors-technologies-markets-ias006d.html com3 comb combin come comihoc commerci commiss common commonwealth communic communiti como compani compar comparison compat complement complementari complet complex compon compos composit compound comprehens compris compton comput computation-bas computer-human comunicacion con conan concentr concept conceptu conceptualis concern conclus concret concurr condit condor conduct conf/ubicomp2002-models/pdf/gustavsen-goteborg confer configur conflict congress connect consensu consid consider consist consolid consortium constant constrain constraint construct consum consumpt contact contain contemporari content contest context context-as-a-servic context-awar context-bas context-onto context-ori context-reason context-rich context-sensit context-specific context1 contextawar contextml contextu continu contract contrast contribut control convers convert confidenc configur conflict cook cool coordin copal cope corcho core corradi correct correspond cosar cosmos cost cougar could coulson count coupl cover cp cps cpscom creat creation crisp criteria critic croco crop cross cross-appl cross-domain cross-system crouch crowd crowley crucial cse csiro csss csur.pdf cucinotta culler current custom customis cxaa cyan/cs7960/hmmtutorial.pdf cyber cyber-phys cybernet cycl d da dai daqc dargi dark darlinghurst dartmouth dash data data-centr databas dataset date davi davidson day dayto dayto-day dc dcm de deal debug dec decad decemb decid decis decker decoupl decreas dedic deduc deduct degre delet delicato deliv deliveri demand demonstr dempster dempster-shaf dempstershaf denot dent depart depend depict deploy depth deriv describ descript design design-tim desktop despit destin destruct detail detect detector determin devaraju develop development/ontology101.pdf devic dey defin definit dian diari diaz dictionari differ difficult digest digit dimens dimitrio direct directori dis disadvantag disappear disast discount discours discov discoveri discret discuss diseas disposit dissemin dissert distanc distinct distract distraction-fre distribuida distribut divers divid dix djnhu2gvpv7cqltv.pdf dl dm dms dms-ca document documents/iotprague2009.pdf doesn dohr doi domain domain-independ domest done donoghu donsez door dot douka drawback dressler dri drive driven driver drobic drool du due dull durr dustdar dutta dynam e e-mail e-sens e.g ea earli earlier earliest earn easi easier easiest easili eason east easterbrook eat eb eca echniqu ecis ecm ecol economi ecora ed eda edinburgh edit edito edu educ efer effect effort efficienc efficient ehealth eight eit either ejigu ela elabor elationship electr electro/information electron element elnahrawi els email emant emb embed emerg emmerich emocasn emphas emphasi emphasis employ en/cjfdtotalhdsz200905002.htm enabl enactor encapsul encod encompass encount end end-to-end end-us endler energi energis engin english enhanc enorm enough enrich ensor ensur enter enterpris entertain entir entiti entri enviro environ environment envirotrack envis epc epfl eposs epresent equip era erron error erver esearch esn espons essenti esson establish estim et etc ethod etp etween eu euc euc.2008.168 euc.2008.27 european eurossc evalu even event event-condition-act event-driven event/action ever everi everyday everyth everything-as-a-servic evi evid evolut evolv exact examin exampl exceed exclud execut exhaust exist expand expect experi experiment expir explain explan explicit exploit explor exponenti express extend extens extent extern extract extraordinari extrem exxon ezcontext f face facebook facial facil facilit fact faction factor factplusplus fair fall famili familiar fanelli farm fashion faster fault favourit feasibl featur feb februari fed feder federal fee feed feedback feel feng fenn fensel ferrari ferscha fgcn fi fifth fig figur filho fill filter final find finin firmwar firner first first-ord fitton five flachsbart flexibl flore focus foi/events foldoc follow foot forecast form formal format foschini fose found foundat four fp7 fp7-ict fra frame framework framework-to-framework frameworkto frameworkto-appl frank franklin free freita frequenc frequent freri fresh fridg friedrich friend friess frontier frost fulford fulford-jon full fulli function fund fundament furthermor fuse fusion futur fuzzi g gadget gaffney gaia gain gap garcia garcia-castro garlan gartner gas gascon gashti gateway gather general generat generic genet geograph georgakopoulo georganta georgia geosensor geospati gerla germani gerosa get girod girod-genet giusto give given global gluhak go goal gobbi goeteborg golatowski goldsack gome gomez good govern gps graca granelli graph graphic graviti greater green greencom greencom-cpscom grid ground ground-break group grow growth gruning gsn gu guan guangzhou guarante guid guidelin guillemin guinard guo gustavsen gyroscop h habitat haihong haitao hall hall/crc halleng han handheld handl hanov happen hard hardwar hardware/driver hartley hausenbla haussermann hauswirth hawaii hayakawa hayden hayn hci hcom health healthcar heat heath heavili heidelberg heijenk heir help helsinki hendler henricksen henson herald herbert hess heterogen hicss hidden hierarch hierarchi hifi high high-end high-level higher higher-level highlevel highlight hing his/her histor histori hitzler hoc hofer hoh hold home home/of homogen hood hop hopper hospit host hot hou hourglass hous howard howev hsiao http hu huaifeng huang hub huberman huc huge huh hull hum human human-comput humanori humid hwang hybrid hydra hydra3 hydrogen hyne hysic hyun i.e i/o iaa iast iat ica icact icann icas07 icca icdim icecc icicta icinco icinco-icso iciw icn/icons/mcl icp icpad icpca icpca.2010.5704122 icppw icsnc icso ict icuimc id iddlewar idea ideal ident identifi identifi identific ie ieee ieee/acm ieee/ifip ieee/wic/acm ieem iera iet if-then-els ife iffer ifip ii ii-c ii-d ii-f ii-g iii iii-a3 iii-c iit ijahuc.2007.014070 illustr ilm imag immatur impact impala imperfect implant implement implementation/code implicit import impos imposs imprecis improv in-depend in-depth inaccur inaccuraci inbuilt inc includ incom incomplet inconsist incorpor increas increment independ index india individu indoor indulska industri ineffici infanc infeas infer inferenc info.php inform informat infra infra-r infrastructur infrastructure-as-a-servic infrastructure-as-aservic initi inner inner-work innov input insert inspir inss instal instanc instant instead institut instruct instrument insur int integr intellig intelligent/knowledge intend intens intensifi intent inter inter-middlewar interact interchang interconnect interdepend interdisciplinari interest interfac intermedi intern internet internet-en internet-of-th interoper interpret interrel interv intervent intra intra-domain introduc introduct intuit invalid invest investig involv infiltrat iot ip ip-bas ipc ipc.2007.102 ipv6 irect irisnet irrig irtual iscc isemant isis isise.2008.202 ismb isol issarni issnip issu ist ist-amigo iswc iswpc it/pubblicazioni/focus item iter itm itng itr itre.2005.1503053 itu iuc iv iv-a iv-b iv-b6 iv-c iv-d ix ifip j jack jacob jain jan januari jardosh java javabean jawhar jayaraman jena jian jin john join jone joshi journal json jul juli jun jun-zhong june justifi justific jwebdust jyvaskyla k k-mean k-nearest kagal karl kashitani katasonov kaufmann kawsar kaykova kefalaki kela keranen kessler kevin key key-valu keyvalu khoo khriyenko kiani kim kind king kishino kitchen kjaer knappmey know knowledg knowledge-bas known ko kobayashi kohonen konstantinou koo korel korpipaa kortuem kotz kraus krishnaswami krtzsch ksom kwon l la la-web label labrinidi lack laerhoven lake lallah lamsfus lane languag lanza laptop larg larger lassila last [email protected] late later latest latin latitud lausann lay layer le le-phuoc lead learn learner learnt least leav lectur lee lefort left legend leonhartsberg leontiadi less lesson let leusen level leverag lexic lg li liapi libelium librari licens lie life lifecycl light light-weight lightweight like lim limit lin linden line linear ling link linksmart linner linnhoff linnhoff-popien list literatur littl liu live llc llina local locat logic logic-bas logist loke london long longer longitud longman look lookup loop loos lopez lose loureiro low low-end low-level lower lower-level lowest lowlevel lu lyu m m2m ma machin machine-to-machin machine-to-person machine-tomachin machineri macroeconom made magazin maglogianni magnet magnitud mail main maintain mainten mainwar maiti major make makri malan malm mamei man manag manet mani manipul manley manner mantyjarvi manual manufactur manuscript manvi map march mark mark-up market markov markup martin mascolo mash mash-up mashup massiv masuoka match mate materi mathemat matter mattern maximis maxwel may mayb mccauley mcguin mdm mdw/papers/codeblue-bsn04.pdf mean meaning measur mechan media medic medicin meet mei meinel meissner melbourn mem member membership memori mental mention merg mesh messag met meta meta-data meter method metropolitan mfi miao micro microphon microwav middlewar middleware-bas midsen million miluzzo mimic mine minim minimis minimum minnolo mire miss misus mit mitig mitrou mitschick mob mobid mobil mobile-internet mobile/ccpp mobilitybas mobiquit moca mode model moder modifi modr modre-opsrian modul moessner moham molla moltchanov moment monitor month moor morabito morbidoni morgan morn mors mose mosquito most motion motiv moulton move movement mpac much mule multi multi-confer multi-hop multi-model multi-sensor multicast multimedia multipl multisensor must mynatt n nagi nahrstedt naiv najera nakamura name nano nanostack narrowli nath nation natur naïv nearbi nearest neav necessari necessarili need negat neglect neighbor neighbour neng nesea net neto netw network network-bas neuhaus neural neuron never new newberg newest newli next ng nh nickla nikitin nishio nittel nj no4 node nois noll non non-ip non-numer non-observ non-prior non-rel non-specialis non-taxonom non-techn nonshar normal nosql note notic notifi notion notifi notific nottingham/england nov nova novel novemb noy nstant nternet nterval ntms ntolog ntroduct nuaimi number numer nurmi ny o ob object object-ori observ occas occur occurr oct octob octopus odel odmrp offer often offic ogc ogic oh old oldest olif olsen omparison on-demand on-go on-lin onclus one onlin ontext onto ontolog ontologist ontology-bas ooda open open-sourc opengi openiot oper opportun opsrian optim optimis option orang order ordinari org org/context org/rdf organ organis orient origin orm osn ot other ourc out-of-d outcom outdoor outlier output outsid overcom overhead overlap overview owl owner oxford p paa pace padovitz page pair palazzo pan paper paradigm parallel paramet park parreira part parti partial particular paschk pasco passiv past patel path path/network patidar patient patko pattern patternbas pawar pay pcs pdas pdf pdfdocs/context pearson peebl peer peer-to-p peizhi pellet peopl per percival percom percomw percomw.2004.1276902 perera perfect perform perich period perman persist person personalis perspect perttunen pervas pervasive/ubiquitous peter [email protected] peterson ph ph.d phase phenomenon phone phuoc phynet physic pichler pictur piec pierr pietschmann pimentel pipe pirmez piscataway place plan plant platform platform-as-a-servic play plexousaki plug plug-in pluggabl plugin pnevmatikaki point polastr polic polici polish poller pollut polymenako polytechniqu ponent poortinga popescu popien popular port portabl pose posit possibl poster postur potenti potomac power pp pproach practic prant pre pre-process pre-filter precis predefin predic predict prefer prekop preliminari prepar preprocess presenc present preserv press presser pressur previous priamo primari primarili principl prioriti prism privaci privat proactiv probabilist probabl problem procedur proceed process processor procon produc product productcd-ehep000983.html profil program project prolog promis promot prone propag proper properti propos pros protect protocol prototyp prove proven provid provis provision proxi profil pub/itu-s/opb/pol/ public publish publish/subscribe pujoll puliafito pull pung purplepickl purpos push put q qian qing qoc qos qualiti quality-awar quality-of queensland queri question quick r racer radio radusch rain ramparani rane rang ranganathan ranjan rank ranking/pdf rapid rare raskino rate rather raubal raverdi raw rcdb rcooper/iccm2009/proceedings/papers/0090/paper0090.pdf rdf rdfs rdql re re-us reach reaction read readabl reader readi real real-tim real-world realis realist realiti realli reason receipt receiv recent recogn recognis recognit recommend reconnect reconfigur record recycl red redana redirect reduc redund reed reetz refer refere refriger regard regardless regim regist registr registri reignier reinek relat relationship releas relev reliabl remain remark remov rep rep1 reparatum replac report reports/tr2000-381.pdf repositori repres represent reprocess requenc request requir research resid resolut resolv resourc resource-limit resource-rich respect respons rest restaur restrict result resum retail retent retriev retrieval/book/978-3-642-15969-5 retschitzegg return reus reusabl reveal review revis revisit revolutionis reward reynold reflect rfid ribeiro riboni rich riekki right risk rizou rmer road roadmap roantre robert robin robinson robust rocha rodden role roman room rooney rosenberg rosi rotat rothermel rototyp rotrou rout rouvoy row rql rspsi rss rudolph rule rule-bas rule-min ruleml run run-tim runtim ryan rfid saa saeed sahni salber sale salehi sampl sanchez sankarasubramaniam satellit satisfact satisfi satisfi save scalabl scale scc scc.2009.49 scenario schema scheme schiffer schilit schmalenstro schmidt schmitt school schott schreier schwinger scienc scientist scientific sck sconstream scope scotton scottsdal scuturici search season seciot second secondari section secur see seek seem seen sehic seinturi select selector self self-organ selfmanag semant semantic-bas semantics-bas semi semi-autom senaa send sengupta sens sensi sensing-as-a-servic sensit sensor sensor-net sensorbas sensorml sensornet sensorstream sent sentient sep sep/oct separ seppanen sept septemb ser seri serial serious serv server servic service-ori serviceori set seven seventh sever shaeib shafer share sheet shen sheth shin sho shop short show shower shown shtykh shuaib shulski shut siewiorek sigmod/pods signal signific silent sim similar simonov simpl simpler simplest simplic simplific simultan sina sinc singl sink sirena situat situationawar six sixth size skiani skouta slide slight slow smailag small smaller smap smart smarter smepp smith smoke smooth sn sn2 snia sns socam social societi society/policy/r socrad softwar software-as-a-servic soil solar soldato solid solidaki solut solv solver someth son song soon sophist sound sourc souza sp space span spano spatial spbca special specialis specif specifi specifi specific spontan spring springer springer-verlag sql ss ssn ssn09 stack stage stamp stan stand standalon standard standardis stanford start state stathopoulo static station statist status stavrou stay std steenkist stefanidi steggl steglich step stick stick- stikic still stimul stop storag store straightforward strang strassberg strateg strategi stream streibel strength stress strong structur student studer style su sub subject subscrib subscript subset substanti success sufficient suit suitabl summar summari summaris sun sundmaek sundramoorthi sunsit super supermarket supervis supplement suppli supplier support suppos suppresshead sure surround surv survey suspend sutagundar sutton sweden switch swrl sydney symbol symposium symptom synchron syndic synonym syntax synthesi synthesis system system-context system-gener szewczyk szydlowski tabl tablet tackl tag taisch take taken taleb tall tang tangibl target tarrio task taxonom taxonomi tcp tcp/ip tech technic techniqu technolog ted telecommun tell temperatur tempor temporari temporarili tempus ten terada term termin terziyan test text textual teymourian th4611.pdf theimer theoret theori therefor thick thin thing things.pdf things2 think third though thousand threat three three-lay three-tier threefold threshold throughout thus ticket tier tight time timeli tinycubus tinydb tinylim today togeth toler tomachin tonj took tool toolkit top topolog touch toughest toward track tradeoff tradit traffic traga trailblaz train tran transact transduc transfer transform transit transmiss transmit transport treat tree trend tri trigger tripl trivial true trust trustworthi truth tsarkov tsukamoto ttcg tummarello tupl tutori twelv twitter two two-lay type typic u ubicomm ubicomp ubicomp.pdf ubicomp2004contextwscamerareadyversion.pdf ubiquit ubiquito ubiqus ubiroad ubisoap ubiwar udm uic uk ull ultim uml ummar un un-supervis unabl unattend uncertain uncertainti unchang undament under underlin understand understood unexplor union uniqu unit univers unifi unknown unlabel unless unpredict unprocess unpublish unseen unsupervis unusu up up-to-d updat upnp upnp-bas upper urvey us usa usabl usag usb uschold use user ush usual util utilis utmost utur v v-a v-a11 v-a16 v1 v1.81 v5 valid valu valu.pdf valuat van vari variabl varianc varieti various vast vde vde-verlag vector vehicular veitch veriti verlag version vi via video view viewdoc/download viewpoint vii viii vineyard violat virtual vision visual vocabulari vocabulary/constraints vogl vol vol.2 volum vtc vulner w w3c w4 wahe walk wang want ward warehous warfar warm washington wast water way wcxms weak wearabl weather weathercp web web-bas webpag weight weiser welfar well well-establish well-known wellknown welsh wg wherex whether white whole wi wi-fi wi-iat wibisono wide wider widget wiley willig wilson wimax wimob win wind winkler winter wire wireless wirles.2005.1549647 within without wlan wman wmup wmute woelffl wolisz word wordnet work workshop workshop-mobid world world-wid worthwhil wosniok wot would wpan wrapper wrona wsn wsna wu wwan www www.bccresearch www.casaleggio www.eecs.harvard www.ldoceonline www.r www.uml www.w3 x xi xiao xiaohua xii xiii xingsh xist xml xue xx xxi xxx xxxx y yanwei yc yc-ict ycle year yet yi yifeng york yoshihisa youn youth yovanof ypes ystem yu yuan z zafeiropoulo zaia zambonelli zaslavski zeng zhan zhang zhao zhihao zhong zhou zhovtobryukh zigbe zoi zomaya zovo fice fid fidjournal field fieldwork fifti files filling filter filtere final finalli financial find finding fingerprint fippp fire firmware first firstli firstname fit five fixed flat flavour flexibl flow