Concurrency control for Read-Only in Mobile Nested Transactions Luis A. Gama-Moreno 1 , Matías Alvarado 2,1 lgama@sagitario.cic.ipn.mx , matiasa@imp.mx 1 Centro de Investigación en Computación Instituto Politécnico Nacional J. Batiz esq. O. De Mendizabal s/n. C.P. 07738, México, DF, 2 PIMAyC, Instituto Mexicano del Petróleo Eje Central L. Cárdenas 152, CP 07730, México, DF Abstract This paper introduces a concurrency control mechanism for the Mobile Nested Transactions model (MNT), this approach extends the 2PL mechanism for read-only operations. Under Nested Transactions (NT) 2PL, every transaction must wait for its ancestor to hold (by inheritance) the control over the requested lock. This assumption reduces the performance of applications running concurrent transactions. With the proposed lock scheme, a better performance is achieved in read-only concurrent transactions running over mobile environments, consistency and cascade aborts are not compromised. Transactions can accomplish despite of failures originated from: frequent disconnections, limited energy sources or insufficient bandwidth. The proposed approach facilitates transaction processing at oil extraction facilities platforms. These are places at open sea with difficult access to wired networks or the Internet. Keywords Concurrency control, Mobile Transactions, Nested Transactions, Read-Only Transactions, Serializability. 1. Introduction In order to preserve data consistency, concurrency control is used in Database Management Systems (DBMS) [Gray and Reuter, 1994]. The objective is to ensure transactions isolation whenever there are concurrent operations requesting access to the same object; these must be coordinated in order to prevent inconsistencies [Härder and Rothermel, 1993; Lu and Satyanarayanan, 1994], in such a way that each user perceives he/she is the only one with access to the objects (data) [Gama and Alvarado, 2002]. This way, the DBMS is required to guarantee the isolation property [ANSI, 1992; Adya et al., 2000; Lu and Satyanarayanan, 1994], by transaction serialization. That is, when a set of operations among transactions (better known as histories) does not cause inconsistent values, as it happens with a serial execution [Koulinitch and Sheremetov, 1998; Dogdu, 1998; Berenson et al., 1995; Bertino et al., 1998]. Other important properties that must be ensured are: Atomicity, Consistency and Durability [ANSI, 1992]. Different protocols for transaction isolation have been proposed. The most traditional are: Two-Phase Lock (2PL), TimeStamp Ordering (TSO) [Gray and Reuter, 1994; Dogdu, 1998; Bertino et al., 1998] and multiversion [Bernstein and Goodman, 1983]. Likewise, extensions to the concurrency control schemes for flat transactions have also been proposed, these are: an alternative model based on the multiversion approach [Park and Park, 1997], nested transactions [Moss, 1985], nested transactions for real-time databases [Pavlova and Nekrestyanov, 1997], improved locks control in nested transactions [Reddy and Kitsuregawa, 2000] and optimistic protocols [Kung and Robinson, 1981]. In this paper, we present an alternative approach for the concurrency control model proposed in [Moss, 1985], where the main goal is: to extend shared locks (s-lock) accessibility and visibility (for read-only) at any level from the transaction tree, thus improving applications performance. In this schema, a transaction T i can request an s-lock, for read-only, thus ensuring that the locked object can be available for any other transaction T j , that is, T j does not need to wait for : T i to inherit its s-lock control to its direct ancestor, and the s-lock control not only depends from T i direct ancestors.