Transcript Document

CS 6910 – Pervasive Computing Section 0.A:

Introduction to Pervasive Computing

Dr. Leszek Lilien Department of Computer Science Western Michigan University Slides based on the article “Pervasive Computing: Vision and Challenges” by Prof. M. Satyanarayanan, Carnegie Mellon University, IEEE Personal Communications , 2001 [ Possible mistakes and omissions are all mine. – LTL] Slides are © 2007 by Leszek T. Lilien Requests to use original slides for non-profit purposes will be gladly granted upon a written request.

1. Introduction

 

Vision of pervasive computing computing

 

/ ubiquitous

[Mark Weiser, 1991] ‘‘The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.’’ The essence of that vision:  Creation of environments saturated with computing and communication capabilities, yet gracefully integrated with human users

A vision too far

ahead of its time

(1991)

The required hardware technology simply did not exist  The implementation attempted by Weiser and his colleagues at Xerox PARC fell short Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 2

Introduction (2)  Critical hardware elements of pervasive computing are now (2001) available  Are now viable commercial products   Examples:     Handheld computers / wearable computers Wireless LANs Sensing devices Control appliances We can begin the quest for pervasive computing vision.  Examples of pervasive computing projects   At universities:   Project Aura at Carnegie Mellon / Endeavour at UC Berkeley Oxygen at MIT / Portolano at Washington In the industry:   AT&T Research in Cambridge, U.K.

IBM TJ Watson Research Center Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 3

Introduction (3) 

The

goal

of this paper:

Understand the challenges

in computer systems research

posed by pervasive computing

Outline:

 

Relationship

related fields of

computing

of pervasive computing

to distributed systems

the closely-

and mobile

Two pervasive computing

scenarios

 Why they are fiction rather than fact today.  Selected

key research problems

 With focus on computer systems  issues Avoiding other areas important to pervasive computing  E.g., human-computer interaction, expert systems, software agents Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 4

2. Related Fields: Pervasive Computing vs. Distributed Systems & Mobile Computing

Evolutionary history

of pervasive computing

Distributed systems (

DIST

)   Mobile computing (

MOBI

)  [LL:] Ad hoc systems is MOBI’s superset, VANs – its subset Pervasive computing (

PERV

) 

Technical problems

in PC

Old

” problems - already studied & solved at earlier evolution steps   Some Some earlier solutions apply directly for pervasive computing earlier solutions are inadequate for pervasive computing 

New

problems - no obvious mapping to problems studied at earlier evolution steps Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 5

Pervasive Computing vs. Distributed Systems & Mobile Computing (2) 

Next:

 

Sort out complex intellectual relationship

 Between problems/solutions for DIST, MOBI, PERV

Develop a

taxonomy of research

issues for each phase of the evolution

(DIST -> MOBI -> PERV) Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 6

Pervasive Computing vs. Distributed Systems & Mobile Computing (3)

2.1. Distributed Systems

Distributed Systems

Any

computers

connected by

any networks

[The paper: Intersection of personal computers and LANs]  Research from the mid-1970’s through the early 1990’s  Created a conceptual framework  and algorithmic base Enduring value in pervasive all work involving >= 2 computers connected by a network — whether mobile or static, wired or wireless, sparse or 

Solutions from DIST

 Span many areas that are foundational to pervasive computing  Well codified in textbooks (e.g.,: [8, 19, 20]) © 2007 by Leszek T. Lilien 7 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001

Pervasive Computing vs. Distributed Systems & Mobile Computing (4) Distributed Systems (2) 

Specific subarea solutions for DIST

Remote communication

     Incl. protocol layering, remote procedure call [3], use of timeouts, use of end-to-end arguments in placement of functionality [28]

Fault tolerance

 Incl. atomic transactions, distributed and nested transactions, two-phase commit [13]

High availability

 Incl. optimistic and pessimistic replica control [9], mirrored execution [4], optimistic recovery [37]

Remote information access

 Incl. caching, function shipping, distributed file systems, distributed databases [30]

Security

 Incl. encryption-based mutual authentication and privacy [23] Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 8

Pervasive Computing vs. Distributed Systems & Mobile Computing (5)

2.2. Mobile Computing

 Mobile Computing    The early 1990s - full-function laptops + wireless LANs Early mobile computing systems: A distributed system with mobile clients [LL:] Current mobile computing systems: Any nodes can be mobile  Solutions from MOBI  Many basic principles of DIST design continued to apply to MOBI

BUT

 Four key constraints of mobility MOBI:     required specialized techniques [31] for Unpredictable variation in network quality Lowered trust and robustness of mobile elements Limitations on local resources imposed by weight and size constraints Concern for battery power consumption  Mobile computing - still a very active and evolving field of research  Awaits codification in textbooks (as of 2000) © 2007 by Leszek T. Lilien 9 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001

Pervasive Computing vs. Distributed Systems & Mobile Computing (6) Mobile Computing (2) 

Specific subarea solutions for MOBI

 

Mobile networking

 Incl. mobile IP [2], ad hoc protocols [27], techniques for improving TCP performance in wireless networks [1, 5]

Mobile information access

 Incl. disconnected operation [17], bandwidth-adaptive file access [21], selective control of data consistency [38, 39]   

Support for adaptive applications

 Incl. transcoding by proxies [12], adaptive management [24]

System-level energy saving techniques

resource  Incl. energy-aware adaptation [11], variable-speed processor scheduling [45], energy-sensitive (=adaptive) memory management [18].

Location sensitivity

 Incl. location sensing [42, 43], location-aware (=adaptive) behavior [32, 35, 41] system Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 10

Pervasive Computing vs. Distributed Systems & Mobile Computing (7)

2.3. Pervasive Computing

Pervasive Computing

 Recall: 

Pervasive computing environment computing & communication disappears

’’ - one

saturated

