Capita Selecta Capita Selecta Distributed Systems Distributed Systems Study of context-aware computing Study of context-aware computing

58  Download (0)

Full text

(1)

Capita Selecta Capita Selecta

Distributed Systems Distributed Systems

Study of context-aware computing Study of context-aware computing

Julien Pauty Julien Pauty

Manuele Kirsch-Pinheiro

Manuele Kirsch-Pinheiro

(2)

Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

• Capturing context

• Context aware middleware

(3)

Structure of the course Structure of the course

• Format

 1

st

session: content overview

 2

nd

and 3

rd

sessions: Presentation by students on selected topics

 4

th

session: Presentation of final project

• Final project

 Design of a context-aware application

 Architecture definition (layers, components, technologies…)

 Decision making (each decision must be justified)

 No implementation

(4)

Structure of the course Structure of the course

• Selected topics for the presentations

 Context models (2

nd

session)

• Ontology X Object-Oriented models

 Context detection (2

nd

session)

• Technologies for context detection (location, presence…)

 Context middleware (3

rd

session)

• Take you choice (CODAMOS, MADAM, SOCAM…)

• Format

 2 groups

 Presentation rounds

 Discussions

(5)

Structure of the course Structure of the course

• Evaluation

 25% oral presentations

 25% participation in the courses

 50% design project

• Site

 http://www.cs.kuleuven.be/~julien/capitaSe

lecta/bibliography-searchable.html

(6)

Outline Outline

 Context-Aware applications

• Defining context

• Modelling context

• Capturing context

• Context aware middleware

(7)

Context-aware applications Context-aware applications

• Why?

 User mobility

• The user does something else

• Leverage new technologies

 Support the user unobtrusively

• What?

 Evolution of distributed and mobile

 Ubiquitous computing

• “anytime, anywhere”

(8)

Context-aware applications Context-aware applications

Supplying the right information and service at the right moment

• Tourism guides

• Geonotes applications

• Resources discovery

• Media access / sharing

• …

• Application domains

 Tourism

 Health

(9)

Context-aware applications Context-aware applications

GUIDE

Cheverest 2002 Presenting

information

related to the

current user’s

location

(10)

Context-aware applications Context-aware applications

Geonotes

Electronic post-its associated

to a given location

(11)

Context-aware applications Context-aware applications

Context-aware messaging Health application

Muñoz 2004

(12)

Context-aware applications Context-aware applications

AwareMedia and AwarePhone

Bardram 2006 Location tag

Colleagues list,

their location and status

(13)

Outline Outline

• Context-Aware applications

 Defining context

• Modelling context

• Capturing context

• Context aware middleware

(14)

What is context?

What is context?

• What does the dictionary says?

 The text that surrounds a piece of text

 The events that are related to another events (historical context)

• Context is relative

 The context of something

• Context defines what is close

 Physically

 Temporally

 Semantically

(15)

Examples of context Examples of context

information information

• A person

 The people and objects that are nearby

 Surrounding shops

• A web page

 The pages that have a link to this page

• A network node

 The computer of the same sub-network

 The computers that cooperate

(16)

Context in computer science Context in computer science

• No unique definition

• Always the context of something

 Usually the user

• Commonly accepted definition

 The information that defines the current situation of the user

• Location

• The device he uses

• Speed

• Preferences

• …

(17)

Some definitions Some definitions

• Schilit 1994:

 “the location of use, the collection of nearby people, hosts, and accessible devices, as well as to changes to such things over time”

 Three important aspects: where you are, who you are with, and what resources are nearby.

 Context encompasses more than just the user’s location. Context includes lighting, noise level, network connectivity,

communication costs, communication

bandwidth, and even the social situation

(are you with your manager or with a co-

worker?)

(18)

Some definitions Some definitions

• Moran and Dourish 2001:

 context refers to the physical and

social situation in which computational devices are embedded

• Dey 2001:

 “any information that can be used to characterize the situation of an entity.

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

applications themselves”

(19)

What is context then?

