pervasive computing

Document Sample
pervasive computing Powered By Docstoc
					                        FUTURA’ 2004

                 Technical Paper Presentation


               Recent Trends in Information Tech.
                        With Emphasis

                 PERVASIVE COMPUTING
                            “Things that think want to link"
                                               - Nicholas Negraponte

             Mahendhirapuri, Mallasamudram(W),
                    Namakkal – 637 503.

              Authors                              E-Mail
V.Diwakar,                                1.
S.Youvaraja,                              2.
V M.Sc[Comp. Tech],IX-SEM,
Department of P.G.Studies (Integrated),
Mahendra Engg. College

                                                                          Page No. :

1. INTRODUCTION                                                           2

2. OVERVIEW OF PERVASIVE COMPUTING                                        3

3. METHODOLOGY                                                            5

      3.1. Service Discovery                                              5
      3.2. QoS, Resource management                                       5
      3.3. Network adaptation                                             5
      3.4. Sensor Network                                                 6


       4.1.   Wireless Microservers.                                      7
       4.2.   Background.                                                 7
       4.3.   Possibilities.                                              7
       4.4.   How to Implement the Microsevers ?                          7
       4.5.   Connection To Wireless Microserver.                         7
       4.6.   Service Discovery                                           7
       4.7.   Implementation Options for Distribution of UI to Servers.   8
       4.8.   Various Implementations.                                    9
       4.9.   A Middleware Infrastructure for Active Spaces.              10
                4.9.1. Gaia Overview.                                     10
                4.9.2. Gaia Services.                                     11
                4.9.3. Gaia Security Service                              12
                4.9.4. Gaia Applications                                  13

5. A REAL TIME APPLICATION                                                14

       5.1 Framework Components                                           14
           5.1.1. Media Server                                            14
           5.1.2. Media Sink                                              14
           5.1.3. Media Sink Proxy                                        15
           5.1.4. Controller                                              15
      5.2. Physical Location Discovery                                    16
      5.3 Announcement of Sink Resources                                  17
      5.4 Connection Establishment                                        18

6. CONCLUSION                                                             19

7. REFERENCE                                                              20

1. Introduction
       Pervasive Computing is a shift towards ubiquitous computing systems, Intended to
provide an enhanced living environment with digital information and processing.

        "Things that think want to link", Nicholas Negraponte of MIT Media Labs is quoted
as saying. The doctrine of pervasive computing.

         Pervasive computing means that it portends for human kind in the next few years. To
put it simply it is computation that‟s freely available everywhere. Scenarios where all devices
are networked, human-centric, communicate and interact with each other without any hiccups;
their primary objective being to bestow quality life to the user.

       Pervasive computing demands far more of our networks than ever before. Web
browsing, video conferencing and Internet telephony have very different network requirements
than such old Internet applications like electronic mail and file transfer.

        Pervasive Computing can be embedded in the communication medium and it is
distributed in wide-area. Not protocol but agents with well specified behavior executing in
places in the network can place intelligence in the network. Agents enhance the autonomy,
intelligence, and mobility of software objects and allow them to perform collective and
distributed tasks across the network.

       Agents may be dispatched to nodes across the routes in a network, and will be
responsible for the maintenance of services through the virtual private networks (VPN)
created. Maintenance of a VPN may involve dynamic reconfiguration, rerouting of
connections, and re-negotiation of QoS targets.

        Pervasive Computing argues that existing operating system abstractions and services
are neither sufficient nor necessarily appropriate for a pervasive computing infrastructure. The
main goal of Pervasive Computing is to allow, users to interact the environment‟s resources
seamlessly. Pervasive computing uses a profound operating system known as “Gaia meta-
Operating System”.

        Let us consider a example “MIT’s Project Oxygen”, here we describe a framework
for redirecting data streams to devices best equipped to handle them as users move around in a
building. For instance, a user moves around, this system makes it possible for a sound or video
stream to “follow” her, with the stream being played at whichever best-equipped, available
output device is nearest to her at any point in time. The key challenges in building this system
involve discovering resources identified by their location and in developing an architecture that
achieves seamless stream redirection. We describe how our design and implementation meets
these challenges.

2. Overview of Pervasive Computing

                  2. Pervasive Computing an overview