with capability, yet so gracefully integrated with users that it becomes a ‘‘technology that Since motion is an integral part of everyday life,

PERV must support mobility

 Otherwise, a user will be acutely aware of the technology by its absence when she moves  Hence, research in pervasive computing subsumes that of mobile computing BUT … Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 11

Pervasive Computing vs. Distributed Systems & Mobile Computing (8) Pervasive Computing (2) … 

Research in pervasive computing goes much further

 PERV includes

four additional research thrusts

  Effective Use of Smart Spaces Invisibility   Localized Scalability Masking Uneven Conditioning  See Figure 1 (next slide) Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 12

Pervasive Computing vs. Distributed Systems & Mobile Computing (9) Pervasive Computing (3)  Figure 1: Taxonomy of Computer Systems Research Problems in PERV 1) New problems are encountered as one moves from left to right in this figure. Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 2) Solution of many previously encountered problems becomes more complex. As the modulation symbols suggest, this increase in complexity is multiplicative rather than additive it is very much more difficult to design and implement a pervasive computing system than a simple distributed system of comparable robustness and maturity.

Note:This figure describes logical relationships, not temporal ones . The evolution of research effort over time has loosely followed this picture BUT There have been cases where research effort on some aspect of pervasive computing began relatively early. E.g., work on smart spaces began in the early 1990’s and proceeded relatively independently of work in MOBI 13

Pervasive Computing vs. Distributed Systems & Mobile Computing (10) Pervasive Computing (4)

2.3.1) Effective Use of Smart Spaces

 A

space

:  An enclosed area  E.g., a meeting room or corridor  OR: A well-defined open area  E.g., a courtyard or a city square  

Smart space

infrastructure = space with embedding computing  E.g., smart space within buildings  Created by embedding computing infrastructure within building infrastructure Smart space

brings together two worlds

now [16]:   Physical space Cyber space (physical world) disjoint until Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 14

Pervasive Computing vs. Distributed Systems & Mobile Computing (11) Pervasive Computing (5) 1) Effective Use of Smart Spaces – cont.

 The fusion of physical world (PHYS) and cyber-world (CYB)

enables sensing and control of one world by the other

 Example of

sensing and control of PHYS by CYB

 Automatic adjustment of heating, cooling and lighting levels in a room based on an occupant’s electronic profile (incl. presence patterns)  Example of

sensing and control of CYB by PHYS

(the other direction)  Software on a user’s computer may behave differently depending on where the user is currently located  Note:

Smartness

may extend to

individual objects

, whether located in a smart space or not Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 15

Pervasive Computing vs. Distributed Systems & Mobile Computing (12) Pervasive Computing (6)

2.3.2) Invisibility

 The

ideal

expressed by Weiser: complete disappearance of pervasive computing technology from a user’s consciousness =

invisible computing

 A reasonable

approximation

([LTL:] = minimal visibility) :

minimal user distraction

 If a PERV environment continuously meets user expectations and rarely presents him with surprises , it allows him to interact almost at a subconscious level [46] BUT:  Getting too close to the ideal might not be perfect: A (small)

degree of visibility might be needed

 ([LTL:] I hope that abobe I correctly interpret the following text: “At the same time, a modicum of anticipation may be essential to avoiding a large unpleasant surprise later — much as pain alerts a person to a potentially serious future problem in a normally unnoticed body part.”) 16 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (13) Pervasive Computing (7)

2.3.3) Localized Scalability

Basic

  model of pervasive computing User’s personal computing space ( UPCS ) User’s surroundings ( US )

interactions

:  Interactions between UPCS & US  Scalability problems in pervasive computing  The smarter is the space , the larger is interaction intensity   This has severe bandwidth, energy and distraction implications for a wireless mobile user. The more users in the smart space the more interactions Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 17

Pervasive Computing vs. Distributed Systems & Mobile Computing (14) Pervasive Computing (8) 3) Localized Scalability – cont.

Scalability

 research Previous work typically  ignored physical distance A web server or file server should ignore distance  Handle as many clients as possible, regardless of whether they are located next door or overseas  Scalability in PERV   must consider physical distance Interaction density has to fall off with distance  A mobile user far from home will still generate interactions with sites relevant to him some  Otherwise both the user and his computing system will be overwhelmed by distant interactions that are of little relevance But the preponderance of distant his interactions will be local Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 18

Pervasive Computing vs. Distributed Systems & Mobile Computing (15) Pervasive Computing (9) 3) Localized Scalability – cont.

Good PERV design

:

scalability

achieved

by severely reducing distant interactions

 Like the inverse square laws of nature  .g., the inverse square law for gravitation)  This directly

contradicts

the current

‘‘death of distance’’ ethos of the Internet

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 19

Pervasive Computing vs. Distributed Systems & Mobile Computing (16) Pervasive Computing (10)

2.3.4) Masking Uneven Conditioning

‘‘Smartness’’

of different spaces considerably […]”)

varies

significantly (“The rate of penetration of pervasive computing technology into the infrastructure will vary  Well-equipped conference room, office, or classroom smarter than other locations  Space smartness depends on :   Technical  factors How well the space is saturated with smart devices Non-technical  factors Organizational structure, economics and business models, … 

Uniform ‘‘smartness’’

(if ever achieved) of spaces is

years or decades away

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 20

Pervasive Computing vs. Distributed Systems & Mobile Computing (17) Pervasive Computing (11) 4) Masking Uneven Conditioning – cont.

Differences

in ‘‘smartness’’ can be

distracting

 Can detract from the goal of invisible pervasive computing  One

idea

:

Reduce

seen by a user the amount of

variation

in smartness  Example

implementation

of the idea:

User’s personal computing space

(UPCS)

for ‘‘dumbness’’

of its environments  

compensates

