300 likes | 490 Views
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
E N D
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 • Inference mechanism concept • Bayesian reasoning for higher level contexts • Application programming interface • Adding context • Requests and responses • Subscriptions and indications • Example application • Discussion
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
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
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
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
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.
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
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.
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
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
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
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
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 syntax
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
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
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
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
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
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
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 laptop
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
Application programming interface • Context manager API • Implemented on the Symbian platform
Adding context • Processing and collecting the context properties by resource servers • Method for adding context: ContextAdd( ContextObject )
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 (→) • ContextRequest( Environment:Light:Intensity ) • →Bright • ContextRequest( 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 • ContextChangeSubscribe(Device:Activity:Placement) • →AtHand • ContextChangeSubscribe( • Environment:Temperature:Absolute ) • →21 • ContextStartSubscribe( Location:Facility, MovieTheatre) • →MovieTheatre • ContextChangeSubscribe( • 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
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 • μ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