managing context information in mobile devices

30
Managing Context Information in Mobile Devices 2011. 3. 28. Panu Korpipää, Jani Mäntyjärvi,Juha Kela, Heikki Keränen, and Esko-Juhani Malm VTT Technical Research Centre of Finland 1

Upload: benjamin-gonzales

Post on 30-Dec-2015

48 views

Category:

Documents


0 download

DESCRIPTION

Managing Context Information in Mobile Devices. 2011. 3. 28. Panu Korpipää, Jani Mäntyjärvi,Juha Kela, Heikki Keränen, and Esko-Juhani Malm VTT Technical Research Centre of Finland. Outline. A context management framework Information sources Ontology for sensor-based context information - PowerPoint PPT Presentation

TRANSCRIPT

Managing Context Information in Mobile Devices

2011. 3. 28.

Panu Korpipää, Jani Mäntyjärvi,Juha Kela, Heikki Keränen, and Esko-Juhani Malm

VTT Technical Research Centre of Finland

1

Outline

• A context management framework– Information sources– Ontology for sensor-based context information– Inference mechanism concept

• Bayesian reasoning for higher level contexts

• Application programming interface– Adding context– Requests and responses– Subscriptions and indications– Example application

• Discussion

2

A context management framework

•Motivation– Mobile device users’ desire

• Access and manipulation of the users’ information• Services specific to their location, time, and environment

– Gathering context information from various sources• Sensors, networks, device status, user profiles, and other sources

– Enhancing mobile applications’ usability• Letting the applications adapt to the users’ conditions

•Problems to achieve true context awareness– Uncertain, rapidly changing, partially true data from multiple

heterogeneous sources– Extracting relevant context information by fusing data from

several sensors– Many factors such as noise, faulty connections, drift,

miscalibration, wear and tear, humidity to degrade data acquisition

3

A context management framework

•Problems to achieve true context awareness– Overlapping extracted contexts, changing contexts with time,

only partially reliable approximations

•Mobile devices’ dynamic environment– Learning from multidimensional data

• Impossible easy generalization beyond training data

– Occurrence of problems using even sufficiently reliable contexts

• Users with different ideas of “context”

•Proposed approach to address the challenges– A uniform mobile terminal software framework

• Providing systematic methods for acquiring and processing useful context information from a user’s surroundings

• Giving the context to applications

4

A context management framework

•Framework recognizing semantic contexts in real time– Dealing with uncertain, noisy, and rapidly changing

information– Delivering contexts for the terminal applications in an event-

based manner– Application programming interface (API) for using semantic

context information– Using an expandable context ontology to define contexts

•Framework properties– Blackboard-based approach underlying communication

paradigm between framework entities– Focusing on mobile terminal capabilities rather than

infrastructure– Framework for the Symbian platform to achieve true device

mobility, high performance, and a broad user base

5

A context management framework

•Four main functional entities of the context framework– Context manager– Resource server– Context recognition service– Application

•Context manager– A central server for providing services to other entities– Running on the mobile device itself

•Black board-based context manager– Central node storing context information from any source– Serving context to clients in three ways

• Direct querying the manager to gain context data• Subscription to various context change notification services• Using higher-level (composite) contexts transparently

6

A context management framework

•Resource server– Connecting to any context data source– Posting context information to the context manager’s blackboard– Delivering context to the clients according to their subscriptions

• Delivered data’s abstraction level → high enough• Delivered data’s frequency → low enough (not overwhelming)

– Performing low-level recognition before delivering the data• Low-level context recognition process flow in the resource server

• Measurement phase – Reading the sensors and output raw data

•The preprocessing phase builds measurement data arrays that contain a certain number of samples (quantization of time dimension) and calculates generic features for each time interval.

7

A context management framework

•Resource server– Performing low-level recognition before delivering the data

• Preprocessing phase – Building measurement data arrays that contain a certain

number of samples (quantization of time dimension)– Calculation of generic features for each time interval

• Feature extraction– Calculation of more specific context features

• Quantization phase – Binding the feature values to the real-world context which

has a meaning for a person or an application according to a predefined ontology

– Using fuzzy sets or crisp limits for quantizing extracted features