E.g., a laptop masks   the absence of wireless coverage The laptop notices me leaving the CEAS building and downloads my mail as I leave the area covered by CEAS hot spots I can read my new mail at a restaurant without a hot spot Complete compensation impossible  But (achieving complete invisibility) may be reduced variability of space smartness within reach Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 21

Pervasive Computing vs. Distributed Systems & Mobile Computing (18)

3. Example Scenarios

What would it be like to live in

a world with pervasive computing?

Two

hypothetical

‘‘look and feel’’

scenarios

follow

Deliberately chosen

simple

scenarios that appear feasible soon (in just a few years)  Examples use [CMU’s]

Aura

( http://www.cs.cmu.edu/~aura/ ) as the

pervasive computing system

 But the illustrated concepts are of broad relevance Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 23

Pervasive Computing vs. Distributed Systems & Mobile Computing (19) Example Scenarios (2)

3.1) Scenario 1

        Jane is at Gate 23 in the Pittsburgh airport , waiting for her flight.

She has edited many large documents , and would like to use her wireless connection to e-mail them . Unfortunately, bandwidth is miserable since many passengers at Gate 23 and nearby gates are surfing the web.

Aura observes that at the current bandwidth Jane won’t be able to finish sending her documents before her flight departs. Consulting the airport network’s flight schedule service, Aura discovers that wireless bandwidth is excellent at Gate 15, and that there are no departing or arriving flights at nearby gates for 30 min. Aura displays a dialog box on Jane’s screen suggesting that she goes to Gate 15 , which is only three minutes away. It also asks her to prioritize her e-mail, so transmitted first. that the most critical messages are Jane accepts Aura’s advice and walks to Gate 15 . She watches CNN on the TV there until Aura informs with her messages, and that she can start walking back . Jane starts walking back her that it is close to being done to Gate 23.

The last message is transmitted during her walk , and she is back at Gate 23 in time for her boarding call.

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 24

Pervasive Computing vs. Distributed Systems & Mobile Computing (20) Example Scenarios (3)

3.2) Scenario 2

    Fred is in his office, frantically preparing for a meeting at which he will give a presentation and a software demonstration. The meeting room is a 10-minute walk across campus .

It is time to leave, but Fred is not quite ready. He grabs his PalmXXII wireless handheld computer & walks out Aura transfers the state of & allows him to make edits his work of the door.

from his desktop to his handheld , using voice commands during his walk . Aura infers where Fred is going from location tracking service. It downloads the presentation & the demonstration software to projector.

his calendar & the campus the projection computer, & warms up the     Fred finishes his edits just before he enters the meeting room.

As he walks in, Aura transfers his final changes to the projection computer. As the presentation proceeds, Fred is about to display a slide with highly sensitive budget information that there are some . Aura senses that mistake: the room’s face detection and recognition capability indicates unfamiliar faces present this might be a . It therefore warns Fred .

Realizing that Aura is right, Fred skips the slide . He moves on to other topics and ends on a high note, leaving the audience impressed by his polished presentation.

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 25

Pervasive Computing vs. Distributed Systems & Mobile Computing (21) Example Scenarios (4)

3.3) Missing capabilities

  needed for implementing PERV

Scenarios

embody

many key ideas

Scenario 1 shows

importance of

:    in PERV Proactivity   Jane able to e-mail (estimates) her work only because Aura predicts how long the whole process would take Jane able to begin walking back to her departure gate before transmission completes because Aura looks ahead on her behalf Combining knowledge from different layers of the system    Information system Knowledge of boarding time is a high-level level) information Aura helps Jane only by knowledge on wireless congestion comes combining from a low level of the (application- or user these disparate pieces of Smart space  Aura is able to obtain from the smart environment information wireless conditions at other gates, flight arrival/departure times at different gates, and distances between gates on Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 26

Pervasive Computing vs. Distributed Systems & Mobile Computing (22) Example Scenarios (5)  Missing capabilities  needed for implementing PERV – cont. 1

Scenario 2

illustrates importance of:     Moving execution state   effortlessly across diverse platforms Moving from a desktop to a handheld Moving machine from the handheld to a projection computer Self-tuning  Ability to edit on the handheld keyboard and mouse. Proactivity (=automatically adjusting behavior to fit circumstances) using speech input rather than   Inferring that Fred is headed for the room across campus, warming up the projector, transferring the presentation and demonstration Anticipating that the budget slide sensing danger presence of strangers in the room .

might be displayed next, and by combining this knowledge with the inferred Smart space    The location tracking and online calendar services are what enable Aura to infer where Fred is heading The software-controlled projector enables warmup ahead of time The camera-equipped room with continuous face recognition to warning Fred about the anticipated privacy violation is key Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 27

Pervasive Computing vs. Distributed Systems & Mobile Computing (23) Example Scenarios (6)  Missing capabilities  needed for implementing PERV – cont. 2 Perhaps the

biggest surprise

: How

simple and basic

in these scenarios  The hardware are all the

component technologies

technologies are available (in 2001!)   Laptops, handhelds, wireless communication, software-controlled appliances, room cameras, … Software technologies have also available (in 2001!)  Location tracking, face recognition, speech recognition, online calendars, ...

 So

why

then do these scenarios

seem like science fiction

today? (in 2001 and still in 2006)  The answer : The whole is much greater than the sum of its parts  The real challenge is in the seamless integration technologies into a PERV system of h/w s/w 

Difficult problems

 to solve: Architecture / Component synthesis / System-level engineering Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 28

Pervasive Computing vs. Distributed Systems & Mobile Computing (24)

4. Solving Difficult Problems

(“Drilling Down”)

 Drilling down – 

solving

the above

difficult problems

Practical realization of PERV requires solving

many difficult design & implementation problems

 Let’s look at some of these problems at the next level of detail (“Our goal is only to convey an impressionistic picture of the road ahead.”) 

No

 claim of

completeness

or

exclusiveness

Set of topics  is merely a sampling of the problem space: 4.1. User Intent / 4.2. Cyber Foraging   4.3. Adaptation Strategy / 4.4. High-level Energy Management 4.5. Client Thickness / 4.6. Context Awareness   4.7. Balancing Proactivity and Transparency 4.8. Privacy and Trust / 4.9. Impact on Layering 30 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (25) Drilling Down - The Difficult Problems (2)  Drilling down - The difficult problems – cont. 1 

Assumed:

Each

user immersed in a user’s personal computing space

(UPCS) that accompanies him everywhere and

mediates all interactions

with the pervasive computing elements in her surroundings  UPCS likely implemented on a body-worn or handheld computer (or a collection of these acting as a single entity )  

UPCS is a ‘‘client

’’ of its PERV environment  Even though many of its interactions than strictly client-server Client needs to be quite sophisticated may be peer-to-peer hence complex  As indicated by the discussion below rather 

Figure 2

, illustrating the

structure of an

a concrete example of this complexity

Aura client

, gives 31 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (26) Drilling Down - The Difficult Problems (3) 

Figure 2: Structure of an Aura Client

This figure shows the components of an Aura client Coda and their logical relationships The text in italics indicates the role played by each component .

and Odyssey were created prior to Aura, but are being computing Chroma Other components modified substantially to meet the demands of pervasive In the case of Odyssey, these changes are sufficiently extensive that they will result in , a replacement are being created specifically for use in Aura Such as Prism are not shown and added over time Spectra Additional components are likely to be Since Aura is relatively early in its design at the time of this writing (2001) Server and infrastructure support for Aura Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 32

Pervasive Computing vs. Distributed Systems & Mobile Computing (27) Drilling Down - The Difficult Problems (4)  4.1) User Intent     Proactivity requires  that a PERV system tracks user intent Otherwise, almost impossible to determine which system actions help rather than hinder the user.

 E.g., suppose a user is viewing video over a network connection whose bandwidth suddenly drops  System choices :  a) reduce the fidelity  b) pause briefly connection, or of the video, to find another higher-bandwidth  c) terminate the task?

