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