2.1 ENVIRONMENT (Real World)

       The environment constitutes the embedded devices and the surroundings.


       Front-End gets data from the environment and passes data to the Back-End tool. It also
updates the database with the current data. This is done in an user friendly format.


         Back-End process the data sent by the front-end, this processed information is updated
refers to the knowledge base and decides the necessary action. The action to be taken is passed
to the front-end which then activates the action module.


       Actions that may be taken are giving appropriate information taking physical actions to
the environment. After the discovery of appropriate to which the device is connected.



       Context Awareness is the method of integrating the information in the device about the
device and its environments.


       Service Discovery will be seen briefly in the methodology phase.

3. Methodology
3.1 Service Discovery
       Service Discovery can benefit pervasive computing environments, where numerous
elements and sensors often interacts to achieve the desired functionality and intelligent. In
such environment, self-advertisement and peer discovery can enable the pervasive space to
dynamically change and evolve without major system reengineering.

       Service discovery has come a long way to becoming a major standardization and
development efforts. The front-runners of Pervasive computing are:
               Jini,
               Universal Plug and Play (UPnP),
               INS (Intentional Naming System),
               Salutation, and
               Service Location Protocol

3.2 QoS, Resource Management
        The QoS (Quality of Service) and Resource management is essential in pervasive
computing area. A broader set of resources may include computation, storage, and services
from other providers as well as bandwidth. Independencies between different type of resources,
service-specific notions of QoS should be considered. The challenge is to accommodate
service-specific qualities of service and resource management policies for a large number of
service providers. Resource management mechanisms should be flexible so that resource
management policies are customizable by applications and service providers.

3.3. Network adaptation
        The real goal of adaptive networking is to provide good end-to-end service, where the
end points are located in applications. The heterogeneity of the environment can be overcome
by tailoring network processing to the available resources.. Without considering the needs of
applications and their users, no adaptive solution at the network level alone can solve the entire
problem. Adaptive solutions to network problems embrace many interesting variations: the
various proxies, active networks and intelligent agents. All adapt to changing conditions
specific to the data transmission requested, or to prevailing network conditions, or to needs of
the users.

3.4 Sensor network
       In a typical sensor network, the individual sensors sample local values (measurements)
and disseminate information as needed to other sensors and eventually to the observer. The
measurements taken by the sensors are discrete samples of the physical phenomenon subject to
individual sensor measurement accuracy as well as location with respect to the phenomenon.

       Sensor networks share many of the challenges of traditional wireless networks,
including limited energy available to each node and bandwidth-limited, error-prone channels.
However, communication in sensor networks differs from communication in other types of
networks in that it is typically not end-to-end. More specifically, the function of the network is
to report information regarding the phenomenon to the observer who is not necessarily aware
of the sensor network infrastructure and the individual sensors as an end-point of

4. Operating System Behind Pervasive Computing :

         Wireless Microservers.
         Background.
         Possibilities.
         How to Implement the Microsevers ?
         Connection To Wireless microserver.
         Service Discovery
         Implementation Options for Distribution of UI to Servers.
         Various Implementations.
         A Middleware Infrastructure for Active Spaces.
              Gaia Overview.
              Gaia Services.
              Gaia Security Service
              Gaia Applications.

Wireless Microservers :

       Microserver-a small, cost-efficient web-server that is integrated or plugged directly
        into a device
       Nokia and the University of Dortmund have created a low-power wireless

         Real interaction instead of one-way commands being sent from the user.
         Location-aware computing
         Limit the redundancy of commands amongst multiple devices
         Provide Internet access to devices without using a PC.

Implementation of the Microservers ?
       Mobile phone vs. PDA
       Though the PDA may have more resources, the mobile phone was selected because
        it is more prevalent in today‟s society.

Service Discovery :
      Bluetooth- short-range radio technology
      2 ways to setup connection
          User request-searches for all Bluetooth devices in the user‟s proximity
          Discoverable mode-once the user terminal comes into the proximity of a
             Bluetooth device, the terminal is alerted.

Implementation Options for Distribution of UI to Servers.
       1. Preprogramming server with user interface (UI) for several devices

       2. Server downloads UI from the device.

       3. Server downloads UI from the Internet by being connected to a PC

       4. Server downloads UI by connecting to the Internet using a mobile phone

1. Preprogrammed Server

