Abstract — The basic problem of mobile
application development to multiple devices, modalities, and connectivity
environments is that of complexity, because the same application may have to be
rewritten multiple times. Developing pervasive
computing applications is a difficult task because it requires to deal with a
wide range of issues: heterogeneous devices, entity distribution, entity
coordination, low-level hardware knowledge. . . Besides requiring various areas
of expertise, programming such applications involves writing a lot of
administrative code to glue technologies together and to interface with both
hardware and software components. The practice of making computers so common and accessible that users are
not even aware of their physical presence. The ideal of ubiquitous computing
could be defined as a high-speed network that covers any kind of geography and
is easily installed and automatically maintained. Understanding the user’s demands and intentions is
essential when developing pervasive applications. It ensures proactive
decisions and improves usability. However, due to a lack of conceptual
development methodology and supporting tools, it is difficult to orient the
designs towards user’s needs.Keyword: Pervasive computing,
heterogeneous devices, ubiquitous computing.
widespread availability of mobile computing devices and hardware and/or
software infrastructure enables the vision of pervasive computing to become
realistic for the public. An increasing demand for “value for end-user” has
changed our attitude towards the application. Determining which system actions
will help rather than hinder the user is an important issue when designing an
application. Many pervasive computing projects have emerged to begin the quest
by capturing a user’s intent, such as CMU’s Aura.
Pervasive computing applications are
being deployed in a growing number of areas, including building automation,
assisted living, and supply chain management. These applications involve a wide
range of devices and software components, communicate using a variety of
protocols, and rely on intricate distributed systems technologies. Besides
requiring expertise on underlying technologies, developing a pervasive
computing application also involves domain-specific architectural knowledge to
collect information relevant for the application, process it, and perform
actions. We now review key requirements for developing pervasive computing
heterogeneity. A pervasive computing
application interacts with entities (e.g., webcams and calendars), whose
heterogeneity tends to percolate in the application code, cluttering it with
low-level details. This situation requires to raise the level of abstraction at
which entities are invoked, to factor entity variations out of the application
code, and to preserve it from distributed systems dependencies and
communication protocol intricacies.
One saturated with computing and communication capability, yet so
gracefully Integrated with users that it becomes a “technology that
disappears.” The agenda of pervasive computing subsumes that of mobile
computing, but goes much further.
This vision of
pervasive computing leads to two fundamental characteristics of pervasive applications
— mobility and context-awareness.
Both of these
characteristics are a result of the extremely dynamic nature of pervasive
2. Pervasive Application Development
A context-aware application is one that is sensitive to the environment
in which it is being used (e.g., the location or the particular user of the
application). The application can use this information to customize itself to
the particular location or the user. Considers the application developer’s
point of view (as opposed to the infrastructure developer’s) and discusses the
programming models and tools that can support pervasive application
development. There are fundamental reasons why pervasive application
development is more difficult than conventional application development. End
user devices, such as smart phones and PDAs, come in many varieties and
have widely varying capabilities, both hardware (form factor, user
interface hardware, processor, memory, and
network bandwidth) and software (operating system, user interface software,
services, and applications).
The set of challenges presented by pervasive computing
necessitates a radically new application design approach. The key requirements
of pervasive computing applications are flexibility and autonomy, while
scalability and resource limitations represent important design constraints.
Context-awareness has been proposed ass novel design approach that satisfies
the flexibility and autonomy requirements. Context information describes
relevant aspects of the surrounding physical and computing environments, such
as the location and activity of the user, the presence of other people nearby,
the time of day, and the set of available computing resources. This information
can be derived from a variety of sources, such as hardware and software
sensors, or user profiles. Much of the recent research in context aware
computing has focused exclusively on sensor-derived context information, such
as location information obtained from wireless positioning device.
Role of Ubiquitous Computing in Pervasive Application Development
“The practice of making computers so common and accessible that users
are not even aware of their physical presence. The ideal of ubiquitous
computing could be defined as a high-speed network that covers any kind of
geography and is easily installed and automatically maintained.”
Ubiquitous Computing (ubicomp): is a post-desktop model of
human-computer interaction in which information processing has been thoroughly
integrated into everyday objects and activities.
An integration of microprocessors into everyday objects like furniture,
clothing, white goods, and toys even paints.
The vision of Ubiquitous Computing, with devices seamlessly integrated
into the life of everyday users, and services readily available to users
anywhere all the time, is becoming a reality. A Ubiquitous Computing
environment is characterized by a diverse range of hardware (sensors, user
devices, computing infrastructure).
The basic premise of pervasive
computing—everything connected—guarantees heterogeneity at all levels:
infrastructure, hardware, software, and people. All kinds of devices must be
supported. If we consider devices used by the user to interact with the system,
they can range from standard ones such as laptops, PDAs, and phones, to
emerging ones such as those embedded in clothing and eyeglasses. The variety of
available devices has several implications. One is the kind of input-output
devices: textual and graphic input-output will not be the only forms of
human-machine interaction. Audio, visual, and other sensory modes of
communication will be prevalent. Another implication is the requirement that
the environment must be prepared to adapt to the device currently used by the
user. The pervasive computing applications will be much more distributed and
diverse. Peer-to-peer architectures with event-based notification will be more
The goal of mobile computing
suggests including devices spanning the entire hardware. This arguments
includes the both pervasive access to mobile services and ubiquitous
communication between mobile hosts.
The problem of heterogeneity concerns a wide range of architectural
domain. These issues detailed in three different views:
Hardware heterogeneity: reflects
the presence of different devices with different capabilities as well as
different network technologies integrating those devices.
Software heterogeneity: is characterized by the presence of different applications and
heterogeneity: this heterogeneity aspect
illustrates environments where network interconnections do not share any common
PERVASIVE COMPUTING MIDDLEWARES
The aim of
pervasive computing is to create a smart environment using embedded sensors and
networked computing devices that provide users transparent access of services.
Examples of existing pervasive computing middleware systems are Aura, Gaia, and
We observed that
pervasive computing middleware helps developers to design the application in
multiple ways. It’s most important feature is, it provides system abstraction
to developers that help them to focus only on the application logic instead of
worrying about low-level implementation details. Another feature of pervasive
middleware systems is to provide management of system resources such as service
management, context management and data management of context using ontology
allows the application of various measures of semantic similarity based on the
structure of the ontology.
emerging area of pervasive computing faces many challenging research issues
critical to application developers. Wide heterogeneity of hardware, software,
and network resources pose veritable coordination problems and demand thorough
knowledge of individual elements and technologies. In order to ease this
problem and to aid application developers, different middleware platforms have
been proposed by researchers.
for Developing Pervasive Applications
The basic problem of mobile application
development to multiple devices, modalities, and connectivity environments is
that of complexity, because the same application may have to be rewritten
Developing pervasive applications we need
following four approaches.
independent views allow an application to capture the basic user interaction
structures that should be reused across multiple devices and modalities. This device
independent representation describes the intent behind the user interaction
within a view component rather than a physical representation of a user
These allow an application to specify the
overall control flow across multiple execution platforms, but still allow an application
to have different control flow structures for different devices and uses.
These allow an application to encapsulate the
business logic and data in a manner that can be reused regardless of which host
a component is instantiated on.
This allows an application to specify the intended
context data to be supplied by reusable infrastructure components, which in
turn are concerned with the specific data formats, locations, and combinations
of physical data sources that provide the actual data.
Issues in Pervasive
How to integrate mobile communicators into
complex information infrastructures?
What effect will they have on work and leisure?
How to develop and manage adaptable, context-aware
What support is needed within the network?
Too many similar standards
Shortage of spectrum
Use low power + multiple base stations with
Overlapping spectrum usage can cause
interference eg Bluetooth and IEEE 802.11
Unregulated bands lead to chaos
In the pervasive computing environment, we need a security policy
that will simultaneously be an unobtrusive mechanism to the user as well as
have the ability to discover the services available for the user in a
transparent manner. The system needs a dynamic security policy which is
flexible enough to update and modify on the fly.
Challenges in Developing
The goal of this
paper is to help us understand the challenges in computer systems research
posed by pervasive computing. We begin by examining its relationship to the
closely-related fields of distributed systems and mobile computing.
Some of the
technical problems in pervasive computing correspond to problems already
identified and studied earlier in the evolution.
In some of those cases, existing solutions
In other cases, the demands of pervasive
computing are sufficiently different that new solutions have to be sought.
There are also new problems introduced by
pervasive computing that have no obvious mapping to problems studied earlier.
There are fundamental reasons why pervasive
application development is more difficult than conventional application
End user devices, such as smart phones and
PDAs, come in many varieties and have widely varying capabilities, both
hardware (form factor, user interface hardware, processor, memory, and network
bandwidth) and software (operating ystem, user interface software, services,
Pervasive computing will be a fertile source of challenging research
problems in computer systems for many years to come. Solving these problems
will require us to broaden our discourse on some topics, and to revisit long-standing
design assumptions in others. We will also have to address research challenges
in areas outside computer systems.
Given the diversity of pervasive applications and the harsh
conditions of their execution environments, the design of a comprehensive and
adequate middleware for pervasive applications is certainly a rewarding but
also a challenging goal.
we conclude that a pervasive computing environment as one saturated
with computing and communication capability, yet so gracefully integrated with
users that it becomes a ”technology that disappears.” Pervasive computing
will be a fertile source of challenging research problems in computer systems
for many years to come.
Given this or similarly ambitious visions, pervasive applications
are very attractive from a user’s perspective. In essence, they simply promise
to offer more sophisticated and more reliable task support for everyone,
everywhere. From an application developers perspective, on the other hand, they
are close to a nightmare come true: unprecedented device heterogeneity,
unreliable wireless communication and uncertainty in sensor readings,
unforeseeable execution environments that span the complete spectrum from
static to highly dynamic, changing user requirements, fuzzy user preferences
and the list goes on and on. Over the last years, middleware for pervasive
computing has come a long way.
1 Bakre, A., Badrinath, B.R. Handoff and System Support for
Indirect TCP/IP. In Proceedings of the Second Usenix Symposium on Mobile &
Location-Independent Computing. Ann Arbor, MI, April, 1995.
2 M. Satyanarayanan, “Fundamentals Challenges in Mobile
Computing”, in ACM Principles of Distributed Computing, 1996.
3 Pradip Loganathan “The Challenges and Requirements of Mobile
4 L.T. Yang et al. (Eds.): EUC 2004, LNCS
3207, pp. 672–681, 2004.
_c Springer-Verlag Berlin
5 M. Roman, C. Hess, R.
Cerqueira, A. Ranganathan, R.H. Campbell and K. Nahrstedt, “A Middleware
to 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, No. 2, pp. 22-31, 2002.
8 Julien Bruneau, Wilfried Jouve, and Charles Consel.
Diasim, a parameterized simulator for pervasive computing applications. In
Proceedings of the 6th International Conference on Mobile and Ubiquitous
Systems: Computing, Networking and Services (Mobiquitous’09), Toronto, CAN, jul