Correct choice depends on  accomplish Today’s systems are what the user is trying to poor at capturing On the one hand: generic applications and exploiting that have user is attempting to do  Offer little support for adaptation and proactivity user intent no idea what the On the other hand: applications that try to anticipate do so very badly  user intent but Gimmicks like the Microsoft ‘‘paperclip’’ often more annoying than helpful Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 33

Pervasive Computing vs. Distributed Systems & Mobile Computing (28) Drilling Down - The Difficult Problems (5) 

User intent

  - some important

research questions

: Can user intent be

inferred

,

or

does it have to be explicitly

specified

?

In the latter case, is it statically specified (e.g., from a file) or obtained on demand through dynamic interactions?

How

 is user intent

represented internally

? How is it used?

How rich must this information be for it to be useful? When and how is it updated? How do different layers of a system access this knowledge?

 How does one characterize

accuracy of user intent knowledge

?

 Is incomplete or imprecise what level of uncertainty making decisions?

knowledge of user intent still useful ? At is it better to ignore such knowledge in  Will the attempt to obtain intent

to burdensome

user?

  on the Will it hurt usability and performance unacceptably? Is the benefit [of using user intent] worth the cost? How does one quantify this benefit?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 34

Pervasive Computing vs. Distributed Systems & Mobile Computing (29) Drilling Down - The Difficult Problems (6)  4.2) Cyber Foraging  Two

contradictory requirements

 Must be lightweight for

mobile devices:

= small, light, with small and light battery   Compromises computing capabilities Must have powerful comp/comm capabilities  Ever-growing expectations of mobile users  Well beyond capabilities of a lightweight mobile computer  

How to reconcile

  contradictory requirements?

Difficult to reconcile Idea : use cyber foraging  forage [fawr-ij] … 3. the act of searching for provisions of any kind. [cf. Dictionary.com] Cyber foraging: Dynamically augment the computing resources of a wireless mobile computer by

exploiting wired hardware infrastructure

[ LTL: of the surrounding smart space] Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 36

Pervasive Computing vs. Distributed Systems & Mobile Computing (30) Drilling Down - The Difficult Problems (7)  4.2. Cyber Foraging – cont.1

 Need

infrastructure facilitating cyber foraging

  Need smart public spaces   Equipped with compute servers or data staging servers  Much as table lamps [or power outlets] are today Connected to the wired Internet through high-bandwidth networks ‘‘Wasting’’ smart infrastructure when not in use   We can afford Could ensure this ‘‘waste’’ to improve that never wasted user experience - always in use  E.g., run SETI program / sell time slices to others 

Surrogate

of a mobile computer: Hardware in the wired infrastructure temporarily supporting cyber foraging for the mobile computer  [LTL:] Compare this

extensive networks

( foraging (by employing helpers) in

oppnets limited

cyber foraging with how oppnets’ approach differs.

more opportunistic

). After we discuss oppnets (soon), see 37 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (31) Drilling Down - The Difficult Problems (8)  4.2. Cyber Foraging – cont.2

 A typical

