A Replication Algorithm

Masters' Thesis:

You can get a copy of my Masters' Thesis here.

As computers have become essential parts of our daily activities, real time computing is emerging as an important discipline and an open research area in computer science & engineering . Many real time systems are now being used in safety critical applications in which human lives or expensive machinery may be at stake. Their missions are often long lived making maintenance and reconfiguration difficult. Examples of such applications include command and control, industrial automation, aerospace and defense systems, telecommunications etc. The demands of the operating environment of such systems often pose rigid requirement on their timely performance. To satisfy these requirements, the system may need to trigger necessary transactions (Real-Time) to react to the critical events. Transactions in real time databases (RTDB) should not only consider logical consistency but also consider timing constraints and temporal consistency of the data . Maintaining temporal consistency in real time databases is very difficult due to its unpredictable data access. Recently, developers of Real-Time systems have recognized the need for research in database systems that satisfy timing constraint requirements in reading and updating data. On the other hand, many of the above-mentioned applications are globally distributed rather than centralized and an application at one site requires communication with the same application at another site. This forces the need for a distributed version of the real time database system. Applying the principles of real time systems and the database systems complicates the issues like communication between a database on one site and a database on the other site, concurrency control, maintaining temporal consistency etc. The added communication costs makes the timing property of the requests on the remote site more unpredictable. Therefore accessing or updating the data on local site may take less time than that on the remote site. One of the solutions, to make the data available on the local site and minimize the response time, is replication of data from the remote site to the local site. But to maintain the temporal consistency, the replication strategy should consider all the real time parameters like period and deadline of the requesting transactions. Thus replication of data in a distributed real time databases presents a challenging problem especially in the distributed real time object oriented databases (DRTOODB). In my thesis, I have developed an algorithm for creating real time replication transactions, in a DRTOODB, based on the data requirements and transaction requirements in a static system. I have chosen an object-oriented database, rather than relational, because object-oriented databases can handle the large and complex data found in most of the real-time applications. After developing the algorithm I will map the replication transaction model to real time concurrency control protocols like "Distributed Priority Ceiling Protocol (DPCP)" and "Distributed Affected Set Priority Ceiling Protocol (DASPCP)" and analyze the system using these protocols. I will also consider the issues like concurrency control, fault tolerance, security, and transparency of replication to the client.

Publications:

1) P. Peddi, L. DiPippo, "A Replication Strategy for Distributed Real-Time Object-Oriented Databases", to appear in the Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2002), April 29 - May 1, 2002, Arlington, Virginia.

The above listed paper describes a replication algorithm for distributed real-time object-oriented databases in a static environment. All data requirements are specified a priori, and the algorithm creates replication transactions that copy remote data to a local site in order to guarantee that every data request reads temporally valid data. The algorithm conditions are proven to be necessary and sufficient for providing this guarantee. Test results indicate that under most conditions, this replication strategy is better than total replication, which is a typical strategy used in distributed databases. Click here to get a copy of the paper.