framework of an application-aware adaptation scheme for disconnected operations
DESCRIPTION
Framework of an Application-Aware Adaptation Scheme for Disconnected Operations. Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and Young-Koo Lee Department of Computer Engineering, Kyung Hee University dated: 2005/11/23. Background. - PowerPoint PPT PresentationTRANSCRIPT
Framework of an Application-Aware Adaptation Scheme for Disconnected
Operations
Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and
Young-Koo Lee
Department of Computer Engineering,
Kyung Hee University
dated: 2005/11/23
Background
• Hand-held devices using a wireless network
• Environment conditions such as network bandwidth varies due to user mobility
• Service may be disrupted as a result of– Network bandwidth dropping below a threshold– Out of range
• Example scenario– Hospital’s environment/rescue team– Junior doctors need to diagnose patients
Out of range
Below threshold
Within range
Wireless Access Point
Research Objective
Devise a mechanism that allows the system to automatically reconfigure itself in order to
maintain service availability (even with poor
network bandwidth)
Proposed Solution
• Mobile computing middleware (Remote Evaluation paradigm)– Reflection– Code mobility
• Adaptation scheme is application aware – The framework allows the developer to
determine the application policies
Proposed Solution• Dynamically reconfigure the application
– Redeploy components - when online offline
Client
ServerClient
Server
Example Implementation
Operates according to the remote evaluation paradigm
Before
AfterCertain objects (with their states) are relocated to the client platform and continues its operation
Types of Disruptions
• Voluntary disconnections– User initiated event– Knowledge in advance – enable the system to
prepare for preparation
• Involuntary disconnections– Unplanned – network failure– No knowledge in advance - need to detect
disconnection, require to be pessimistically prepared for it, and pro-actively prepare a response
• Remedy is the same
How is it Achieved• Floating objects
– Deal with the process of adaptation to disconnected operations
• Based on a distributed object framework– Allow the redeployment of components
• Code mobility and dynamic binding– Java class loader and Java Reflection API– Ability to replace objects – substitute for remote
implementations
• Transfer of State– Java Serialization/De-serialization
• DisconnectionManagement Interface– disconnect and reconnect
Remote Object<<interface>>
Application Logic (Server Implementation)
<<interface>>
Application Logic<<interface>>
Disconnection Management<<interface>>
Classification of Components for Disconnection
• Log– After disconnection, the invocations that are made on
this reference are logged locally
• Substitute– Upon disconnection , a temporary but local reference
should be used to replace the remote reference– It may have a different (or limited) functionality
• Replica– The reference should be replicated and transferred to
the client for local execution to maintain service availability
– Reconnection; latest, revoke, prime, merge
Classification of Components for Reconnection
• Latest– The state of the reference with latest time-stamp is
maintained while the other is discarded • Revoke
– The entire changes made on the replicated or substituted reference are dropped in favor of the state of the original reference
• Prime– Contrary to revoke references– The state of the original reference is discarded in favor of the
Prime reference• Merge
– Neither the replicated/substituted reference nor the original reference is clearly identified to be maintained
– There is a need for conflict detection and resolution techniques
• All disconnection-aware references may implement the Merge interface– Whenever a reconnection occurs, the system would invoke the merge
method for reconciliation by using callback mechanism
State Transitions
Connected
DisconnectedReconnectiontriggered
Traversing referencegraph
Transferring state(as per policy)
Swapping local references with
remote references
Disconnectiontriggered
Traversing referencegraph
Downloading referenceimplementation
(.class files)
Creating local references
Transferring state(as per policy)
Swapping remote references with local
references
Reconnecting
Disconnecting
disconnectidentify
references for relocation
download references
create instances
transfer state
reconfigure
disconnection complete
reconnectidentify references for
relocation
reconfigurereconnection
complete
initialize
finalize [off=true]
Module LayoutClass diagram –
framework
Real-Time Effectiveness
0
500
1000
1500
2000
2500
3000
0 1 2 3 4 5 6 7
Experiment
Dur
atio
n (m
sec)
disconnection (w. pre-installation) disconnection (w/ o pre-installation)
reconciliation [replace] reconciliation [substitute (merge)]
reconciliation [log]
How long does a disconnection take?How long does the process of reconciliation take?
Related Work
• Commonly used techniques– Caching [1]– Hoarding [2]– Queuing remote interactions [3]– Replication and replica reconciliation [1]– Multi-modal components [4]
• Architectural reconfiguration [5]– Exact algorithm - Complexity - O(kn-m)– Stochastic algorithm - Complexity - O(n2)– Adaptive greedy algorithm - Complexity - O(n3)
Conclusion & Future Work
• Programming model to maintain service availability even in the face of disconnections– Code mobility– Reflection
• Application in Delay Tolerant Networks (DTNs)
• Operational issues of predicting a disconnection in the face of fading bandwidth
Questions & Comments
Thanks
Young-Koo [email protected]
Umar [email protected]
mDepartment of Computer Engineering,
Kyung Hee University, Suwon, South Korea.
Please feel free to contact us for further details at the following addresses
Selected References
1. J. J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. ACM Transactions on Computer Systems, vol. 10, no. 1, February 1992
2. G. H. Kuenning and G. J. Popek. Automated Hoarding for Mobile Computers. Proc. of the 16th ACM Symp. on Operating Systems Principles, St. Malo, France, October, 1997
3. A. D. Joseph, et. al., Rover: a toolkit for mobile information access, 15th ACM Symposium on Operating Systems Principles, December 1995, Colorado
4. Y. Weinsberg, and I. Ben-Shaul. A Programming Model and System Support for Disconnected-Aware Applications on Resource-Constrained Devices. Int’l Conf. on Software Engr., Orlando, Florida, May 2002
5. M. Mikic-Rakic and N. Medvidovic. Support for Disconnected Operation via Architectural Self-Reconfiguration
6. M. Shepperd et al. Comparing Software Prediction Techniques using Simulation, IEEE Transactions, 2001.
Please refer to our paper for further details