Abstract requiring expertise on underlying technologies, developing a pervasive

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.

1.      INTRODUCTION

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

The
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
applications.

Abstracting over
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
computing environments

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

3.     
Role of
Context-awareness

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

4.     
Device
heterogeneity

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

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
operating systems.

Architectural
heterogeneity: this heterogeneity aspect
illustrates environments where network interconnections do not share any common
architectural characteristics.

 

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

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.

The rapidly
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.

Approaches
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
multiple times.

Developing pervasive applications we need
following four approaches.

1.     
Device-independent
view

Device
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
interface control.

2.     
Platform-independent
controllers

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.

3.     
Host-independent
models

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.

4.     
Source-independent
context data

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
Computing

 Mobility Issues

·        
How to integrate mobile communicators into
complex information infrastructures?

·        
What effect will they have on work and leisure?

·        
Privacy

·        
How to develop and manage adaptable, context-aware
software systems?

·        
What support is needed within the network?

·        
Power supplies

Wireless Problems

·        
Too many similar standards

·        
Shortage of spectrum

·        
Use low power + multiple base stations with
intelligent antenna.

·        
Overlapping spectrum usage can cause
interference eg Bluetooth and IEEE 802.11

·        
Unregulated bands lead to chaos

Open Issues

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
Pervasive Computing

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
apply directly;

·        
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
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 ystem, user interface software, services,
and applications).

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.

Conclusion

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.

References

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

Computing”.

4 L.T. Yang et al. (Eds.): EUC 2004, LNCS
3207, pp. 672–681, 2004.

_c Springer-Verlag Berlin
Heidelberg 2004

 

5 M. Roman, C. Hess, R.
Cerqueira, A. Ranganathan, R.H. Campbell and K. Nahrstedt, “A Middleware
Infrastructure

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.

7http://en.wikipedia.org/wiki/Pervasive_Computing

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
2009. ICST/IEEE