Locking protocol들은 실행 중 동적으로 locking 순서가 결정되지만, Timestamp-based protocol은 트랜잭션들 사이에 순서가 결정된다.
for each operation Ti
do case operation-type(Ti) = read(Q)
do case TS(Ti) < W-timestamp(Q) {
reject read operation;
rollback Ti; }
case TS(Ti) >= W-timestamp(Q) {
execute read operation;
R-timestamp = TS(Ti); }
endcase
case operation-type(Ti) = write(Q)
do case TS(Ti) < R-timestamp(Q){
reject write operation;
rollback Ti; }
case TS(Ti) < W-timestamp(Q){
reject write operation;
rollback Ti; }
otherwise{
execute write operation;
W-timestamp = TS(Ti); }
endcase
endcase