Conceptul de capacitate de comandă a fost propus inițial de Esvaran sub forma unui protocol de blocare în două faze.
Protocolul de blocare în două faze constă în următoarele:
1. Înainte de a efectua orice operațiune cu un obiect, tranzacția trebuie să blocheze acest obiect.
2. După eliminarea blocării, tranzacția nu ar trebui să impună alte blocări.
Tranzacțiile utilizate în acest protocol nu diferă în funcție de tipuri și sunt considerate exclusive (adică blocări X).
Teorema lui Eswaran. Dacă toate tranzacțiile din amestec fac obiectul unui protocol de blocare în două faze, atunci pentru toate grafurile intercalate există posibilitatea de a comanda.
Protocolul de interblocare în două faze se caracterizează prin două faze:
- 1 faza - creștere a încuietorilor. În această fază se aplică blocarea și se efectuează lucrări cu obiecte blocate.
- 2 faze - îndepărtarea încuietorilor. În această fază, încuietorile sunt eliberate. Lucrul cu datele blocate anterior poate continua.
Operarea tranzacției pentru un astfel de protocol poate fi reprezentată de schema din Figura 1:
Figura 1 Funcționarea unei tranzacții utilizând un protocol de blocare în două faze
Figura 2 prezintă un exemplu de tranzacție care nu respectă protocolul de blocare în două faze:
Figura 2 Tranzacție care nu respectă protocolul de blocare în două faze
În practică, de regulă, a doua fază este redusă la o finalizare a unei tranzacții (sau o tranzacție de retragere), cu eliminarea simultană a tuturor încuietorilor.
Corolar. În cazul în care unele tranzacție A nu se supune protocolul de blocare în două faze (și, prin urmare, este format din cel puțin două blocare și funcționare deblocare), putem construi întotdeauna o altă tranzacție B, care atunci când se efectuează în mod alternativ cu o conduce la graficul care nu este supus raționaliza și în consecință, incorectă.