Chapter 2

The Structure and Elements of Pervasive Computing Systems

There are many perspectives on pervasive computing. The key components, from our point of view, could be a platform that integrates the basic elements of a context-aware pervasive computing systems—from sensors and modeling to reasoning techniques. In this chapter, we discuss the structure of a pervasive computing system that we have developed. As illustrated in Figure 2.1, we divide our discussion into three layers: the infrastructure layer, the middleware layer, and the application layer. The infrastructure layer consists of the hardware devices and infrastructure for pervasive applications. For high-level applications, the hardware resources are abstracted and managed by the middleware layer. High-level applications, such as smart campus and smart car space [1], are built on top of the middleware layer and support different user activities.

2.1  Infrastructure and Devices

Pervasive computing environments consist of a large number of devices embedded everywhere in our living environment. The number of pervasive applications is only limited by our imagination. For instance, a refrigerator can place an order to the supermarket when an item runs out. Here, the infrastructure provides network access for the refrigerator to contact the supermarket. Thus, the infrastructure for pervasive computing contains a variety of devices. As shown in Figure 2.1, we classify devices in the infrastructure layer into computing devices, sensor devices, and network devices according to their functionalities.

Image

Figure 2.1 The architecture of pervasive computing systems.

■  Computing devices in a pervasive computing environment provide the capability of information processing. Traditional desktop machines, laptops, personal digital assistant (PDAs), and newer Pads and smartphones are examples of computing devices. Additionally, many objects (such as vehicles containing embedded CPUs) are also computing devices.

■  Sensors and actuators represent devices that can sense or mediate between physical and virtual environments. Sensors collect information such as temperature, location, humidity, light, sound, and tension from the environment. As a result, different sensors are the enabling technologies for pervasive applications to achieve their specific goals and functionalities. Among various sensors, location sensors have commonly been built in many objects (e.g., mobile phones), and we have witnessed many new location-based pervasive applications are emerging in recent years, mainly due to the availability of location information from sensors.

■  Network devices provide wired or wireless network access to connect different devices together in a virtual environment. Due to the variety of wireless technologies, we see many devices using Bluetooth, Wi-Fi, infrared, Zigbee, long term evolution (LTE), near field communication (NFC), and radio frequency identification (RFID). The networking capability is essential in many scenarios where various pervasive devices can work in concert. For instance, a smart car assistant can use an LTE connection to enlist help from cloud-based voice recognition services to understand the voice command issued by the user.

As the size of sensors and communication chips becomes smaller, it is possible to integrate these devices into existing physical objects, such as embedding RFID tags into commodities in a supermarket or into books in a library. Thus, the borders of pervasive computing have been greatly expanded by the development of new technologies.

Finally, we note that many objects are very complex and may include partial or all of the aforementioned devices. For instance, a smartphone equipped with a CPU, memory, and storage is a computing device. Additionally, the phone contains a global positioning system (GPS) sensor and a Wi-Fi module. As a result, the phone is also a network device with sensors, and a focal point of pervasive research is to use these phones as application platforms. Another recent trend is to use wearable devices such as wristbands and watches [24].

2.1.1  Wireless Networks

The goal of pervasive computing is to create ambient intelligence. To make this vision a reality, interconnected wireless networks play a vital role in collecting context information, providing essential communication support for information flow, and in processing in a dynamically changing environment. Next, we discuss several types of emerging wireless networks.

In recent years, various interconnected wireless sensor networks (WSNs) have been set up to collect different environmental information and scattered objects. WSNs are ideal for many applications such as in the military, environment monitoring, intelligence control, traffic management, medical treatment, manufacture industry, and in antiterrorism activities. However, due to the limited power, computing, and memory of sensor nodes, WSNs suffer from unbalanced energy consumption among nodes, poor scalability, and single point of failure of sink nodes.