– Outputs context atoms (base context units) that applications can use or recognition services can refine

8

A context management framework

•Resource server– Two methods for quantization

• Set crisp limits in a true-false labeling with fuzzy membership functions denoted as μ(x)

• Quantizing environment sound intensity– Three quantities (Silent, Moderate, and Loud)

corresponding to the three membership functions• If one of these is true, the others are false.

9

A context management framework

•Resource server– Two methods for quantization

• Apply a fuzzy set for features, resulting in continuous valued fuzzy labeling

• μL(x) = 0.7 / Silent + 0.3 / Moderate + 0 / Loud

10

A context management framework

•Context recognition services– Sharing recognized higher-level contexts– Addition and removal of recognition services by developers or

processes– Using a set at a certain time instant or a time series of context

atoms as input– Returning single higher-level contexts for the context manager

•Summary of framework– Resource server and recognition service

• Converting an unstructured raw measurement data flow into a representation defined in the context ontology (human-interpretable context information) for the applications in an event-based manner

– Framework providing a semantic interface that enables more systematic and rapid application development

– Efficient reuse of context information compared to using raw measurement data

11

A context management framework

•Blocks for change detection and security– Not focusing on the functionalities– Any change detection services to detect context change– Security module for checking the trustworthiness of incoming

contexts

12

Information sources

•Acquiring context information from many possible sources– Using a microphone, three accelerometers, two channels for light,

and sensors for temperature, humidity, and touch– Sensor data provided the starting point

• Device processes that represent mobile devices’ internal information, such as applications currently running

• The Internet and other networked resources• Global Positioning System, among the most important sources of

location information• Internal device processes, which provide explicit information on

device application use and users’ scheduled tasks, preferences, and social networks

• Time information, used to associate certain events with others and form event sequences that might relate to a current higher-level context or predict a future event

– Providing continuous and ad hoc connectivity to local and remote data

• Supporting various wireless networks, such as GSM and GPRS, and short-range ad hoc networks, such as Bluetooth

13

Ontology for sensor-based context information

•A common structure for representing information– Managing the context information systematically– Design of an ontology for representing sensor-based context

information

•A schema for ontology – A client-usable, extendable vocabulary that presents the terms

for describing context information– Using the Resource Description Framework (www.w3c.org) as

the description syntax14

Ontology for sensor-based context information

•Description of each context using six properties– Containing at least Context type and Context value– Context type

• Referring to the context category• Primary parameter of all subscriptions and queries

– Context value • Referring to the semantic or absolute “value” of context type• Usually being used together with context type• Containing an absolute numerical value or feature describing

context in some cases

– Confidence• An optional property which describes the context’s

uncertainty• A probability or a fuzzy membership of context depending on

the source

– Source• Description of the context’s (semantic) source

15

Ontology for sensor-based context information

•Description of each context using six properties– Timestamp

• Denoting the latest time the context occurred

– Attributes • Specifying the context expression freely• Containing any additional details not included in the other

properties

•Higher-level context and context atoms links to a recognition service

– Containing the Input context type set for recognizing the higher-level context

•Three properties for describing recognition services:– Context type

• Using the category of the higher-level context as a normal context atom to request the recognition for the type

16

Ontology for sensor-based context information

•Three properties for describing recognition services:– Context recognition service

• Receiving input defined in Input context type set• Performing the classification, and returning the higher-level

context

– Input context type set• Subscription of the input context type set to be notified of the

changes• Inferring the higher level context upon change in input type

set

•Seven context values in higher-level contexts from a set of 47 audio-based context atoms

17

Ontology for sensor-based context information

•Management of uncertainty of sensor-based information– Confidence property

• Description of context uncertainty: a context derived from multiple sensory input only holds true with a certain probability

– Partly true context • Boundary between two contexts is not clear and discrete

18

Inference mechanism concept

•The conceptual blackboard-based system– Use of any inference framework for reasoning new contexts

or actions

•Context uncertainty described in the confidence property– Useful in such inference frameworks as probabilistic

networks, clustering, or case based reasoning

•Recognition services – Input : information from the common data space– Output : higher-level contexts from either a set of contexts

