1 / 55

The Context Fabric Scalability and Privacy for Context-Aware Computing

G r o u p f o r User Interface Research. University of California Berkeley. The Context Fabric Scalability and Privacy for Context-Aware Computing. Jason I. Hong. Confab - A casual talk. Motivation. Modern computers are divorced from our reality

happy
Download Presentation

The Context Fabric Scalability and Privacy for Context-Aware Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Group for User Interface Research University of California Berkeley The Context FabricScalability and Privacy for Context-Aware Computing Jason I. Hong Confab - A casual talk

  2. Motivation • Modern computers are divorced from our reality • Unaware of who, where, and what around them • Mismatch between our expectations and functionality • Also limits what we can do with computers • 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. Existing Examples Context Types Human Concern Auto Lights On / Off Room Activity Convenience Potential Examples Context Types Human Concern Tag Photos Time Location Activity History Identity Proximity Activity Finding Info File Systems Personal Identity & Time Finding Info Health Alert Safety Calendar Reminders Time Memory Service Fleet Dispatching Efficiency Examples of Using Context

  4. Technology Trends • Sensors • GPS, Active Badges, Active Bats • Smart Dust • Cameras and microphones • Recognition algorithms • MSR Radar location from 802.11 • Smart Floor footstep force • Wireless technologies • Bluetooth, 802.11, cell phone

  5. A New Class of Context-Aware Apps Cyberguide (Abowd et al) Active Badge (Olivetti) ParcTabs (Xerox PARC)

  6. A Computational View of Context • Context as 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 • Proactively taking predictable and meaningful actions • Tagging other information • Passing on the information to people

  7. Two 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 and make it easy for people to manage • Need a way of thinking about privacy for ubicomp (previous talk)

  8. Research Goals and Solution Overview • Provide network-oriented set of abstractions, mechanisms, and programming model • Scalability • Data-oriented P2P repositories called information spaces • Decentralized, high availability, with local control • Privacy • Provide suite of mechanisms for app developers • Based on Fair Information Practices and Information Asymmetry

  9. Talk Overview • Motivation • Research Overview • Confab Architecture – Scalability • Confab Architecture – Privacy • Plan for Evaluation and Graduation

  10. Architectural Abstractions • Information Spaces • TupleSpace repositories of context data and operators • Associated with entities (people, places, things) • Somewhat similar to web servers and home pages • Context Data • Representation for context data • Operators • Reusable and composable code operating on data • Context Queries / Notifications • Simple API for accessing context

  11. Architectural SketchInformation Spaces Information Spaces Carol's InfoSpace (Desktop) Carol's InfoSpace (PDA) Soda 525 InfoSpace (Server)

  12. Architectural SketchContext Data Context Data Information Spaces Act Loc Act Loc

  13. Architectural SketchOperators Context Data Information Spaces Debug Trans Filter Operators

  14. Architectural SketchContext Queries Context Data Information Spaces Query Loc Trans Filter Trans Loc Operators

  15. Architectural SketchContext Notifications Context Data Information Spaces Notification (Standing Query) Operators

  16. Carol's Context when Mobile Carol's Context in Soda 525 Architectural SketchPeering of Information Spaces Context = Set of Available Info Spaces

  17. 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

  18. Send location info User="Carol" Location="525 Soda Hall" Time="Apr 12 1:05PM" User="Carol" Location="5th floor" Age="37 seconds" User="Carol" Location="in" Age="37 seconds" Access Control Logging Blurring Emergency Response Scenario Smart Dust Building InfoSpace Carol's InfoSpace

  19. Notification Logging Emergency Response Scenario Smart Dust Building InfoSpace User="Carol" Location="525 Soda Hall" Time="Apr 12 1:05PM" Carol's InfoSpace User="Carol" Location="5th floor" Age="37 seconds" User="Carol" Location="525 Soda" Age="7 seconds"

  20. Layers of InfoSpaces and Context Data View My Location to Strangers My Location to Friends My Location to Family Logical My Location Physical My Location on PDA My Location on PC

  21. 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

  22. Talk Overview • Motivation • Research Overview • Confab Architecture – Scalability • Confab Architecture – Privacy • Plan for Evaluation and Graduation

  23. Privacy – Fair Information Practices • Notice • Choice • Onward Transfer • Access • Security • Data Integrity • Enforcement

  24. 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)

  25. RBAC Location Support Anonymization Pseudonymization Prevention Wearables P3P Themes for Minimizing Asymmetry Avoidance User Interfaces for Feedback, Notification, and Consent Privacy Mirrors Detection Collection Access Second Use Data Lifecycle A Privacy Design Space • Legal • Social • Economic • Technology Goal: Provide reusable mechanisms that can populate this design space

  26. Privacy Mechanisms • Operators • Focus on providing mechanisms for prevention and avoidance, on collection and access • Still working on this…

  27. Supporting Some Desired Properties • Intentional ambiguity • "Where is Victoria?" • "Restaurant Chez Panisse" -> "Berkeley" -> "CA" • Give different answers depending on requestor • Plausible deniability • "Is Adam busy?" • "Yes" or "Unknown" according to prefs

  28. Talk Overview • Motivation • Research Overview • Confab Architecture – Scalability • Confab Architecture – Privacy • Plan for Evaluation and Graduation

  29. Evaluation • Still in early-to-mid phases • Currently developing initial implementation • JDK, JXTA (Java P2P), XML • Possibly also WSDL, SOAP • Target applications • SpeakEasy (PARC) • Suite of Emergency Response apps (next week) • Possible Educational Technology apps • "Metrics" • Types of and effectiveness of apps that can be built • Ease of adoption • Robustness

  30. The Ultimate Metric

  31. Privacy is good here, but be careful not to fall into the systems tarpit. Focus, Jason, focus! Q & A

  32. Q & A Agree with Bill do I, avoid the dark side of systems you must!

  33. Good work, Jason, I think you deserve a raise! This party's started! Q & A

  34. Group for User Interface Research University of California Berkeley Thanks to:DARPA Expeditions PARC Intel Fellowship NSF ITR Yoda Context the circumstances in which an event occurs; a setting; to join; to weave Jason I. Hong http://guir.berkeley.edu/cfabric

  35. Q & A One way of evaluating is to describe the design space, and show how your work makes it easy to build in that space. Maybe privacy won't be a large issue in the future. Very difficult to say because of the tradeoffs in value, safety, convenience.

  36. Q & A But do we really need ubicomp at all? And if so, how do we build and evaluate it so that it's socially relevant and meaningful? Maybe context itself isn't really the issue, because activity orders and delineates what is and isn't relevant at any point.

  37. 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

  38. 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

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

  40. 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

  41. 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)

  42. Operators • Problem: how to manipulate context data in a reusable manner? • Chainable Operators

  43. Context Queries • Problem: how to use context data?

  44. Related Work • Context Toolkit • EventHeap • ParcTab infrastructure

  45. Smoke Alarm Room Activity Safety Auto Lights On / Off Room Activity Convenience Barcode Scanners Object Identity Efficiency File Systems Personal Identity & Time Finding Info Calendar Reminders Time Memory Existing Examples of Using Context Existing Examples Context Types Human Concern

  46. Potential Examples of Using Context Existing Examples Potential Examples Context Types Human Concern Auto Cell Phone Off In Meetings Activity Identity Time Location Proximity Activity History … Convenience Tag Photos Activity Finding Info Proximal Reminders Identity Memory Health Alert Identity & Time Safety Service Fleet Dispatching Time Efficiency

  47. 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)

  48. Defining ContextDistributed Cognition • Distributed cognition • Need to go beyond physical attributes (ex. temp) • Look at “state of digital resources, people’s concepts, task state, social relations, local work culture” (Kirsh) • Model key attributes and deep structure of whole system (individuals, offices, social structs, work practices) • Problems • What are the key attributes? • How to represent?

  49. Defining ContextSituated Action • Situated action • Actions are fluid, moment-by-moment, improvised, often unplanned, and highly context-dependent • “[T]he context in which actions take place is what allows people to find it meaningful” (Dourish) • Problems • Very high-level form of context • Can low-level computer-based context be useful? • Also, how does this really help us build systems?

  50. Defining ContextPhenomenology • Phenomenology • Reality consists of objects and events as they are perceived in human consciousness and not of anything independent of human consciousness. • Meaning (and hence context) arises from the ways in which we engage with and act within the world • Problems • Need this level of sophistication to make progress? • How does this help us build systems? • Very wide chasm between philosophy and practice

More Related