View
212
Download
0
Tags:
Embed Size (px)
Citation preview
The Context FabricAn Infrastructure for Context-Aware Computing
Jason I. Hong
G r o u p f o rUser Interface Research
University of CaliforniaBerkeley
Apr 22 2002 2
Motivation
• Modern computers are divorced from our reality– Unaware of who, where, and what around them– Leads to mismatch
• Computers have extremely limited input– Aware of explicit input only– A lot of effort to do simple things (or to
remember)
• Context-Aware Computing– One line of ubiquitous computing research– Making computers more aware of the physical
and social situations they are embedded in
Apr 22 2002 3
Examples of Using Context
Context TypesExisting Examples Human Concern
Room ActivityAuto Lights On / Off Convenience
Personal Identity & Time
File Systems Finding Info
Existing Examples Context Types Potential Examples Human Concern
Activity Finding Info
Identity & Time Safety
Time
Location
ActivityHealth Alert
Tag Photos History
Identity
Proximity
Apr 22 2002 4
A Computational View of Context
• Context is a strategy for building apps• Increasing the number of input
channels into the computer– Pushing towards implicit acquisition of data
• Creating better models– Pushing towards the physical and social
• Using the input and models in useful ways– Automatically taking actions– Passing on the information to people
Apr 22 2002 5
Problems with Context-Awareness
• Scalability– Lots of people, places, things, and
sensors– Over long periods of time– Over large geographic distances– Sharing resources (sensors and data)
• Privacy– Tremendous source of valid criticism– Need architecture and mechanisms to
safeguard personal data
Apr 22 2002 6
Research Goals and Solution Overview
• Provide network-oriented set of abstractions, mechanisms, and programming model
• Scalability– Data-oriented, based on information spaces– Decentralized, high availability, with local
control
• Privacy– Provide suite of mechanisms– Based on Fair Information Practices and
Information Asymmetry
Apr 22 2002 7
Architectural Abstractions
• Information Spaces– Repositories of context data and operators
• Context Data– Representation for context data
• Operators– Composable code operating on context
data
• Context Queries / Notifications– Simple API for accessing context– Push / Pull semantics
Apr 22 2002 8
Emergency Response Scenario
• Fire or earthquake situation• Keep track of the people in a building
– Allow building managers to check if a building is clear in the event of an evacuation
– Allow firefighters to check where people were
• Provide reasonable privacy protection– People don't like to be tracked– Emergency situations relatively rare
Apr 22 2002 9
Emergency Response Scenario
Info Spaces + Context Data + Operators
Building InfoSpace
Carol'sInfoSpace
Smart Dust
User="Carol"Location="525 Soda Hall"Time="Apr 12 1:05PM"
Access Control
User="Carol"Location="5th floor"Age="37 seconds"
Send location info
Logging Blurring
User="Carol"Location="in"Age="37 seconds"
Apr 22 2002 10
Scalability
• Architecture analogous to web– Information spaces are like web servers– Information spaces contain context data
• Differences from web architecture– Each device contains an information
space (so devices can access context even w/o net access)
– Information spaces contain operators for manipulating and protecting context data
Apr 22 2002 11
Privacy – Fair Information Practices
• Notice• Choice• Onward Transfer• Access• Security• Data Integrity• Enforcement
Apr 22 2002 12
Privacy – Information Asymmetry
• “In all of human history, no government has ever known more about its people than our government knows about us. And in all of human history, no people have ever been anywhere near as free.” (Brin)
Apr 22 2002 13
A Privacy Design Space
Collection Access Second Use
Dete
ctio
nA
void
an
cePre
ven
tion
Min
imiz
ing
Asym
metr
y
Data Lifecycle
AnonymizationPseudonymization
P3P
Privacy Mirrors
Notice, Consent, Feedback
Context Support
RBAC
• Legal• Social• Economic• Technology
Apr 22 2002 14
Privacy Mechanisms
• Operators
• Primarily prevention and avoidance, on collection and access
Garbage collection Remove or aggregate old data
Blurring Increase ambiguity
Access Control Check authorization
Logging Detection
Filters Remove certain data
Apr 22 2002 15
Context Queries
• Intentional ambiguity– "Where is Victoria?"– "Restaurant Chez Panisse" -> "Berkeley" -
> "CA"– Give different answers depending on
requestor
• Plausible deniability– "Is Adam busy?"– "Yes" or "System not available" according
to prefs
Apr 22 2002 16
Evaluation
• Still in early-to-mid phases– Currently developing initial
implementation• Target applications
– Suite of Emergency response apps– Augmented word-prediction for
communication for disabled people• "Metrics"
– Types of and effectiveness of apps– Ease of adoption– Robustness
Jason I. Honghttp://guir.berkeley.edu/
cfabric
G r o u p f o rUser Interface Research
University of CaliforniaBerkeley
Thanks to:DARPA ExpeditionsPARCIntel FellowshipNSF ITR Grant
Apr 22 2002 19
Potential Discussion Points
• Architecture– Scalability– Availability vs consistency– Context representation
• Privacy– Philosophical underpinnings– Mechanisms
• Related Work– ParcTabs, Context Toolkit, EventHeap
Apr 22 2002 20
Outline
Introduction Architectural Overview Related Work and Design
Comparison Conclusion
Apr 22 2002 21
Functional Requirements
• Context Acquisition– Getting the data from a variety of
sources• Context Modeling
– Representing the data• Context Storage and Dissemination
– Storing the data– Making the data available when it is
needed• Context Usage
– Using the data in a program
Apr 22 2002 22
Context Data
• Problem: how to represent context data?• Entities
– Like nouns, people, places, and things
• Attributes– Like adjectives or properties, key-value pairs
• Relationships– How one entity relates to another entity
• Aggregates– Actions, Groups of people
Apr 22 2002 23
Context Data
Person="[email protected]"
Name="Location"Value="Room 525"Schema="Building:Room"Metadata=
Time="1023498143"Time-to-Live="60sec"Source="SmartDust"
Name="Device"Value=http://zzz.comSchema="Device"
En
tity
Attrib
ute
Rela
tion
ship
Apr 22 2002 24
Context Data
• Physical Context Data– The context data in a specific info space– Ex. My location data might be on PDA and on
PC
• Logical Context Data– Logical perspective on context data– Ex. My location
• View on Context Data– How others see my context data– Ex. Friend's view on my location vs. Stranger's
view
Apr 22 2002 25
Context Data
Physical
Logical
View
My Location on PDA
My Location on PC
My Location
My Locationto Strangers
My Locationto Friends
My Locationto Family
Apr 22 2002 26
Emergency Response Scenario
• Fire or earthquake situation• Keep track of the people in a building
– Allow building managers to check if a building is clear in the event of an evacuation
– Allow firefighters to check where people were
• Provide reasonable privacy protection– People don't like to be tracked– Emergency situations relatively rare
Apr 22 2002 28
Functional Requirements
Acquisition
Modeling
Storage /Dissemination
Usage
Scalability and Privacy
Apr 22 2002 29
Key Architectural Abstractions
• Information Spaces– Repositories of context data and
operators
• Context Data– Representation for context data
• Operators– Composable code operating on context
data
• Context Queries / Notifications– Simple query language (like SQL for DB)– Push / Pull semantics
Apr 22 2002 34
Architectural Sketch
Context Data Information Spaces
Operators
Notification(Standing Query)
Apr 22 2002 35
Information Spaces
• Problem: where to store context data?
• Information Spaces analogous to web servers– Have a unique name– Have an owner– Contain multiple (and not necessarily
related) pieces of data– Can get / put pieces of data (given
security and privacy prefs)
Apr 22 2002 36
Emergency Response Scenario
Information Spaces
Building Info
Space
Jane'sInfo
Space
John'sInfo
Space
Apr 22 2002 37
Emergency Response Scenario
Info Spaces + Context Data
Building Info
Space
Jane'sInfo
Space
John'sInfo
Space
Active Badge
Smart Dust
Apr 22 2002 38
Operators
• Problem: how to manipulate context data in a reusable manner?
• Chainable OperatorsData-type Conversion
Ex. Celsius -> Farenheit
Fusion Refine same data type
Composition Merge different data types
Garbage collection Remove or aggregate old data
Blurring Increase ambiguity
Access Control Check authorization
Logging Detection
Filters Remove certain data
Apr 22 2002 39
Emergency Response Scenario
Info Spaces + Context Data + Operators
Building InfoSpace
Jane'sInfoSpace
Active Badge
User="Carol"Location="525 Soda Hall"Time="Apr 12 1:05PM"
Access Control
User="John"Location="Out"Age="12 hours"
Send location info
Logging Blurring
Apr 22 2002 41
Context Queries
• Intentional ambiguity– "Where is Victoria?"– "Restaurant Chez Panisse" -> "Berkeley" -
> "CA"– Give different answers depending on
requestor
• Plausible deniability– "Is Adam busy?"– "Yes" or "System not available" according
to prefs
Apr 22 2002 42
Research Goals
• Scalability– Decentralized information spaces– Distributed context data
• Privacy– Access control– Blurring– Garbage collection– Intentional ambiguity– Plausible deniability
Apr 22 2002 43
Current Status
• Still in early-to-mid phases• Currently developing initial
implementation• Target applications
– Suite of Emergency response apps– Augmented word-prediction for
communication for disabled people
Apr 22 2002 44
Outline
Introduction Architectural Overview Related Work and Design
Comparison Conclusion
Apr 22 2002 46
Outline
Introduction Architectural Overview Related Work and Design
Comparison Conclusion
Jason I. Honghttp://guir.berkeley.edu/
cfabric
G r o u p f o rUser Interface Research
University of CaliforniaBerkeley
Thanks to:DARPA ExpeditionsPARCIntel FellowshipNSF ITR Grant
Apr 22 2002 51
Existing Examples of Using Context
Context TypesExisting Examples Human Concern
Room ActivitySmoke Alarm Safety
Room ActivityAuto Lights On / Off Convenience
Object IdentityBarcode Scanners Efficiency
Personal Identity & Time
File Systems Finding Info
TimeCalendar Reminders Memory
Apr 22 2002 52
Technology Trends
• Sensors– GPS, Active Bats, Cameras– Smart Dust
• Recognition algorithms– MSR Radar– Smart Floor footstep force
• Wireless technologies– Bluetooth, 802.11, cell phones
• Inexpensive mass data storage
Apr 22 2002 53
Potential Examples of Using Context
Existing Examples Context Types Potential Examples Human Concern
Activity Convenience
Activity Finding Info
Identity Memory
Identity & Time Safety
Time Efficiency
Identity
Time
Location
Proximity
Activity
History
…
Health Alert
Auto Cell Phone Off In Meetings
Service FleetDispatching
Tag Photos
Proximal Reminders
Apr 22 2002 54
Defining ContextAbowd & Dey / Moran & Dourish
• "Any information that can be used to characterize the situation of an entity, where an entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves. Context is typically the location, identity, and state of people, groups, and computational and physical objects." – Abowd and Dey
• "Context refers to the physical and social situation in which computational devices are embedded" – Moran and Dourish
Apr 22 2002 55
Defining ContextDistributed Cognition
• Distributed cognition– Need to go beyond physical attributes– Look at “state of digital resources,
people’s concepts, task state, social relations, local work culture” (Kirsh context essay)
– Model underlying system of states, structures, and relations
– Summary: model the key attributes of the whole system, the deep structure (instead of shallow surface structure) from individuals to offices to social structs and work practices
Apr 22 2002 56
Defining ContextSituated Action
• Situated action– actions are fluid, moment-by-
moment, improvised, often unplanned, and highly context-dependent
– “the context in which actions take place is what allows people to find it meaningful” (Dourish context essay)
Apr 22 2002 57
Defining ContextPhenomenology
• Phenomenology– How people experience the world and
find meaning within it– Shared meanings, common
understandings– How does the meaning of the world
reveal itself to us through our actions within it?
– Thus, meaning (and hence context) arises from the ways in which we engage with and act within the world
Apr 22 2002 58
Defining ContextMy Perspective
• It's just like defining "information"• Shannon treated it from a
transmission perspective, made great inroads – And we are still debating the meaning of
"information", but now we can do it electronically
• Treat context from computer perspective– Let designers define context app-by-app
Apr 22 2002 59
Privacy
• Privacy is a relatively new concept in society, and is “ultimately a psychological construct, with malleable ties to specific objective conditions” (Grudin)
• Convenience, Safety, Efficiency• Ex. Credit cards and cell phones• Open access to online calendars for
efficiency and awareness (Palen)
Apr 22 2002 60
Designing Context-Aware Systems:
Minimize Automatic Actions
• Minimize automatic actions– Cost to benefit via decision theory– Benefit is getting it "right", cost is
"wrong"– Factor in likelihood of getting it "right"
Apr 22 2002 61
Designing Context-Aware Systems:
Provide Feedback
• Provide feedback– What is being captured?– Why did the system do that?
• Feed-forward– If you do that, then the system will do this
• Confirmation– The system just did the following action
Apr 22 2002 63
Designing Context-Aware Systems:
Context-Tracking vs Context-Support
• MIT Cricket beacons out location info– Location-support vs Location-tracking