A Context Based Storage System for Mobile Computing Applications

Similar documents
ENABLING CONTEXT-AWARE SERVICES FOR MOBILE USERS

Context-Aware Middleware for Mobile Multimedia Applications

Contextion: A Framework for Developing Context-Aware Mobile Applications

USING SPATIAL CONDITIONS FOR PROACTIVE COMPUTING AND INTERACTION METAPHORS

Requesting Services by Touching Objects in the Environment

Context Aware Computing

Policy-Based Context-Management for Mobile Solutions

Einführung in die Erweiterte Realität

Partially Decentralised Context Management for P2P Communities

Preserving Rich User Interface State in Web Applications across Various Platforms

Context-Awareness and Adaptation in Distributed Event-Based Systems

CAPNET Program Context-aware Pervasive Networking Mobile Forum s Research Focus Area

Involving tourism domain experts in the development of context-aware mobile services

A Survey of Context-Aware Mobile Computing Research

Ubicomp and Physical Interaction

Authoring Adaptive Multimedia Services

VMer Visualized Mobile Designer for Applications on Small Devices

Development of web applications using Google Technology

Connecting Sensor Networks with TCP/IP Network

Supporting Mobility using Context-Based Reasoning

A Framework for Mobile, Context-Aware Applications

Technical Report GIT-GVU The Context Toolkit: Aiding the Development of Context-Enabled Applications

Applying MUPE Context Producers in Developing Location and Context Aware Applications

IMPROVING MULTIPLE MOBILE APPLICATION INTERACTION WITH UNIFIED SESSION MANAGEMENT

Model Driven Development of Context Aware Software Systems

Computer-based systems will be increasingly embedded in many of

Contextual Intelligence for Mobile Services through Semantic Web Technology

A Middleware for Context-Aware Agents in Ubiquitous Computing Environments *

A RESOURCE AWARE SOFTWARE ARCHITECTURE FEATURING DEVICE SYNCHRONIZATION AND FAULT TOLERANCE

PRODUCT DESCRIPTION. Version 0.01 (Alpha) By F. Scott Deaver Chief Technical Officer/Founder/Inventor February 27, 2017

This is the published version of a paper presented at Workshop on Innovative Mobile Applications of Context (IMAC) at MobileHCI 2006, Espoo, Finland.

Spontaneous Interaction using Mobile Phones and Short Text Messages

Empowering the User to Build Smart Home Applications

From Mobility Management to Connectivity Management

Dependable Pervasive Computing. Roy H. Campbell Systems Research Group University of Illinois at Urbana- Champaign

Context-aware Semantic Middleware Solutions for Pervasive Applications

A Platform Independent Image and Video Engine

Web Services For Translation

ESPRIT Project No Work packages D,E,F. Technical Summary

Context as Foundation for a Semantic Desktop

Implementing Adaptive Mobile Notification Services: A Model Based Approach

Authoring and Maintaining of Educational Applications on the Web

Threads Chapter 5 1 Chapter 5

A Location Model for Ambient Intelligence

Chapter 2 Operating-System Structures

Week 3: Context-Aware Computing

ESPRIT Project N Work Package H User Access. Survey

The Value of Handhelds in Smart Environments

TITLE CLOUD BASED VIDEO ANIMATION RENDERING MANAGEMENT SYSTEM INVENTOR: Thomas Ryan Mikota, of Orem Utah

On the Design Framework of Context Aware Embedded System

Interactive Distance Learning based on SIP

Distributed Implementation of a Self-Organizing. Appliance Middleware

A Policy Description Language for Context-based Access Control and Adaptation in Ubiquitous Environment

An Architecture to Enable Remote Context Reasoning

In the recent past, the World Wide Web has been witnessing an. explosive growth. All the leading web search engines, namely, Google,

CybreMinder: A Context-Aware System for Supporting Reminders

Level 3 Computing Year 2 Lecturer: Phil Smith

model (ontology) and every DRS and CMS server has a well-known address (IP and port).

GENERATING HIGH LEVEL CONTEXT FROM SENSOR DATA FOR MOBILE APPLICATIONS

THE FACT-SHEET: A NEW LOOK FOR SLEUTH S SEARCH ENGINE. Colleen DeJong CS851--Information Retrieval December 13, 1996

Description of CORE Implementation in Java

A Middleware for Context-Aware Agents in Ubiquitous Computing Environments 1

Touch & Control: Interacting with Services by Touching RFID Tags

A Ubiquitous Web Services Framework for Interoperability in Pervasive Environments

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data

Context-Aware Leasing for Mobile Ad hoc Networks

Construction and Analysis of a Semantic Grid Service for Large-scale Environment

Logi Ad Hoc Reporting Management Console Usage Guide

A Context-Based Infrastructure for Smart Environments

