普及計算
“Pervasive Computing: Vision and Challenges”
M. Satyanarayanan, Carnegie Mellon University
pp. 10-17, August 2001
Pervasive Computing Research Issues-1
Related fields
Distributed System
Mobile Computing
Pervasive Computing
Example scenario
Drill down
Conclusion
Pervasive Computing Research Issues-2
Research involving two or more computers connected by a network
Areas foundational to pervasive computing:
Remote communication: protocol layering, RPC, end-to-end argument
Fault tolerance: atomic transactions, two phase commit
High availability: replica control, mirrored execution, recovery
Remote information access: caching, function shipping, distributed file system
Security: authentication, privacy
Pervasive Computing Research Issues-3
Research on building distributed systems with mobile clients
Principles in distributed system design still apply
4 constraints to distinguish it from distributed systems and demand new research
Unpredictable variation in network quality
Lowered trust and robustness of mobile elements
Limited local resources imposed by weight and size
Battery power consumption
Pervasive Computing Research Issues-4
Research areas:
Mobile networking: mobile IP, ad hoc protocols, improving TCP performance in wireless networks
Mobile information access: selective control of data consistency
Support for adaptive applications: transcoding by proxies
System-level energy saving techniques: energyaware adaptation, variable speed processor scheduling
Location sensitivity: location sensing, locationaware system behavior
Pervasive Computing Research Issues-5
Pervasive computing environment:
An environment saturated with computing and communication capability, yet so gracefully integrated with users that it becomes a “technology that disappears”
Subsume distributed computing and mobile computing, but incorporate 4 additional research thrusts (next figure)
Pervasive Computing Research Issues-6
Pervasive Computing Research Issues-7
Effective use of smart spaces:
Space: an enclosed area or a well-defined open area
Smart space: embedding computing infrastructure in building infrastructure => physical/virtual converge
Enable sensing and control of one world by the other
Example?
Invisibility:
Minimal user distraction is a more practical goal
Ex.: the environment continuously meets user expectations and rarely presents him with surprises
Some alerts may still be needed
Pervasive Computing Research Issues-8
Localized scalability:
Increasing complexity in interactions between a user’s personal computing space and surroundings as well as other persons
Must consider scalability with physical distance
Masking uneven conditioning
Different environments will have huge differences in their smartness, causing user distraction
One solution: have user’s personal computing space to compensate
Complete invisibility may be impossible, but reduced variability is possible
Pervasive Computing Research Issues-9
Related fields
Example scenario
Scenario 1
Scenario 2
Miss Capabilities
Drill down
Conclusion
Pervasive Computing Research Issues-10
Jane is at Gate 23 of an airport and would like to e-mail her edited files through wireless connection, but the bandwidth is miserable
Aura, the pervasive computing environment, detects the situation, consults airport servers, and finds Gate 15 will have no flight in 1.5 hour
Aura suggests Jane to go to Gate 15 and prioritize her email
Jane accepts the suggestions
Files are transmitted at Gate 15 and Aura informs Jane when she needs to be back to gate
Pervasive Computing Research Issues-11
Fred has to walk to a meeting from his office to give a presentation, but he is not quite ready yet
Fred grabs a handheld computer and starts walking to the meeting
Aura transfers his state from desktop to handheld, and Fred does final editing with voice
Aura infers Fred’s schedule, downloads materials to projection computer and warms up projector
Room’s face detection system recognizes some unfamiliar faces and advises Fred not to show sensitive data
Pervasive Computing Research Issues-12
Scenario 1:
Proactivity: Aura can estimate how long the whole process takes and look ahead on her behalf
Combining knowledge from different layers: wireless congestion and boarding time
Smart space: provide information of wireless BW, flight time and gates, distance between gates
Scenario 2:
Moving execution state across diverse platforms
Automatic adjusting behavior to fit circumstances: voice inputs
Proactivity and smart space
Pervasive Computing Research Issues-13
Component technologies are simple and basic
They are available today
The challenge:
Architecture
Component synthesis
System-level engineering
Pervasive Computing Research Issues-14
Related fields
Example scenario
Drill down
User intent
Cyber foraging
Adaptation strategy
High-level energy management
Client thickness
Context awareness
Balancing proactivity and transparency
Privacy and trust
Impact on layering
Conclusion
Pervasive Computing Research Issues-15
Each user is immersed in a
that mediates all interactions with the pervasive computing elements in surroundings
As a command center
System design: wearable computer? personal assistant? thicker or thinner? what sensors and networking?
Context aware: how to know user’s state and surrounding, and modify behavior
How to cooperate and interact with infrastructure? with other persons?
How to roam and adapt? reconfigurable?
=> PDA with 802.11b, Java
Pervasive Computing Research Issues-16
Provide services
System design: which embedded system? web server? sensors and actuators? NW?
Naming, registration, discovery
Physical/virtual mapping
Mobile management, energy management
Service composition, I/O matching, adaptation, environment monitoring
Pervasive Computing Research Issues-17
Infrastructures in real life
e.g., electricity, roads, ...
Just there or even invisible, open platform
Internet infrastructure
Domain name service (DNS registry)
Services: cooperating routers, time servers
TCP/IP: common formats/protocols
Web standards
Extend the Internet to everyday objects
Pervasive Computing Research Issues-18
Guarantee
Security, privacy, availability, reliability
Provide services
For applications built with smart objects
Location (Where am I?)
Context (Are we in a meeting?)
For smart
Event delivery (Tell me when... happens) objects
Brokering (Find something that…)
Directory, discovery, registry
Mobility, roaming,
...
mobile smart objects that are highly dynamic, short living,…?
Pervasive Computing Research Issues-19
A pervasive computing system must track user intent
Determine which actions will help, not hinder, user
Ex.: suppose a user is viewing video over a network, whose bandwidth suddenly drops. Should the system
Reduce the fidelity of the video?
Pause briefly to find another higher-bandwidth connection?
Advise the user that the task can no longer be accomplished?
Correct choice depends on what user is trying to accomplish
Pervasive Computing Research Issues-20
Today’s applications either have no idea about user intent (e.g. to support adaptation and proactivity), or do it badly
Issues:
Can user intent be inferred, or does it have to be explicitly provided?
How is user intent represented internally? What are represented?
How does one characterize accuracy of knowledge? Is incomplete or imprecise information useful?
Will obtaining intent place an burden on the user?
Pervasive Computing Research Issues-21
Dynamically augment computing resources of end user devices with wired hardware infrastructure => surrogate
Usage:
On entering a neighborhood, a device detects the presence of surrogates and negotiates its use
Surrogates serve as gateway to the Internet and server for heavy computation
When the device leaves the neighborhood, surrogate binding is broken and staged data are discarded
Pervasive Computing Research Issues-22
Issues:
How to discover the presence of surrogates?
How to establish an appropriate level of trust? How to amortize the cost of establishing trust?
How to balance the load of surrogates?
How to minimize latency in serving devices?
How to deploy surrogates? How scalable?
How to make surrogate uses seamless and minimally intrusive for a user?
Pervasive Computing Research Issues-23
Necessary when there is significant mismatch between the supply and demand of a resource, e.g. bandwidth, energy, computing cycles, ...
Three strategies for adaptation
The client guides applications in changing their behavior
The client asks the environment to guarantee a certain level of a resource
The client suggests a corrective action to the user
Pervasive Computing Research Issues-24
Issues:
How does a client choose between adaptation strategies? How strategies be changed seamlessly as user moves?
How to do resource reservation in a smart space?
What are appropriate admission control policies?
What API are needed to make reservation?
Will corrective actions be intrusive? How to do it, e.g.
API, programming model?
What is the relationship between lowing fidelity and adaptation?
Pervasive Computing Research Issues-25
Necessary because low-level techniques, e.g. battery and circuit design, are insufficient
Issues:
What high-level systems can be managed for energy efficiency? (memory, application adaptation, …)
Are they intrusive to the user? Can user intent help?
Can smart spaces and surrogates be used to reduce energy demand on a mobile device?
How to tradeoff the energy used in remote execution with wireless connection?
Pervasive Computing Research Issues-26
How powerful does a mobile client need to be?
From bare-bones devices (high-resolution displays thru wireless to servers) to full-function clients (standalone & disconnected operation)
Issues:
How to quantify thickness with env. conditioning, e.g., sensors added and better networking?
How to migrate app. between clients of different thickness?
How to cooperate with infrastructure?
Can clients be reconfigurable to adapt to env.?
Semi-portable infrastructure for less hospitable env.?
How to roam transparently? especially from a benign environment to a poor one?
How to lower the cost of diversity in devices?
Pervasive Computing Research Issues-27
Needed for an environment minimally intrusive
Recognize user state and surroundings
Make decisions proactively, modify behavior accordingly
Issues:
Obtaining information needed to function
How to represent context internally? How to combine it with system and application state? Where to store?
How often to update and consult context information?
What services does the infrastructure have to provide?
How to track location? sense surroundings?
Pervasive Computing Research Issues-28
How not to annoy a user in a proactive system?
=> self-tuning according to user expertise and experiences
Issues:
How are user preferences and tolerances specified and taken into account?
How to determine the right level of balance?
Pervasive Computing Research Issues-29
A pervasive computing environment needs to monitor user actions almost continuously in order to be effective
Need mutual trust between environment and user
Issues:
Tradeoff between seamless system behavior and privacy/trust enforcement
Any appropriate authentication techniques?
How to specify security constraints? How to specify one’s identity?
Pervasive Computing Research Issues-30
Pervasive computing often requires merging information from different layers a system
Issues:
Relationship between layering and pervasive computing
How to create a new layer?
Pervasive Computing Research Issues-31
Almost all sub domains in CS are affected
System infrastructures, networking, security, user interfaces, embedded systems, AI, perception, speech recognition,...
We are already moving in this direction
XML, UDDI, mobile IP, Jini, ...
Systems integration is the key
Many new and fascinating research problems emerge!
Pervasive Computing Research Issues-32
IEEE
magazine
Springer
Various links to universities, research institutes, companies
Pervasive Computing Research Issues-33