Supporting distributed transaction processing over mobile and heterogeneous platforms

The Internet, pervasive computing, peer-to-peer computing, and related developments have opened up vast opportunities for developing collaborative applications. To benefit from these emerging technologies, there is a need for developing techniques that will allow deployment of these applications on heterogeneous platforms as well as to provide the tools necessary for the development of these applications. To meet this challenging task, we need to address the characteristics of mobile peer-to-peer systems such as frequent disconnections, frequent network partitions, difficult central control, peer heterogeneity, and group collaboration. This research is aimed at developing the necessary models, techniques and algorithms that will enable us to build and deploy such applications in the Internet-enabled mobile peer-to-peer environments. Keeping the above in mind, this research sets out to investigate the following important underlying problems related to supporting distributed transactions over mobile peer-to-peer environments: (1) We propose a multi-state transaction model for transaction processing over a collection of heterogeneous, possibly mobile data stores. Based on this model, we develop a quality aware transaction processing framework to incorporate quality of service with transaction processing. In order to support quality aware transactions, we redefine and adapt the traditional concepts such as atomicity, consistency, isolation and durability to suit the proposed environment so that transactions can be made flexible and adaptable. We also develop a quality specification language to associate quality of service with transaction properties. On the whole, we support disconnection-tolerant, and partition-tolerant transaction processing without assuming that a central server is always available. (2) Based on the above quality aware transaction processing framework, we develop a probabilistic concurrency control mechanism and group based transaction commit protocol in which we utilize the probability and feedback to adaptively find the balance between the cascading abort and the long blocking in concurrent transaction control. This reduces blockings in transactions and improves the transaction commit ratio. (3) Based on our transaction processing framework, we explore several transaction processing architectures based on our transaction model in order to support distributed transactions over dynamically partitioned networks. (4) We develop a scalable, efficient and highly available directory service called PeerDS to support the above framework as many mobile devices could provide services and participate in a distributed transaction. We address the scalability and dynamism of the directory service from two aspects: peer-to-peer and push-pull hybrid interfaces. We also address peer heterogeneity and load balancing in the peer-to-peer system. We optimize the routing algorithm in a virtualized P2P overlay network and develop a generalized Top-K server selection algorithm for load balancing, which could be optimized based on different factors such as proximity and cost. From push-pull hybrid interfaces aspect, we propose to add a push interface, in addition to the conventional pull interface, to reduce the overhead of directory servers caused by frequent queries of directory clients. (5) We develop and evaluate different filter indexing schemes to improve the scalability and update scheduling of large subscription-based systems (i.e., the push-pull hybrid interfaces in PeerDS) as the filtering process of the updates might become the bottleneck. These techniques extend the capabilities of key components of our System on Mobile Devices (SyD) middleware, which enables collaborative distributed applications over heterogeneous mobile handheld device and data stores.