210 likes | 323 Views
Reflective Middleware for Mobile Environments. Nalini Venkatasubramanian Distributed Systems Middleware Group UCI. QoS Aware Information Infrastructure. Battlefield. Battlefield. Battle. Battle. Visualization. Visualization. Planning. Planning. Data servers. Electronic Commerce.
E N D
Reflective Middleware for Mobile Environments Nalini Venkatasubramanian Distributed Systems Middleware Group UCI
QoS Aware Information Infrastructure Battlefield Battlefield Battle Battle Visualization Visualization Planning Planning Data servers Electronic Commerce Distance Learning QoS Enabled Wide Area Network Collaborative Multimedia (Telemedicine) Collaborative task Clients Requirements - Availability, Reliability, Quality-of-Service, Cost-effectiveness, Security
Global Information Infrastructure • Proliferation of devices • System support for multitude of smart devices that • attach and detach from a distribution infrastructure • produce large volume of information at a high rate • limited by communication and power constraints • Require a customizable global networking backbone. • Explore effective middleware infrastructures which can be used to support efficient QoS-based resource provisioning algorithms in a highly dynamic environment • Complex interactions • risks include non-termination, information loss, inconsistencies and incorrect execution semantics
Composable Middleware • In providing such an environment, interactions between various components as well as system-level correctness must be maintained • Incorporate effective mechanisms into a composable middleware framework to ensure safety and QoS enforcement in distributed and mobile environments. • Customizable, Composable Middleware Frameworks • Provide for dynamic network and system customization, dynamic invocation/revocation/installation of services • To adapt to the above dynamic changes in modern applications and manage distributed components
Reflection • Provides a plug-and-play environment for enabling run-time modification of policies • An efficient technique to build composable middleware • Features • Separation of concerns • Introspection • Flexibility, Adaptability • Composition • Implies concurrent execution of multiple resource management policies
Why Reflective Middleware? • Wireless communication, mobile computing and real-time applicationsdemand • High adaptability • dynamic customization of systems, services and communication protocols • Safe flexibility • constrain composition of services and protocols in order to prevent functional interference that could lead to an inconsistent state of the system • required to protect the system from security threats and failure • Cost-effective QoS guarantees • In achieving these goals, one must be careful to maintain consistency and correctness – need a semantic model (TLAM)
A New Paradigm for ODS • Two Level Actor Machine (TLAM) for ODS • Separate enforcement of system level requirements from application level activities to permit customizability • Basis for CompOSE|Q implementation • Layered Specifications • End-to-end service specification • System-level architecture specification • Local behavior specification • Isolate complex interactions in well understood core services for managing composition
System (Meta) Level Replication Access Control DGC Migration Check- pointing Remote Creation Distributed Snapshot Directory Services Application (Base) Level Core Services Applying Core Services
QoS Broker • Composability is essential in ensuring cost-effective QoS in distributed multimedia systems • Safe composability of resource management services • QoS Brokers coordinate multiple activities in such systems • interactions between multiple QoS sessions • interactions with multiple system services • Functions of a QoS broker: • Deal adaptively with incoming requests • Re(configure) data to service requests • Must maintain resource allocation invariants
The CompOSE/Q Framework QoS Broker Request Mgmt Data Mgmt De-replication Data Placement Message Scheduling Request Scheduling Application Objects Clock Sync Replication Migration Core Services Remote Creation Distributed Snapshot Directory Services Interaction with Core Services
Communication Model • Extension of TLAM model consisting of a composable reflective communication framework (CRCF) to support customizable communication services. • Distinguishes and handles different types of messages and communication protocols • Integrates QoS parameters into resource management and message handling processes. It provides • High-level communication services through composition of basic protocols • Dynamic installation of protocols • 4 levels of message customization • Efficient implementation
Communication Protocol n Communication Protocol 1 . . . Communication manager Pool-actors gi gk gl gp gn ... ... ... ... messenger messenger out out in in . . . up up down down 1 Base actor 1 and its messenger m Base actor m and its messenger Node CRCF Architecture
Directory MessageQ aid 67math2 34brow5 98yuhkj . . . 56ferg6 Compose|Q Architecture (cont…) query register NodeManager CommunicationManager NodeInfoManager query start SendPot Outgoing messages Router MessageQManager Postman RemoteMessageReceiver spawn ReceivePot Incoming messages DedicatedMessageReceiver Node
QoS-based Resource Provisioning • Degree of network awareness that middleware and applications must have to deal with network conditions • Resource provisioning algorithms utilize current system resource availability information to ensure that applications meet their QoS requirements • Additional Challenges • In highly dynamic (e.g. mobile) environments, system conditions are constantly changing
QoS-provisioning in Mobile Environments • Directory Service as a core service For QoS Based Resource Management in Mobile Environments • State information enables decision making for resource provisioning - e.g. Routing, Scheduling and Placement • Maintaining accurate and current system information is important to efficient execution of resource provisioning algorithms • Global Approximations of System State • Information Acquisition • Directory Organization and Manipulation • Scalability: Hierarchical directory organization + Caching • Goal: Ensure effective utilization of network and server resources while tolerating imprecision
Resource Management Tasks • Scheduling • Given a client requests R(Ci, Vi, Qi), schedule the request to the server node that satisfies the QoS constrains. • Routing • For an OD pair, choose a path among feasible paths to satisfy the QoS requirements, maximize the overall network throughput. • Placement • Predict the future requests based on history and locality, reallocate resources to the server node to maximize the overall throughput.
Combined Path and Server Selection s1 s1 O s2 O s2 CD s3 s3 • Left: Graph G:<N,E> with the client requesting at point O and a set of feasible servers S: s1,s2,s3. • Right: Graph G’:<N’,E’> extended from G, adding a point CDand artificial edges e1,e2 and e3
Dynamic Service Brokering for Mobile Environments • Goal • To provide information good enough for resource provisioning tasks such as admission control, load balancing etc. • Need an information collection mechanism that is : • is aware of multiple levels of imprecision in data • is aware of quality requirements of applications • makes optimum use of the system (network and server) resources • Collected Parameters • Network link status, Data server capacity (Remote disk bandwidth, Processor capacity)
Data Placement in Mobile Environments • Design load management mechanisms that • Provide fault tolerance, i.e. a high degree of data availability and • Ensure effective resource management • Ensure QoS for admitted clients • Data availability provided via replication and intelligent data placement mechanisms. • Predictive Fault Tolerant Data Placement Mechanisms
Future Work (cont…) • Further study on the use of Directory Services: • Scalability analysis/techniques • Security issues, service discovery, store for binaries, data etc. • Provision of an Access Control Model for security: • Capability-based architecture • Object-level granularity with flexibility in implementing custom policies depending on the applications being supported • Inter-domain security based on various security levels. • Composability issues with existing core services (Remote Creation, Snapshot, etc.), semantic model. • Support for Real-time applications: • Soft real-time guarantees for actors with such requirements