foraging scenario

   Mobile computer ( MC ) enters a smart space MC detects  surrogates and negotiates their use Communication with a surrogate via short-range wireless P2P to-peer) technology  Surrogate is MC’s networking gateway to the Internet (peer accessing a When MC needs to perform an intensive computation large volume of data , MC uses the surrogate  Surrogate performs computations

OR

 for MC Surrogate services cache misses  for MC Lower latency, avoiding Internet delays   Surrogate caches data from the Internet on its local disk during performing the computation

OR

 Surrogate may have staged data ahead of time user’s arrival in the neighborhood in anticipation of the MC leaves the space   Its surrogate bindings are broken Any data cached or staged for MC are discarded Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 38

Pervasive Computing vs. Distributed Systems & Mobile Computing (32) Drilling Down - The Difficult Problems (9) 

Cyber foraging

 –

some important research questions

: How does one

discover

 the presence of

surrogates

?

Of the many proposed service discovery mechanisms such as JINI, UPnP, and BlueTooth proximity detection, which is best suited for this purpose? Can one build a discovery mechanism that subsumes all of them for greatest flexibility?

 How to handle the issue of

trust

?

 How does one establish an appropriate level of trust in a surrogate? What are useful levels of trust in practice? How applicable and useful is the concept of in a neighborhood?

caching trust [29]? Can one amortize the cost of establishing trust across many surrogates  How is

load balancing

 on surrogates done?

Is surrogate allocation based on an admission control approach, or a best-effort approach? How relevant is previous work on load balancing on networks of workstations?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 39

Pervasive Computing vs. Distributed Systems & Mobile Computing (33) Drilling Down - The Difficult Problems (10)  Cyber foraging – some important research questions – cont.

 How to handle the issue of

staging

?

 In typical situations, how much advance notice need for effective staging with minimal delay?

 does a surrogate Is this on the order of seconds, minutes or tens of minutes? What implications does this requirement have for the other components of a pervasive computing system?

 What are the implications of cyber foraging for

scalability

of

smart fixed infrastructure

?

 How dense does the fixed infrastructure have to be to avoid overloads during periods of peak demand?

 What is the

system support needed minimally intrusive

for

seamless and

surrogate experience for a user?

 Which are the components of this support that must be provided by MC , and which by the smart space ?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 40

Pervasive Computing vs. Distributed Systems & Mobile Computing (34) Drilling Down - The Difficult Problems (11)  4.3) Adaptation Strategy 

Adaptation

is necessary when there is a significant

mismatch between the supply and demand

of a resource  Examples of resources : wireless network bandwidth, energy, computing cycles, memory, …  Three alternative PERV   

adaptation strategies

for adaptation in Recall: UPCS  UPCS is a client of a smart space (3 interacting entities) = user’s personal computing space Strategy 1 ( guarantee reservation ): Client can ask of a certain level of a resource the environment for  Strategy 2 ( their behavior so that they use less of a scarce resource  Typically used by reservation -based QoS   systems [22] QoS This – quality of service effectively increases the supply of a scarce resource to meet the client’s demand [ LTL: Client able to reserve is privileged in some sense] Client can guide applications This change usually reduces fidelity , of an application  reduction ): the user-perceived E.g., Odyssey [11, 24] uses this strategy in changing quality , or Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 41

Pervasive Computing vs. Distributed Systems & Mobile Computing (35) Drilling Down - The Difficult Problems (12)  4.3. Adaptation Strategy –cont.

 Three alternative strategies for adaptation in PERV – cont.

 Strategy 3 ( its user correction ): Client can suggest a corrective action   to If the user complies with it, resource supply without certainty) become adequate will likely (but to meet demand  E.g.., in Scenario 1, Aura advised Jane to walk to Gate 15 in order to obtain adequate wireless bandwidth.

Conceptually promising system yet (2001) , but not implemented by any real  All three   strategies are Some smart spaces (Strategy 1 - reservation) In some smart spaces must ask applications to reduction) important in pervasive computing capable of accepting resource reservations [some] clients can’t reserve resources — reduce their fidelities (Strategy 2   Happens when space is uncooperative or resource-impoverished Corrective actions may be particularly useful fidelity is unacceptable when reduction (Strategy 3 - correction) of  Broaden the range of possibilities for adaptation by involving the user Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 42

Pervasive Computing vs. Distributed Systems & Mobile Computing (36) Drilling Down - The Difficult Problems (13) 

Adaptation Strategy

 How does a

client choose

 – some research

questions

the best

adaptation strategy

?

What factors should a good decision procedure take into account? How should different factors be weighted? What role , if any, should the user play in making this decision? How can smooth and seamless transitions between strategies be ensured as a user moves between different spaces?

 

Reservation strategy

might appear  User neither required to accept lower fidelity nor corrective action Is this true in all circumstances?

superior

 What are the hidden costs and ‘‘gotchas,’’ deployed system using Strategy 2?

for a user perform a if any, in a widely-

How

will the

implementation

resource

reservations

?

 of a smart space

honor

What are the most appropriate admission control policies when there are competing requests from multiple clients? What resources , beside wireless network bandwidth, is it meaningful and useful for a smart space to reserve ? What are the APIs and protocols necessary to negotiate these reservations ?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 43

Pervasive Computing vs. Distributed Systems & Mobile Computing (37) Drilling Down - The Difficult Problems (14)  Adaptation Strategy – some research questions – cont.

 Issues for corrective   strategy Is corrective adaptation practically feasible ? Do users find it intrusive or annoying ? What is the best way to communicate potential corrective actions to users ? What are the programming models and APIs necessary to support corrective actions?

Legacy problem : Can existing applications use this approach? If so, how substantial are the modifications to them?

 Issues for reduction   strategy What are the different ways in which fidelity can be lowered for a broad range of applications? Are existing APIs , such as that of Odyssey [24], adequate ?

 How should those APIs and programming models be revised based on extensive usage experience ?

What is the negative impact of lowered fidelity on users can this be minimized?

and how Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 44

Pervasive Computing vs. Distributed Systems & Mobile Computing (38) Drilling Down - The Difficult Problems (15)  4.4) High-level Energy Management 

Sophisticated software demand

 capabilities of an MC (= mobile computer)

increase the energy

Examples of sophisticated capabilities: as proactivity / self-tuning    At the same time: pressure to make MCs lighter and more compact places

severe restrictions on battery capacity

Growing consensus:   Advances in battery technology cannot , by themselves, reconcile The higher levels of the system and low-power circuit design these opposing constraints must also be involved [10, 25] How does one