Due to the fundamental limitations of WSNs, wireless mesh sensor networks (WMSNs) are attracting more and more attention from both industry and academic communities to improve the scalability, reliability, and throughput of sensor networks and to support the node mobility. By deploying some super mesh nodes with powerful capacities to transmit data long distance, WMSNs take advantage of both mesh networks and WSNs. WMSNs not only provide the capacity to interconnect multiple heterogeneous sensor networks, but they also improve the scalability, robustness, and data throughput of sensor networks.

A wireless mesh network (WMN) is another wireless network architecture, which is self-organized, self-configured, and decentralized. When devices are added to or moved from networks, WMNs are able to automatically discover topology change and self-adaptively modify routing for more efficient data transmission. There are two kinds of nodes in WMNs: mesh routers and mobile clients. Equipped with powerful capacities and lower mobility, mesh routers automatically set up and maintain a wireless connection, forming the backbone of WMNs and possibly interconnecting with other kinds of networks (e.g., the Internet). Mobile clients can send and receive data. Traditional wireless devices have to first connect with an access point (AP) to communicate with other devices, even if they are located within radio range of each other. In contrast, each node in a WMN may directly communicate with neighboring nodes.

2.2  Middleware for Pervasive Computing Systems

The difficulty in developing pervasive applications lies in several aspects. First, pervasive applications use many devices of various types. Coordination and management of these devices are nontrivial tasks. Considering the resource constraints of these devices, applications may need to address frequent failures due to energy or memory size limitations. Second, sensor devices continuously collect a large amount of raw data about users and the environment. These raw data require efficient storage management and processing in order to provide meaningful context information for high-level applications. Sensor data are often noisy and conflicting, which requires data processing to filter most false events and keep all crucial events. High-level reasoning must be able to process events with tolerance for inconsistent low-level events. Third, the applications need context information in order to provide a better user experience. For instance, a personal health assistant needs to know if the user has had lunch so that it can choose to remind the user to take certain pills at a specific time. Finally, pervasive applications need to adapt to the moving environment, which involves the maintenance of connections with devices and protocol adaptation for handling mobility. Some of the problems can be solved by routing and handovers. However, many problems cannot be solved at the network level because knowledge of application semantics is required for runtime adaptation.

In order to address the aforementioned difficulties, the key enabling technology for pervasive computing applications is the middleware layer. As shown in Figure 2.1, the pervasive middleware is responsible for abstracting resources provided by underlying heterogeneous devices and providing a unified interface for high-level applications. The middleware hides the complexity and heterogeneity of underlying hardware and network platforms, eases the management of system resources, and makes the execution of applications more predictable.

There have been a number of pervasive middleware systems, such as Gaia [5], Aura [6], PICO/SeSCo [7], CORTEX [8], and Scenes [9]. These middlewares provide different abstractions and system support for applications. For instance, only Gaia provides user authentication and access control as security mechanism. Gaia, Aura, and CORTEX have context management, while PICO/SeSCo does not. In the following AWXROIN, we discuss the functionality of the middleware layer, including resource management, user tracking, context management, service management, data management, and security.

2.2.1  Resource Management

Pervasive applications require a seamless orchestration of a large body of heterogeneous sensors, devices, components, and services that may dynamically join or leave. For instance, the Computers in the Human Interaction Loop (CHIL) project [10] deals with a large number of perceptual sensors, such as 2D and 3D visual sensors, acoustic sensors, and audiovisual sensors. To better support these applications, pervasive middleware needs to efficiently manage sensors and actuating devices, despite the diverse functionality of underlying technologies and vendors. Key functions of resource management include resource registration, resource control, and resource abstraction.

Resource registration is a mechanism for providing a yellow page registry for the discovery, manipulation, and integration of essential resources in the system, such as sensors and actuators. For pervasive applications, automatic discovery and the binding of system resources can greatly facilitate the system services and ease the effort of configuring, administering, and operating complex system resources.

Resource control is the management of various sensor and actuator resources in the system. Once resources are registered with the system, the middleware establishes control over these sensors and actuators for obtaining their states and for issuing control commands to them. Additionally, the middleware connects different devices so that they can communicate with each other via messages. The middleware also schedules resource usage throughout the system and potentially supports a large number of users.