Applying MUPE Context Producers in developing Location and Context Aware Applications

THE POSIT TOOLSET WITH GRAPHICAL USER INTERFACE

3C05 - Advanced Software Engineering Thursday, April 29, 2004

An Infrastructure to Provide Context-Aware Information and Services to Mobile Users

This document contains information that will help manage various aspects of your online presence through one intuitive interface.

User-Centred Evaluation Criteria for a Mixed Reality Authoring Application

What is orbac? ability to group several authorizations in to profiles to easily add/remove a set of authorizations to an employee

Article information: Users who downloaded this Article also downloaded: *

Dynamic Federation of Partitioned Applications in Ubiquitous Computing Environments

Real Application Security Administration

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

(Refer Slide Time: 01:40)

Implicit Human Computer Interaction Through Context

Primary-Context Model and Ontology: A Combined Approach for Pervasive Transportation Services

Middleware Based User Interface Migration: Implementation and Evaluation

Synchronization Agent Configuration Guide

A Context-Aware Smart Tourist Guide Application for an Old Palace *

CONTENT MODEL FOR MOBILE ADAPTATION OF MULTIMEDIA INFORMATION

This Document is licensed to

di.me: Ontologies for a Pervasive Information System

A Top-Down Visual Approach to GUI development

Aspect-Oriented Reconfigurable Middleware for Pervasive Systems

CONTEXT-SENSITIVE VISUAL RESOURCE BROWSER

Design Proposal for Hive Metastore Plugin

NOMAD Integrated Networks for Seamless and Transparent Service Discovery

A BAYESIAN APPROACH FOR DEALING WITH UNCERTAIN CONTEXTS

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

CASCOM. Context-Aware Business Application Service Co-ordination ordination in Mobile Computing Environments

(9A05803) WEB SERVICES (ELECTIVE - III)

R. R. Badre Associate Professor Department of Computer Engineering MIT Academy of Engineering, Pune, Maharashtra, India

Integrating Handhelds into Environments of Cooperating Smart Everyday Objects

Transcription:

A Context Based Storage System for Mobile Computing Applications Sharat Khungar Jukka Riekki {firstname.lastname}@ee.oulu.fi Department of Electrical and Information Engineering and Infotech Oulu P.O.BOX 4500, 90014 University of Oulu, Finland In this paper, we describe a novel context based storage system that use context to manage user data and make it available to him based on his situation. First, we examine several existing systems that use context with documents. Subsequently, a new storage system is presented that uses context to aid in the capture of and access to documents in mobile environment. We describe file browser and calendar applications that we have developed within our mobile computing infrastructure utilizing the features of context based storage. Novel features of our system include the access rights mechanism for data and support for group activity. I. Introduction Context awareness, or more specifically how to create applications that are context-aware, is a central issue to mobile computing research. Context-aware systems are computing systems that provide relevant services and information to users based on their situational conditions [1]. Improved hardware and networking are clearly central in the development of a context-aware system, but, in order for computing to be invisible to the user while supporting more and more applications, the data required for these applications must be reliably and efficiently stored, queried and delivered. To address these issues, we have developed a Context Based Storage (CBS) system as part of CAPNET [2], a middleware architecture that supports building context-aware applications for mobile users. CBS facilitates applications to tag contextual information such as user s activity, location, and time to the documents. The application can use automatic tagging of context or explicitly provide context linked to the specific documents. CBS uses context to replace many of the tasks that are traditionally performed manually or require additional programming effort. Context is used to constrain the amount of information presented to the user, organize data to simplify locating the data important for users, and retrieve data based on the context of user preference. By using the context, the system provides greater flexibility in storing documents. It then allows applications to retrieve documents by using the context related directly to the document or context related to the user that is then linked to the document with time. The design and implementation of the storage system presented in this paper contributes to the research of mobile computing by integrating contextual information into the data storage and distributing this information so that it can be accessed on a mobile device, wherever and whenever needed. The rest of the paper is organized as follows. In section 2 we list related work. In section 3 we describe the CBS and its implementation. Section 4 describes the applications we have implemented on top of our storage system. Section 5 ends the paper with some concluding remarks. II. Related Work The Forget-me-Not [3] is designed for use in ubiquitous environment. It logs the context of the user over time so that it can later be used to find information. This system is not directly tied to document storage, but it does allow context to be used to find previously accessed files that are stored elsewhere. ParcTab [4] allows access to files that were linked to a particular location. As users moved between different locations, the file browser would change to display relevant data. While they only considered location in their file system, this work was important in establishing the relevance of context in data access. The Stick-e document framework [5] describes information in SGML format that includes data and context information. When a specified context matches an available stored document, a trigger makes data available. However, our approach is different in that we do 64 Mobile Computing and Communications Review, Volume 9, Number 1

