Why Current Middleware Fails for Mobile Peer-to-Peer Computing
Thomas Kunz
Systems and Computer Engineering
 Carleton University
http://kunz-pc.sce.carleton.ca
tkunz@sce.carleton.ca

Agenda
Background
Traditional Middleware
Requirements for Middleware for Mobile Applications
Survey/Evaluation of Mobile Middleware Paradigms
Conclusions and Future Work

Background
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/

Middleware
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

Traditional Middleware Requirements
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

Current Middleware Solutions

Current Middleware Solutions (Cont.)

Challenges of Mobile P2P Computing
Network condition:  slow, expensive, disconnected, limited bandwidth, high error rate
Mobile devices:  limited resources and high diversity
Physical mobility:  different networks and services

An Electronic Shopping System: A Case Study
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.

Requirements for Next Generation Middleware
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

Middleware State of the Art
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

Requirements Addressed by Various Categories

Conclusions
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

Next Steps
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

Thank you