context aware systems - seminar presentation

53
1 Context Aware Computing

Upload: techiewickie

Post on 09-Apr-2015

281 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Context Aware Systems - Seminar Presentation

1

Context Aware Computing

Page 2: Context Aware Systems - Seminar Presentation

2

First Paper I used mostly “A Survey of Context-Aware Mobile Computing

Research”, Chen and Kotz, Dartmouth (Tech Report) instead of Schilit’s paper (which is the original paper coining the term)

Context-aware computing “Mobile computing application that can discover and take

advantage of contextual information” A first step towards ubiquitous computing?

What is “contextual information”? Example: user profile, location, time, temperature, nearby people or

facilities, …

“Instead of adapting systems and applications to mobility so that mobility is hidden, explore and support new mobile aware applications”

Page 3: Context Aware Systems - Seminar Presentation

3

Category Clause

Location in-room 35-2-2-00Co-Location

with {{Name User:adams}}with {{Name Host:*} {Features color}}

Path path 35-2-2-00 35-2-2-10

Distance distance 35-2-2-10 35-2-1-01

Contextual Reminders

Select nearby stuff Browse info by location

Context Aware Computing

Page 4: Context Aware Systems - Seminar Presentation

4

Part I: Definitions/Taxonomy

Page 5: Context Aware Systems - Seminar Presentation

5

Defining Context

Dictionary definition: “the interrelated conditions in which something exists or occurs”

One definition [Schilit]: Computing context: connectivity, communication cost,

bandwidth, nearby resources (printers, displays, PCs)… User context: user profile, location, nearby people, social

situation, activity, mood … Physical context: temperature, lighting, noise, traffic

conditions …

Author’s add: Time context (time of day, week, month, year…) Context history can also be useful

Page 6: Context Aware Systems - Seminar Presentation

6

Context (cont’d)

Is all this information necessary?

“Context is the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” Active context: influences the behavior of the application

• Location in a call forwarding application Passive context: context that is relevant but not critical

• Active map application: display location name and other people in the room

Is all this information measurable? Temperature? Location? People around? Social situation?

Mood?

Page 7: Context Aware Systems - Seminar Presentation

7

Context-Aware computing

How to take advantage of this context information? Schilit’s classification of CA applications:

1. Proximate selection: user interface where nearby objects are emphasized/made easier to choose

2. Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change

3. Contextual information and commands: produce different results according to the context in which they are issued

4. Context-triggered actions: rules to specify how the system should adapt

Are these fundamental/inclusive?

Page 8: Context Aware Systems - Seminar Presentation

8

Alternative Taxonomy [Pascoe],[Dey]

Pascoe: Taxonomy of context-aware features Contextual sensing: how to determine the context Contextual resource discovery Contextual augmentation: how to associate data with the

context

Dey maps to “services” for CA apps: Presentation of information/services to users Execution of services Tagging of context to information for later retrieval

Page 9: Context Aware Systems - Seminar Presentation

9

Author’s classification

Follows from the definition of context

1. Active Context Awareness: “an application automatically adapts to discovered context by changing the application’s behavior”

1. Passive context awareness: “an application presents the new or updated context to an interested user or makes the context persistent for the user to retrieve later”

Page 10: Context Aware Systems - Seminar Presentation

10

Part 2: Survey of Context-aware Applications

Page 11: Context Aware Systems - Seminar Presentation

11

App. Survey

10+ applications surveyed, chronologically ordered We will look at a few Try to notice common threads

Our second paper is a detailed look at one of these applications

Page 12: Context Aware Systems - Seminar Presentation

12

PARCTab System

Characteristic From Xerox Palo Alto Research Center 12 applications

Applications Active Map

• Location information (Room number)

The others

• Some helps the user find the most convenient local resources– e.g. nearest printer

• An application makes ParcTab as a remote control

Figure : ParcTab Terminal

Page 13: Context Aware Systems - Seminar Presentation

13

Active Badge System

Characteristic From Olivetti Research Lab in 90’s One of the first context-aware systems Office personnel wear badges (IR signal)

Applications Call Forwarding

Figure : Locations of the office personnel with badges

