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

58  Download (0)

Full text


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


Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

• Capturing context

• Context aware middleware


Structure of the course Structure of the course

• Format

 1


session: content overview

 2


and 3


sessions: Presentation by students on selected topics

 4


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


Structure of the course Structure of the course

• Selected topics for the presentations

 Context models (2



• Ontology X Object-Oriented models

 Context detection (2



• Technologies for context detection (location, presence…)

 Context middleware (3



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

• Format

 2 groups

 Presentation rounds

 Discussions


Structure of the course Structure of the course

• Evaluation

 25% oral presentations

 25% participation in the courses

 50% design project

• Site




Outline Outline

 Context-Aware applications

• Defining context

• Modelling context

• Capturing context

• Context aware middleware


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”


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


Context-aware applications Context-aware applications


Cheverest 2002 Presenting


related to the

current user’s



Context-aware applications Context-aware applications


Electronic post-its associated

to a given location


Context-aware applications Context-aware applications

Context-aware messaging Health application

Muñoz 2004


Context-aware applications Context-aware applications

AwareMedia and AwarePhone

Bardram 2006 Location tag

Colleagues list,

their location and status


Outline Outline

• Context-Aware applications

 Defining context

• Modelling context

• Capturing context

• Context aware middleware


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


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


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

• …


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-



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”


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


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


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


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


Device & other concepts Device & other concepts

• Device

 Memory

 Battery

 Screen size, resolution, orientation

 Audio & video capabilities

• Network

 Bandwidth

• User's task

• ...


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



Outline Outline

• Context-Aware applications

• Defining context

 Modelling context

• Capturing context

• Context aware middleware


Context model Context model

• How to represent context?

• Modelling approaches

 Key/Value pairs

 Object oriented

 Ontology

• Other approaches

 Conceptual graphs


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


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


Example Example

Kirsch Pinheiro 2004


Example Example

Bardram 2005 (JCAF model )


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


Car Bus

isA isA


has has




Example Example

Preuveneers 2004


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


Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

 Capturing context

• Context aware middleware


Capturing context Capturing context

• How to find the context of a user ?

 Physical sensors

 Logical sensors

 Personal information

 Reasoning


Sensors Sensors

• Location


 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

• …



• How does it work?

 It is easy to find…


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


d2 d3

Com. range


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



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


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


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


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


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


Outline Outline

• Context-Aware applications

• Defining context

• Modelling context

• Capturing context

 Context aware middleware


Putting it altogether Putting it altogether

Location sensor Agenda Profile

Context model Data




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


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


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


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


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



Examples of middleware Examples of middleware

Dey 2001 (Context toolkit)


Examples of middleware Examples of middleware

Gu 2004 (SOCAM)


Examples of middleware Examples of middleware

Rocha 2006 (MoCA)


Examples Examples

of middleware of middleware

Preuveneers 2007


Examples of middleware Examples of middleware

Floch 2006 (MADAM)

Geihs 2006


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


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




Related subjects :