Reflective Middleware for Mobile Environments
Nalini VenkatasubramanianDistributed Systems Middleware GroupUCI
QoS Aware Information Infrastructure
QoS Enabled WideArea Network
BattlefieldVisualization
BattlePlanning
BattlefieldVisualization
Collaborative Multimedia
(Telemedicine)Collaborative task ClientsData servers
BattlePlanning
ElectronicCommerce Distance Learning
Requirements - Availability, Reliability, Quality-of-Service, Cost-effectiveness, Security
Global Information Infrastructure
Proliferation of devicesSystem 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 applications demand
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
Core Services
DistributedSnapshot
Remote Creation
Directory Services
Replication
Migration
DGC
Check-pointing
AccessControl
System (Meta) Level
Application (Base) Level
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
RemoteCreation
RemoteCreation
The CompOSE/Q Framework
DistributedSnapshotDistributedSnapshot
DirectoryServicesDirectoryServices
QoSBroker
QoSBroker
MigrationMigrationReplicationReplication
RequestMgmt
DataMgmt
MessageScheduling
RequestScheduling
Data Placement De-replication
Clock SyncClock Sync
InteractionwithCore Services
CoreServices
ApplicationObjects
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 Model
CRCF Architecture
Communication manager
Pool-actorsi k l p n... ... ... ...
. . .
messenger
down
upin
out
messenger
downup
in
out
NodeBase actor m
and its messenger
Base actor 1and its messenger
m 1
CommunicationProtocol 1
. . .CommunicationProtocol n
Compose|Q Architecture (cont…)
SendPot
ReceivePot
Router
DedicatedMessageReceiver
RemoteMessageReceiver
NodeManager
Postman
CommunicationManager NodeInfoManager
Directory
MessageQManager
.
.
.
MessageQ aid67math2
34brow5
98yuhkj
56ferg6
query
querystart
register
spawn
Incomingmessages
Outgoingmessages
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
lDLlavailBWl ,:
s1
s2
s3
O O
s1
s2
s3 CD
lDLnrlUFl ),,,(:
sRSPnrsUFs ),,,1(:
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 CD and 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)
AutoSeC Framework
Directory service
Server
Router
Client
Get inf
ormati
onFeedback
Update directory
Dynamic Service Broker
Information Collection Module
System snapshot based collection
Static interval based collection
Throttlebased collection
MA modelbased collection
Resource Provisioning Module
Load-basedserver selection
Combined path and server select ion
Network path provisioning
Proximity-basedserver selection
Network Monitoring Module
Push modelmonitoring
Pull modelmonitoring
Req
uest
with
QoS
req
.
Prob
ing
para
met
ers
Probing results
Status query/reply
Status query/reply
Setup
path
Setup
path
Request rejection
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