Chapter 1

Pervasive Computing Concepts

Since Mark Weiser first coined the phrase ubiquitous computing in 1988, when he was the chief technology officer at Xerox’s Palo Alto Research Center (PARC), the development of pervasive/ubiquitous computing has continued for more than quarter century. During this period, the popularization of mobile Internet devices such as smartphones and smart pads has led to the core perspective of pervasive computing (that of computing devices being available everywhere at any time) becoming the main trend in computing and information technology. As part of our daily lives, these devices help us connect to worldwide networks without boundaries and provide us with quick and secure access to a wealth of information and services.

This book aims to introduce a foundation of the concepts, architecture, key techniques, and typical applications of pervasive computing. The main body of this book focuses on context awareness, resource management, human–computer interface, pervasive transaction processing, and user preference discovery—all of which have been previously researched by our team.

1.1  Perspectives of Pervasive Computing

To help convey the look and feel of such a world, we present two hypothetical scenarios.

The first scenario involves a traveler. Dr. John is driving his car on a long distance trip. Along the way, the car detects when fuel will be used up, and it then automatically searches for gas stations nearby. In a short time, the car finds an appropriate location that can provide fuel at the lowest price among gas stations within 1 km. The pervasive device displays a suggestion to John and guides him to the selected gas station. Two hours later, it is lunch time and John is hungry. The pervasive devices search for an appropriate restaurant near John’s current location, according to his food preferences.

Our second scenario focuses on daily life. Professor Li is watching a video in his office using a personal computer (PC) when he receives a call asking him to attend a meeting. On his way there, John continues to watch the video using his smartphone. A pervasive computing system will recover the point in the video where John stopped watching it on his PC and will automatically download a low-resolution video to John’s smartphone (which has a low-resolution screen), connecting with the video server through a low-bandwidth wireless channel. In this case, the complex switch process is completely unnoticed by Professor Li.

From these scenarios, we observe that the whole is much greater than the sum of its parts. In other words, the real research takes place with the seamless integration of component technologies into a system such as iShadow [1].

1.1.1  Technology Trend Overview

The advancement of mobile computing, cloud computing, wearable computing, and smart devices has brought unprecedented opportunities for pervasive computing. In recent years, we have seen a sharp rise in the shipment of smartphones and smart pads. These mobile devices are equipped with multicore central processing units (CPUs), gigabytes of memory, Wi-Fi and cellular communication components, a global positioning system (GPS), and other sensors. As a result, in the not too distant future, they will have more powerful information storage and processing capabilities than desktop computers. In the meantime, millions of apps have been developed for these mobile devices that provide a wide variety of personalized services.

Previous pervasive computing was often limited by the physical size of the electronic devices. However, this constraint has been overcome by rapid technological developments. A variety of wearable devices have entered the mass market, such as Google Glass, Jawbone UP [2], Nike FuelBand [3], and Sony SmartWatch [4]. These wearable devices have successfully extended computation, storage, and communication capabilities to personal gadgets, providing a unique opportunity for expanding the sensing capabilities of users and offering situation-aware information. For instance, a user with a Google Glass may visualize the transit route of nearby metro stations within the device’s screen.

Additionally, many traditional appliances are now embedded with sensors and communication components, thus making them smarter. For instance, the Smart Sofa [5] can identify the people sitting on it using programmable sensors in the sofa legs and can address users with personalized greetings.

1.1.2  Pervasive Computing: Concepts

Pervasive computing is a new wave of technology where computing takes place everywhere and anywhere. The goal of pervasive computing is to become a technology that disappears [6]. Pervasive computing can be seen as an enabler technology for many new and exciting applications, making information accessible to anyone, anywhere, and at any time [7].

Pervasive computing saw rapid growth in the past few decades due to a shift from a technology perspective to a utility and usability perspective. Pervasive computing, although currently used in today’s fast-paced lifestyle, will also be the future of this transition [8].

Pervasive computing projects have emerged at major universities and in industry. For example, Carnegie Mellon University, the University of California at Berkeley (UC Berkeley), Massachusetts Institute of Technology (MIT), and the University of Washington set up the Aura, Endeavour, Oxygen, and Portolano projects, respectively. These represent a broad communal effort to make pervasive computing a reality, focusing on technology that is more social and more people oriented [6].

