160 likes | 261 Views
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.
E N D
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
Wireless Access Point Below threshold Within range Out of range
Research Objective Devise a mechanism that allows the system to automatically reconfigure itself in order to maintain service availability (even with poornetwork 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 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
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 classloader and Java Reflection API • Ability to replace objects – substitute for remote implementations • Transfer of State • Java Serialization/De-serialization • DisconnectionManagement Interface • disconnect and reconnect
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 Module Layout Class diagram –framework
Real-Time Effectiveness 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 & CommentsThanks Please feel free to contact us for further details at the following addresses Young-Koo Lee yklee@khu.ac.kr Umar Kalim umar.kalim@gmail.com Department of Computer Engineering, Kyung Hee University, Suwon, South Korea.
Selected 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. Int’l 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