Applying MUPE Context Producers in developing Location and Context Aware Applications

Similar documents
Applying MUPE Context Producers in Developing Location and Context Aware Applications

Policy-Based Context-Management for Mobile Solutions

An Experimental Comparison of Physical Mobile Interaction Techniques: Touching, Pointing and Scanning

Context software. A prototype platform for contextual mobile applications. Mika Raento

Personal Trusted Device in Personal Communications

GENERATING HIGH LEVEL CONTEXT FROM SENSOR DATA FOR MOBILE APPLICATIONS

APPLYING WIRELESS COMMUNICATION TECHNOLOGY TO FITNESS DEVICES

Internet of Things: Services and Applications Categorization

SERVICE DISCOVERY IN MOBILE PEER-TO-PEER ENVIRONMENT

1 Introduction. 2 National Data Exchange Layer

Context-Aware Systems. Michael Maynord Feb. 24, 2014

RFID in Internet of things: from the static to the real-time

Profiles and Context Awareness for Mobile Users a Middleware Approach supporting Personal Security.

Enrichment of Sensor Descriptions and Measurements Using Semantic Technologies. Student: Alexandra Moraru Mentor: Prof. Dr.

A Context Based Storage System for Mobile Computing Applications

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network

Practical Aspects of CTI WSN Testbed

Types and Methods of Content Adaptation. Anna-Kaisa Pietiläinen

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK. Sub.Code/ Name : IT1452 FUNDAMENTALS OF PERVASIVE COMPUTING

Fundamentals of. Mobile Computing. Second Edition. Prasant Kumar Pattnaik Rajib Mall

An IoT-Aware Architecture for Smart

12/15/2009 Computer Engineering Department

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

Lesson 3 SOAP message structure

Using RFID and bluetooth for localised interaction with wireless embedded internet devices

smap a Simple Measurement and Actuation Profile for Physical Information

A Data Collecting and Caching Mechanism for Gateway Middleware in the Web of Things

On Accessing GSM-enabled Mobile Sensors

Middleware example EPC Global Infrastructure Vertical approach EPC middleware EPC middleware DNS ONS Exchange Identification Capture ONS SOAP/HP SOAP

5PRESENTING AND DISSEMINATING

I-Mode Performance Monitoring Use of ROOT in telecommunications at KPN

Communication in ad hoc networks Or: CORBA considered harmful

Wireless Digital Compass

Overview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory

Connecting to the future ELATEC RFID SYSTEMS

Data Querying, Extraction and Integration II: Applications. Recuperación de Información 2007 Lecture 5.

A Survey of Context-Aware Mobile Computing Research

Sens-ation. Final Presentation Architecture, Components

SmartSantander. Dr srđan KrČo

Open challenges in ubiquitous and net-centric computing middleware

Integration of distributed data sources for mobile services

Context-Aware Actors. Outline

Exploration of Fault Diagnosis Technology for Air Compressor Based on Internet of Things

Principles of Computer Game Design and Implementation. Lecture 3

Introduction. WWW history. Application concepts, WWW and HTTP Perspectives on (mobile) communications. Fredrik Alstorp Torbjörn Söderberg

Approaching the design of interoperable smart environment applications

SensorPlanet: a global test platform for mobile- centric wireless sensor network research

Android Essentials with Java

Connecting Distributed Geoservices: Interoperability research at ITC

Przemek Woznowski, Cardiff University Supervised by Prof. Alun Preece

Common Architectural Styles & Patterns

PERLA PERvasive LAnguage

Part I: Introduction to Wireless Sensor Networks. Xenofon Fafoutis

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Wireless# Guide to Wireless Communications. Objectives

Autonomic Applications for Pervasive Environments

D2.5 Data mediation. Project: ROADIDEA

MOBILE COMPUTING (Common to Computer Science & Engineering and Information Technology)

MongoDB Web Architecture

Protocols SPL/ SPL

Requesting Services by Touching Objects in the Environment

Study of Smart Home System based on Zigbee Wireless Sensor System. Jie Huang 1

Einführung in die Erweiterte Realität

The Integration of the Capabilities of Wireless Sensor Networks in 3GPP IMS: Case Study and Potential Issues for Standardization

API Documentation. Web Application Development. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) API Documentation / 28

Minne menet, Mobiili-Java?

Information Retrieval System Based on Context-aware in Internet of Things. Ma Junhong 1, a *

G.A Collaborative Project of the 7 th Framework Programme. 1 st Prototype Description. v.1 [29/12/2010]

White Paper. EVERY THING CONNECTED How Web Object Technology Is Putting Every Physical Thing On The Web

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

di.me: Ontologies for a Pervasive Information System

