Improving Transaction Acceptance of Incoherent Updates Using Dynamic

Improving Transaction Acceptance of Incoherent Updates Using Dynamic

IMPROVING TRANSACTION ACCEPTANCE OF INCOHERENT UPDATES USING DYNAMIC MERGING IN A RELATIONAL DATABASE A THESIS IN Computer Science Presented to the Faculty of the University of Missouri-Kansas City in partial fulfillment of the requirements for the degree MASTER OF SCIENCE by RYAN LINNEMAN B.S., DeVry University-Kansas City, 2008 B.A., University of Missouri-Kansas City, 2011 Kansas City, Missouri 2015 IMPROVING TRANSACTION ACCEPTANCE OF INCOHERENT UPDATES USING DYNAMIC MERGING IN A RELATIONAL DATABASE Ryan Linneman, Candidate for the Master of Science Degree University of Missouri-Kansas City, 2015 ABSTRACT Despite its tenure, mobile computing continues to move to the forefront of technology and busi- ness. This ever expansive field holds no shortages of opportunity for either party. Its benefits and demand are abundant but it is not without its challenges. Maintaining both data consistency and avail- ability is one of the most challenging prospects for mobile computing. These difficulties are exacerbated by the unique ability of mobile platforms to disconnect for extended periods of time while continuing to function normally. Data collected and modified while in such a state poses considerable risk of abandon as there exists no static algorithm to determine that it is consistent when integrated back to the server. This thesis proposes a mechanism to improve transaction acceptance without sacrificing con- sistency of the related data on both the client and server. Particular consideration is placed towards honoring data which a client may produce or modify while in a disconnected state. The underlying framework leverages merging strategies to resolve conflicts in data using a custom tiered dynamic merge granularity. The merge process is aided by a custom lock promotion scheme applied in the ap- plication layer at the server. The improved incoherence resolution process is then examined for impacts to the fate of such transactions and related bandwidth utilization. iii APPROVAL PAGE The faculty listed below, appointed by the Dean of the School of Computing and Engineering, have examined a thesis entitled “Improving Transaction Acceptance of Incoherent Updates Using Dynamic Merging In a Relational Database” presented by Ryan Linneman, candidate for the Master of Science degree, and certify that in their opinion, it is worthy of acceptance. Supervisory Committee Vijay Kumar, Ph.D. School of Computing and Engineering Appie van de Liefvoort, Ph.D. School of Computing and Engineering Praveen Rao, Ph.D. School of Computing and Engineering iv TABLE OF CONTENTS ABSTRACT . iii LIST OF ILLUSTRATIONS . ix LIST OF TABLES . x Chapter 1. INTRODUCTION . 1 1.1 Motivation . 1 1.1.1 Optimistic Concurrency . 2 1.1.2 Pessimistic Concurrency . 2 1.1.3 Why Optimistic . 3 1.2 Problem Statement . 4 1.3 Outline . 6 2. RELATED WORK . 8 2.1 Cache Concurrency . 8 2.1.1 Invalidation Report . 8 2.1.2 Optimistic Concurrency Control with Update TimeStamp . 9 2.1.3 Probability-Based Callback . 10 2.1.4 Adaptive Energy Efficient Cache Invalidation Scheme . 11 2.1.5 Distributed Cache Invalidation Mechanism . 11 2.1.6 Cooperative Approach to Cache Consistency . 12 2.1.7 Extended LRU . 12 2.1.8 Fast Wireless Data Access Scheme . 13 2.1.9 Eventual consistency . 13 2.2 Interpretation . 14 2.2.1 Challenging Conventional Notions of Isolation and Consistency . 14 3. APPROACH . 15 v 3.1 ACID Compliance . 15 3.1.1 Durability . 16 3.1.2 Atomicity . 16 3.1.3 Consistency . 17 3.1.4 Isolation . 18 3.2 Applying ACID to Naively-Optimistic Transactions . 19 3.2.1 Constraining Facets . 19 3.2.2 Leveraging Hybrid Locking . 20 3.3 Negotiating State After Divergence . 22 3.3.1 Client Side . 22 3.3.2 Server Side . 24 4. IMPLEMENTATION . 30 4.1 Client Implementation . 31 4.1.1 Extensions . 31 4.1.2 Client Application . 33 4.2 Server . 37 4.2.1 Web API 2 . 37 4.2.2 Authentication Controller . 38 4.2.3 Jobs Controller . 38 4.2.4 Assets Controller . 38 4.2.5 Offline Controller . 39 4.3 Server Framework . 39 4.3.1 Change Set Processor . 39 4.3.2 Merging . 43 5. EVALUATION . 49 5.1 Property Proxies . 49 5.2 Change Set Acceptance . 52 5.2.1 Metrics Captured . 54 5.2.2 Metrics Computed . 55 5.2.3 Test Change Set Acceptance in the Face of Conflicts . 55 5.2.4 Pessimistic Opt-in . 68 vi 6. CONCLUSION . 70 6.1 Property Merge Enhancements . 70 6.2 Data Access Layer Considerations . 71 Appendix A. CLIENT API DOCUMENTATION . 72 B. CLIENT CODE . 87 B.1 Application Space . 87 B.2 Job Facilities . 99 B.3 Authentication . 113 B.4 Assets . 118 C. SERVER CODE . 126 C.1 Change Set Code . 126 C.2 Business DAL Scafold . 143 C.3 Merge . 155 D. PROPERTY PERFORMANCE DATA . 188 REFERENCES . 204 VITA.....................................................207 vii LIST OF ILLUSTRATIONS Figure Page 1.1 Relationship of optimism, pessimism, conflicts and availability . 3 1.2 Pessimistic ambivalence to incoherence . 5 1.3 Optimistic update incoherence . 5 3.1 TA Lifetime Events . 21 3.2 High Level Overview of Process . 23 3.3 Client Negotiation Cycle . 25 3.4 Server processing . 28 4.1 Client Technology Stack . 33 4.2 Server Technology Stack . 37 4.3 Server Packaging Overview . 38 4.4 MergeAction<T> public interface . 44 4.5 MergeableAttribute public interface . 46 5.1 Property Access Performance . 51 5.2 Scenario 0 . 57 5.3 Scenario 1 . 58 5.4 Scenario 2 ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    217 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us