Date post: | 13-Jan-2015 |
Category: |
Technology |
Upload: | damarcant |
View: | 102 times |
Download: | 1 times |
MOBILE CONTEXT DATA MANAGEMENT FRAMEWORK
The 5th FTRA International Conference on Multimedia and Ubiquitous Engineering (MUE 2011)
David Martin, Carlos Lamsfus, Aurkene Alzua Cooperative Research Centre in Tourism – CICtourGUNE (Spain)
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
1. Introduction
• People on the move are active technology users.
– Worldwide mobile phone sales to end users totalled 1.211 billion units in 2009 (Gartner).
• Mobile devices have become a new way to access information and consume services on the Internet everywhere.
• There is a new challenge in this scenario
– How could we provide the correct information to people on the move at any time and place?
1. Introduction
Location
Temperature
User Profile
Moving Mode
Social Context
...
Device
¡¡Context Data!!
1. Introduction
– The development of applications that use context data is not trivial
– Sources of context information have to be identified
– Data has to be gathered from such sources
– Data has to be unified and managed (process, infer new data, store)
– Data has to be served to the applications
– All these complex tasks require new types of software architectures and tools to easily design, develop and test applications by developers.
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
2. Architecture overview
Context Data Manager
Streams{A, B}
Context Provider
Context Data
Source
Mobile Gateway
Context Data
Wrapper
Context Data
Wrapper
Context Data
Wrapper
Context Provider
Context Data
Source
Context Provider
Context Data Manager
Streams{B, C}
Stream C Stream A Stream B
Application
Management
Providers
Sources
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper Visual
Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper Visual
Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Context Provider
– Each provider can send data about one specific context entity type and more than one provider can send data about the same context entity type.
• Proactive: it periodically gets data from the context data source.
• Reactive: it waits until an external event occurs.
– Mobile Context Provider
– Proactive and Reactive
– Built-in Providers • Location: latitude, longitude, altitude.
• Moving mode: none, walking, transportation.
• Social data: other Bluetooth devices near the user.
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper Visual
Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Context Data Wrapper
– It encapsulates raw data in the form of key/value pairs.
– It also encapsulates other provider configuration properties.
– Context entity type
– Provider ID
– ...
3. Detailed description of the framework
Provider Mobile Device
Context Manager Stream {gps, pulsometer, weather}
Provider Pulsometer
Provider Yahoo Weather
Entity Type: Person Entity Type: Person Entity Type: City
(Id, Loutraki)
(Temperature, 5)
Stream: “weather”
(Id, David)
(Latitude , 5)
(Longitude, 3)
Stream: “gps”
(Id, David)
(Heart rate, 73)
Stream: “pulsometer”
Wrapper
Wrapper
Wrapper
User A
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper Visual
Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Providers ´ Registry
– It manages the life cycle of all the registered providers.
• A communication protocol is used in order to register/unregister a provider.
• It periodically sends messages to the registered providers in order to get a status message from them.
– When the developer unregisters a provider, cancels a stream subscription or the provider is no more longer alive, it automatically deletes all the context data it was providing from the manager.
3. Detailed description of the framework
– Providers´Registry visual tools
– It has a visual Control Panel in order to subscribe/unsubscribe to a specific context data stream.
– It automatically creates a window per provider showing all of the received data in real time (debugging tool).
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper
Visual Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper
Visual Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Context Data Mapper
– It transforms key/value pairs into Java Bean objects type instances that represent different context entities (Person).
• Automatic Mapper
– It automatically transforms key/value pairs into context entity instances.
• Programmatic Mapper
– The developer implements transformations programmatically.
– It allows more complex data transformations, data base access,...
3. Detailed description of the framework
– Automatic Mapper
– Java Bean classes that represent context entities have to be marked using annotations provided by the framework.
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper
Visual Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Context Data Aggregator – Data is unified using the specified id.
– It also updates the Context Knowledge Base with up to date data.
– It stores past context in the Context History database.
3. Detailed description of the framework
Context Data Manager
Context History
Data Base Context Knowledge Base
Rule Engine Query Engine
Providers´ Registry
Context Data Aggregator
Context Data Mapper Factory
Programmatic Mapper
Automatic Mapper
Context Data Mapper
Visual Control Panel
Context Providers´ Layer
Context Entity (Java Bean)
Provider
Status
Context Data
Wrapper
Registration/ Unregistration
Context Data
Wrapper
Applications
3. Detailed description of the framework
– Context Knowledge Base
– It contains all the context entity instances, which are stored in memory.
• Rule Engine: the developer can provide rules in order to infer high level context from gathered raw data.
• Query Engine: data from the Knowledge Base can be queried using an object oriented query language.
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
4. Validation of the framework
– Mobile tourism service
– It is a push service that sends personalized notifications to mobile devices according to the visitors’ context on a defined area.
Mobile Client Server Side Notification Manager
User Profile Social Context
Location Moving Mode
Time Date
Temperature Other
4. Validation of the framework
• Transportation Information Scenario
– Tourism entity: bus company.
– Context parameters: location and moving mode (none).
If a visitor is waiting for the bus, the system pushes a notification with an estimation of the remaining time for the bus to arrive.
Bus arrival estimation time
Location = Bus stop Moving mode = “none”
Bus Company
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
5. Benefits of the framework
– The framework provides several improvements compared with mentioned approaches
– Context data life cycle is automatically managed
• Context raw data is automatically transformed into the context model
• Context data is automatically updated
• Providers’ states are taken into account
– Any context data model can be used
– Debugging tools are provided
– Mobility support is provided
– It has a flexible configuration
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
5. Benefits of the framework
– The framework provides several improvements compared with related work.
– Context data life cycle is automatically managed
– Any context data model can be used
– It can be used with any object oriented context model implemented by the programmer
– Debugging tools are provided
– Mobility support is provided
– It has a flexible configuration
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
5. Benefits of the framework
– The framework provides several improvements compared with related work.
– Context data life cycle is automatically managed
– Any context data model can be used
– Debugging tools are provided
– Visual debugging tools are provided in order to assist developers in the prototyping stage.
– Mobility support is provided
– It has a flexible configuration
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
5. Benefits of the framework
– The framework provides several improvements compared with related work.
– Context data life cycle is automatically managed
– Any context data model can be used
– Debugging tools are provided
– Mobility support is provided
– It has a mobile extension in order to get context data from user’s mobile device.
– It has a flexible configuration
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
5. Benefits of the framework
– The framework provides several improvements compared with related work.
– Context data life cycle is automatically managed
– Any context data model can be used
– Debugging tools are provided
– Mobility support is provided
– It has a flexible configuration
– The configuration is based on a publish/subscribe system, that makes the framework easily extensible and adaptable to different application domains.
SOCAM CoBra
Semantic Spaces
CASS Context Toolkit
CMF
JCAF
5. Benefits of the framework
Hydrogen
Index
1. Introduction
2. Architecture overview
3. Detailed description
4. Validation
5. Benefits
6. Conclusions
6. Conclusions
– The development of contextual computing applications is complex.
– Developers do not have the right tools to easily implement such services.
– Our work
– Developer oriented framework.
– It can enhance the development of applications that adapt and react to the user context.