Mobile e-health with HL7

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Wireless 0-1 ma Current Meter

Lesson 5 Web Service Interface Definition (Part II)

Introduction to the Semantic Web

Technologies for Solutions for Society. September, 2014 NEC Corporation

Enabling the Wireless Internet

EE 122: HyperText Transfer Protocol (HTTP)

A Study of Mountain Environment Monitoring Based Sensor Web in Wireless Sensor Networks

Masterarbeit: Adaptionsunterstützung für die CRUISe Laufzeitumgebung

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

NTC-30WV-03. Outdoor Industrial Router. December 2012

Mobile Middleware Course. Introduction and Overview Sasu Tarkoma

Smashing Node.JS: JavaScript Everywhere

Distributed Multitiered Application

APRS IP Mobile in a non-dynamic Wireless Environment APRS. Darryl SMITH, VK2TDS

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Developing corporate mobile applications. An alternative approach to native development

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

0 MPEG Systems Technologies- 27/10/2007. MPEG Systems and 3DGC Technologies Olivier Avaro Systems Chairman

The time is right for P2P and Project JXTA

Adapting Functionality for Mobile Terminals

Spontaneous Interaction using Mobile Phones and Short Text Messages

Wireless Security Background

IoT Mashups with the WoTKit

IEEE PROJECTS ON EMBEDDED SYSTEMS

Customising Niagara. Andrew Jackson. Technical Director

Unit 4. Middleware For Pervasive

ABSTRACT. The location sensing mobile system for electronic campus tours runs on a laptop

Transcription:

Applying MUPE Context Producers in developing Location and Context Aware Applications Kimmo Koskinen kimmo.m.koskinen@iki.fi Kari Heikkinen kari.heikkinen@lut.fi Jouni Ikonen jouni.ikonen@lut.fi Lappeenranta University of Technology, Finland May 23rd, 2006 ICEIS 2006 5th International Workshop on Wireless Information Systems

1. Introduction 2. Producing and mediating context with MUPE (Multi User Publishing Environment) 3. Context mediation usage example: Trix (Tribal Exhange) 4. MUPE analysis 5. Conclucions

Introduction Mobile terminals ideal for location and context-aware applications Communication and sensor interfaces (e.g Bluetooth, GPRS...) However, application development is demanding (from the point of view of context-awareness) Infrastructure Testing Simulating MUPE provides Context mediation: Server side context information provisioning and usage scheme Instead of direct ad-hoc solutions, provide a reusable scheme for context information and application logic

Research in the field of context-awareness Ubicomp and Pervasive conferences Context computing focuses both on identifying/collecting the context and using the collected context information 1. Modelling of context information, semantics and ontologies Bullet proof semantic modelling maybe a very ambiguous task Time and location the most used contexts There are very many other, possibly interesting context sources to be used in application logic! Our choise: the MUPE (Multi User Publishing Environment) framework 1 A.Ferscha, C.Holzmann and S.Oppl, Context Awareness for Group Interaction Support, Proceedings of MobiWac 2004

MUPE (Multi User Publishing Environment) overview Client: J2ME MIDP(2) client XML protocol to communicate with the server XML UI scripts, rapid to develop (no compile time) Server: Java application server Middleware components for dividing tasks: Client manager: Client connections Context manager: Context information receiving and processing World manager: Java application logic (the main thing in MUPE development) Stores and sends XML UI scripts to the Client Context scripts for creating events from context data

Producing and mediating context in MUPE Producing context information to applications can be complicated: many sources, many interfaces, many protocols... MUPE provides a pattern: context production A Context producer component is implemented for each context source This component wraps the context data into CEP (Context Exchange Protocol) format One Context producer can service any number of MUPE servers Basically a simple TCP/IP server MUPE can then use the context data in a uniform way

Context sources implemented (overview) Location contexts LIS (Location Information System, a cell -based WLAN positioning system) Ekahau Positioning Engine (a commercial WLAN positioning system) RFID tag reader Environmental context Finnish Meteorological Institute weather web service Physiological context Tunturi recumbent fitness bicycle (a bike where you sit while pedalling)

The big picture... MUPE client Context information sources Location Information System SOAP Context Producers LIS Location ContextProducer TCP/IP MUPE Middleware XML UI script messages MUPE Client Manager (HTTP or TCP/IP) Ekahau Positioning Engine Java RMI Ekahau Location ContextProducer MUPE Context Manager MUPE World manager ContextManager Fitness bicycle RFID TCP/IP TCP/IP Bicycle ContextProducer RFID ContextProducer CEP Atoms ID Map Context Storage Rule Engine +clientsetlislocation() +clientsetekahaulocation() +clientsetbicycle() +clientsetrfid() +clientsetweather() Weather (www.fmi.fi) HTTP Weather ContextProducer And explanation...