Finally, resource abstraction allows other components in the middleware or application to use system resources, especially when users or devices move in that space.

2.2.2  User Tracking

Pervasive applications need to adapt their behavior to moving users. In order to do this, pervasive applications need an efficient user tracking method that can identify user positions and trails. Previous technologies for locating users’ positions can be categorized into indoor and outdoor techniques.

Typically, for an outdoor environment, a GPS is used for obtaining position information, where that position information is calculated by measuring the distance between the GPS receiver and three or more GPS satellites. With the popularity of mobile phones, a similar location sensing technique has been developed by using Global System for Mobile communication (GSM) signals. Finally, video surveillance often is used in many cities to cover selected areas that typically need to be watched by humans or monitored by sophisticated computer vision software.

Indoor location sensing uses many wireless technologies, such as infrared [11], Bluetooth [12], and ultrasonic [13]. For instance, an active badge [11] attached to a person transmits infrared signals every few seconds that will be received by a network of sensors deployed in a building. Vision-based schemes capture videos to locate objects by vision recognition techniques and have achieved widespread usage. However, vision-based schemes [14] suffer from the line-of-sight problems because lights can be easily blocked by objects. With the availability of low-cost, general purpose RFID, this technology recently has been widely used in many applications. A typical RFID-based application attaches RFID tags to targeted objects beforehand. Then, either RFID readers or targeted objects move in space. When the tagged objects are within the accessible range of RFID readers, the information stored in the tags is emitted and received by readers. Thus, the reader knows the objects are within a nearby range.

2.2.3  Context Management

Context management includes context acquisition, context representation, and context reasoning. Context refers to the high-level information of an entity, which can be a person, a place, or an object that is relevant to the interaction between a user and pervasive applications. Thus, contexts can be classified into different categories, such as physical contexts of light, noise, and temperature, and user contexts of identities, social relationships, and activities.

Context acquisition is the process of collecting low-level information from various sensing sources. Such information is often captured via sensing devices. For instance, special sensors can gather information on temperature, magnetism, pressure, light, sound, and other chemical or mechanical properties. Actuators can collect information on motion and orientation. More complex sensors can capture images on videos of a targeted object. Finally, software sensors can report the I/O usage and network statistics on computers, pads, and smartphones.

Context representation refers to a formal description of the semantics of a context. For efficient processing of collected context information, we need to define structures of context information. Over the past decades, many different types of context representations have been developed, such as key-value pairs, logic-based models, objectoriented models, markup language models, and ontology-based models.

Context reasoning is the process of inferring high-level implicit context information from low-level explicit context information. Generally speaking, there are two types of context reasoning, exact context reasoning and fuzzy context reasoning. Exact context reasoning has been developed based on a Bayesian network [15], logic [16], cases [17], and ontology [18]. Fuzzy context reasoning includes methods based on evidence theory [19] and fuzzy logic [15].

2.2.4  Service Management

The middleware is typically structured as a number of services for a good reason. Services provide a much higher level of abstractions than those from the infrastructure layer. With carefully constructed services, pervasive applications easily can be built by directly invoking different services or service compositions. As a result, the middleware often supports mechanisms for efficient service management, including service registration and discovery, and service composition.

A pervasive environment is dynamic and heterogeneous in nature. As a result, different service registration strategies exist. Many systems in wired and infrastructure-based environments adopt service directories for maintaining service information and for processing queries and updates; these directories can be organized either as flat or a hierarchical trees. For pervasive environments, directories are dynamically placed on mobile nodes with better processing power, memory size, battery life, and node coverage. Another strategy is directory-less and uses broadcasting for disseminating service information. For mobile ad hoc networks (MANET), a distributed hash table (DHT)-based P2P overlay is often used for managing services [20].

Service composition is a way of combining elementary services in order to construct high-level services. In order to achieve service composition, service providers must first describe their services in a standard format. In the meantime, service consumers also need to specify their requests following some standard. Then, the middleware tries to fulfill the requested service by composing the provided services.

