Detección de Candados Mortales en Bases de Datos Utilizando Redes de Petri

Detección de Candados Mortales en Bases de Datos Utilizando Redes de Petri

José de Jesús Trujillo Ferrara
 

Texto completo de la Tesis     

 


Resumen

EImaginemos que tenemos un grupo de transacciones tal que cada transacción está esperando que otra transacción del mismo grupo libere un recurso compartido. A esta situación se le denomina candado mortal; este problema se puede tratar de diferentes formas: la detección, el análisis y la recuperación [6]. Para la detección se trabajará con redes de Petri para modelar y describir gráficamente el comportamiento de un grupo de "n" transacciones que estén compitiendo por un recurso compartido en la base de datos. El grafico generado se analizará para determinar si algunas transacciones se encuentran esperando a que se libere un recurso o, a que una transacción finalice. Si se detecta un candado mortal, se tendrá que brindar los recursos que necesita a una transacción para que termine su ejecución, dejando bloqueadas las demás transacciones; al terminar la primera transacción se debe poner en ejecución a las restantes. En la fase de recuperación se tiene que estar en constante revisión el comportamiento general de las transacciones y los recursos de la base de datos; con la finalidad de generar otro grafico y realizar el análisis de detección, en este caso se tendrá que bloquear la ejecución de una y liberar los recursos que esté utilizando. Para esta tesis se trabajo con un conjunto de transacciones que se deseen poner en ejecución concurrentemente. Con la finalidad de evitar candados mortales. Si se detecta que este conjunto de transacciones tienen conflictos se optará por reiniciar una transacción.