not use proactive retrieval [6] based on contextual changes in our system, but rather use interactive retrieval to allow the user to choose what action to take. Gaia CFS [7] bears close resemblance to our system but the focus in Gaia is to simplify locating data important for automatically launched applications. They have put more emphasis on the data adaptation on the device and organizing data in directories and a file system. In our system, special emphasis is given to group activity and access rights of data. III. Context-Based Storage The above systems use context about the user, context linked to specific documents and time to provide different ways to store and retrieve documents in the mobile environment. None of the above systems, however, support all three forms of context with group activity of the users and access rights of data. We have created a Context Based Storage (CBS) that combines these systems into one coherent system and provides its own additional novel features. The structure of CBS is defined to store all types of data related to a user that is available and accessible everywhere using devices capable to retrieve and use the information. A network of CBS acts as a ubiquitous hard disk. Any number of CBS can be linked together; synchronization is internal between them, which make the network transparent to the user. This network stores user data remotely, synchronizes data updated in a device with the data in the CBS and accepts requests of files to be stored locally in the devices. CBS consists of a logical context data model and a physical data storage space. The logical context data model is a way of representing entities such as people, places, and things. The context information itself is represented using four concepts: entities, attributes, relationships, and groups. Entities are simply people, places, and things. Entities represent the base level of context, on top of which more sophisticated representations can be built. Each entity also has access control associated with it, limiting which applications and which people can access its data. Attributes describe some property of an entity. For example, people, places, and things all have names. Relationships are special kinds of attributes that point to other entities. For example, a person could currently be in a specific place, and this place could contain several things. Groups are a way of grouping existing entities, and represent one way in which more sophisticated representations of context can be modelled. For example, an action can be modelled as the person performing the action, the place in which the action happens, and the things used. A work group can be modelled as a collection of the people in that group. The physical data storage manages how and where the document attached to context data is actually stored. The physical data storage distributes the data so that copies of the context data can exist in multiple places. For example, a person s private context information might reside in his Pocket PC and in his computer at home, while his context information at work might reside in an office computer. This approach makes it easier to scale the system up for large numbers of entities and across wide areas. It also increases robustness to failure by improving the availability of context information. Furthermore, it is more efficient to put the context data close to where it is generated and where it is likely to be used. The structure of the data storage comprises (in a logical view) parameters, files, directories, types, users and groups, and has the following features: (i) Two kinds of data: parameters (for context attributes) and files, (ii) Parameters and files are owned by users, (iii) Users can be grouped in Groups, (iv) Groups can have parameters, and (v) The set of parameters and files owned by the user can be organized into directories and on the basis of their types. The basic structure of the database is shown in Figure 1. Figure 1: Entity Relationship diagram for CBS Parameter is a single piece of information related to user, which is used to store context information with a timestamp. The timestamp allows the existence of history. The files and Mobile Computing and Communications Review, Volume 9, Number 1 65

parameters have attributes that specify the owner and rights of access. Files have other attributes that specify the current state (e.g. online, deleted), time of creation and time of last modification. The same user or group of users can have a parameter with multiple timestamp. The files and parameters owned by users are organized in two basic models: directory and type. Directory represents a logical path to the data. The system creates a directory /user/type for each user under which their tagged data is stored. Type is defined as the data attribute that represents a categorization based on the information of that data. This attribute is automatic: file extension in case of files and context type in case of parameters. Documents are retrieved with a query that can contain the document attributes, information about time as well as context history. For example, retrieve all files for location == TS387 && activity == meeting && time == 9:30-10:30. While the above example illustrates that queries support AND Boolean operations, OR queries are supported by attaching different contexts to the same document. The access rights mechanism for the user s data deals with the rights to read or write to CBS user files or parameters. It works similarly to Unix, with three kinds of access zones: owner, groups and others. Each piece of information is owned by a single user who can belong to several groups (each one with independent access rights). IV. Prototype The CAPNET (Context-Aware and Pervasive Networks) program focuses on context-aware mobile technologies for mobile computing. At the highest level, the CAPNET architecture is decomposed into CAPNET Engines. Each device that belongs to the CAPNET universe contains an engine. An engine may be in a powerful server without any user interface or in a mobile device with many application user interfaces (UIs). As CAPNET is a component-based software architecture, the basic building blocks of the engines are component instances, each specialized in producing the functionality of a certain domain area, such as service discovery, user interface, context recognition, media processing, connectivity management, component management, context based storage, or any service added to the system by developers. The CAPNET universe is a distributed environment, which means that the engines can use component instances running on the local device as well as remote instances running in engines somewhere in the CAPNET universe to provide the required functionality for the applications. An application is composed of application logic and components producing the required functionality. More details about the CAPNET program can be found in [2]. We have implemented a set of applications on top of the CBS as part of the CAPNET system; here we describe two applications in detail, i.e. file browser (FB) and calendar. FB is a graphical data explorer used to manipulate documents with functions to open, read, write, close, delete and rename. A query interface in FB supports the ability to retrieve documents from the CBS using the user s current context. The FB operates in two modes: normal mode and context-aware mode. By selecting the context-aware option (Figure 2), the user s documents related to his present context are retrieved from storage and if a query is performed without context-aware option then all the documents accessible to the user are shown. The user can retrieve documents from storage using attributes linked to documents, context history and time also. Unique email-like identifiers identify users, and an identity is associated with a user when he logs into the system. The user can also change the access rights of his documents using FB; he can either grant or revoke the access rights of his documents to other users of the same group. Figure 2: View from the File Browser application The activity of the user for a certain duration of time (e.g. meeting) is set via the calendar application (Figure 3). A document can be attached to this activity and stored in the database, which can be later retrieved by the user when the same activity occurs. The user can also 66 Mobile Computing and Communications Review, Volume 9, Number 1