In the literature, there are mainly three different schemes for constructing a service composition plan. In the first scheme—from artificial intelligence [21,22]—atomic services are composed into a composite by treating each atomic service as an operator, and a planning algorithm links these operators to generate a plan. The second scheme uses the idea of work flow to describe how various services interact with one another [23]. Finally, a history-based composition scheme uses data mining to find previous usage patterns [24].

2.2.5  Data Management

Data management provides permanent data storage for pervasive applications. For pervasive applications, there are many mobile devices that are connected in a highly dynamic and ad hoc manner. As a result, data management must consider many issues, such as frequent change of data sources in terms of location and time, constant network disconnection among devices, and inconsistency of data. To make data management more challenging, existing data storage schemes developed for WSN cannot be directly applied for pervasive computing for several reasons.

First, pervasive applications have many different types of data sources, and storing a large amount of heterogeneous data is a nontrivial task. In addition, because many data sources exist, it is often necessary to resolve redundancy and inconsistency among collected data. The spatial and temporal properties of the data, as well as different data formats, make managing context data from different sources difficult.

Second, sensing data in a pervasive environment changes frequently, which can result in cascading updates among related data items. This is because a data item can share multiple contextual relationships (e.g., spatial, temporal, and social) with other items. Changing a single item causes updates of related items, which in turn results in further updates. Considering the unreliable communication layer, updating data items can be a challenging task.

Finally, both data producers and data consumers in a pervasive environment are more dynamic than in a WSN. They can join and leave the system at will, whereas sensor nodes in a WSN are often fixed and of the same type. Thus, pervasive applications have to work with unreliable and varied sensors.

The key function of data management is to provide seamless data access for pervasive applications. At the same time, certain Quality of Service (QoS) of data access should be provided in terms of latency, availability, and consistency. More specifically, data management not only stores a large amount of heterogeneous data but also efficiently maintains a contextual relationship among data objects.

2.2.6  Security Management

Security and privacy are important issues for pervasive applications because of the exposure of plenty of personal information, The traditional security problems include confidentiality, integrity, and availability. Confidentiality ensures that the users’ data are not exposed to unauthorized users. Integrity maintains data without unauthorized alterations. Availability denotes the data are accessible when required. Pervasive applications introduce some more challenging security issues due to an extremely volatile nature—devices can join and leave arbitrarily, and communication links are often changing. In practice, systems often need to strike the right balance between security and privacy requirements and application requirements. For instance, many pervasive applications require users’ location information to provide location-based services, such as finding a nearby ATM machine. However, disclosing the location information may raise serious privacy concerns.

Common security mechanisms, such as access control and user authentication, are required in the ubiquitous environment. Indeed, many projects, such as Gaia [5], use access control for security purposes. To protect users’ privacy, k-anonymity has been used for many location-based services [25,26]. The idea is to use a location anonymizer to enlarge the queried regions to cover many other users. As a result, one user’s real location is hard to distinguish from other users. In recent years, new security mechanisms such as voice recognition and facial recognition have appeared for enhanced user experiences.

Security is related to all other components in the middleware layer. For instance, user tracking is related to location privacy of users, and security mechanisms need to be utilized for service or resource discovery and registration. Otherwise, an active or passive intruder may gain unauthorized service, and there is a possibility that the intruder may even corrupt the system. To solve this problem, the Ninja project [27] proposes secure identification of services using a secure service discovery service (SSDS), where certificate authority (CA) is used. Other service discovery projects employ an encryption mechanism where a simplified version of public key infrastructure (PKI) is used [28].

2.3  Pervasive Computing Environments

2.3.1  Smart Car Space

Unlike previous smart spaces such as smart homes [29,30], the aware room [31], and the smart museum [32], the car space is highly mobile. The software system should be aware of this high mobility of vehicles. In addition, the vehicle space requires frequent information exchanges with the outside environment. For example, the vehicle needs local traffic information in order to adaptively choose different routes.