Page 14: Context Aware Systems - Seminar Presentation

14

Call Forwarding

Location of employees is shown to receptionist Receptionist forwards calls to the nearest phone Eventually, receptionist was removed from the loop; calls

forwarded automatically

Is this a good idea? What if you were in an important meeting? (or taking a nap!) What if a private call is forwarded to a non private room? “Context-aware communication”

What is the context? What about an active map application?

Page 15: Context Aware Systems - Seminar Presentation

15

Mobisaic Web Browser

Extend browsers to refer to dynamic contextual information

Dynamic URLs with contextual/environment variables Variables get bound to current context when the URL is

referenced

Also support active documents As the context changes, the document is automatically

updated

What types of context can be useful here? Active or passive?

Page 16: Context Aware Systems - Seminar Presentation

16

Shopping Assistant

Scenario: you are at home depot trying to figure out what you need to finish your basement

Shopping assistant can Tell you what parts you need Where to find them relative to your location in the store What is on sale Do comparative pricing Use your previous profile information to customize shopping

and delivery

What context? Active/passive?

Page 17: Context Aware Systems - Seminar Presentation

17

CyberGuide

Characteristic From Georgia Tech Provide information services to a

tourist

• Direction

• Background information

• Travel diary (automatically recorded)

Indoor and Outdoor Version

• Indoor – Using IR (infrared)

• Outdoor – Using GPS Figure : Outdoor

Cyberguide Screenshot, etc.

Page 18: Context Aware Systems - Seminar Presentation

18

Augmented Reality

User’s view of the real world is augmented with additional information

Scenario 1: you wear sun-glasses with a display and headphones and walk in downtown Rome As you move around, the glasses can tell you your location As you look at the coliseum you get information about it

Scenario: special ops squad infiltrating an enemy complex wearing the same gizmos In addition to information as above, the glasses change to

night vision if lighting is not sufficient

Context?

Page 19: Context Aware Systems - Seminar Presentation

19

GUIDE

Developed in Lancaster University For Lancaster City visitors

Using WaveLAN as communication infrastructure A tourist comes to a region(cell), then

he receives information of the region.

Information provided using Fujitsu TeamPad 7600 portable PC Java based http browser

Screenshot of GUIDE

Page 20: Context Aware Systems - Seminar Presentation

20

Adaptive GSM phone/PDA

PDA: notepad application changes its characteristics depending on user activity Large font when walking, small font when stationary Change the intensity level depending on the lighting

conditions

Phone: decide ring volume or vibration depending on situation In hand, in a suitcase, on a table, in a

classroom/conference?

What is the context?

Page 21: Context Aware Systems - Seminar Presentation

21

Conference Assistant

Assistant checks out conference schedule and user’s interest to highlight which presentations should be attended

Automatically present speaker names, title of paper/other relevant info

May record slides, audio, questions, take notes and tag them with the appropriate place in the talk for later retrieval

Page 22: Context Aware Systems - Seminar Presentation

22

Location Aware Information Delivery

Generate reminders to users as they enter locations Voice synthesis used to generate audio reminders “Sorry, dear, I forgot” is going to become obsolete?

Several projects (MIT, Stanford, GaTech)

CyberMinder (GaTech) uses a complex context including nearby people, weather conditions

But what is the basic context needed here?

Page 23: Context Aware Systems - Seminar Presentation

23

Observations

Human-Computer interaction can be improved with context info Intelligent applications? AI?

Focus on simple context(s): e.g., location, identity, time

Why aren’t other contexts used more heavily? Not that useful? Difficult to sense/model? Need more imagination? A natural consequence of these being mobile applications?

No killer app… little gizmos of limited use Still to come?

Page 24: Context Aware Systems - Seminar Presentation

24

StartleCam

From MIT Media Lab Composed with

Wearable video camera Computer sensing system

Save Image when the

wearer is interested By sensing skin conductivity

signal

Figure : StartleCam System

Page 25: Context Aware Systems - Seminar Presentation

25

Sensing Context

Page 26: Context Aware Systems - Seminar Presentation

26

How to sense the context Sensing Location – Use Global Positioning System

