Challenges in Ubiquitous Computing

advertisement
Pervasive Computing: Vision and
Challenges
M. Satyanarayanan
IEEE Personal Communications, 2001
Evolution & Related Fields
• Pervasive computing represents a major
evolutionary step in a line of work dating back
to the mid-1970s.
• Two distinct earlier steps in this evolution:
– Distributed systems
– Mobile computing
Evolution & Related Fields
Figure 2. Taxonomy of computer systems research problems in pervasive computing.
Evolution & Related Fields
• Distributed systems
– Arose at the intersection of personal computers and local
area networks.
– The research that followed from the mid-1970s through the
early 1990s created a conceptual framework and algorithmic
base (for various types of networks)
– Spans many areas that are foundational to pervasive
computing
Evolution & Related Fields
• Mobile computing
– Led by the appearance of full-function laptop computers and
wireless LANs in the early 1990s
– How to build a distributed system with mobile clients??
– Many basic principles of distributed system design continued
to apply
– Four key constraints of mobility forced the development of
specialized techniques:
• 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
Other related fields
• Sensor networks
• Human-computer interaction
• Artificial intelligence
Other related fields
• Sensor Networks
– A sensor network consist of a large
number of tiny autonomous
computing devices, each equipped
with sensors, a wireless radio, a
processor, and a power source.
– Sensor networks are envisioned to
be deployed unobtrusively in the
physical environment to monitor a
wide range of environmental
phenomena
• e.g., environmental pollutions, seismic
activity, wildlife
Other related fields
• Human Computer Interaction (HCI)
– HCI is the study of interaction between people
(users) and computers.
– Goal of HCI: to improve the interaction between
users and computers by making computers more userfriendly and receptive to the user's needs.
– Long term goal of HCI: to design systems that
minimize the barrier between the human's cognitive
model of what they want to accomplish and the
computer's understanding of the user's task.
Other related fields
• Artificial Intelligence
– AI can be defined as intelligence exhibited by an
artificial (non-natural, manufactured) entity.
– AI is studied in overlapping fields of computer
science, psychology and engineering, dealing with
intelligent behavior, learning and adaptation in
machines, generally assumed to be computers.
– Research in AI is concerned with producing machines
to automate tasks requiring intelligent behavior.
Key research thrusts
• Pervasive computing incorporates four additional
research thrusts:
–
–
–
–
Effective use of smart spaces
Invisibility
Localized scalability
Masking uneven conditioning
Effective use of smart spaces
• By embedding computing infrastructure in building
infrastructure, a smart space brings together two
worlds that have been disjoint until now.
• The fusion of these worlds enables sensing and
control of one world by the other.
– Automatic adjustment of heating, cooling, and lighting levels
in a room based on an occupant’s electronic profile.
Invisibility
• The ideal expressed by Weiser is complete
disappearance of pervasive computing technology
from a user’s consciousness (minimal user distraction).
• If a pervasive computing environment continuously
meets user expectations and rarely presents him with
surprises, it allows him to interact almost at a
subconscious level.
Localized scalability
• As smart spaces grow in sophistication, the intensity of
interactions between a user’s personal computing space
and his/her surroundings increases.
• This has severe bandwidth, energy, and distraction
implications for a wireless mobile user.
• The presence of multiple users will further complicate this
problem.
• Good system design has to achieve scalability by severely
reducing interactions between distant entities.
Masking uneven conditioning
• Huge differences in the “smartness” of different
environments — what is available in a well-equipped
conference room, office, or classroom may be more
sophisticated than in other locations.
• This large dynamic range of “smartness” can be
jarring to a user, detracting from the goal of making
pervasive computing technology invisible.
• One way to reduce the amount of variation seen by a
user is to have his/her personal computing space
compensate for “dumb” environments.
Detailed design and implementation issues
•
•
•
•
•
•
•
•
•
User intent
Cyber foraging
Adaptation strategy
High-level energy management
Client thickness
Context awareness
Balancing proactivity and transparency
Impact on layering
Privacy and trust
User intent
• For proactivity to be effective, it is crucial that a
pervasive computing system track user intent.
– Otherwise, it will be almost impossible to determine which
system actions will help rather than hinder the user.
• For example, suppose a user is viewing video over a
network connection 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?
• The correct choice will depend on what the user is
trying to accomplish.
Cyber foraging (aka “living off the land”)
• Dynamically augment the computing resources of a
wireless mobile computer by exploiting wired hardware
infrastructure.
• As computing becomes cheaper and more plentiful, it
makes economic sense to “waste” computing resources
to improve user experience.
• In the forseeable future, public spaces such as airport
lounges and coffee shops will be equipped with compute
servers or data staging servers for the benefit of
customers, much as table lamps are today.
– Today, many shopping centers and cafeterias offer their
customers free wireless internet access.
Adaptation strategy
• Adaptation is necessary when there is a significant mismatch
between the supply and demand of a resource (e.g. wireless
network bandwidth, energy, computing cycles or memory).
• There are three alternative strategies for adaptation in
pervasive computing:
– A client can guide applications in changing their behavior so that
they use less of a scarce resource. This change usually reduces the
user-perceived quality, or fidelity, of an application.
– A client can ask the environment to guarantee a certain level of a
resource (reservation-based QoS systems). From the viewpoint of
the client, this effectively increases the supply of a scarce
resource to meet the client’s demand.
– A client can suggest a corrective action to the user. If the user
acts on this suggestion, it is likely (but not certain) that resource
supply will become adequate to meet demand.
High-level energy management
• Sophisticated capabilities such as proactivity and self-tuning
increase the energy demand of software on a mobile
computer in one’s personal computing space.
• Making such computers lighter and more compact places
severe restrictions on battery capacity, so the higher levels
of the system must be involved in memory management.
• One example is energy-aware memory management, where
the operating system dynamically controls the amount of
physical memory that has to be refreshed.
• Another example is energy-aware adaptation, where
individual applications switch to modes of operation with
lower fidelity and energy demand under operating system
control.
Client thickness (or client’s hardware
capabilities)
• For a given application, the minimum acceptable thickness of
a client is determined by the worst-case environmental
conditions under which the application must run
satisfactorily.
• A very thin client suffices if one can always count on highbandwidth low-latency wireless communication to nearby
computing infrastructure, and batteries can be recharged or
replaced easily.
• If there exists even a single location visited by a user where
these assumptions do not hold, the client will have to be
thick enough to compensate at that location.
• This is especially true for interactive applications where
crisp response is important.
Context awareness
• A pervasive computing system must be cognizant of its
user’s state and surroundings, and must modify its
behavior based on this information.
• A user’s context can be quite rich, consisting of various
attributes
– Ex) physical location, physiological state (e.g., body temperature and
heart rate), emotional state (e.g., angry, distraught, or calm), personal
history, daily behavioral patterns, and so on.
• If a human assistant were given such context, he or she
would make decisions in a proactive fashion, anticipating
user needs.
• In making these decisions, the assistant would typically
not disturb the user at inopportune moments except in
an emergency.
• A pervasive computing system should emulate such a
human assistant.
Balancing proactivity and transparency
• Unless carefully designed, a proactive system can annoy a
user and thus defeat the goal of invisibility.
• A mobile user’s need and tolerance for proactivity are likely
to be closely related to his/her level of expertise on a task
and familiarity with his/her environment.
• A system that can infer these factors by observing user
behavior and context is better positioned to strike the right
balance.
• For transparency, a user patience model can be implemented
to predict whether the user will respond positively to a
fetch request.
– So the user interaction is suppressed and the fetch is handled
transparently.
Impact on layering
• Proactivity and adaptation based on corrective actions
seem to imply exposure of much more information
across layers than is typical in systems today.
• Layering cleanly separates abstraction from
implementation and is thus consistent with sound
software engineering.
• Layering is also conducive to standardization since it
encourages the creation of modular software
components.
Privacy and trust
• As a user becomes more dependent on a pervasive computing
system, it becomes more knowledgeable about that user’s
movements, behavior patterns and habits.
• Exploiting this information is critical to successful proactivity and
self-tuning (invisibility), but also may cause serious loss of privacy.
• User must trust the infrastructure to a considerable extent
and the infrastructure needs to be confident of the user’s
identity and authorization level before responding to his/her
requests.
• It is a difficult challenge to establish this mutual trust in a
manner that is minimally intrusive and thus preserves
invisibility.
Charting Past, Present, and
Future Research in Ubiquitous
Computing
Gregory Abowd and Elizabeth Mynatt
ACM TOCHI 2000
•
•
•
•
•
Natural interfaces
Context-aware computing
Automated capture and access
Everyday computing
System evaluation challenges
Computing with natural interfaces
• Ubicomp inspires “off-the-desktop” applications
– Needs “off-the-desktop” means of interaction
– Speech, gestures, writing
• More accessible
• Easier to use???
Computing with natural interfaces
• Need for first-class natural data types
– To ease the development of more apps w/
natural interfaces
• Should be easy keyboard and mouse
– Support for “fundamental” operations
• E.g., text and speech recognitions
– Support for “extra” operations
• Tivoli Live Board: special input like structured
gestures such as dragging and freeform selection
• Classroom 2000: annotating pen strokes with
timestamps
Computing with natural interfaces
• Error prone interaction
– Permit new and numerous mistakes
– People do not have perfect recognition
• As low as 54%; cursive handwriting 88%; printed handwriting
96.8%
– Recognition accuracy == user satisfaction??
• Not really: complexity of error recovery dialogues and valueadded benefit of any given efforts
• Entering a command vs. writing journal entries
• Several research areas
– Error reduction (about 5-10%)
– Error detection
– Reusable toolkit for error handling
Context aware computing
• Current Systems
– Generally using position and identification of
objects
– Still do not provide a complete context
– Definition of context is limited
• Research areas
– Context toolkits
• Toolkit for sensing environment
• Explicit use of sensed information is up to program
– What is context?
– How is context represented?
What is context?
•
Who
– Currently generally tailored to one user
– How important are others in determining our behavior
• How could this be captured?
•
What
– Attempt to figure out what is currently happening
– Sense environment, use calendar software etc.
•
Where
– Location based information, e.g., GPS
– Most explored context information
•
When
– Easily obtained information -- Computer is good at remembering time
•
Why
• Although determining when one event stops and another begins is not easy
– Even harder than the “what” question, biometric sensors might help (e.g.,
body temperature, heart rate, etc)
Toward context aware computing
• Context representation
– Requires universal context schemes or toolkits with
standard context representations
• Context sensing and fusion
– How to make context-aware computing “ubiquitous”?
– In practice, there are few truly ubiquitous, singlesource context services
• E.g., GPS does not work indoors; different indoor localization
schemes have different characteristics (e.g., cost, range)
– Like sensor fusion, context fusion handles seamless
handling of sensing responsibility between boundaries
of different context services
– Combining multiple context sources can increase the
accuracy of context information
Automated capture and access
• Recording information and data as it occurs
– Computers are inherently good at recording, people are not
– People freed up to summarize and understand
– Most work in academic/ classroom settings
• Time stamping lectures, digital whiteboards
• Challenges in “capture and access”
– Sometime we don’t know we want to capture something until after
its already happened
• How could the computer know that?
• If it captures everything then we need a system of sorting and
filtering (access)
– Gmail Problem
– Access is a problem because capturing of raw data can be
burdensome for sifting through; systems need to recognize
important events facilitate access
Everyday computing
• Continuous interactions (i.e., no clear beginning or end)
– Both fundamental activities like communication and long-term
endeavors do not have predefined starts and ends; information
from past can be recycled
– Very different traditional HCI design which assumes “closure” with
clear goals like spell checking, dialogue, etc.
• Interruption is expected:
– People are constantly interrupted
– Computer systems must recognize interruption and change state
• Also computers must appropriately inform users
• Multiple activities operate concurrently:
– People multitask and rapidly switch task based on external
unpredictable environment
– Systems need to adapt to this opportunistic behavior and change
accordingly
Toward everyday computing
• Develop continuously present interface
– No current model of continuously present interfaces, even
people are not continuously present
– Create an interface that doesn’t get annoying (e.g., wearable
devices)
• Determine what information should require my
attention and what should be display peripherally
• Connect events in the physical and virtual worlds (e.g.,
face to face vs. email, document, webs)
• Modify/fuse existing HCI schemes to efficiently
support everyday computing (but evaluation is
challenging and laborious)
System evaluation challenges
• Hard to evaluate Ubicomp Systems
– Little publish on ubicomp evaluation
– Systems often required to be fully connected leading to
systems that are hard to build
– Lack of development toolkits make system creation difficult
– Systems often need to be integrated into peoples lives which
using big clunky prototypes does not lead itself well too
– Task/Goal centric approaches don’t work in ubicomp
Example Projects
• Pervasive computing projects have emerged at major
universities and in industry:
–
–
–
–
–
Project Aura (Carnegie Mellon University)
Oxygen (Massachusetts Institute of Technology)
Portalano (University of Washington)
Endeavour (University of California at Berkeley)
Place Lab (Intel Research Laboratory at Seattle)
Example Projects : Project Aura (1)
• Aura (Carnegie Mellon University)
– Distraction-free (Invisible) Ubiquitous Computing.
Example Projects : Project Aura (2)
• Moore’s Law Reigns Supreme
–
–
–
–
–
–
Processor density
Processor speed
Memory capacity
Disk capacity
Memory cost
...
Human Attention
• Glaring Exception
– Human Attention
Adam & Eve
2000 AD
Example Projects : Project Aura (3)
• Aura Thesis:
– The most precious resource in computing is human attention.
• Aura Goals:
– Reduce user distraction.
– Trade-off plentiful resources of Moore’s law for human
attention.
– Achieve this scalably for mobile users in a failure-prone,
variable-resource environment.
Example Projects : Project Aura (4)
• The Airport Scenario
– Jane wants to send e-mail from the
airport before her flight leaves.
• She has several large enclosures
• She is using a wireless interface
– She has many options.
• Simply send the e-mail
– Is there enough bandwidth?
• Compress the data first
– Will that help enough?
• Pay extra to get reserved bandwidth
– Are reservations available?
• Send the “diff” relative to older file
– Are the old versions around?
• Walk to a gate with more bandwidth
– Where is there enough bandwidth?
– How do we choose automatically?
Example Projects : Project Aura (5)
• The Mobile Task Scenario
– Aura saves Scott’s task.
– Scott enters office and gets strong
authentication and secure access.
– Aura restores Scott’s task on
desktop machine and uses a large
display.
– Scott controls application by voice.
– Bradley enters room.
– Bradley gets weak authentication,
Scott’s access changes to insecure.
– Aura denies voice access to sensitive
email application.
– Scott has multi-modal control of
PowerPoint application.
– Aura logs Scott out when he leaves
the room.
Example Projects : Oxygen
• Oxygen (MIT)
– Pervasive human-centered computing.
– Goal of Oxygen is bringing abundant computation and
communication, as pervasive and free as air, naturally into
people's lives.
Example Projects : Oxygen (2)
• To support highly dynamic and varied human activities, the
Oxygen system must be
– pervasive— it must be everywhere, with every portal reaching into the same
information base;
– embedded— it must live in our world, sensing and affecting it;
– nomadic— it must allow users and computations to move around freely,
according to their needs;
– adaptable— it must provide flexibility and spontaneity, in response to
changes in user requirements and operating conditions;
– powerful, yet efficient— it must free itself from constraints imposed by
bounded hardware resources, addressing instead system constraints imposed
by user demands and available power or communication bandwidth;
– intentional— it must enable people to name services and software objects by
intent, for example, "the nearest printer," as opposed to by address;
– eternal— it must never shut down or reboot; components may come and go in
response to demand, errors, and upgrades, but Oxygen as a whole must be
available all the time.
Related Projects: Portalano
• Portolano (University of Washington)
– An expedition into invisible computing.
– Expedition goals:
• Connecting the physical world to the world-wide information fabric
– Instrument the environment: sensors, locators, actuators
– Universal plug-and-play at all levels: devices to services
– Optimize for power: computation partitioning, comm. opt.
– Intermittent communication: new networking strategies
• Get computers out of the way
– Don’t interfere with user’s tasks
– Diverse task-specific devices with optimized form-factors
– Wide range of input/output modalities
• Robust, trustworthy services
– High-productivity software development
– Self-organizing, active middleware, maintenance, monitoring
– Higher-level, meaningful services
Related Projects: Portalano (2)
• Scenario
– Alice begins the day with a cup of coffee and her
personalized newspaper.
– When her carpool arrives, she switches to reading the news
on her handheld display, where she notices an advertisement
for a new 3-D digital camera.
– It looks like something that would interest her shutterbugfriend Bob, so Alice asks her address book to place the call.
Related Projects: Portalano (3)
• Scenario (2)
– Bob's home entertainment system softens the volume of his
custom music file as his phone rings.
– Alice begins telling Bob about the camera, and forwards him
a copy of the advertisement which pops up on his home
display.
– Bob is sold on the product, and after hanging up with her, he
asks his electronic shopping agent to check his favorite
photography stores for the lowest price and make the
purchase.
Related Projects: Portalano (4)
• Scenario (3)
– When the camera arrives, Bob snaps some photos of his
neighbor's collection of antique Portuguese navigation
instruments.
– After reviewing the photo album generated automatically by
a web-based service, Bob directs a copy of his favorite image
to the art display in his foyer.
– He also sends a pointer to the photo album to Alice and
instructs his scheduling agent to set up a lunch date so that
he can thank her for the suggestion.
Example Projects : Endeavour
• The Endeavour Expedition (UC Berkeley)
– Charting the Fluid Information Utility
• Endeavour Goal:
– Enhancing human understanding through the use of
information technology.
•
•
•
•
•
Principles of Pervasive Computing
Evolution & Related Fields
Example Projects
Other Scenarios
References
Other Scenarios
• Buy drinks by Friday (1)
– Take out the last can of soda
– Swipe the can’s UPC label, which
adds soda to your shopping list
– Make a note that you need soda
for the guests you are having
over this weekend
Other Scenarios
• Buy drinks by Friday (2)
– Approach a local supermarket
– AutoPC informs you that you are
near a supermarket
– Opportunistic reminder: “If it is
convenient, stop by to buy
drinks.”
Other Scenarios
• Buy drinks by Friday (3)
- Friday rolls around and you have
not bought drinks
- Deadline-based reminder sent to
your pager
Other Scenarios
• Screen Fridge
– Provides:
•
•
•
•
•
•
•
•
•
Email
Video messages
Web surfing
Food management
TV
Radio
Virtual keyboard
Digital cook book
Surveillance camera
Other Scenarios
• The Active Badge
– This harbinger of inch-scale computers contains a small
microprocessor and an infrared transmitter.
– The badge broadcasts the identity of its wearer and so can
trigger automatic doors, automatic telephone forwarding and
computer displays customized to each person reading them.
– The active badge and other networked tiny computers are
called tabs.
Other Scenarios
• The Active Badge
Other Scenarios
• Edible computers:
The pill-cam
– Miniature camera
– Diagnostic device
– It is swallowed
• Try this with an
ENIAC computer!
Other Scenarios
• Artificial Retina
– Direct interface
with nervous
system
– Whole new
computational
paradigm (who’s the
computer?)
Other Scenarios
• Smart Dust
– Nano computers that couple:
• Sensors
• Computing
• Communication
– Grids of motes (“nano
computers”)
Download