involve the higher levels

energy management?   of a system in Example 1: Energy-aware memory management [18]  OS dynamically controls the amount of physical memory that has to be refreshed Example 2: Energy-aware adaptation [11]  Under OS control, individual applications switch to modes of operation with lower fidelity and energy demand Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 45

Pervasive Computing vs. Distributed Systems & Mobile Computing (39) Drilling Down - The Difficult Problems (16) 

High-level Energy Management

     – some research

questions

In what ways can the higher levels managing energy ?

of a system contribute to  What are the relative strengths and weaknesses of these approaches? When should one method be used in preference to another?

How does high-level invisibility energy management impact in pervasive computing?

the goal of  How intrusive or distracting to users Can knowledge of user intent are such techniques?

be exploited in energy management ?

 If so, how robust knowledge?

is this approach in the face of imperfection in this Can smart spaces and surrogates on a mobile computer?

be used to reduce energy demand  What are possible approaches , and what are their relative merits ?

What is the role of remote execution in extending battery life ?

 Under what circumstances does its energy savings exceed the energy cost of wireless communication ? Can a system predict these savings and costs accurately enough in practice to make a significant difference?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 46

Pervasive Computing vs. Distributed Systems & Mobile Computing (40) Drilling Down - The Difficult Problems (17)  4.5)

Client Thickness

Types

of

clients

  Thick client Thin client = a powerful client = a minimal client   Thick clients  have many negative features from the user’s viewpoint Larger / heavier / with bigger & heavier battery / dissipate more heat  Over time, physical size  and weight of a thick client are reduced Due to improvements in VLSI and packaging technology The same

improvements even smaller and lighter

shrinking

thin clients thick

clients produce  

Q: How powerful MC is needed

environment?

 for a pervasive computing How much CPU power, memory, disk capacity, … does it need?  The answer determines many of the key constraints imposed on the hardware design of the client

A:

For a user, a client can never be too powerful, too small, too light or have too long battery life!

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 47

Pervasive Computing vs. Distributed Systems & Mobile Computing (41) Drilling Down - The Difficult Problems (18)  4.5. Client Thickness – cont.1

 A wide range  of client designs One extreme: Ultra-thin clients   Bare-bones  devices E.g., Infopad [6, 40], SLIM [33] Can’t operate in isolation  Little more than high-resolution displays connected high-bandwidth wireless links to through nearby compute servers  In-between: Midsize clients  Handheld computers   E.g., PalmPilot Can operate in isolation  But run a limited  range of applications Other apps run on compute servers of smart spaces  The other extreme: Full-function clients  Wearable computers and laptops   E.g., the Navigator family of wearable computers [34], laptops running as clients of the Coda File System [17] Capable of standalone or disconnected operation  Make use  of wireless connectivity when available Not critically dependent on it Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 48

Pervasive Computing vs. Distributed Systems & Mobile Computing (42) Drilling Down - The Difficult Problems (19)  4.5. Client Thickness – cont.2

 The minimum acceptable thickness Determined by run satisfactorily  of a client for a given app: the worst-case conditions under which the app must A very thin client suffices if it has assured latency wireless communication infrastructure, and if batteries high-bandwidth, low to nearby computing recharged/replaced easily  If in even a single location not hold , the client visited by a user these assumptions do must be thick enough to compensate at that location  This is especially true for interactive applications response is important where crisp … continued...

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 49

Pervasive Computing vs. Distributed Systems & Mobile Computing (43) Drilling Down - The Difficult Problems (20)  4.5. Client Thickness – cont.3

 With a client of modest thickness , it may be possible to preserve responsiveness by:  Handling simple cases locally & relying on only for more compute-intensive situations remote infrastructure  OR: Execute part of the application locally intermediate state over a & ship weak wireless link a much-reduced to a remote compute server for completion  The hybrid mode of speech recognition in Odyssey [24] is an example of this approach.

 OR: Client alerts its user  recognizes that a key assumption is not being met, and with a message Client  could also suggest possible corrective actions E.g., moving to a nearby location known “help” the application  An extremely thin-client in the foreseeable future will be unsatisfactory  Due to uneven conditioning of environments At the same time, considerable merit in not client thicker than absolutely necessary for pervasive computing having to carry or wear a Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 50

Pervasive Computing vs. Distributed Systems & Mobile Computing (44) Drilling Down - The Difficult Problems (21)  4.5.

Client Thickness

– some research

questions

:  Can the

concepts conditioning

of

client thickness

and

environmental

usability?

be

quantified

? Are there ‘‘sweet spots’’ in the design space where a modest increase in client thickness yields considerable improvement in performance and  Can a proactive system

alert a user in a timely manner before he leaves a benign environment

for a less hospitable one?

 In that context, can an

migrated between a thinner and a thicker client

whenever needed

application

be transparently  What are the kinds of applications for which such migration is feasible and useful? What is the impact on usability?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 51

Pervasive Computing vs. Distributed Systems & Mobile Computing (45) Drilling Down - The Difficult Problems (22)  4.5. Client Thickness  – some research questions – cont.

Is it possible to build cost-effective

modular computers that can be physically reconfigured

to serve as the optimal mobile clients under diverse environmental conditions?

 Can a proactive system

advise a user to reconfigure

when appropriate?

  E.g., knowing her travel plans, can such a system guide her in configuring her system so that it is of adequate thickness at all times?

Can

semi-portable infrastructure

be

carried

augment less hospitable environments?

with a user to   E.g., in a poorly conditioned environment, can a

thin body-worn computer

extend its capabilities by wireless

access to a full-function laptop brought by the user

?

 This is analogous to carrying both a briefcase and a wallet when you travel; the briefcase is not physically on your person at all times, but it is close enough to provide easy access to things too large to fit in your wallet Is this a usable and practical strategy to cope with uneven conditioning?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 52

