The Context Fabric An Infrastructure for Context-Aware Computing Jason I. Hong G r o u p f o r User...

65
The Context Fabric An Infrastructure for Context-Aware Computing Jason I. Hong G r o u p f o r User Interface Research University of California Berkeley
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    212
  • download

    0

Transcript of The Context Fabric An Infrastructure for Context-Aware Computing Jason I. Hong G r o u p f o r User...

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

Apr 22 2002 17

The Ultimate Metric

Dude, where's my car?

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 27

Functional Requirements

Acquisition

Modeling

Storage /Dissemination

Usage

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 30

Architectural Sketch

Information Spaces

Apr 22 2002 31

Architectural Sketch

Context Data Information Spaces

Apr 22 2002 32

Architectural Sketch

Context Data Information Spaces

Operators

Apr 22 2002 33

Architectural Sketch

Context Data Information Spaces

Operators

Query

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 40

Context Queries

• Problem: how to use context data?

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 45

• Context Toolkit• EventHeap• ParcTab infrastructure

Apr 22 2002 46

Outline

Introduction Architectural Overview Related Work and Design

Comparison Conclusion

Apr 22 2002 47

Research Contributions

Apr 22 2002 48

Takeaway Points

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 50

Backup Slides

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 62

Designing Context-Aware Systems:

Minimize Asymmetry

• Asymmetry

Apr 22 2002 63

Designing Context-Aware Systems:

Context-Tracking vs Context-Support

• MIT Cricket beacons out location info– Location-support vs Location-tracking

Apr 22 2002 64

Vision

Context-Aware Computing Today

Apr 22 2002 65

Vision

Context-Aware Computing in the Future

January