Advantages: Minimizes effort needed from user‟s connection device or by the manufacture
company of the device the server is connected to

Disadvantages: Unnecessary cost , may not have the proper UI for the user‟s device

2. Server downloads UI from device

Advantages: Server is cheaper

Disadvantages: Device is more expensive, Difficult to update UI

3. Server downloads UI from Internet using PC connection

Advantages: Easier to update user interface

Disadvantages: Requires more effort from the user

4. Server downloads UI from Internet using mobile phone

Advantages: “One server fits all”, Advertisements may be shown to users, Easy to upgrade
UI, generate more profit by offering a basic UI and a premium UI

Disadvantages: Cost of air-time for the mobile phone to download the UI


           Author implemented a WAP application to control PowerPoint presentations
            using a Bluetooth phone.

           Author implemented a MP3 player play list editor running on a Bluetooth-
            equipped laptop

           Currently software is available to control a computer running a Mac OS using a
            Bluetooth enabled phone.

A Middleware Infrastructure for Active Spaces
           Physical Space is geographical area and the items contained within it.

           Active Space context-aware coordinated physical space.

           Goal: Allows users to interact the environment‟s resources seamlessly.

           Solution: Use Gaia meta-operating system.

Gaia: Overview

Gaia Kernel: CMC

     Component Management Core – Manages basic software unit.

Gaia Kernel: Services

         Context Service

         Context File System

         Component Repository

         Event Manager

         Presence Service

         Space Repository

         Security Service

Gaia Kernel: Context Service
         Defines context properties and operations that can be performed.

         Context providers (kept in registry) – sensors or other components

            which can infer context.

Gaia Kernel: Context File System
         Context File System

         Two modes of operation:

               •   File – traditional directory hierarchy

               •   Context – directory structure based on context

         Easier for application to find information on their own.

Gaia Kernel: Component Repository & Event Manager

         Component Repository keeps copies of all components. Allows browsing,
          storing, and uploading.

         Event Manager provides means of communication using a consumer/supplier

Gaia Kernel: Presence Service
         Notifies the active space of the state of the entities

         Supplies events on presence channels (different channels for people,


         services).

         Software components notify their existence using a „heartbeat‟ (sent at a

         regular interval).

         People are discovered through sensors.

Gaia Kernel: Space Repository & Security
         Space Repository (database) keeps track of all active devices/services

            available in the space.

         Information is kept in XML format so that it can be queried easily

         Security still in development.

         Uses modules separate from application to handle authentication

Gaia Application Framework
        MVC (Model View Controller) bad fit for Gaia.

        Gaia MPCC (Model Presentation Controller Coordinator); decoupling of

           hardware and software.

5. A Real Time Application
       In this example we present and describe in detail an architecture for achieving
application-level stream redirection that enables a user to begin playing a media file and have
the data stream follow her as she moves from room to room. We also describe a working
implementation that showcases our architecture‟s flexibility.

        Our design uses two technologies to achieve the aforementioned requirements: it uses
the Cricket location support system so that the system can learn of the user‟s physical
location wherever she goes, and it uses the Intentional Naming System (INS) network
resource location system to find out which speakers or displays are available for use in each

         The user carries a handheld mobile device with network connectivity wherever she
goes. This handheld device has attached to it a piece of hardware called a Cricket listener,
which learns of its location by listening to signals coming from Cricket beacons installed in
every room. Our software, running on the user‟s handheld device, learns of the user‟s location
thanks to Cricket and asks INS if there are any available speakers in that room that may be
used for playing music. If there are, the user can select which media file she wants to play and
it will begin playing in a speaker in the current room.

       As the user moves to another room, the software detects this change and asks INS for
speakers in the user‟s new location; as soon as one is found, it instructs the new speaker to
begin playing the media file from the point where the other one left off. As far as the user is
concerned, the media file has automatically “followed her” from one room to another.

5.1 Framework Components
   Our framework is made up of four components that interact with each other through well-
   specified interfaces

   5.1.1. Media Server: This is the host where the media files that are to be played reside.
   Our system can interact with unmodified servers (such as web servers or FTP servers), so
   the media server is actually an external component of the framework. We can use existing
   servers as they are, as long as they support starting a transfer from any byte offset set. No
   modification to the server is necessary to have it interact with the rest of our framework.

   5.1.2. Media Sink: This is where the media files are being played; in our previous
   example, the speakers are the media sink.

