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