william easton. introduction mobile environments locking and data starvation mobile db...

14
STRATEGY TO REDUCE ROLLBACKS IN MOBILE ENVIRONMENTS William Easton

Upload: milo-haynes

Post on 30-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

STRATEGY TO REDUCE ROLLBACKS IN MOBILE

ENVIRONMENTS

William Easton

Page 2: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Introduction

Mobile Environments Locking and Data Starvation Mobile DB Architecture Timing Mechanisms Static Timer Dynamic Timer Preemptive Timer

Page 3: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Mobile Environments

Prone toConnection lossTimeoutsLoss of bandwidth Reduced storageLimited battery power

All these contribute to the frequency of failures of mobile databases.

Page 4: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Data Starvation

Phone connects and locks dataPhone disconnectsPhone 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

Page 5: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Mobile DB Architecture

Mobile host Fixed host Mobile host may not always be

connected to the fixed host

Page 6: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Timing Mechanisms

Static timerA 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 TimerThe solution this paper introduces

Page 7: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

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

Page 8: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Dynamic Timer

So processes that would’ve unsuccessfully processed earlier might be able to be completedLeads to fewer rollbacksThere 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

Page 9: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Dynamic TimerThis is an activity diagram from the paper to depict how the timer will be adjusted.

Page 10: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Static Timer

Page 11: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Dynamic Timer

Page 12: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Preemptive Timer

Page 13: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

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

Page 14: William Easton. Introduction  Mobile Environments  Locking and Data Starvation  Mobile DB Architecture  Timing Mechanisms  Static Timer  Dynamic

Questions

Mobile environments Static methods Dynamic method Preemptive method Conclusions