140 likes | 227 Views
William Easton. Strategy to reduce rollbacks in mobile environments. Introduction. Mobile Environments Locking and Data Starvation Mobile DB Architecture Timing Mechanisms Static Timer Dynamic Timer Preemptive Timer. Mobile Environments. Prone to Connection loss Timeouts
E N D
William Easton Strategy to reduce rollbacks in mobile environments
Introduction • Mobile Environments • Locking and Data Starvation • Mobile DB Architecture • Timing Mechanisms • Static Timer • Dynamic Timer • Preemptive Timer
Mobile Environments • Prone to • Connection loss • Timeouts • Loss of bandwidth • Reduced storage • Limited battery power All these contribute to the frequency of failures of mobile databases.
Data Starvation • Phone connects and locks data • Phone disconnects • Phone holds that lock (indefinitely) • Other mobile devices cannot access that information • These locking strategies are good for traditional databases but are not optimal for mobile
Mobile DB Architecture • Mobile host • Fixed host • Mobile host may not always be connected to the fixed host
Timing Mechanisms • Static timer • A transaction must commit before the timer is finished • If not the transaction is aborted and locked data is aquired by the next mobile host attempting to access the information • Dynamic Timer • The solution this paper introduces
Dynamic Timer • Starts off with specified timer • As transactions are executed it changes according to how they are being executed • If transactions are running past the timer and are rolled back then the timer is increased slightly
Dynamic Timer • So processes that would’ve unsuccessfully processed earlier might be able to be completed • Leads to fewer rollbacks • There has to be a catch • Larger overhead • Processes in the queue will have to wait longer to access the data they need • There is a threshold time that the dynamic timer cannot surpass
Dynamic Timer This is an activity diagram from the paper to depict how the timer will be adjusted.
Final Metrics • Timeout(static) • Dynamic • Preemption • Overall the preemptive has the best commit rate with the least time but does require the knowledge of execution times
Questions • Mobile environments • Static methods • Dynamic method • Preemptive method • Conclusions