Location information with LIS (Location Information System) An implementation of a cell based location system Provides cell/description location information based on WLAN cells SOAP (Simple Object Access Protocol) interface for requesting location information and notifications for updates in location information (tracking) The context producer component followed specific WLAN devices and provided this information as CEP atoms for MUPE

Location Information with Ekahau Positioning Engine (EPE) Map/area/x,y location information Uses signal fingerprinting Signal strengths are recorded in the positioning area to make a positioning model After the positioning model is made, it is stored into EPE Client devices (e.g. laptops) run a measuring software which sends signal samples to EPE EPE then uses the signal samples to position the client with the model Provides a continuous stream of location estimates The Context producer registered to receive location estimates for given devices and provided the estimates as CEP atoms

Location information with RFID Access 7 RFID tag readers and passive tags The tag sightings are readable through are serial interface from the reader A dedicated C program was made to read tag sightings and deliver them to to the context producer through a TCP connection The context producer then provided the tag sighting information as CEP atoms to MUPE

Weather Information There are many weather services in the Internet (e.g. AccuWeather) The Finnish Meteorological Institute web service was used for the weather context producer Provides measurements (temperature, wind speed and direction, cloudiness...) once per hour Simple implementation for the context producer Periodically fetch the HTML page of the measurements, parse it and provide the data as CEP atoms

Physiological context information A tunturi recumbent fitness bicycle was used Provides heart-rate and pedalling speed (km/h) through a serial connection A dedicated C program was made to transfer the exercise information with TCP The context producer queried the exercise information with the TCP protocol and provided the exercide data as CEP atoms

Example context production with LIS An example of location information mediation from LIS to MUPE application

Example CEP Atom message <atom name= LISLocation timestamp= 2005-9-5 19:23:26,00 +1 source= http://gamesrv.wlpr.net:1234 userid= 00:08:02:F6:01:7F > <string name= timestamp >2005-9-5 19:15:35... </string> <string name location >LTY_6609 </string> <string name= description >...building, 6th floor </string> </atom>

Mapping context data id s to MUPE application id s <addusermap> <usermap> <contextproducername>lislocation </contextproducername> <contextproducerid>00:08:02:f6:01:7f </contextproducerid> <serverid>brian the great </serverid> </usermap> </addusermap>

Context Script example <?xml version= 1.0 encoding= ISO-8859-1?> <script id= lis xmlns= http://www.nokia.com/ns/cep/script/1.0/ xmlns:cep= http://www.nokia.com/ns/cep/1.0/ > <if> <atomchanged> <atomref userid= * name= LISLocation > </atomref> </atomchanged> <actions> <mupecall> <![CDATA[2::clientSetLocation {${userid}} {${LISLocation::location}}]]> </mupecall> </actions> </if> </script>

Context Mediation by Example: Trix (Tribal Exhange) An example of a context-aware mobile game Combines a virtual game world with the physical world (location and weather) Game logic: Goal: Protect the houses of the tribe from natural disasters Game world: Map with forest, water, rock and animals Objective: Tribes build protecting walls around the houses and receive a new house if all existing houses are safe (behind an intact wall) Interaction: Players can trade wall building blocks and items with other (team) players

Contexts in Trix Location Codes hidden in locations determined by LIS Players can search for codes in real world Codes give game items: wall building blocks or tools (e.g. dynamite to blow up rocks) Inputting code into the game uses the code Alternatively codes can be distributed in the real world with e.g. paper notes Weather Temperature, wind speed and humidity decrease the strength of the walls Ice wall melts, straw wall is blown away by wind, humidity makes wood wall soft

MUPE analysis 2 Context usage is application-oriented, dynamical changes in context data have to be implemented by the application developer Up to the developer to handle contextual state inferring. MUPE is targeted toward mobile games, may not be enough for real applications Making Java method calls from context scripts is direct and fast. But the division of context specific logic may not be clear. 2 Partially based on Korpipää Ph.D Thesis: Blackboard-based software framework and tool for mobile device context awareness

MUPE analysis continued Slow response times as the appplications are client-server based (limited but a growing set of direct client-side functionality, such as persistent client side UI scripts, Bluetooth and GPS plugins) CEP protocol lacks security Context handling in compound structures may waste resources. Context recognition, customization and context-based application control not addressed Up to the application, provides mainly a platform to develop applications in which context plays a major role

Conclusions Context mediation in MUPE allows wide usage of contxt information but does not exhaustively consume resources in the client devices Context producers provide a uniform (and reusable) access to context data A blackboard -based context script engine, with reusable scripts Allows application developers to concentrate on context specific application logic Rapid development of context-aware applications