access all his documents stored in the database by selecting the activities to which they are attached. A novel feature of our calendar application is the association of data generated during a special activity (e.g. notes, figures etc) with the activity in the calendar using the context information. Users are then able to review this data by selecting a past entry in the calendar, which would show only the data relevant to the activity. The user context is based on location, calendar and device profile information. Calendar activity, context information and routine learning algorithms are stored in the CBS. In both applications, the user can also choose where he wants to store his document: in the device memory or in the CBS. This way the user can still access some of his documents from device memory, when there is no connection between the application and the CBS. The context-aware instant messaging system [8] developed on the existing CAPNET architecture utilises mainly the group activity and access rights mechanism of the CBS. Figure 3: View from the Calendar application This prototype supporting different applications has been tested by researchers, and a mobile device was used (Compaq ipaq PDA) during the experiments. All mobile device components are implemented according to the Personal Java 1.2a specification. Devices are located with the Ekahau positioning engine that utilizes WLAN signal strengths measured in the devices. The CBS utilizes the MySQL database, which is running on a Sun Solaris server. The university s premises covered by WLAN are used as the test environment. The graphical user interfaces are described as extended XUL scripts that are rendered as AWT components in the PDA. All inter-device communications utilize XML-RPC; the open-source Marquee XML-RPC library is used. V. Conclusion and Future Work Our main goals while developing the CBS were to investigate how context information could be integrated with a data management system, what types of context information would be most suitable to support useful functions in contextaware applications and to provide an architecture for organising data in a mobile environment. We have presented a contextual storage system and two applications built on it that use context to constrain the amount of information presented to the user. Our system supports group activity and gives the user access control on his data. The implementation and further experience with the system has helped us to better understand how data management systems must be changed to accommodate the unique characteristics of mobile computing. As we build more context-aware applications, we will be able to determine what types of different applications are best supported in mobile environment. After the usability tests, we are improving the system based on the evaluation, such as system performance and user s satisfaction. Future work will also involve the development of automatically launched applications based on proactive retrieval. References [1] Salber, D., Dey, A., Abowd, G.: The Context Toolkit: Aiding the development of context enabled applications. Proc CHI 99 Conference on Human Factors in Computer Systems, Pittsburgh, PA, 1999, pp. 434-441. [2] Sauvola, J.: Capnet Project. http://www.mediateam.oulu.fi/projects/capnet/ [3] Lamming, M., and Flynn M., Forget-me-not: Intimate Computing in Support of Human Memory. Proc FRIEND21 94, International Symposium on Next Generation Human Interface, RANK XEROX, February 1994. pp 125-128. [4] Schilit, BN., Adams, N., Want, R.: Contextaware computing applications. Proc. IEEE Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, 1994, pp. 85-90. [5] Brown, PJ.: The Stick-e document: a framework for creating context-aware Mobile Computing and Communications Review, Volume 9, Number 1 67

applications. Proc Electronic Publishing 1996, pp. 259-272. [6] Jones, GJF., Brown, PJ.: Context-aware retrieval for pervasive computing environments. Proc First International Conference on Pervasive Computing, Zurich, Switzerland, August 2002, pp. 10-27. [7] Hess, CK., Campbell, RH.: An application of a context-aware file system. Pervasive Ubiquitous Computing, Vol. 7, No.6, 2003, pp. 339-352. [8] Perttunen, M., Riekki, J.: Inferring Presence in a Context-Aware Instant Messaging System. 2004 IFIP International Conference on Intelligence in Communication Systems (INTELLCOMM 04), Bangkok, Thailand, November 2004. 68 Mobile Computing and Communications Review, Volume 9, Number 1