16
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

Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

Embed Size (px)

Citation preview

Page 1: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 2: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 3: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

Out of range

Below threshold

Within range

Wireless Access Point

Page 4: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

Research Objective

Devise a mechanism that allows the system to automatically reconfigure itself in order to

maintain service availability (even with poor

network bandwidth)

Page 5: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 6: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 7: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 8: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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>>

Page 9: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 10: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 11: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 12: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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?

Page 13: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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)

Page 14: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 15: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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

Page 16: Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and

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