Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: 1 Mobile, Distributed, and Pervasive Computing
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
1 Mobile, Distributed, and Pervasive
Computing


[attachment=65772]

Abstract

Pervasive computing can be defined as access to information and software applications
anytime and anywhere. This form of computing is highly dynamic and
disaggregated. Users are mobile and services are provided by collections of distributed
components collaborating together. Recent advances in mobile computing,
service discovery, and distributed computing are key technologies to support pervasive
computing.
This chapter is about software technologies designed to address problems in
mobile, distributed, and pervasive computing. Characteristics of pervasive computing
applications are reviewed. Architecture of pervasive computing software is discussed.
Key open communication technologies to support pervasive computing are presented
in detail, namely, service discovery and distributed computing.

1.1 INTRODUCTION

Pervasive computing aims at availability and invisibility. On the one hand, pervasive
computing can be defined as availability of software applications and information
anywhere and anytime. On the other hand, pervasive computing also means that
computers are hidden in numerous so-called information appliances which we use in
our day-to-day life [Bir97], [Wei91], [Wei93]. Personal Digital Assistants (PDAs)
and cell phones are the first widely available and used pervasive computing devices.
Next generation devices are being designed. Several of them will be portable and
even wearable, such as glass embedded displays, watch PDAs, and ring mouses.
Several pervasive computing devices and users are wireless and mobile. Devices
and applications are continuously running and always available. From an architectural
point of view, applications are non-monolithic, but rather made of collaborating
parts spread over the network nodes. These parts are hereafter called distributed
components. As devices and users move from one location to another, applications
must adapt themselves to new environments. Applications must be able to discover
services offered by distributed components in new environments and dynamically
i
ii
reconfigure themselves to use these new service providers. From a more general
point of view, pervasive computing applications are often interaction transparent,
context aware, and experience capture and reuse capable. Interaction transparency
means that the human user is not aware that there is a computer embedded in the
tool or device that he or she is using. Context awareness means that the application
knows, for instance, the current geographical location. An experience capture and
reuse capable application can remember when, where, and why something was done
and can use that information as input to solve new tasks.
Pervasive computing is characterized by a high degree of heterogeneity: devices
and distributed components are from different vendors and sources. Support of
mobility and distribution in such a context requires open distributed computing architectures
and open protocols. Openness means that specifications of architectures
and protocols are public documents developed by neutral organizations. Key specifications
are required to handle mobility, service discovery, and distributed computing.
In this chapter, we review the main characteristics of applications of pervasive
computing in Section 1.2, discuss the architecture of pervasive computing software
in Section 1.3, and review key open protocols in Section 1.4.
1.2 PERVASIVE COMPUTING APPLICATIONS
Characteristics of pervasive computing applications have been identified as, namely,
interaction transparency, context-awareness, and automated capture of experiences
Abowd [Abo99].
Pervasive computing aims at non-intrusiveness. It contrasts with the actual nontransparency
of current interactions with computers. Neither input-output devices
nor user manipulations are natural. Input-output devices such as mouses, keyboards,
and monitors are pure artifacts of computing. So are manipulations such as launching
a browser, selecting elements in a Web page, setting up an audio or video encoding
mechanism, and entering authentication information (e.g., a login and a password).
Biometrics security is a field aiming at making authentication of users natural.
It removes the login and password intermediate between the user and the computer.
To identify an individual, it exploits the difference between human bodies.
Authentication is based on physical measurements. To be usable, however, the measurements
must be non-invasive and fast. DNA analysis does not meet that criteria,
but fingerprint identification does. Other alternatives include facial characteristics,
voice printing, retinal, and typing rhythm recognition. Input biometric information
hardware and software are being marketed. It is interesting to note that practical
evaluations have reported that biometric input is often not recognized and needs
to be accompanied by a bypass conventional authentication procedure (login and
password) in case the biometric authentication fails [(Ed00].
Another example of interaction transparency is the electronic white-board project
called Classroom 2000 [Abo99]. An electronic white-board has been designed that
looks and feels like a white-board rather than a computer. With ideal transparency of
ARCHITECTURE OF PERVASIVE COMPUTING SOFTWARE iii
interaction, the writer would just pick up a marker and start writing with no plug in,
no login, and no configuration.
To achieve transparency of interaction, advanced hardware and software tools are
needed such as handwriting recognition, gesture recognition, speech recognition,
free-form pen interaction, and tangible user interfaces (i.e. electronic information is
manipulated using day to day physical objects).
Context awareness translates to adaptation of the behavior of an application as
a function of its current environment. This environment can be characterized as a
physical location, an orientation or a user profile. A context-aware application can
sense the environment and interpret the events that occur within it. In a mobile and
wireless computing environment, changes of location and orientation are frequent.
With pervasive computing, a physical device can be a personal belonging, identified
and long-term personalized to its user (such as a cell phone or a PDA) or shared
among several users and personalized solely for the duration of a session (such as an
electronic white-board).
The project Cyberguide [Abo99] is a pervasive computing application that exploits
awareness of the current physical location. It mimics on a PDA the services provided
by a human tour guide when visiting a new location.
Context-aware components can sense who you are, where you are, and what you
are doing and use that information to adapt their services to your needs. Mobility
and services on demand are greatly impacted by the location of the devices and the
requested services. Examples range from relatively rudimentary device following
services such as phone call forwarding to the location of the device, to more complex
issues of detecting locations of available services and selecting the optimal location
for obtaining the services, such as printing services.
The complexity of the problem increases when both the service users and the
service devices are mobile. These problems require dynamic and on-the-fly system
configuration. The dynamics of such system are complex because it requires not only
system reconfiguration and lowlevel configuration, e.g., multiple communication and
security protocols, but also service detection and monitoring in order to provide the
best available services.
Capture and storage of past experiences can be used to solve new problems in the
future. Experiences are made of events and computers have the ability to record them
automatically. Human users only have to recall that information from the computer
when it is needed. For example, a context-aware electronic wallet could capture and
store locations, times, and descriptions of payments made by a traveler. Back home,
the traveler could use the recorded events to generate an expense report.

Distributed computing

A distributed system includes resources, resource managers, and clients. A resource
may correspond for instance to a printer, a window on a software application or a
data element. Telecommunications networks are the infrastructure on which rely
distributed systems. Concretely, each resource is located on a network node and can
be used remotely from other nodes using telecommunications. A resource manager
is a piece of software responsible for the administration of a type of resource. It has a
telecommunications interface through which users access and update the resources.
A manager also enforces access policies associated with each type of resource.
The concept of component is based on the concept of object. As an object,
a component is a logical entity containing information and capable of executing
operations on it. A subset of the operations is accessible to the environment of
a component and constitutes its interface. A call to an operation by a client of a
component, a process or another component, is achieved through the transmission
of a message intercepted by the interface that dispatches the request to a method
associated with the operation. The method eventually returns a response to the caller.
A component deserves a new term because it is more than a normal object. An
object is a unit of software reusable, without pain, as long as the hosting software
is written in the same language, is on the same platform, and is co-located with the
object. A distributed component infrastructure facilitates the reuse of software units,
called components, across programming languages, operating systems, and network
nodes.
According to the distributed component model, resources, local or remote, are
abstracted as components. A uniform syntax is used to call the components, whether
or not they are in the same program, process or network node. This is called access
transparency.
In contrast to a client-server model, in which the client talks to a server process,
in the distributed component model the client talks to a remote object that exists
within a container process. That container process can embed several objects (see
Figure 1.9).
Every component has a unique identity. A component can be mobile, i.e. its host
can change, to improve the performance of fault tolerance. When the location of a
component changes, its identity is invariant. This is called transparency of migration.
Moreover, in contrast to a client-server model, the naming scheme is uniform and
doesn’t change from of type of resource to another.

SUMMARY

Characteristics of pervasive computing applications have been discussed in Section
1.2. Interaction transparency means that human-to-computer interaction is natural
and based on ordinary life objects and operations. Context awareness means
that applications can sense and exploit information about the physical environment in
which they are running. Automated capture of experiences exploits knowledge about
actions performed in the past bound to contextual information to assist and make the
resolution of new problems easier and faster.
Issues of architectures of pervasive computing that have to do with mobility and
distribution were reviewed in Section 1.3. Pervasive computing platforms may be
characterized by relatively narrow-bandwidth channels, slow processing power, and
limited input/output capabilities. To cope with these issues, some tasks can be
delegated by a pervasive computing device to a server. This approach is called
application partitioning. The component-based distributed computing model is well
suited to the design of such applications.