at a certain moment or a context history

19

Bayesian reasoning for higher level contexts

•Using a naïve Bayes classifier to recognize higher-level contexts

•Naïve Bayes classifier for online context inference and sensor fusion

– Robust method with missing, uncertain, and incomplete information

• Possible to use context data described by the ontology, a vector of context atom confidence values

• Treating fuzzy membership values as virtual evidence

– Computationally efficient• Training and inference both have a linear complexity in input

data size

– No requirement of background information for modeling • Exception for choosing the relevant network inputs

•Examples of contexts to be recognized by a naive Bayes classifier

20

Bayesian reasoning for higher level contexts

21

Bayesian reasoning for higher level contexts

•Higher-level context Outdoors from the context atoms

• Indoor/Outdoor Bayesian network – Classification of the current situation’s context atom confidence

values (vector)– Conditional probability indicating each input’s probability given

the output– Learning conditional probabilities from the training data

•Using naïve Bayesian networks to classify 9 contexts of a mobile device user in their normal daily activities

– Nine contexts measured from a continuous real-life scenario containing different activities such as driving a car, running, walking, using an elevator, listening to different kinds of music, and speaking

– The measurement system hardware • A small sensor box attached to the shoulder strap of a backpack

containing a laptop22

Bayesian reasoning for higher level contexts

•The classification results – Indication that naïve Bayes classifier can extract situations

fairly well– Valid only in a restricted scenario

•Experiments under controlled scenarios– Nine different contexts, and measured by four people– Car, Elevator, and Tapwater with nearly 100 percent accuracy– Supervised learning approach

• which defines the target classes and their inputs before training

23

Application programming interface

•Context manager API– Implemented on the Symbian platform

24

Adding context

•Processing and collecting the context properties by resource servers

•Method for adding context:

ContextAdd( ContextObject )

25

Requests and responses

•Request of context information from the context manager database

– Exposition of context ontology to application developer– Request context information by the context ontology tree

(sub branch)– Response containing all contexts under the sub branch– Denoting responses to requests with an arrow (→)

26

ContextRequest( Environment:Light:Intensity )→BrightContextRequest( Environment:Light )→{Bright, Natural, NotAvailable}ContextSetRequest( {Environment:Humidity,Device:Activity:Position}→{Dry, AntennaUp}ContextSetRecognitionRequest(Environment:Sound:Type )→Car

Subscriptions and indications

•Giving applications the required context information in an event-based manner

– Subscription to context change notifications

•Examples illustrate how applications use this service

27

ContextChangeSubscribe(Device:Activity:Placement)→AtHandContextChangeSubscribe(Environment:Temperature:Absolute )→ 21ContextStartSubscribe( Location:Facility, MovieTheatre)→MovieTheatreContextChangeSubscribe(Environment:Sound:Type )→Elevator

Example application

•Using the context ontology to demonstrate the use of sensor-based context information in mobile terminal applications

– Such as browsing and information presentation in the user interface

– Environment:Light:Intensity, Environment:Sound:Intensity, and User:Activity:PeriodicMovement

•Environment sound intensity– Control of the volume of operating tones

•User activity and ambient light level – Adaptation of font size, screen brightness, and service

content

•Context-based information representations of a bus timetable service

28

Example application

•Using fuzzy rules to help guide the application adaptation

•Fuzzy rule definition for adapting font size– Using the logical operation AND

• Intersection between two fuzzy sets• Environment:Light:Intensity and

User:Activity:PeriodicMovement:

– Using the logical operations OR and NOT

29

μFONTSIZE (x) =min(μUSER:ACTIVITY:PERIODICMOVEMENT(x),μENVIRONMENT:LIGHT:INTENSITY (x)).

Discussion

•Framework and context ontology – Providing a semantic application programming interface for

handling imprecise information from multiple sources– Many remaining obstacles to the rapid use of many contexts

derived from sensor data– Need for more sensors and a large data collection to gain

enough information

•Several advantages of high-level context– Event based communication of high-abstraction-level data– Communicating low-level data up to a client continuously

• Consumption of more processing power and the limited battery resources.

– Optimal use of the context manager storage

30