Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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

2 Apr 22 20022 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

3 Apr 22 20023 Examples of Using Context Context TypesExisting ExamplesHuman Concern Room ActivityAuto Lights On / OffConvenience Personal Identity & Time File SystemsFinding Info Existing ExamplesContext Types Potential ExamplesHuman Concern ActivityFinding Info Identity & TimeSafety Time Location Activity Health Alert Tag Photos History Identity Proximity

4 Apr 22 20024 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

5 Apr 22 20025 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

6 Apr 22 20026 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

7 Apr 22 20027 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

8 Apr 22 20028 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

9 Apr 22 20029 Emergency Response Scenario Info Spaces + Context Data + Operators Building InfoSpace Carol's InfoSpace 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 LoggingBlurring User="Carol" Location="in" Age="37 seconds"

10 Apr 22 200210 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

11 Apr 22 200211 Privacy – Fair Information Practices Notice Choice Onward Transfer Access Security Data Integrity Enforcement

12 Apr 22 200212 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)

13 Apr 22 200213 A Privacy Design Space Collection AccessSecond Use Detection Avoidance Prevention Minimizing Asymmetry Data Lifecycle Anonymization Pseudonymization P3P Privacy Mirrors Notice, Consent, Feedback Context Support RBAC Legal Social Economic Technology

14 Apr 22 200214 Privacy Mechanisms Operators Primarily prevention and avoidance, on collection and access Garbage collectionRemove or aggregate old data BlurringIncrease ambiguity Access ControlCheck authorization LoggingDetection FiltersRemove certain data

15 Apr 22 200215 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

16 Apr 22 200216 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

17 Apr 22 200217 The Ultimate Metric Dude, where's my car?

18 Jason I. Hong http://guir.berkeley.edu/cfabric G r o u p f o r User Interface Research University of California Berkeley Context – the circumstances in which an event occurs; a setting; to join; to weave (American Heritage Dictionary) Thanks to: DARPA Expeditions PARC Intel Fellowship NSF ITR Grant

19 Apr 22 200219 Potential Discussion Points Architecture – Scalability – Availability vs consistency – Context representation Privacy – Philosophical underpinnings – Mechanisms Related Work – ParcTabs, Context Toolkit, EventHeap

20 Apr 22 200220 Outline  Introduction  Architectural Overview  Related Work and Design Comparison  Conclusion

21 Apr 22 200221 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

22 Apr 22 200222 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

23 Apr 22 200223 Context Data Person="jasonh@cs.berkeley.edu" Name="Location" Value="Room 525" Schema="Building:Room" Metadata= Time="1023498143" Time-to-Live="60sec" Source="SmartDust" Name="Device" Value=http://zzz.comhttp://zzz.com Schema="Device" Entity Attribute Relationship

24 Apr 22 200224 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

25 Apr 22 200225 Context Data Physical Logical View My Location on PDA My Location on PC My Location to Strangers My Location to Friends My Location to Family

26 Apr 22 200226 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

27 Apr 22 200227 Functional Requirements Acquisition Modeling Storage / Dissemination Usage

28 Apr 22 200228 Functional Requirements Acquisition Modeling Storage / Dissemination Usage Scalability and Privacy

29 Apr 22 200229 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

30 Apr 22 200230 Architectural Sketch Information Spaces

31 Apr 22 200231 Architectural Sketch Context Data Information Spaces

32 Apr 22 200232 Architectural Sketch Context Data Information Spaces Operators

33 Apr 22 200233 Architectural Sketch Context Data Information Spaces Operators Query

34 Apr 22 200234 Architectural Sketch Context Data Information Spaces Operators Notification (Standing Query)

35 Apr 22 200235 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)

36 Apr 22 200236 Emergency Response Scenario Information Spaces Building Info Space Jane's Info Space John's Info Space

37 Apr 22 200237 Emergency Response Scenario Info Spaces + Context Data Building Info Space Jane's Info Space John's Info Space Active Badge Smart Dust

38 Apr 22 200238 Operators Problem: how to manipulate context data in a reusable manner? Chainable Operators Data-type ConversionEx. Celsius -> Farenheit FusionRefine same data type CompositionMerge different data types Garbage collectionRemove or aggregate old data BlurringIncrease ambiguity Access ControlCheck authorization LoggingDetection FiltersRemove certain data

39 Apr 22 200239 Emergency Response Scenario Info Spaces + Context Data + Operators Building InfoSpace Jane's InfoSpace 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 LoggingBlurring

40 Apr 22 200240 Context Queries Problem: how to use context data?

41 Apr 22 200241 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

42 Apr 22 200242 Research Goals Scalability – Decentralized information spaces – Distributed context data Privacy – Access control – Blurring – Garbage collection – Intentional ambiguity – Plausible deniability

43 Apr 22 200243 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

44 Apr 22 200244 Outline  Introduction  Architectural Overview  Related Work and Design Comparison  Conclusion

45 Apr 22 200245 Context Toolkit EventHeap ParcTab infrastructure

46 Apr 22 200246 Outline  Introduction  Architectural Overview  Related Work and Design Comparison  Conclusion

47 Apr 22 200247 Research Contributions

48 Apr 22 200248 Takeaway Points

49 Jason I. Hong http://guir.berkeley.edu/cfabric G r o u p f o r User Interface Research University of California Berkeley Context – the circumstances in which an event occurs; a setting; to join; to weave (American Heritage Dictionary) Thanks to: DARPA Expeditions PARC Intel Fellowship NSF ITR Grant

50 Apr 22 200250 Backup Slides

51 Apr 22 200251 Existing Examples of Using Context Context TypesExisting ExamplesHuman Concern Room ActivitySmoke AlarmSafetyRoom ActivityAuto Lights On / OffConvenienceObject IdentityBarcode ScannersEfficiency Personal Identity & Time File SystemsFinding InfoTimeCalendar RemindersMemory

52 Apr 22 200252 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

53 Apr 22 200253 Potential Examples of Using Context Existing ExamplesContext Types Potential ExamplesHuman Concern ActivityConvenience ActivityFinding Info IdentityMemory Identity & TimeSafety TimeEfficiency Identity Time Location Proximity Activity History … Health Alert Auto Cell Phone Off In Meetings Service Fleet Dispatching Tag Photos Proximal Reminders

54 Apr 22 200254 Defining Context Abowd & 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

55 Apr 22 200255 Defining Context Distributed 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

56 Apr 22 200256 Defining Context Situated 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)

57 Apr 22 200257 Defining Context Phenomenology 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

58 Apr 22 200258 Defining Context My 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

59 Apr 22 200259 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)

60 Apr 22 200260 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"

61 Apr 22 200261 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

62 Apr 22 200262 Designing Context-Aware Systems: Minimize Asymmetry Asymmetry

63 Apr 22 200263 Designing Context-Aware Systems: Context-Tracking vs Context-Support MIT Cricket beacons out location info – Location-support vs Location-tracking

64 Apr 22 200264 Vision Context-Aware Computing Today

65 Apr 22 200265 Vision Context-Aware Computing in the Future January


Download ppt "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."

Similar presentations


Ads by Google