1. Field of the Invention
This invention relates to managing transactions in three-tier distributed database systems, and more particularly relates to managing real-time transactions in three-tier distributed database systems.
2. Description of the Related Art
A three-tier distributed database system consists of mobile client databases, which synchronize data with mid-tier or mirror databases, which in turn contain data replicated from source databases. When a mobile client database performs synchronization, a set of client database operations is sent to a mirror database. During replication, these operations are transmitted from the mirror database to the source databases. Due to the existence of multiple mirror databases, the operations may be rejected because of conflicts with other pending operations submitted by clients of other mirror databases. Since the replication window can be arbitrarily large, the mirror databases are not always consistent with each other or with the source databases. Further, there is a need for an apparatus that enables mobile clients to directly submit mobile transactions to a mirror database (versus waiting for synchronization between the same). A mobile transaction is a database transaction that originates from a mobile client, but is executed on a mirror database, and the results are returned to the mobile client. When a mobile client submits a mobile transaction to a mirror database, the mirror database may not have the most up-to-date data until replication with the source databases and the other mirror databases is performed. Thus, there is a need for an apparatus that determines in real-time whether a given mobile transaction or synchronization to be executed on a given mirror database may be rejected upon replication because of other pending transactions (awaiting replication).