|
The concept of database pointers is an extension to the widely used tuple identifers. Database pointers have the efficiency of a shared variable combined with the advantages of using a real-time database system. They allow a fast and predictable way of accessing data in a database without the need of consulting the indexing system of a database. Furthermore database pointers provide an interface that uses a "pointer-like" syntax. This interface is suitable for real-time control system applications using numerous small tasks running at short intervals. Database pointers allow fast and predictable accesses of data without violating neither temporal or logical consistency nor transaction serialization. It can be used together with the relational data model without risking a violation of the integrity of the database. In conncetion with database pointers, we have developed a concurrency control algorithm, called 2V-DBP, that allows co-existence of soft real-time, relational database transactions, and hard real-time database pointer transactions in real-time database management systems. The algorithm uses traditional pessimistic concurrency control (i.e. locking) for soft transactions and versioning for hard transactions to allow them to execute regardless of any database lock. Our evaluation provided evidence that there are benefits for both soft and hard transactions when our algorithm is used. The proposed algorithm is suited for resource-constrained safety critical, real-time systems that have a mix of hard real-time control applications and soft real-time management, maintenance, or user-interface applications. |
|