Figure 2.2 illustrates an implementation of smart car space [1]. The vehicle is installed with a touch screen, a GPS receiver, a video camera, and a wireless router. The GPS device enables position identification for the vehicle, and the video camera captures the driver image that is recognized by facial recognition. The wireless router provides an in-car network infrastructure to connect different components within the vehicle. As a result, when the user is recognized by the system, the smart car space can automatically trigger personalized services, such as enabling the entertainment system in the car to play the user’s favorite music.

Image

Figure 2.2 An illustration of smart car space.

A typical scenario in the smart car space is autonavigation with explicit environment feedbacks. The user in the car tells the system his destination via voice input. Then the system will process the voice input and select an optimal route. During driving, the system continuously monitors and reports the vehicle’s status, such as regarding safety issues. For instance, the control system can detect that the road condition is bad and that the user is tired; then the user will be warned to focus on his driving for safety reasons. Additionally, different music may be played for the user according to the car speed and other contexts. For instance, the volume of the music will be tuned down when the user has an incoming phone call.

ScudWare [1] is a semantic and adaptive middleware platform for smart car space, where entities can intelligently adjust themselves adaptively to provide highquality services for a changing environment. The features of ScudWare consist of:

■  Autonomy. ScudWare dynamically monitors the environment for applications to interact autonomously.

■  Adaptability. For changes in the inner vehicle running status and in the outside environment context, ScudWare can adaptively adjust the composition of its inner components and function accordingly.

■  Scalability. ScudWare is a component-based middleware, where components can be dynamically added, replaced, and removed in a scalable fashion.

■  Semantic integration. Semantic information is used to smoothly manage presentations and interactions of all entities in the smart car space for better collaboration among them.

The distinguishing feature of ScudWare is the integration of the ontology and the Ontology Web Language (OWL) language to support semantic context awareness. The applications in the smart car space are decomposed into many task units, and each task unit is serviced by a number of semantic virtual agents (SVAs). SVA is an abstract function union that comprises a number of meta-objects. Each meta-object denotes a kind of service comprising several components.

To manage context in the smart car space, a semantic context management service (SCMS) is responsible for context acquisition, representation, and fusion. A SCMS uses the ontology technique and the Web ontology language (OWL) to represent the sharing and reasoning of contexts.

For runtime adaptability and scalability, ScudWare uses an adaptive component management service (ACMS). An ACMS has two roles: (1) managing the component package, assembly, deployment, and allocation at design time and (2) managing component migration, replacement, updating, and variation at runtime. An ACMS allocates and reallocates components in the system, monitors component lifetime, and conducts the QoS of component execution.

ScudWare has been implemented on a Chinese Chery QQ car with four hardware parts: a central control unit, an engine control unit (ECU), smart sensors, and smart actuators. These parts communicate with each other through the control area net (CAN) – based network layer (CBL). With ScudWare middleware running on these hardware components, the smart car space offers a mobile music system and a smart navigation system.

2.3.2  Intelligent Campus

Intelligent campus (iCampus) is a pervasive computing environment providing minimal but flexible system support for people’s daily activities on campus, as shown in Figure 2.3.

It provides a set of functionalities (e.g., resource management, user management, context awareness, message management, service management, and data management) and several typical campus applications, including

■  Map service. It guides users to navigate on campus by providing detailed directions and some introduction related to the user’s location.

■  Photo sharing service. It can facilitate the sharing of photos and the construction of a social network.

■  Search service. This school resource is valuable to both students and faculty; iCampus can search users’ interested targets according to user preference.

To provide context-aware and adaptive services, iShadow is designed and developed based on middleware architecture. It exhibits the following important features.

■  Lightweight. iCampus is aware of context and tracks users anytime, anywhere. For this purpose, iCampus consists of lightweight modules.

■  Scalability. Based on a distributed resource discovery mechanism, iCampus can be easily extended to large-scale networks.

For more details, please refer to Chapter 8.

Image

Figure 2.3 An illustration of iCampus.

Further Readings

Project Aura

http://www.cs.cmu.edu/~./aura/