1.2  Challenges

Although pervasive computing offers a lot of new, interesting, and useful possibilities, many challenges need to be overcome before the vision becomes real. The main challenges faced in pervasive computing are as follows [6]:

1.  Transparency. Pervasive computing is people-oriented, providing transparent services based on individual requirements, preferences, and so on. In contrast to desktop computing, pervasive computing can use any device, in any location, and in any format, without an individual being consciously aware of what is taking place with respect to the actual computing.

2.  Context awareness. Typically, pervasive computing systems are very tightly connected with specific users. Pervasive computing systems often gather and store information on the user’s behavior, context, habits, and planning. This information forms the basis for the many benefits the system can offer individual users.

3.  Mobility. The omnipresence of ubiquitous applications typically is achieved by either having devices move with the user or by having applications move among mobile users’ devices. In both cases, applications need to adapt to the moving environment, which involves maintaining device connections and adapting protocol for handling mobility. Although some of the problems can be addressed by routing and handovers, many cannot be solved at the network level because knowledge of application semantics is required for runtime adaptation.

4.  Heterogeneous devices. Pervasive applications typically involve many different types of devices working in an orchestrated way. As a user moves around in an environment, the servicing application often moves with him. For instance, the application may switch from a desktop PC to a mobile phone. In addition, the heterogeneous devices complicate the development of high-level applications because different devices provide varied programming interfaces, resource abstractions, and functional capabilities.

5.  Data management. In a pervasive environment, many devices continuously produce huge amounts of raw data. It is challenging to transfer, store, and process these data. In order to provide meaningful semantics for high-level applications, some preprocessing of the data may be necessary. For instance, inaccurate data can cause context management systems to produce false context information, which can result in incorrect reasoning for applications.

6.  Fault tolerance. The pervasive application requires harmonious cooperation among many hardware devices and various software components. However, hardware devices such as sensors are prone to failures, and software components can often malfunction. Both types of failures can hamper the effectiveness of pervasive applications. Thus, fault tolerance measures must be built into the system to avoid serious or fatal consequences for users.

7.  Reliability. Pervasive computing systems normally are embedded in the environment not only for gathering information but also for making decisions or at least for decision support. Limited resources and unstable wireless communication can impact the reliability of pervasive computing, making its application a more arduous task.

8.  Usability. Pervasive computing means that smart and agile computing devices, though invisible, are embedded everywhere in the environment. Therefore, usability is the critical success factor for these applications, making this the hottest research topic in the field of pervasive computing. An easy-to-use and intuitive interface is the demand of the future [9]. Ease of use will follow different levels for different end users. Usability in pervasive computing applications is very important and requires more attention than all other areas, such as desktop and Web-based applications.

1.3  Technology

As noted in Section 1.1.1, pervasive computing involves state-of-the-art technology—such as a middleware and programming model, context-awareness computing, resource allocation and management, human–computer interaction (HCI), pervasive transaction processing, and data mining. We briefly discuss these aspects here.

1.3.1  Middleware

Pervasive applications often rely on some middleware support. This is not a coincidence. Application programmers face a large variety of challenges, such as data management, context management, security and privacy issues, and mobility. Solving these problems for each application is error prone and inefficient. Thus, it is more desirable to extract the common requirements from different applications and provide the desired functionality from a middleware layer, which hides the complexity and heterogeneity of underlying hardware and network platforms.

The pervasive middleware primarily addresses issues from high-level applications on one hand while dealing with the complexity of operating underlying devices, networks, and platforms on the other. High-level application requirements are often diverse and application specific, with the common themes being context awareness, locality, reliability, adaptability, and reusability.

The operations of pervasive middleware are realized by heterogeneous underlying devices, networks, and platforms. In practice, these operations are also constrained by physical resources, such as low computation capability and insufficient battery supply. As a result, the middleware must strike a balance between functionality provided for the application layer and the resource usage of underlying hardware devices. In different scenarios, one aspect of consideration can outweigh the other and can affect design decisions.

1.3.2  Context Awareness

