Notes
Slide Show
Outline
1
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
2
Agenda
  • Background
  • Traditional Middleware
  • Requirements for Middleware for Mobile Applications
  • Survey/Evaluation of Mobile Middleware Paradigms
  • Conclusions and Future Work
3
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/
4
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
5
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
6
Current Middleware Solutions
7
Current Middleware Solutions (Cont.)
8
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
9
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.
10
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
11
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
12
Requirements Addressed by Various Categories
13
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
14
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
15
Thank you