What is context then?

• Information related to the user…

• …that is useful to

 Provide personalized service and content

 Provide implicit input to the application

• Context is detected automatically and used as a parameter

 Improve the service provided by

an application

(20)

What is context then?

What is context then?

• Chen and Kotz’s Taxonomy:

 Computing context

• Screen orientation and resolution

• Memory

• Battery

• Network information…

 Environmental context

• Location

• Nearby objects

• Illumination, temperature, noisy…

 User context

• Personal data

• Roles

(21)

Location Location

• Very important information

 Location-aware computing

• Low level location

 Coordinates

 Used to get higher level location

 Not very useful in itself

• High level location

 The address

 The office number

 Useful for applications

(22)

Time Time

• Current time

 Guessing the user activity

• 1pm, maybe the user is having lunch

 Using the agenda gives additional information

• The user has a meeting => put his phone in silent mode

• Past events

 Logging user activities to know what the user usually does at that moment

 Past context

• What the user will do?

 The user is going to take the train => load the

last news on his pda and some movie trailers

that match his preferences

(23)

Device & other concepts Device & other concepts

• Device

 Memory

 Battery

 Screen size, resolution, orientation

 Audio & video capabilities

• Network

 Bandwidth

• User's task

• ...

(24)

User preferences User preferences

• Is it context ?

 Can be view as the location of the user on the "thematic" dimension

 The user like action movie

• Bridget Jones is far from his location

• Die Hard 4 is close to his location

• Find information / content the user may like

• Adapt the content / interface of the

application

(25)

Outline Outline

• Context-Aware applications

• Defining context

 Modelling context

• Capturing context

• Context aware middleware

(26)

Context model Context model

• How to represent context?

• Modelling approaches

 Key/Value pairs

 Object oriented

 Ontology

• Other approaches

 Conceptual graphs

(27)

Key/Value pairs Key/Value pairs

• Simplest representation

• Key represent the name of the property

• Examples

 location: floor 1

 friends: [Sam, Lisa, Pat]

 preferedMovies: Romance

(28)

Object oriented Object oriented

• Rely on the language semantics to model context

• Example

 Location is a base class

 Floor and Address are subclasses of Location

• Direct mapping between the context representation and its implementation

• Simplify implementation

• Offer more structuration possibilities than

key/values pairs

(29)

Example Example

Kirsch Pinheiro 2004

(30)

Example Example

Bardram 2005 (JCAF model )

(31)

Ontology Ontology

• Knowledge representation

 Classes and relations

 Vehicule, Car and Bus are classes

 "isA" is a relation that link these classes

• Rules

 Infer new knowledge for existing knowledge

 If user is in Room 2 and Room 2 is on floor A then user is also on floor A

Vehicle

Car Bus

isA isA

Wheel

has has

Boat

isA

(32)

Example Example

Preuveneers 2004

(33)

Representing context with Representing context with

ontologies ontologies

• Most complete modelling approach

 Can model almost anything

• Reasoning

 Apply rules to infer new knowledge

 Used to answer queries

 Very expensive and requires a server

(34)

Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

 Capturing context

• Context aware middleware

(35)

Capturing context Capturing context

• How to find the context of a user ?

 Physical sensors

 Logical sensors

 Personal information

 Reasoning

(36)

Sensors Sensors

• Location

 GPS

 WIFI triangulation

 Ultra-wide band technology

 GSM fingerprinting

 Ultra sound beacons

• Light

 Automatic contrast adjustment

• Accelerometers

 Is the user running, walking, static…

• Body sensors

 Blood pressure, temperature

• Temperature

• …

(37)

GPS GPS

• How does it work?

 It is easy to find…

(38)

WiFi triangulation WiFi triangulation

• Distance between two node

 Get it from strength of the received signal

• Must know location of reference nodes

• Triangulation with d1, d2, d3 to get

actual location user

d1

d2 d3

Com. range

(39)

GSM location GSM location

• Using the location of the cell

 GSM always connected to an antenna

 Use the location of this antenna as the user location