Context refers to the pieces of information that capture the characteristics of pervasive computing environments [9,10]. We classify these into physical and virtual contexts based on context sources [11]. Physical contexts may be aggregated by physical sources, for example, sensing and computational devices such as handheld devices, wireless sensors, and Radio Frequency Identification (RFID), which involve accelerated speed, air pressure, light, location, movement, sound, touch, and temperature. Virtual contexts are specified by users or captured from user interactions—including user preferences, business processes, goals, and tasks.

Context awareness is a mechanism that assists pervasive applications in adapting their behaviors to the evolving contexts [12]. Suppose a call comes when Alice is watching Kung Fu Panda in her smart bedroom. Depending upon the urgency of the call and the caller’s relationship with Alice, this smart space adapts its behavior correspondingly (i.e., it will reject or accept the call). Most pervasive applications achieve context awareness in a similar fashion. They first acquire physical and virtual contexts and then exploit these contexts to determine what strategy should be taken when contexts keep evolving.

This book will cover the physical and virtual aspects through discussions of wireless sensor networking, user tracking, and context reasoning. Using wireless sensors is a basic, common, and effective way to gather physical contexts for pervasive applications. In a smart space, the architectural design of a wireless sensor network is a key challenge for achieving scalability, robustness, and balanced energy dissipation of the network. Location information is the most important context in pervasive computing. Accurate user tracking facilitates the provision of service in smart spaces. Based on context information, reasoning enables context awareness for pervasive applications. In this book, evidence theory, the Dempster–Shafer theory of context reasoning, evidence propagation, and evidence selection strategy will be discussed extensively.

1.3.3  Resource Management

Pervasive devices exhibit very different features and functions. Resources in pervasive systems are limited and heterogeneous. Therefore, efficient resource management policies play a very important role in pervasive computing. In addition, task migration is another important issue related to resource allocation. More specifically, whenever tasks need to be migrated from one networked node to another, some resources (e.g., memory) need to be reallocated and others (e.g., some data) will be moved.

In this book, we will present several efficient resource allocation solutions—for example, pipeline-based resource allocation and probabilistic approach-based resource allocation algorithms for improving the performance of pervasive systems.

Moreover, we will present an intelligent task migration platform, xMozart, outlining the following technical aspects: application reconstruction, application state recovery, resource rebinding, and input/output (I/O) interface reinstallation for migrating applications in and between intelligent computing contexts. In xMozart, we migrate applications but do not migrate resources, and we try to minimize the connections between migrated and original applications. The goal is to migrate applications seamlessly—like a shadow—as users change their locations in certain contexts while demanding access to applications that originally resided in their main workstations.

1.3.4  Human–Computer Interaction

HCI provides channels for people to communicate with digital worlds. In smart spaces, HCI marks itself off from traditional interaction with various computing devices (e.g., TV, smartphone, refrigerator, etc.) by incorporating diversified interaction modalities (e.g., speech, gesture, face expression, etc.). Therefore, pervasive applications with the objective of providing human-centered services essentially require HCI services that are able to migrate their interaction across different devices or modalities in pervasive environments. We define this capability as interaction migration.

To achieve interaction migration in smart spaces, a Web service-based HCI migration framework will be introduced in which interaction application logic is modeled as interaction service and user preference, and context awareness is addressed by incorporation into descriptions of interaction interfaces. We discuss the HCI service selection process and algorithm that consider not only context information and user preferences but also interservice relations.

1.3.5  Pervasive Transaction Processing

Pervasive computing is a user-centric, scalable, parallel, and distributed computing paradigm, allowing users to access their preferred services even while moving around. Many key pervasive applications need software, hardware, and network reliability to be hidden from users.

Transaction management for pervasive environments has to provide mobile users with reliable and transparent services anytime and anywhere. Due to the limited resources of pervasive devices, high mobility of users, and the transparency requirements of pervasive computing, however, traditional mobile transaction processing models cannot support pervasive applications effectively.