(GPS)

Some info: http://www.cmtinc.com/gpsbook/index.htm GPS determines the distance by measuring the time it takes

a signal to propagate from Satellite to receiver Need to have very good synchronization of clocks Receive signal from three satellites to determine location Need a fourth satellite to estimate elevation Satellite GPS accuracy is getting reasonable (10-20 meters) Sub-meter accuracy possible with differential GPS

But what to do indoors?

Page 27: Context Aware Systems - Seminar Presentation

27

Indoors

GPS doesn’t work because the satellite signal is weak or reflected (lowers accuracy)

Need to build our own location tracking system difficult problem

Use ideas similar to GPS: compute distances from known locations that send beacons

Page 28: Context Aware Systems - Seminar Presentation

28

Location Tracking

We will look at the Bat system from AT&T labs (as part of our second paper)

Cricket (MIT, Mobicom 2001): RF and ultrasonic signals sent from each basestation Mobile estimates distance by time interval between the two

signal arrivals Accuracy within a few feet

RADAR (Microsoft) and other efforts Measure signal strength (or SNR) to estimate distance A set of static receivers track positions of transmitters They are queried for location

Page 29: Context Aware Systems - Seminar Presentation

29

Guide System Location Tracking

Cellular system with base stations at areas of interest Non-overlapping cells

Coarse Granularity Location You only know what area you are from by knowing the

basestation that you are in range of

Cells not overlapping; can lose track of location completely

Page 30: Context Aware Systems - Seminar Presentation

30

Sensing other low level contexts

Time? Physical sensors possible

Light, acceleration, tilt, sound, temperature, pressure, proximity of humans

Nearby objects? If system keeps track of location of objects, query to a

database Bandwidth? Odyssey Orientation?

Orientation sensor based on two mercury switches (Newton MessagePad)

Directional antennas/directional transmitters?

Page 31: Context Aware Systems - Seminar Presentation

31

High Level contexts

This is by far the more difficult problem Not just an engineering challenge Psychology, sociology, …??

How does a node know whether this is a party or a wake? Check your calendar or detect the cake/coffin?

Page 32: Context Aware Systems - Seminar Presentation

32

Sensing Context changes

Publish subscribe model? Monitor polls the current context Notifies subscribers to the context Centralized or on a per-node?

Polling rate is a function of rate of change of context

Page 33: Context Aware Systems - Seminar Presentation

33

Modeling Context Information

Page 34: Context Aware Systems - Seminar Presentation

34

Location Model

How do we answer questions such as: Given an object what is its location Given a location, return the set of objects there Determining paths between locations How does a vehicle navigation system do it?

Geographical Information Systems/Spatial Databases Already pretty mature (part of Oracle, mysql, etc..) Model geometry and topology Typically locations are organized hierarchically Sonal Dedhia’s project

Page 35: Context Aware Systems - Seminar Presentation

35

Security and Privacy Issues

I personally hate the idea that someone can know my location all the time I still refuse to get a cell phone, but it looks like I will finally

cave in! Par for the course, many of these systems ignore privacy

and security issues

Page 36: Context Aware Systems - Seminar Presentation

36

Second Paper

The Anatomy of a Context-Aware Application – Andy Harter, Andy Hopper,

Pete Steggles, Andy Ward and Paul Webster. AT&T Labs, Cambridge, UK (cont)

Page 37: Context Aware Systems - Seminar Presentation

37

Overview Paper describes the system components necessary to support

a context-aware application1. Location system2. Data model3. Distributed object model4. Resource Monitors5. Spatial monitors

Working system, real details

So what is the application? Teleporting/follow-me Application follows you as you move around a building Hmm!! Virtual dog?

• Definitely some gaming applications

• But what else? Virtual nanny?

• Framework not specific to this application

Page 38: Context Aware Systems - Seminar Presentation

38

Location System

Would like: Fine grained (accurate in space) High update rate (accurate in time) Inexpensive Works indoors

Argue for ultrasonic Optical: expensive detectors; line of sight limitations GPS: dies indoors RF: multipath

Page 39: Context Aware Systems - Seminar Presentation

