Title: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations
1Framework 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
2Background
- 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
- Hospitals environment/rescue team
- Junior doctors need to diagnose patients
3Wireless Access Point
Below threshold
Within range
Out of range
4Research Objective
- Devise a mechanism that allows the system to
automatically reconfigure itself in order to
maintain service availability (even with
poornetwork bandwidth)
5Proposed 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
6Proposed Solution
- Dynamically reconfigure the application
- Redeploy components - when online a offline
-
Operates according to the remote evaluation
paradigm
Before
Certain objects (with their states) are relocated
to the client platform and continues its
operation
After
Example Implementation
7Types 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
8How 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
9Classification 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
10Classification 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
11State Transitions
Module Layout
Class diagram framework
12Real-Time Effectiveness
How long does a disconnection take? How long does
the process of reconciliation take?
13Related 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)
14Conclusion 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
15Questions CommentsThanks
Please feel free to contact us for further
details at the following addresses
- Young-Koo Lee
- yklee_at_khu.ac.kr
Umar Kalim umar.kalim_at_gmail.com
Department of Computer Engineering, Kyung Hee
University, Suwon, South Korea.
16Selected References
- J. J. Kistler and M. Satyanarayanan. Disconnected
Operation in the Coda File System. ACM
Transactions on Computer Systems, vol. 10, no. 1,
February 1992 - 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 - A. D. Joseph, et. al., Rover a toolkit for
mobile information access, 15th ACM Symposium on
Operating Systems Principles, December 1995,
Colorado - Y. Weinsberg, and I. Ben-Shaul. A Programming
Model and System Support for Disconnected-Aware
Applications on Resource-Constrained Devices.
Intl Conf. on Software Engr., Orlando, Florida,
May 2002 - M. Mikic-Rakic and N. Medvidovic. Support for
Disconnected Operation via Architectural
Self-Reconfiguration - M. Shepperd et al. Comparing Software Prediction
Techniques using Simulation, IEEE Transactions,
2001. - Please refer to our paper for further details