5.1.3. Media Sink Proxy: Since actual media sinks will very likely lack computational
abilities, we need a piece of software that can communicate with the rest of the system on
behalf of the media sink. The media sink proxy is the piece of software that is the actual
media sink‟s portal to the rest of the system. Its duties include communicating with the
server to get the stream data and sending the data to the sink so the media file can be played
(how this is actually done is sink-dependent but ultimately transparent to the rest of the

5.1.4. Controller: This is the piece of software running on the handheld device. Its duties
include finding out its location, detecting motion from one location to another, and
communication with a sink proxy to initiate a media file transfer.

                                 5.1 Framework Components

5.2. Physical Location Discovery
        The first thing that will happen when the controller software is run is that the Cricket
listener attached to it will inform it of its physical location Said location is opaque to the
controller; this means that it is simply a string of characters that the controller receives but
need not interpret.

        In general, location information is simply used to figure out which sink proxies are
running in the same location as the controller. It is unimportant exactly what this location
string is or how it is constructed; it suffices only that the location string determined by the
controller matches the one being announced by the sink proxy.

        Sink proxies, thus, must also figure out their location information. In the case of a sink
proxy, the location information (which is also opaque) may be given as a static, non-changing
string (which may be useful if the sink proxy is running on a desktop computer whose location
is known and fixed). However, it is also possible to interface a physical location system such as
Cricket to the computer where the sink proxy is running so that its location may be given by
the beacon in the room.

                       5.2 Physical Location Discovery Using Cricket.

5.3 Announcement of Sink Resources
        When the media sink proxy software is run, it must first figure out its location. Once it
does so, it must announce itself to the network so that it may be found by controllers interested
in initiating a connection. For this purpose, the sink proxy communicates with a network
resource location system such as INS, sending it an announcement informing it of its existence
and its location information. Other information should be included in this network
announcement; the sink proxy should reveal not only its physical location, but also some
information the controller may use to contact it, as well as which type of sink it is and the
transport type it accepts.

                                 5.3 Announcement of Sink Resources.

5.4 Connection Establishment

                      5.4.1. Connection Establishment.

                         5.4.2. Ending Connection.

6. Conclusion

       Pervasive computing is all about network service because every service in pervasive
computing environment needs network support and pervasive computing cannot exist without
network infrastructure. That‟s why almost all current pervasive computing projects assume
they have an active network or intelligent network as the lower infrastructure.

        Pervasive computing illustrates a world that we are moving towards, quite rapidly. The
promise of „convenience‟ implies that islands of technologies will soon converge and simplify
life even further. We will finally be witness to the long promised shift to convergence.
Computing will no longer be a monopolizing activity that shackles us to our desktops.
Basically easier computing that‟s available everywhere as needed, devices that are going to be
easy to use, as simple as calculators and telephones or ATMs.

        The relationship to computation in its pervasive form will be different from our
relationship to its current computation. The first difference is the explicitness of the
computational task. Presently people think in terms of performing explicit tasks "on the
computer"--creating documents, sending e-mail, and so on. When computation is part of the
environment, this comfortable explicitness will disappear. Individuals will do whatever they
normally do: move around, use objects, see and talk to each other. The computation in the
environment may be able to facilitate these actions, and individuals may come to expect certain
services, but they will usually not be doing things "on the computer."

        A second key difference in the pervasive computing world is the importance of physical
space. Current computers obviously occupy physical space, but this is usually irrelevant. Apart
from dealing with limitations of "screen real estate" and ergonomic considerations of head and
hand positioning, most computer interface design has nothing to do with physical space. With
very rare exceptions, conventional computer interfaces are unaware of the presence, much less
the identity, of human beings.

       Are you ready to enter in to the world of digital computing…………?

7. Reference

   Hartwig, Stephan, Jan-Peter Stromann, and Peter Resch. "Wireless microservers." IEEE
    Pervasive Computing. Vol. 1

   Roman, Manuel, et al. "A Middle Infrastructure    for Active Spaces." IEEE
    Pervasive Computing. Vol. 1, No. 4

   MiJeom Kim
       University of Texas at Arlington

   Efraim Turban
        City University of Hong Kong