In this book, we will present a context-aware transaction model and a context-adaptive and energy-efficient transaction management mechanism (CETM) for pervasive transaction processing. This transaction processing model is able to adapt to changing environments dynamically, providing transparency for pervasive applications. The CETM can dynamically adjust transaction execution behaviors in terms of current context information, and it is able to significantly reduce the failure probability of concurrent pervasive transactions. On the other hand, considering the features of pervasive environments, we have designed a mesh network-based architecture for online pervasive transactions. This transaction processing architecture provides a breakthrough in the limitations of the traditional client/proxy/server framework, allowing users to access pervasive services anytime and anywhere.

1.3.6  User Preference and Recommendations

To better serve human users, pervasive applications often adapt their behavior according to different users’ preferences. For instance, when a user reads news articles with an RSS reader, it is desirable for the RSS reader to know that the user is more interested in financial news than politics, thus giving financial articles a more prominent position in the whole list of news reports.

The key to such a smart reader lies in two important underlying principles. First, the smart reader needs a personal profile that captures the user’s preferences across different topics. Second, the reader should reorganize a list of articles according to the user’s preferences, making effective recommendations.

Generally, the user preference can be explicitly built by asking the user to fill in personal information. However, such an approach is burdensome, and the users may not be willing to explicitly specify their needs. As a result, many systems adopt an implicit approach to find user preferences by learning from past interactions with each individual user.

Pervasive applications often make recommendations for users in finding relevant information. Previous recommender systems can be categorized into content-based and collaborative filtering approaches. Content-based approaches recommend items to a user that are similar to past favorites. In contrast, collaborative filtering (CF) approaches do not look at specific item features. Instead, CF approaches make predictions based on large-scale item–user matrices. The idea is to exploit similarities among different users. If a user prefers both item A and B, then for a similar user who likes A, the system recommends B.

Finally, recommendation in social networks has many important applications. The social network is an important way of spreading information via word-of-mouth—the selected users influence their friends on the social network, and those friends then influence their friends, until finally a large number of users choose a particular product that has been recommended. Such a spread of information is an important marketing strategy. Some other important applications in the social network include finding the most important blogs and searching for domain experts. All of these applications can be categorized as recommendation applications.

References

1.  D. Zhang, H. Guan, J. Zhou, F. Tang, and M. Guo, iShadow: Yet another pervasive computing environment, in Proceedings of International Symposium on Parallel and Distributed Processing with Applications (ISPA), December 10–12, 2008, pp. 261–268.

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

3.  Nike, FuelBand, 2014. [Online]. Available from: http://www.nike.com/us/en_us/c/nikeplus-fuelband, 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.  J. Legon, ‘Smart sofa’ aimed at couch potatoes, CNN, 2003. [Online]. Available from: http://www.cnn.com/2003/TECH/ptech/09/22/smart.sofa/, accessed on May 13, 2014.

6.  M. Satyanarayanan, Pervasive computing: Vision and challenges, IEEE Personal Communications, vol. 8, no. 4, pp. 10–17, 2001.

7.  D. Zhang and B. Adipat, Challenges, methodologies, and issues in the usability testing of mobile applications, International Journal of Human-Computer Interaction, vol. 18, no. 3, pp. 293–308, 2005.

8.  A. W. Muzaffar, F. Azam, H. Anwar, and A. S. Khan, Usability aspects in pervasive computing: Needs and challenges, International Journal of Computer Applications, vol. 32, no. 10, pp. 18–24, 2011.

9.   C. Xu, S. C. Cheung, W. K. Chan, and C. Ye, Heuristics-based strategies for resolving context inconsistencies in pervasive computing applications, in Proceedings of the 28th International Conference on Distributed Computing Systems (ICDCS 2008), June 17–20, 2008, pp. 709–717.

10.  Y. Huang, X. Ma, J. Cao, X. Tao, and J. Lu, Concurrent event detection for asynchronous consistency checking of pervasive context, in IEEE International Conference on Pervasive Computing and Communications, March 9–13, 2009, pp. 131–139.

11.  D. Zhang, H. Huang, C.-F. Lai, X. Liang, Q. Zou, and M. Guo, Survey on context-awareness in ubiquitous media, Multimedia Tools and Applications, vol. 67, no. 1, pp. 179–211, 2013.

12.  Z. Lei and N. D. Georganas, Context-based media adaptation in pervasive computing, in Canadian Conference on Electrical and Computer Engineering, May 13–16, 2001, pp. 913–918.

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

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