Project Aura is a large-scale system demonstrating the concept of a personal information aura that spans wearable, handheld, desktop, and infrastructure computers. Aura’s goal is to provide each user with an invisible halo of computing and information services that persists regardless of location.

Project Gaia

http://gaia.cs.uiuc.edu/

Project Gaia is a middleware operating system that manages the resources contained in an active space where physical spaces become interactive with users.

One.World

http://cs.nyu.edu/rgrimm/one.world/

One.World is a system architecture for pervasive computing that provides an integrated and comprehensive framework for building pervasive applications.

Middleware for Pervasive Computing: A Survey

By Vaskar Raychouhury et al., in Pervasive and Mobile Computing, pp. 177–200, 2013.

This survey paper gives a comprehensive illustration of existing pervasive middleware. An in-depth analysis of services provided by middleware systems is carried out, and some open research issues are discussed.

References

1.  Z. Wu, Q. Wu, H. Cheng, G. Pan, M. Zhao, and J. Sun, ScudWare: A Semantic and Adaptive Middleware Platform for Smart Vehicle Space, IEEE Transactions on Intelligent Transportation Systems, vol. 8, no. 1, pp. 121–132, 2007.

2.  Nike, FuelBand, 2014. [Online]. Available from: http://www.nike.com/us/en_us/c/nikeplus-fuelband, accessed on May 13, 2014.

3.  Jawbone, Up. [Online]. Available from: https://jawbone.com/up, accessed on May 13, 2014.

4.  Sony, SmartWatch, 2014. [Online]. Available from: http://www.sonymobile.com/us/products/accessories/smartwatch/, accessed on May 13, 2014.

5.  M. Román, C. Hess, R. Cerqueira, A. Ranganathan, R. H. Campbell, and K. Nahrstedt, Gaia: A Middleware Platform for Active Spaces, IEEE Pervasive Computing, vol. 1, no. 4, pp. 74–83, 2002.

6.  D. Garlan, D. P. Siewiorek, A. Smailagic, and P. Steenkiste, Project Aura: Toward Distraction-Free Pervasive Computing, IEEE Pervasive Computing, vol. 1, pp. 22–31, 2002.

7.  M. Kumar, B. A. Shirazi, S. K. Das, B. Y. Sung, D. Levine, and M. Singhal, PICO: A Middleware Framework for Pervasive Computing, IEEE Pervasive Computing, vol. 2, pp. 72–79, 2003.

8.   P. Veríssimo, V. Cahill, A. Casimiro, K. Cheverst, A. Friday, and J. Kaiser, CORTEX: Towards Supporting Autonomous and Cooperating Sentient Entities, in Proceedings of the European Wireless, 2002.

9.  S. Kabadayi and C. Julien, A Local Data Abstraction and Communication Paradigm for Pervasive Computing, in Proceedings of Fifth Annual IEEE International Conference on Pervasive Computing and Communications, PerCom 2007, 2006, pp. 57–66.

10.  J. Soldatos, L. Polymenakos, A. Pnevmatikakis, F. Talantzis, K. Stamatis, and M. Carras, Perceptual Interfaces and Distributed Agents Supporting Ubiquitous Computing Services, in Proceedings of the Eurescom Summit 2005, 2005, pp. 43–50.

11.  R. Want, A. Hopper, V. Falcão, and J. Gibbons, The active badge location system, ACM Transactions on Information Systems, vol. 10, pp. 91–102, 1992.

12.  F. D. Raffaele Bruno, Design and Analysis of a Bluetooth-Based Indoor Localization System, in Proceedings of the 8th International Conference in Personal Wireless Communications, 2003, pp. 711–725.

13.  N. B. Priyantha, A. Chakraborty, and H. Balakrishnan, The Cricket Location-Support System, in Proceedings of the 6th Annual International Conference on Mobile Computing and Networking—MobiCom ’00, 2000, pp. 32–43.

14.  W. Hu, T. Tan, L. Wang, and S. Maybank, A Survey on Visual Surveillance of Object Motion and Behaviors, IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 34, no. 3, pp. 334–352, 2004.

