J. Cent. South Univ. Technol. (2008) 15: 545-551
DOI: 10.1007/s11771-008-0103-y
Scheduling transactions in mobile distributed real-time database systems
LEI Xiang-dong(雷向东), ZHAO Yue-long(赵跃龙), CHEN Song-qiao(陈松乔), YUAN Xiao-li(袁晓莉)
(School of Information Science and Engineering, Central South University, Changsha 410083, China)
Abstract: A DMVOCC-MVDA (distributed multiversion optimistic concurrency control with multiversion dynamic adjustment) protocol was presented to process mobile distributed real-time transaction in mobile broadcast environments. At the mobile hosts, all transactions perform local pre-validation. The local pre-validation process is carried out against the committed transactions at the server in the last broadcast cycle. Transactions that survive in local pre-validation must be submitted to the server for local final validation. The new protocol eliminates conflicts between mobile read-only and mobile update transactions, and resolves data conflicts flexibly by using multiversion dynamic adjustment of serialization order to avoid unnecessary restarts of transactions. Mobile read-only transactions can be committed with no-blocking, and respond time of mobile read-only transactions is greatly shortened. The tolerance of mobile transactions of disconnections from the broadcast channel is increased. In global validation mobile distributed transactions have to do check to ensure distributed serializability in all participants. The simulation results show that the new concurrency control protocol proposed offers better performance than other protocols in terms of miss rate, restart rate, commit rate. Under high work load (think time is 1s) the miss rate of DMVOCC-MVDA is only 14.6%, is significantly lower than that of other protocols. The restart rate of DMVOCC-MVDA is only 32.3%, showing that DMVOCC-MVDA can effectively reduce the restart rate of mobile transactions. And the commit rate of DMVOCC-MVDA is up to 61.2%, which is obviously higher than that of other protocols.
Key words: mobile distributed real-time database systems; muliversion optimistic concurrency control; multiversion dynamic adjustment; pre-validation; multiversion data broadcast
1 Introduction
The communication bandwidth is asymmetric in mobile broadcast environment[1-2]. The downstream (server to mobile host, MH) communication capacity is much greater than the upstream (MH to server) communication capacity. Since the bandwidth from MH to the server is very limited, each MH should minimize wireless communication to reduce the contention of the narrow bandwidth. Mobile read-only transactions should be committed with no-blocking[3-6]. Data conflicts should be detected as soon as possible at the MHs to avoid any wastage of resources and to reduce the response time of mobile transactions. More schedules of transaction executions should be allowed to avoid unnecessary transaction aborts since the MHs may suffer from a long delay to realize any mobile transaction aborts and restarts of the failed mobile transactions. The tolerance of mobile transactions of disconnections from the broadcast channel should be increased. The concurrency control protocol should not involve the MHs to synchronize with each other and the server for data conflict detection[7-8].
In mobile computing environments system, work loads are the most partly mobile read-only transactions that execute queries and analysis. But under single version scheduler mobile read-only transactions are frequently blocked by mobile update transactions[9]. Multiversion mechanism can eliminate conflicts between read-only and update transactions, and increase the concurrency degree of transactions and the tolerance of mobile transactions of disconnections from the broadcast channel.
Multiversion concurrency control mechanism is of desirable property of which a read request never fails and does not need to wait. In typical database systems, reading is more frequent than writing. This advantage may be of major practical significance. Multiversion concurrency control mechanism eliminates the conflict between read-only transactions and update transactions. Therefore, read-only transactions can be committed with non-blocking.
In this work, DMVOCC-MVDA (distributed multiversion optimistic concurrency control with multiversion dynamic adjustment) protocol was proposed to process distributed real-time transaction in mobile broadcast environments. Transaction validation was performed at two levels: local validation and global validation. Local validation of transactions was carried out at two phases: local pre-validation and local final validation; local pre-validation was performed at MHs, and transactions that survive in local backward pre- validation must be submitted to the server for local final validation. Such an early data conflict detection feature can save processing and communication resources.
2 Commit processing
The traditional commit protocols, such as 2PC (two phase commit), 3PC (three phase commit), etc., may not perform satisfactorily in mobile broadcast environments mainly because of the limited resources, especially the communication capacity[10]. Therefore, the 2PC commit protocols must be revised to be suitable for mobile distributed real-time database systems. The mobile distributed real-time transaction T is issued at a MH that is called home-MH (H-MH). Transaction Tco at the BS (base station) to which H-MH is attached is identified as the coordinator. If T issues read/write request and H-MH cannot process, then it creates a subtransaction Ti, and sends Ti to Tco. Upon the receipt of Ti from H-MH, Tco creates distributed real-time transaction control block for Ti which contains one entry, deadline of Ti, and coordinator’s identity. In the case of coordinator change, a distributed real-time transaction control block is used to inform the new coordinator the status of T and commit set members. Tco distributes Ti to the relevant server. The server, after receiving Ti, distributes Ti to MH or fixed host(FH) which processes Ti. Tco waits for transaction processing results. During Ti processing, if Ti is aborted for any reason, the participant will send an aborted message to Tco before the deadline of Ti expires. At the end of Ti, the participant sends commit message to Tco. If the participant cannot complete its subtransaction for any reason, it will send an aborted message to the coordinator. T is committed when Tco receives all commit messages, and Tco sends commit massage to members of the commit set. If Tco receives neither a commit nor an aborted message within the deadline of T, T will be aborted, Tco sends abort message to members of the commit set.
When H-MH moves to another cell, the coordinator may always reside at the BS to which the H-MH is attached. The old coordinator transfers state information to the new coordinator. The coordinator informs all the participants about this change.
3 Transaction processing at MHs
3.1 Read/write request processing
Each transaction Ti is associated a timestamp, denoted by TS(Ti). This timestamp is assigned before the transaction starts. For each data item x, a sequence of versions 1, x2, …, xm> is associated. Each version xk contains three data fields: the value of version xk; WTS(xk), the largest timestamp which creates version xk; RTS(xk), the largest timestamp of any transaction that successfully reads version xk. During read phase, the scheme operates as follows. Suppose that transaction Ti issues a read(x) or write(x) operation. Let xk denote the version of x whose write timestamp is the largest (less than or equal to TS(Ti)). If transaction Ti issues a read(x), then the value returned is the version xk. The reason is that a transaction reads the most recent version that comes before it in time. The version xk is set to RSet(Ti), where RSet(Ti) denotes the set of data items read by Ti. If transaction Ti issues a write(x), and if TS(Ti)<RTS(xk), the transaction Ti is restarted, otherwise a new version of x is created. The reason is that if Ti attempts to write a version that some other transactions would have read, the write is not allowed. The new version xi is set to WSet(Ti), where WSet(Ti) denotes the set of data item that have been written by Ti.
3.2 Multiversion dynamic adjustment
The restart of mobile transaction is high cost in mobile broadcast environment. The main purpose of multiversion dynamic adjustment of serialization order is to prevent unnecessary restarts, which occur when a transaction is restarted that could have been serialized successfully with respect to the validating transaction. Let ri[xj] represent the read operation of Ti for reading the version xj of x, and wi[xi] denote write operation of Ti for writing version xi of x. Furthermore, assume vi and ci denote the validation and commit of Ti, respectively. Consider the following three transactions T1, T2, and T3, and their execution multiversion(MV) history fragment H:
H: r1[x0] r2[x0]w1[x1]r3[y0]r2[y0]w3[y3]w1[y1]v1v2c1c2
The MV history H is not serializable, therefore, both T2 and T3 are restarted in the validation of T1. A careful examination of H shows that T2 has only a write-read conflict on data item x. Thus, as long as the serialization order T2→T1 is set, T2 does not need to restart. The restart of T2 is referred to be an unnecessary restart. T3 clearly needs to restart as it has both read-write and write-read conflicts with T1. Since the number of read operations is much higher than that of write operations in mobile broadcast environments, a large fraction of data conflicts is of the read-write type, and a significant portion of them falls into this category.
The technique of multiversion dynamically adjusting the serialization order eliminates these unnecessary restarts by adjusting serialization orders of transactions at validation. Let Tv and Ta be validating transaction and active transaction, respectively, there are possibly two types of conflicts between Tv and Ta in multiversion concurrency control mechanism. There is not write-write conflict in multiversion mechanism because transactions write data items on different versions.
1) RSet(Tv)∩WSet(Ta)≠? (read-write conflict). This type of conflict can be resolved by adjusting the validation interval of Ta to induce the serialization order Tv→Ta, which signifies that the writes of Ta should not affect the reads of Tv.
2) WSet(Tv)∩RSet(Ta)≠?(write-read conflict). This type of conflict can be resolved by adjusting the validation interval of Ta to induce the serialization order Ta→Tv, which implies that the writes of Tv should not affect the read phase of Ta.
Each transaction Ti at MHs is allocated with a validation interval V(Ti)=[bl, bu], which is initialized [0, ∞]. The V(Ti) reflects the dependencies of Ti on the committed transactions. If Ti (with V(Ti)=[bli, bui]) is serialized before Tj (with V(Tj)=[blj, buj]), i.e. Ti→Tj, then the following relation must hold bui<blj. If a transaction’s validation interval is empty, there is no possible way to serialize the transaction any more, then it must be restarted.
To reflect serialization relation between the mobile transactions and the committed transactions, when a read or write request is processed, Vbl(Ti) will be adjusted. Let xk denote the version of x whose write timestamp is the largest (less than or equal to TS(Ti)), if transaction Ti issues a read(x) and if data item x is located in the MH, then version xk is read by Ti. Vbl(Ti) is adjusted to WST(xk), that is, V(Ti)=V(Ti)∩[WTS(xk), ∞], and the version xk is set to RSet(Ti). If transaction Ti issues a write(x), data item x is located in the MH, and if TS(Ti)<RTS(xk), the transaction Ti is restarted, otherwise a new version of xi is created and the new version xi will be stored into the private workspace of Ti. Vbl(Ti) is adjusted, that is, V(Ti)= V(Ti)∩[WTS(xk),∞]∩[RTS(xk),∞]. The new version xi is set to be WSet(Ti). If V(Ti) shuts out, Ti will be aborted.
3.3 Local pre-validation
At the beginning of every broadcast cycle, the server broadcasts the validation information of the committed transaction in the last broadcast cycle. The validation information of transactions consists of CSet, ASet, CReadSet and CWriteSet, where CSet is the set of transactions successfully validated at the server in the last broadcast cycle, ASet is the set of transactions rejected at the server in the last broadcast cycle, CReadSet is the read set of the committed transactions, and CWriteSet is the write set of the committed transactions. If a mobile transaction does not pass local pre-validation, then it has to be restarted. Let Ti and Tc denote mobile active transaction and committed transaction in the last broadcast cycle, respectively, then there are two types of data conflicts that can induce the serialization order between the active transaction Ti and the committed transaction Tc such that VI(Ti) has to be adjusted. Then, the rules to resolve data conflicts are given as follows.
1) RSet(Ti)∩WSet(Tc)≠?. This type of conflict can be resolved by adjusting the validation interval of Ti to induce the serialization order Ti→Tc, which shows that the read of Ti should not affect the write of Tc. Ti precedes Tc in the serialization order. Therefore, the adjustment of V(Ti) should be Vbu(Ti)<TS(Tc), that is, V(Ti)=V(Ti)∩[0, TS(Tc)]. CWriteSet contains the data items that in the write set of the committed transactions. This rule can be described as follows: for each item xk is in RSet(Ti), if xk is in CWriteSet, Vbu(Ti) will be set to min({WTS(xk)|xk in CWritSet}). Data item xk is marked valid, and is not required to be validated at the server. Because the write timestamps of data items created by transactions that are committed after current broadcast cycle are greater than all write timestamps of data items in CWriteSet.
2) WSet(Ti)∩RSet(Tc)≠?. This type of conflict can be resolved by adjusting the validation interval of Ti to induce the serialization order Tc→Ti, which shows that the read of Tc should not affect the write of Ti. Tc precedes Ti in the serialization order. Therefore, the adjustment of V(Ti) should be Vbl(Ti)>TS(Tc), that is, V(Ti)=V(Ti)∩[TS(Tc), ∞]. CReadSet contains the data items that in the read set of the committed transactions. This rule is described as follows: for each item xi is in WSet(Ti), if xj is in CReadSet, Vbl(Ti) will be set to max({RTS(xk)| xk in CReadSet}).
The algorithm of local pre-validation is described as follows:
local_pre-validation(Ti)
for each xk ∈RSet(Ti)
if(xj ∈CWriteSet)
V(Ti)=V(Ti)∩[0,min({WTS(xj)| xj∈CWriteSet})];
if(V(Ti)==[ ]) abort Ti;
}
}
for each xi ∈WSet(Ti) {
if(xj∈CReadSet) {
V(Ti)=V(Ti)∩[max({RTS(xj)| xj∈CReadSet}), ∞];
if(V(Ti)==[ ]) abort Ti;
submit Ti to the server for local final validation;
A mobile read-only transaction at MH can be committed if it passes all the local pre-validation in course of execution. It is serialized after all transactions committed before beginning of the current broadcast cycle. A mobile update transaction has to be sent to server for local final validation because the mobile update transaction is serialized after all transaction committed before its validation phase and is serialized before all active transaction.
4 Transaction processing at server
MHs do not have a complete and up-to-date data. For instance, the information about the commit of some conflicting transactions that are submitted to the server after the start of the last broadcast cycle is not known to MHs. Then, all mobile transactions that pass local backward pre-validation at MHs have to be submitted to the server for local final validation. A mobile only-only transaction at the HM can be committed locally and does not need to be submitted to the server for local final validation if it passes all the local backward pre-validation. Data conflicts are detected by comparing the read set of validating mobile transaction and the write set of the committed transaction, since the committed transactions precede the validating transaction in the serialization order.
Suppose that transaction Ti and Tj create successfully version xi and xj of data item x, respectively. A version order is defined as follows: xi<<xj<=>TS(Ti)<TS(Tj).
1) Let Tv be the validating transaction. For each data item xk in RSet(Tv), if xk is not marked valid, and if there exists version xk+1, xk<<xk+1, the adjustment of V(Tv) should be Vbu (Tv)<WTS(xk+1), that is, V(Tv)=V(Tv)∩[0, WTS(xk+1)]. It is because new versinon xk+1 is created after Tv reads version xk. Tv should be serialized before the transaction that created version xk+1.
2) Let Tv be the validating transaction. For each data item xv in WSet(Tv), the adjustment of V(Tv) should be Vbl(Tv)>max(RTS(x)). That is, set V(Tv)=V(Tv)∩ [max(RTS(x)), ∞]. It is because transactions committed may not read version xv created by Tv. Tv should be serialized after all committed transactions that read data item x.
The algorithm of local final backward validation is described as follows:
local_final_backward_validation(Tv) {
for each xk in RSet(Tv) {
if (xk is not marked as valid) {
if($xk+1(xk<<xk+1)) V(Tv)=V(Tv)∩[0, WTS(xk+1)];
if(V(Tv)==[ ]) {
abort Tv;
ASet=ASet∪{ Tv};
for each xv in WSet(Tv) {
V(Tv)=V(Tv) ∩[max(RTS(x)), ∞];
if(V(Tv)==[ ]) {
abort Tv;
ASet=ASet∪{ Tv};
5 Global validation
After local validation a global validation is needed for distributed serializability[11]. Let VH(Tv) denote the validation interval of Tv at the H-MH, and Vpi(Tv) the validating interval of Tv at the participant Pi for validating transaction Tv. Suppose that there are n participants. The validation interval of Tv is adjusted to be V(Tv)=VH(Tv)∩VP1(Tv)∩VP2(Tv)∩…∩VPn(Tv). If the transaction validation interval is empty, Tv is aborted to ensure the distributed serializability; otherwise Tco commits Tv, and sends commit massage to all participants.
The algorithm of global validation is described as follows:
global_validation (Tv) {
V(Tv)=VH(Tv);
for each VPi(Tv) at participant Pi
V(Tv)=V(Tv)∩VPi(Tv);
if(V(Tv)==[ ]) abort Tv;
else {
TS(Tv)=Vlb(Tv)+ min(CTime, Vlb(Tv)+Δ);
//CTime is current system time
//Δ is a sufficiently small value
for each xk in RSet(Tv)
if(TS(Tv)>RTS(xk)) {
RTS(xk)=TS(Tv);
CReadSet=CReaSet ∪{xk};
for each xv in WSet(Tv) {
WTS(xk)=TS(Tv);
write xk into the database;
CWriteSet=CWriteSet ∪{xv};
CSet=CSet∪{ Tv};
commit Tv ;
If a validating transaction is allowed to be committed, a final timestamp indicating its position in the serialization order is assigned to it. The final timestamp TS(Tv) is equal to min(CTime, Vbl(Tv)+Δ), where CTime is current system time, Δ is a sufficiently small value. If a transaction is never adjusted, the final timestamp of Tv is current system time. The read and the write set of Tv are added into CReadSet and CWriteSet accordingly. When the next broadcast cycle comes, the server will broadcast the validation information.
6 Correctness of DMVOCC- MVDA protocol
The correctness of the concurrency control protocol presented, DMVOCC-MVDA, is proved. That is, the DMVOCC-MVDA protocol ensures serializability. If the multiversion serialization graph of a set of transactions, MVSG(H), is acyclic, the schedule H is serializable[12].
Lemma 1 Let Ti and Tj be two committed transactions in a local history (LH) produced by the DMVCC-MVDA. If there is an edge T→Tj in multiversion serialization graph MVSG(LH), then there exists TS(Ti)<TS(Tj).
Proof If there is an edge Ti→Tj in MVSG(LH), there must exist one or more conflicting operations with one of the following types on data item x. Let ri[xk] represent the read operation of Ti for reading the version xk of x, and wi[xi] denote Ti for writing the version xi of x.
Case 1 ri[xk]→wj[xj]
1) Ti is committed before Tj reaches validation phase
For wj[xj], when Tj reaches the validation phase, the validation interval of Tj will be adjusted: V(Tj)=V(Tj)∩ [WTS(xk), ∞]∩[RTS(xk), ∞], where xk is the version of x whose write timestamp is the largest (less than or equal to TS(Tj)). At server the adjustment of V(Tj) should be Vbl(Tj)>max(RTS(x)), that is, V(Tj)=V(Tj)∩[max(RTS(x)), ∞]. This ensures that the final timestamp of Tj, TS(Tj), which is obtained by adding a sufficiently small value to the lower bound of V(Tj), is greater than RTS(xk), which is equal to or greater than TS(Ti). Thus, TS(Ti)≤RTS(xk)<TS(Tj), i.e. TS(Ti)<TS(Tj).
2) Tj is committed before Ti reaches validation phase
For ri[xk], when Ti reaches the validation phase, , the validation interval of Ti will be adjusted: V(Ti)=V(Ti)∩[0, WTS(xk)], where WTS(xk) is equal to TS(Tj). At server if there exists version xk+1 under xk<<xk+1, the adjustment of V(Ti) should be Vbu(Ti)<WTS(xk+1). That is, V(Ti)= V(Ti)∩[0, WTS(xk+1)]. This ensures that TS(Ti) is lesser than WTS(xk). Thus, TS(Ti)<WTS(xk)=TS(Tj), i.e. TS(Ti)<TS(Tj).
Case 2 wi[xi]→rj[xi]
This case will happen when Ti is committed before Tj reads xi. When Tj reads xi, the validation interval of Tj will be adjusted: V(Tj)=V(Tj)∩[WTS(xi), ∞], where WTS(xi) is equal to TS(Tj). It ensures that TS(Tj) is greater than WTS(xi). Thus, TS(Ti)=WTS(xi)<TS(Tj). Therefore TS(Ti)<TS(Tj).
Theorem 1 Every local history(LH) generated by the DMVOCC-MVDA protocol is serializable.
Proof Assume that in the MVSG(LH) generated by DMVOCC-MVDA protocol, there exists a cycle T1→T2→T3→…Tn→T1. According to the results of Lemma 1, There exists
TS(T1)<TS(T2)<…<TS(Tn)<TS(T1).
This results in an unresolvable contradiction. Thus, MVSG(LH) must be acyclic, implying that the schedule must be serializable.
Theorem 2 Every global history(GH) generated by the DMVOCC-MVDA protocol is serializable.
Proof Suppose that MVSG(GH) generated by DMVOCC-MVDA protocol contains a cycle T1→T2→ T3→…Tn→T1, where n>1. For n=2, there probably exist the following two cases.
Case 1 Both transactions are local. Based on Theorem 1, there is TS(T1)<TS(T1), which is contradictory and therefore no cycle can exist.
Case 2 Both transactions are global. Because the proposed protocol executes global operations in both sites, thus the serialization graphs for both sites are identical. Therefore, by Theorem 1 this is TS(T1)<TS(T1). This is contradictory and therefore no cycle can exist.
Suppose that the Theorem 2 holds for n=i for i≥2, it holds for n=i+1. By the induction hypothesis, the path T1→…→Ti implies that TS(T1)<TS(Ti). By Ti→Ti+1 there are two possible cases to be considered.
Case 1 Both transactions Ti and Ti+1 are local transactions. Then by Lemma 1, there exists TS(T1)<TS(Ti)<TS(Ti+1)<TS(T1) at least one site. This is contradictory and therefore no cycle can exist.
Case 2 Both transactions Ti and Ti+1 are global. Then based on Lemma 1, there exists TS(T1)<<TS(Ti)<TS(Ti+1)<TS(T1) at least one site. This is contradictory and therefore no cycle can exits.
Therefore, no cycle can exist in MVSG(GH), and thus the DMVOCC-MVDA protocol produces only global serializable histories.
7 Performance evaluation
The simulation experiments study the performance of the proposed new concurrency control protocol (DMVOCC-MVDA), DTO-2PC (DTO combined with 2PC)[7], and DHP-2PL[1] in real-time broadcast environments. The major performance of these protocols is the miss rate. Other performance includes restart rate, commit rate[13]. The simulation model consists of servers, MHs, fixed hosts(FHs), BSs and broadcast disks[14-15]. The servers maintain and broadcast multiple versions for each data item to MHs periodically. Different data items may be broadcast at different rates. The data items of the broadcast are divided in the ranges of similar access probabilities. Each of these ranges is placed on a separate disk. Older versions of hot items are placed along with the current values of hot items on the fast disks, while versions of cold data are placed slow disks. Thus, in a broadcast cycle, hot data items are broadcast frequently, clod data items are broadcast less frequently.
At the beginning of every broadcast cycle, the server broadcasts validation information of the committed transactions in the last broadcast cycle. After the completion of a transaction, MH will generate another transaction after a think time. The deadline of a mobile transaction is assigned as (CTime+SFactor×PExecutionTime), where CTime is the current system time, SFactor is the slack factor, and PExecutionTime is the predicted execution time and a function of transaction length. Table 1 lists the baseline setting for the simulation experiments. These parameters are chosen in order to create a scenario with high utilization and data contention. A mobile transaction is processed until it is committed. Once the transaction deadline is found missing, the transaction will be aborted.
Table 1 Parameters of simulation experiments

Fig.1 shows the miss rate of mobile transactions under different concurrency control mechanisms. It can be seen that DMVOCC-MVDA improves the systems performance in terms of miss rate. The miss rate of DMVOCC-MVDA is significantly lower than that of DTO-2PC. The DHP-2PL is relatively poor. When think time is 1 s, the miss rate of DMVOCC-MVDA is only 14.6%, while that of DHP-2PL reaches 48.2%. This is because multiversion mechanism removes the conflict between read-only transactions and update transactions in DMVOCC-MVDA. Transaction local pre-validation is performed at MH. Such an early data conflict detection feature can save processing and communication resources. Since DTO-2PC is single version protocol, mobile read-only transactions are frequently blocked by mobile update transactions, thus causing long response time of mobile transactions and miss rate of mobile transactions. In DHP-2PL the overhead for setting locks and detecting data conflicts in mobile environment can be very heavy due to the low bandwidth in mobile broadcast environments. The transaction may spend lots of time for waiting for data locks, and thus missing its deadline. Deadlock detect is too expensive in mobile broadcast environments. The MH requires continuous synchronization with servers for data locks.

Fig.1 Miss rate of mobile transactions vs think time
Fig.2 shows the restart of mobile transactions under different concurrency control mechanisms. It can be seen that DMVOCC-MVDA effectively reduces the restart rate of mobile transactions. When think time is 1 s, the restart rate of DMVOCC-MVDA is only 32.3%, while that of DHP-2PL reaches 105.3%. This is because multiversion mechanism removes the conflict between mobile read-only transactions and mobile update transactions. The technology of multiversion dynamic adjustment of serialization order can prevent unnecessary restarts of transaction. Therefore, the number of transaction restarts can be greatly reduced.

Fig.2 Restart rate of mobile transactions vs think time
Fig.3 shows the commit rate of mobile transactions under different concurrency control mechanisms. It can be seen that the commit rate of DMVOCC-MVDA is significantly higher than that of other protocols. When think time is 1 s, the miss rate of DMVOCC-MVDA reaches 61.2%, while that of DHP-2PL is only 41.3%. The major reason is that DMVOCC-MVDA significantly reduces the miss rate and restart of mobile transactions.

Fig.3 Commit rate of mobile transactions vs think time
8 Conclusions
1) The distributed real-time transaction processing in mobile broadcast environments are studied. Each MH should minimize wireless communication to reduce the contention of the narrow bandwidth in mobile broadcast environment. Mobile read-only transactions should be committed with no-blocking. Data conflicts should be detected as soon as possible at the MHs to avoid any wastage of resources and to reduce the response time of mobile transactions. More schedules of transaction executions should be allowed to avoid unnecessary transaction restarts.
2) DMVOCC-MVDA protocol is designed to process mobile distributed real-time transaction in mobile broadcast environments. At the MHs, all mobile transactions perform local pre-validation of transactions. The protocol can eliminate conflicts between mobile read-only and mobile update transactions, and resolve data conflicts flexibly using multiversion dynamic adjustment of serialization order to avoid unnecessary restarts of transactions. Mobile read-only transactions can be committed with no-blocking, and respond time of mobile read-only transactions is greatly reduced.
3) The simulation results show that the new concurrency control protocol proposed offers better performance in terms of miss rate, restart rate and commit rate.
References
[1] LAM K Y, KUO T W, TSANG W H. Concurrency control in mobile distributed real-time database systems [J]. Information Systems, 2000, 25(4): 261-286.
[2] LIAO Guo-qiong, LIU Yun-sheng, WANG Li-na. Concurrency control of real-time transactions with disconnections in mobile computing environment [C]// The 2003 International Conference on Computer Networks and Mobile Computing (ICCNMC03). Washington DC: IEEE Computer Society Press, 2003: 205-212.
[3] LEE S K, KITSUREGAWA M, HWANG C S. Efficient processing of wireless read-only transactions in data broadcast [C]// The 12th International Workshop on Research Issues in Data Engineering: Engineering E-Commerce/E-Business Systems RIDE-2EC. Washington DC: IEEE Computer Society Press, 2002: 101-111.
[4] LI Guo-hui, YANG Bing, CHEN Ji-xiong. Efficient optimistic concurrency control for mobile real-time transactions in a wireless data broadcast environment [C]// The 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’05). Washington, DC: IEEE Computer Society Press, 2005: 443-446.
[5] BRAVNER A, ALENCAR F S. A semantic-serializability based fully-distributed concurrency control mechanism for mobile multi-database systems [C]// The 16th International Workshop on Database and Expert Systems Applications (DEXA’05). Washington DC:IEEE Computer Society Press, 2005: 1085-1089.
[6] LEI Xiang-dong, YUAN Xiao-li. Validation concurrency control protocol in parallel real-time database systems [J]. Journal of Central South University of Technology, 2002, 9(3): 198-201.
[7] LEE V C S, LAM K W, SON S H. On transaction processing with partial validation and timestamp ordering in mobile broadcast environments [J]. IEEE Transactions on Computers, 2002, 51(10): 1196-1211.
[8] LEE V C S, LAM K W, KUO T W. Efficient validation of mobile transactions in wireless environments [J]. The Journal of Systems and Software, 2004, 69(1): 183-193.
[9] LEI Xiang-dong, ZHAO Yue-long, YUAN Xiao-li. Transaction processing in mobile database systems [J]. Chinese Journal of Electronics, 2005, 14(3): 491-494.
[10] KUMAR V, PRABHU N, DUNHAM M H, SEYDIM A Y. TCOT—A timeout-based mobile transaction commitment protocol [J]. IEEE Transactions on Computers, 2002, 51(10): 1212-1218.
[11] LINDSTR?M J. Performance of distributed optimistic concurrency control in real-time databases [C]// The 17th International Conference on Information Technology (CIT 04). Berlin Heidelberg: Springer-Verlage, 2004, 3356: 243-252.
[12] PARK C, PARK S, SON S H. Multiversion locking protocol with freezing for secure real-time database systems [J]. IEEE Transactions on Knowledge and Data Engineering, 2002, 5(14): 1141-1154.
[13] DATA A, SON S H. Limitations of priority cognizance in conflict resolution for firm real-time database systems [J]. IEEE Transaction on Computers, 2000, 49(5): 483-501.
[14] PITOURA E, CHRYSANTHIS P K. Multiversion data broadcast [J]. IEEE Transactions on Computers, 2002, 51(10): 1224-1230.
[15] GUOHONG C. Proactive power-aware cache management for mobile computing systems [J]. IEEE Transactions on Computers, 2002, 51(6): 608-621.
Foundation item: Project(20030533011) supported by the National Research Foundation for the Doctoral Program of Higher Education of China
Received date: 2007-12-15; Accepted date: 2008-03-09
Corresponding author: LEI Xiang-dong, Doctoral candidate; Tel:+86-13786153879; E-mail: leixiangdong@csu.edu.cn
(Edited by CHEN Wei-ping)