1
|
- Thomas Kunz
- Systems and Computer Engineering
- Carleton University
- http://kunz-pc.sce.carleton.ca
- tkunz@sce.carleton.ca
|
2
|
- Background
- Traditional Middleware
- Requirements for Middleware for Mobile Applications
- Survey/Evaluation of Mobile Middleware Paradigms
- Conclusions and Future Work
|
3
|
- We have explored issues related to mobile applications since 1997:
- WWW transcoding proxy
- Mobile code for adaptive mobile applications
- Now: how to incorporate our ideas into middleware for mobile
applications
- What middleware?
- What extensions?
- Detailed report available from the WWW,
http://www.sce.carleton.ca/wmc/middleware/
|
4
|
- Definition:
- a layer of software that allows peers to interact a cross a network
- Context:
- distributed systems
- Role:
- coordination and communication (connectivity software)
- Implements:
- session and presentation
layers
- Bonus:
- higher level primitives
|
5
|
- Network communication
- Support marshalling and unmarshalling
- Provide higher level primitives
- Coordination
- Components synchronization
- Components activation and deactivation
- Reliability
- Processing individual and multiple requests
- Support Fault-tolerant and
different levels of QoS
- Scalability
- Load Balancing (transparent replication, access, and migration)
- Heterogeneity
- Integrate elements from various contexts
- Support interoperability
|
6
|
|
7
|
|
8
|
- Network condition: slow,
expensive, disconnected, limited bandwidth, high error rate
- Mobile devices: limited resources
and high diversity
- Physical mobility: different
networks and services
|
9
|
- Transparent replication: Application cannot influence the replication
decision
- Location awareness: collecting my order on my way home
- Dynamic reconfiguration: interacting with servers running different
middleware platforms
- Adaptivity: overloaded
server (switching) image/video
requested (filtration)
- Asynchronous: Clients are
not blocked during the matching process or receiving notification
receipt.
|
10
|
- Dynamic Reconfiguration
- Detect changes in available resources and reallocate them or notify the
application to change its behaviour
- Adaptivity
- The ability of a system to recognize unmet needs within its execution
context and to adapt itself to meet those needs
- Context-Awareness
- Disclose the execution context to the upper layer. The context may
include device characteristics, user’s activities, and services
- Asynchronous Paradigm
- Decouple the client and server components and deliver multicast
messages
- Lightweight
- Minimum range of functionality used by most applications
|
11
|
- Reflective Middleware
- Reflection approach to support inspection and adaptation
- Examples: OpenCorba, Open-ORB, and DynamicTAO
- Tuple Spaces Middleware
- Tuple space approach to facilitate communication
- Examples: LIME, TSpaces, and JavaSpaces
- Context-Aware Middleware
- Awareness approach to expose the context information
- Examples: Nexus, Alternis, and SignelSoft
- Event-based Middleware
- Event notification approach to support large-scale systems
- Examples: Hermes, CEA, and JEDI
|
12
|
|
13
|
- We have presented current middleware solutions and exhibited their
characteristics
- Why traditional middleware systems fail to support mobile settings
- We have outlined a set of requirements for next generation middleware
- We have illustrated the state of the art of middleware for mobile
computing and discussed four different classes of middleware
- We have shown what type of requirements are addressed by each class of
middleware
|
14
|
- Better understand mobile application requirements and device/network
constraints for specific application domains
- Select a specific middleware paradigm, experiment with sample system it
in our testbed (iPaq/laptop/PCs, IEEE 802.11b wireless LAN and
Bluetooth)
- Suggest and develop appropriate enhancements, based on our prior work
|
15
|
|