• Not precise, but better than no

location

(40)

Finger printing Finger printing

• Fingerprint

 The network parameters at a given location

• Signal strength

• Noise level

• Store fingerprint at different location

 Create a database associating a fingerprint and a location

• To get user location

 Get the fingerprint at the current location

 Find in the DB the fingerprints that are most similar to this one

 Estimate location based on these

(41)

Finger printing Finger printing

• Advantages

 Accuracy

• Up to 5 meters

 Works on GSM, PDA…

• No additional location device needed

 Leverage existing network infrastructure

• Drawback

 If the network infrastructure changes the DB must be recreated

 Must create the DB

• Available for wireless networks

 GSM, WiFi

(42)

Other location technology Other location technology

• Ultra wide band

 New wireless communication technology

 Location via triangulation

 VERY accurate: 5 cm

 Indoor environments

• Ultra sound beacons

 Distribute ultra sound emitter in the environment

 Location of beacon source is known

 Distance from beacon

• Signal strength

(43)

Personal Information Personal Information

• User profile / preferences

 Adapt content to user preferences

 Adapt behaviour of applications to user preferences

• Agenda

 What the user is doing

 Where he is

 With who he is

(44)

Reasoning Reasoning

• Put together all the previous information

 Find new information via rules

• Can be done with an ontology

 The information is structured according to the ontology

 A standard reasoning system is used

• Can be hard coded in the application

 Easier for simple cases

 Difficult to generalize if the application

must deal with new kinds of

(45)

Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

• Capturing context

 Context aware middleware

(46)

Putting it altogether Putting it altogether

Location sensor Agenda Profile

Context model Data

Applications

Reasoning

(47)

How to create an application How to create an application

• Define the service given to the user

• Choose a modelling technique

• Model users context

• Choose how context will be captured

• Program applications

(48)

Context aware middleware Context aware middleware

• Provide a set of services to ease application programming

 Context storage

 Context reasoning

 Interface with systems for context capture

 Network services

(49)

Distributed middleware Distributed middleware

• Middleware is at least deployed on a server

 Non distributed solution

• Can be deployed on all the hosts

 Peer to peer setting

• Mixed situations

 One or several global servers

 Peers that interact each other

(50)

Why do we need distribution?

Why do we need distribution?

• The user is mobile and wants to receive a service on his personal device

• Services may be provided by remote servers

 Remote service access

• The user can also interact with close people

 Peer to peer

• Context can be stored on user devices

 Applications run on a server need the user context

 Protect user privacy

(51)

Applications needing Applications needing

distribution distribution

• Accessing to remote content/service

• Leveraging surrounding resources

 Move application display from the PDA to a close wall display

• Contacting a user on the field

 Message notification

 Setting up an appointment

• Discovering devices in the user neighbourhood

 "I want to print this on the closest

printer"

(52)

Examples of middleware Examples of middleware

Dey 2001 (Context toolkit)

(53)

Examples of middleware Examples of middleware

Gu 2004 (SOCAM)

(54)

Examples of middleware Examples of middleware

Rocha 2006 (MoCA)

(55)

Examples Examples

of middleware of middleware

Preuveneers 2007

(56)

Examples of middleware Examples of middleware

Floch 2006 (MADAM)

Geihs 2006

(57)

Work for the next sections Work for the next sections

• Subject: Context models

 Group A: Object-oriented models

 Group B: Ontology models

 Sources: bibliography + Scholar Google

 15min presentation + discussion

• Subject: Context acquisition

 Group A

 Group B

 Sources: Google

 15min presentation + discussion

(58)

Work for the next sections Work for the next sections

• Subject: Middleware

 Group A: CODAMOS (suggestion)

 Group B: SOCAM (suggestion)

 Sources: bibliography + Google

 30min presentation + discussion

• Subject: Design project

 Group A

 Group B

 Detailed design project

 Chosen application + design details

 Choices must be justified!

 30min presentation + discussion

Figure

Updating...

References

Related subjects :