140 likes | 147 Views
Implementation and Evaluation of Delay-Aware and Fault-Tolerant Mobile Transactions. Brahim Ayari, Abdelmajid Khelil , Neeraj Suri and Eugen Bleim Department of Computer Science TU Darmstadt, Germany {brahim, khelil, suri}@informatik.tu-darmstadt.de jonnybleim@gmx.de.
E N D
Implementation and Evaluation of Delay-Aware and Fault-Tolerant Mobile Transactions Brahim Ayari, Abdelmajid Khelil, Neeraj Suri and Eugen Bleim Department of Computer Science TU Darmstadt, Germany {brahim, khelil, suri}@informatik.tu-darmstadt.de jonnybleim@gmx.de
Database Use in Healthcare • Mobile Healthcare • Life assist systems • Patient data management • Body area network • Mobile Database • Mobile participants • Strict data consistency • Atomic commit is a fundamental operation Patient records Wired Network
Objectives • Ensure strict atomicity • Minimize the blocking time of resources in the wired network • Minimize transaction abort rate (heterogeneity and fault-tolerance) • Reduce (wireless) message complexity • System Model • Related Work • FT-PPTC Approach • Implementation • Measurements • Summary
System and Fault Model • Heterogeneity • Wireless networks • Mobile nodes • Slowest process determines resource blocking time • Perturbations • Disconnections • Node/Comm failures • Increases resource blocking time or abort rate Wired Network GPRS WLAN UMTS
Related Work • Unilateral Commit for Mobile (UCM) [PDCS’00] • Supports mobile participants • Strict assumptions (two-phase locking for all participants) • Mobile Two Phase Commit (M-2PC) [ADC’05] • Supports mobile participants • Mobile participants are assumed to be connected from initializing the transaction until finishing the execution of their fragments • Transaction Commit On Timeout (TCOT) [TOC’02] • Uses timeouts to reduce the number of messages exchanged • Provides only semantic atomicity and not strict atomicity • Supports only one mobile participant • Entail high resource blocking time • Handle (small) subset of failures
Fault-Tolerant Pre-Phase Transaction Commit (FT-PPTC) Main idea: ►Decouple commit of mobile participants from fixed participants ►Initial mobile commit, delegate problem to fixed part of network; Reduction of resource blocking time on fixed participants Re-use established protocols (commit, recovery, fault-tolerance) • CO distributes fragments first for mobile participants and waits for their execution results (Pre-Phase) • CO waits for a mobile participant for the timeouts that the participant initializes and updates (execution and shipping timeouts) CO waits for the slowest mobile participant and proceeds with the following phase iff the pre-phase succeeds • Handles network and node heterogeneity • Each mobile participant is represented in the fixed network by a proxy called mobile host agent (MH-Agent) Handles failures: Crash, disconnection, wireless message loss …
Fixed Participant Hetero- geneity The FT-PPTC Protocol Initiator Coordinator MH-Agent Mobile Participant Begin Forward fragment Send transaction & own timeouts Send corresponding execution fragment Send timeouts Forward timeouts ~ Pre-Commit Phase ~ Send updates Send YES Vote Send updates Fixed Participant Execution fragment Ack 2PC Prepare Core 2PC Phase Vote Decision Decision Decision Ack Ack Ack End Release resources Release resources Release resources
Transient Disconnect. ~ ~ Permanent failures FT-PPTC: Failure Resilience Scenarios Initiator Coordinator MH-Agent Mobile Participant Begin Forward fragment Send transaction and timeouts Send corresponding execution fragment Send timeouts Forward timeouts ~ Pre-Commit Phase Extend timeouts ~ Forward extended timeouts Send updates Send updates Send YES Vote Fixed Participant Execution fragment Ack 2PC Prepare Core 2PC Phase Vote Decision Decision Decision Ack Ack Ack End Release resources Release resources Release resources
Implementation • J2ME: • Personal Profile • IBM J9 Java Virtual Machine • Apache Derby = IBM Cloudscape Database • Mobile Device: PDA with Windows Mobile
Timeout Selection Higher #Transactions Optimal timeout selection Timeout selection higher than “slowest” {link + participant} Timeout selection lower than “fastest” {link + participant}
Tolerable decrease Transaction Throughput • Reasons for throughput decrease: • Communication bottlenecks • Processing/storage resources bottlenecks (Transaction blocking time on most involved resources is a key metric)
Blocking Time Transaction blocking time on servers is constant (independent from the number of started transactions)
Conclusions and Future Work • Fault-tolerant & delay-aware atomic commit protocol for mobile transactions • Decouples commit of mobile participants from fixed participants Minimizes blocking time of resources on fixed part of the network Provides resilience to both communication and node failures • Future work • Consider ad-hoc communication between the mobile devices
Questions ? Brahim Ayari, Abdelmajid Khelil, Neeraj Suri and Eugen Bleim Department of Computer Science TU Darmstadt, Germany {brahim, khelil, suri}@informatik.tu-darmstadt.de, jonnybleim@gmx.de