15.  A. Ranganathan, J. Al-Muhtadi, and R. H. H. Campbell, Reasoning about Uncertain Contexts in Pervasive Computing Environments, IEEE Pervasive Computing, vol. 3, no. 2, pp. 62–70, 2004.

16.  A. Ranganathan and R. H. Campbell, An Infrastructure for Context-Awareness Based on First Order Logic, Personal and Ubiquitous Computing, vol. 7, no. 6, pp. 353–364, 2003.

17.  D. Zhang, J. Cao, J. Zhou, and M. Guo, Extended Dempster-Shafer Theory in Context Reasoning for Ubiquitous Computing Environments, in International Conference on Computational Science and Engineering, 2009, pp. 205–212.

18.  J. A. F. Nieto, M. E. B. Gutiérrez, and B. P. Lancho, Developing Home Care Intelligent Environments: From Theory to Practice, in 7th International Conference on Practical Applications of Agents and Multi-Agent Systems (PAAMS 2009), 2009, pp. 11–19.

19.  D. Zhang, M. Guo, J. Zhou, D. Kang, and J. Cao, Context Reasoning Using Extended Evidence Theory in Pervasive Computing Environments, Future Generation Computing Systems, vol. 26, no. 2, pp. 207–216, 2010.

20.  T. D. Hodes, S. E. Czerwinski, B. Y. Zhao, A. D. Joseph, and R. H. Katz, An Architecture for Secure Wide-Area Service Discovery, Wireless Networks, vol. 8, pp. 213–230, 2002.

21.  M. Nidd, Service Discovery in DEAPspace, IEEE Personal Communications, vol. 8, pp. 39–45, 2001.

22.  F. Sailhan and V. Issarny, Scalable Service Discovery for MANET, in Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications, 2005, pp. 235–244.

23.  M. Kim, M. Kumar, and B. Shirazi, Service Discovery Using Volunteer Nodes in Heterogeneous Pervasive Computing Environments, Pervasive and Mobile Computing, vol. 2, no. 3, pp. 313–343, 2006.

24.   C. Lee and A. Helal, A Multi-Tier Ubiquitous Service Discovery Protocol for Mobile Clients, in Proceedings of the 2003 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS), 2003.

25.  B. Niu, Q. Li, X. Zhu, G. Cao, and H. Li, Achieving k-Anonymity in Privacy-Aware Location-Based Services, in INFOCOM, 2014, pp. 754–762.

26.  L. Sweeney, k-Anonymity: A Model for Protecting Privacy, International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, vol. 10, no. 5, pp. 557–570, 2002.

27.  J. R. von Behren, E. A. Brewer, N. Borisov, M. Chen, M. Welsh, J. MacDonald, J. Lau, S. Gribble, and D. Culler, Ninja: A Framework for Network Services, in USENIX Annual Technical Conference, 2002.

28.  J. Undercoffer, F. Perich, A. Cedilnik, L. Kagal, and A. Joshi, A Secure Infrastructure for Service Discovery and Access in Pervasive Computing, Mobile Networks and Applications, vol. 8, no. 2, pp. 113–125, 2003.

29.  Smart Room, Media Lab, Massachusetts Institute of Technology. [Online]. Available from: http://vismod.www.media.mit.edu/vismod/demos/smartroom/.

30.  Kids Room, Media Lab, Massachusetts Institute of Technology. [Online]. Available from: http://vismod.www.media.mit.edu/vismod/demos/kidsroom/.

31.  J. A. Kientz, S. N. Patel, B. Jones, E. Price, E. D. Mynatt, and G. D. Abowd, The Georgia Tech Aware Home, in Extended Abstracts on Human Factors in Computing Systems, 2008, pp. 3675–3680.

32.  M. Fleck, M. Frid, T. Kindberg, E. O‘Brien-Strain, R. Rajani, and M. Spasojevic, From Informing to Remembering: Ubiquitous Systems in Interactive Museums, IEEE Pervasive Computing, vol. 1, no. 2, pp. 13–21, 2002.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.194.106