39

Bat Unit

Radio transceiver, ultrasonic transducer and control logic

Each bat has a GUID Base station transmits a periodic message with the GUID;

corresponding bat responds with ultrasound

Use speed of sound in air (estimated from ambient temperature) to estimate location Ultrasonic receivers detect the delay and map it to distance

Use multiple receivers to get 3D location using multilateration

Reflections of ultrasonic waves – statistical outlier elimination (can same techniques be applied to RF multipath?)

Page 40: Context Aware Systems - Seminar Presentation

40

Bat (cont’d)

Page 41: Context Aware Systems - Seminar Presentation

41

Bat Unit (cont.)

It takes 20 ms between bat readings = 50 timeslots per base station per second Allow echos to die

Location can be used to measure orientation Attach many bats to the same object. Use the measurements to

infer the orientation If too cumbersome, can check “shadow” of a single bat

Base station can provide Location Quality-of-service to allocate time slots to bats based on the expected update frequency Bats carried by people – few times a second Bats attached to workstation – once every few minutes

Page 42: Context Aware Systems - Seminar Presentation

42

Bat Unit (cont.)

Bats perform handover when moving from one base station to another (similar to the cellular networks) Hand off decisions can also be made based on the Bat location

Battery consumption is low, power consumed depends on the update frequency and power state Several updates a second = several month lifetime

95% of samples within 9cm’s of actual location 95% of samples within 25 degrees with multiple bats; within 70

degrees for a single bat (orientation)

Bat is good enough to be used as a 3D mouse; it has buttons and can communicate with basestation

Page 43: Context Aware Systems - Seminar Presentation

43

How well does it work?

Page 44: Context Aware Systems - Seminar Presentation

44

Modeling the environment

Detailed model describing entities in the real world and their possible interactions Environment consists of real objects: should use OO

modeling (agree?)

Modeling language based on entity relation diagrams and multiple inheritance Modeled people, computers, keyboards, monitors, networks,

telephones and furniture

Use CORBA and databases to implement persistent distributed objects

Page 45: Context Aware Systems - Seminar Presentation

45

3 Tier Architecture

Page 46: Context Aware Systems - Seminar Presentation

46

Populating and Updating the Model

Some elements are static (e.g., furniture) …but some are dynamic (e.g., is a keyboard in use)

• need to be updated automatically

Centralized data repository (to optimize information access)

Three classes of resource monitors: Machine activity e.g. keyboard activity Machine resource e.g. CPU usage, memory usage Network point-to-point bandwidth and latency

Page 47: Context Aware Systems - Seminar Presentation

47

Client level event filters

Update Frequency The frequency at which items are monitored is based on

how quickly the item tends to change

Relevancy If a value has not changed significantly, it is not sent. This

value depends on the data being monitored

Caching Caching improves performance at the cost of consistency

Page 48: Context Aware Systems - Seminar Presentation

48

Location Update

Each Bat location is tracked Translated into object location in a type specific way (e.g.,

person different than workstation)

Page 49: Context Aware Systems - Seminar Presentation

49

API Absolute and relative spatial facts

“Person is at (x,y,z) facing in direction ” .vs. “Person is standing in front of the monitor”

Geometric containment is used for relative spatial facts

monitor person

Contained(person, screenspace)

Page 50: Context Aware Systems - Seminar Presentation

50

Reasoning about Space

Page 51: Context Aware Systems - Seminar Presentation

51

Scalability

With many devices, containment is complex

They use containment tree indexing system (a quad-tree based approach)

Page 52: Context Aware Systems - Seminar Presentation

52

Implementation

BAT teleportation system With their earlier active badge based teleportation system,

they only knew that a user was in the room and so they had to cycle between multiple displays in a room

If a particular display was being use, they would still cycle that display because they did not monitor machines

If a machine is dead, their system would still wait because they did not monitor machines

With the BAT system, they have more accurate location information

Event driven programming style

Page 53: Context Aware Systems - Seminar Presentation

53

Zones and Buttons

Action zone triggers teleportation Within maintain zone, teleported desktops are

maintained

Action

monitor

Maintain