Pervasive Computing vs. Distributed Systems & Mobile Computing (46) Drilling Down - The Difficult Problems (23)  4.6)

Context Awareness

   Context-awareness  A user’s context is necessary for PERV to be minimally intrusive Context aware = cognizant of its user’s state and surroundings, and modifying its behavior based on this information     Can be quite rich Some rate) / A  user’s attributes in user’s context: Physical location / Physiological state (e.g., body temperature and heart Emotional state (e.g., angry, distraught, or calm) / Personal history / Daily behavioral patterns / … human assistant given such context would Anticipating user needs make decisions proactively The assistant would typically not disturb the user at inopportune moments  except in an emergency Can a pervasive computing system emulate such a human assistant ?

needed to function in a context Key challenge: obtaining information aware manner   Desired information space)  E.g., UPCS has schedules, calendars, address books, to-do lists, … More dynamic information has to be sensed in real time environment  may be part of UPCS (user’s personal computing from the user’s E.g., position, orientation, the identities of people nearby, locally observable objects and actions, emotional and physiological state, … Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 53

Pervasive Computing vs. Distributed Systems & Mobile Computing (47) Drilling Down - The Difficult Problems (24)  4.6. Context Awareness – cont.

Context Awareness

 – some research

issues

: How is context represented internally ? How is this information combined with system and application state ? Where is context stored ?

 Does it reside locally, in the network, or both?   What are the relevant data structures and algorithms?

How frequently low ?

does context information have to be consulted ? What is the overhead of using context? How to keep this overhead What are the minimal services from an environment to provide to make context-awareness feasible? What are reasonable fallback positions if an environment does not provide such services? Is historical context useful?

  What are the relative merits technologies ?

 of different location-sensing Under what circumstances should one be used in preference to another?

Should location information information, or  Is historical context useful?

be treated just like any other context should it be handled differently ?

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 54

Pervasive Computing vs. Distributed Systems & Mobile Computing (48) Drilling Down - The Difficult Problems (25) 

4.7)

[LTL:]

Proper Level of Transparency in Proactivity

[Paper: Balancing Proactivity and Transparency]  Transparency = invisibility  [LTL:] 

Proactivity

can be

visible

or

transparent

( invisible )

Visible

when

system asks user

perform a proactive task  for specific behavior to E.g., Aura asking Jane to go to Gate 15 or warning Fred not to show slides with sensitive data (in Scenario 1) 

Transparent

when there is

no system interaction with user when system

performs a proactive task  E.g., Aura warms up projector without asking Fred (in Scenario 2) © 2007 by Leszek T. Lilien 55 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001

Pervasive Computing vs. Distributed Systems & Mobile Computing (49) Drilling Down - The Difficult Problems (26)  4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont.1

 [LTL:]  

… if

 system gives a

bad advice

Or the user just

thinks

that the advice is bad

… if

system

interrupts

a user

too often

with advice 

Visible

system proactivity

can annoy

Annoyed even with the best advice  And prone to ignore it a user …  [LTL:] 

Transparent

system proactivity

can annoy

a user too E.g., if Aura warms up a projector in a wrong room, and Fred has to wait for warm up in the right room  If Aura told Fred in which room it watms up the projectoir (visible), Fred would notice mistake &correct Aura’s action Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 56

Pervasive Computing vs. Distributed Systems & Mobile Computing (50) Drilling Down - The Difficult Problems (27)  4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont.2

   [LTL:] Hypothesis: Talking about “balancing proactivity and transparency” (see the paper) seems author’s mistake   Balancing of X an Y is needed only when:  More X can be obtained by reducing Y AND More Y can be obtained by reducing X Here can have 100% proactivity with either 0% or 100% transparency [LTL:]

Finding proactivity

  (“balancing”)

proper level of transparency for

If too little or too much of proactivity transparency  => The goal of proactivity transparency is defeated Need careful PERV design annoys a user Finding the

proper transparency level

by:    System’s A mobile self-tuning user’s need & tolerance for proactivity (UNTP) to be closely related to familiarity his level of expertise with his environment are likely on a task & his A system that can infer context UNTP by observing user behavior & is better positioned to find the proper balance 57 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (51) Drilling Down - The Difficult Problems (28)   4.7) [LTL:] Proactivity and Its Transparency [Paper: Balancing Proactivity and Transparency] – cont3  Historically,

transparency

in system design  E.g., caching is attractive completely transparent (not just for proactivity) was the in distributed file systems because

ideal

it is  Ironically,

sometimes transparency

 users are

hurt/annoyed by complete

E.g., servicing a cache miss on a large file over a low-bandwidth wireless network — so slow that most users would rather be asked first by the system if they really need the file  However, too many questions from file system can annoy the user That is, again annoyed by too low level of transparency  A solution  to this dilemma (suggested by Coda File System [21]) On a cache miss, Coda consults an internally-maintained user  patience model annoyed by to predict a transparent whether the user will fetch request If so , the fetch is handled transparently suppressed) not be (user interaction is Many subtle problems arise in designing a system that walks the

fine line between annoying visibility

&

inscrutable

(hard to understand)

transparency

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 58

Pervasive Computing vs. Distributed Systems & Mobile Computing (52) Drilling Down - The Difficult Problems (29)  4.7.

Balancing Transparency in Proactivity

– some research

problems

:  How are individual user preferences and tolerances specified taken into account?

 Are these static or do they change dynamically ?

and  What cues can such a system use to determine if [LTL:] level is too low/high?   transparency Is explicit interaction with the user to obtain this information acceptable ?

Or, would such explicit interaction to obtain be an annoyance too?

 Can one provide systematic to help in this task?

 design guidelines to application designers Can one retrofit [transparency] balancing mechanisms applications?

into existing Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 59

Pervasive Computing vs. Distributed Systems & Mobile Computing (53) Drilling Down - The Difficult Problems (30)  4.8) Privacy and Trust 

Privacy

 is greatly

complicated by PERV

Was already a thorny problem in DISTR and MOBI    Some

PERV mechanisms “spy” on user actions

almost continuous basis  on an E.g., location tracking, smart spaces, use of surrogates As a

user

becomes

more dependent

on

PERV => PERV obtains more information

about the user  I.e., about user’s movements, behavior patterns, habit, … Exploiting

this information proactivity

  is

critical to

successful &

self-tuning

Unless  use of information is strictly controlled , it can hurt the user Illegitimate uses ranging from targeted spam to blackmail. Potential users for serious loss of privacy may from using a PERV system deter knowledgeable Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 60

Pervasive Computing vs. Distributed Systems & Mobile Computing (54) Drilling Down - The Difficult Problems (31)  4.8) Privacy and Trust - cont.

Mutual trust

  between

infrastructure

&

users

in PERV Greater

reliance on infrastructure

=>

users must trust

infrastructure to a considerable extent Conversely, the the users’ infrastructure needs to be confident of identity and authorization levels before responding to their requests  It is a difficult challenge minimal intrusiveness transparency) to establish this mutual trust with (= mimnimal visibility & thus maximum  System identifies/authorizes users in intrusive (visible) way Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 61

Pervasive Computing vs. Distributed Systems & Mobile Computing (55) Drilling Down - The Difficult Problems (32)  4.8. Privacy and Trust - cont   Privacy and trust are likely to be enduring problems pervasive computing in Privacy and trust    – some research questions : How does one strike the right behavior  and the need to alert balance between seamless system users to potential loss of privacy? What are the mechanisms, techniques and design principles relevant to this problem? How often should the system remind a user that his actions are being recorded? When and how can a user turn off monitoring in a smart space?

What are the authentication techniques   best suited to PERV?

Are password-based challenge-response protocols such as Kerberos [36] adequate or are more exotic techniques such as biometric authentication [15] necessary?

What role, if any, can smart cards [14] play?

How does one express generic identities  in access control?

E.g., how does one express security constraints such as ‘‘Only the person currently using the projector in this room can set its lighting level?’’ Or: ‘‘Only employees of our partner companies can negotiate QoS properties in this smart space?’’ Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 62

Pervasive Computing vs. Distributed Systems & Mobile Computing (56) Drilling Down - The Difficult Problems (33) 

4.9)

Impact on Layering

[of the System]

A

recurring theme

in this paper: the

merging of information from diverse layers

produce an effective response of a PERV system to  E.g., Scenario 1 shows the value of combining low-level information information (network bandwidth) with high-level (airport gate information) resource context  

Proactivity

and

adaptation

based on corrective actions =>

exposure of much more information across layers

 Much more than is typical in systems today We 

want layering

– it has

benefits

Cleanly

separates abstraction from implementation

 Thus consistent with sound software engineering 

Conducive to standardization

 Encourages the creation of modular software components 63 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (57) Drilling Down - The Difficult Problems (34)  4.9) Impact on Layering [of the System] – cont.

 Deciding

how to decompose a complex system

into layers or modules is

nontrivial

 Remains very much an art rather than a science  The

two most widely-used guidelines for layering

  Parnas’ principle of

information hiding

Saltzer

et al.

’s

end-to-end principle[28

] [26] Both developed long before pervasive computing was conceived   Parnas’ - early 1970’s Saltzer

et al.

’s - early 1980’s Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 64

Pervasive Computing vs. Distributed Systems & Mobile Computing (58) Drilling Down - The Difficult Problems (35) 

Impact on System Layering

 – some research

questions

: How can the

benefits of layering accommodating

be preserved while the needs of

pervasive computing

?

 What is the impact of these accommodations on efficiency and maintainability?

 Are existing

layers best extended

for pervasive computing by broadening their

primary interfaces

or by creating

secondary interfaces

?

 Such as the SNMP network management interface [7]?

 When creating a new

layer

, are there systematic guidelines we can offer to ensure

compatibility

with the needs of pervasive computing?

 How much harder is it to design and implement such a layer? Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 65

 Pervasive Computing vs. Distributed Systems & Mobile Computing (59)

5. Conclusion

Pervasive computing research problems will be a fertile source of challenging in computer systems for many years to come  Solving these problems will require us:     To broaden our discourse To revisit long-standing on some topics, and design assumptions in others To address research challenges in areas outside computer systems , including: 

Human-computer interaction

  Esp. multi-modal interactions & human-centric h/w designs

Software agents

  Specific relevance to high-level proactive behavior

Expert systems and artificial intelligence

 Esp. in the areas of decision making and planning

Capabilities

from these areas will need to be

with the PERV

 systems

capabilities integrated

Pervasive computing will thus be the crucible in which many disjoint areas of research are fused 66 Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien

Pervasive Computing vs. Distributed Systems & Mobile Computing (60) Conclusion – cont.

 When describing his vision, Weiser was fully aware that attaining it would require tremendous creativity and effort many people , sustained over many years by  The early decades of the 21st century will be a period of

excitement and ferment in PERV research

 New h/w technologies converge with research progress fundamental problems discussed in this paper on the many  Like the Frontier of the American West in the early 19th century,

pervasive computing offers new beginnings for the adventurous and the restless

 A rich open space where the rules borders yet to be drawn have yet to be written and the Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 67

Pervasive Computing vs. Distributed Systems & Mobile Computing (61)

References

 See the original paper:  M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,”

IEEE Personal Communications,

2001  Available at:  http://www.cs.cmu.edu/~aura/docdir/pcs01.pdf

Based on: M. Satyanarayanan, “Pervasive Computing: Vision and Challenges,” IEEE Personal Communications, 2001 © 2007 by Leszek T. Lilien 68

End of Lecture 0: Introduction to Pervasive Computing