Check out the new USENIX Web site. next up previous
Next: Formal Specification Up: Secure Transaction Protocol Previous: Protocol States

Protocol State Transitions

Transactions move between states according to messages sent or received. Invalid messages (those without a verifiable signature or that are not acceptable in the current state of the transaction) are discarded without affecting the state of the transaction.

null state
Processes begin each transaction in the null state. For a transaction in this state, processes may send the following message:
T-start
will cause the transaction to remain in the null state.

Processes may receive the following messages:
T-start
may be accepted or rejected. If the transaction is accepted, the transaction moves into the receiving state; if it is rejected, the transaction remains in the null state.
T-accept
will cause the transaction to move into the sending state if the message was sent in response to a T-start message sent previously by the process.
T-fault
has no effect on the process.

sending state
If a transaction is in the sending state, a process may send the following messages:
T-data
will cause the transaction to remain in the sending state.
T-token
will cause the transaction to move to the receiving state.
T-abort
will cause the transaction to move to the aborted state.
T-commit
will cause the transaction to move to the ready state.

Processes may receive the following message:
T-fault
will cause the transaction to move to the aborted state.

receiving state
For a transaction in the receiving state, a process may receive the following messages:
T-data
will cause the transaction to remain in the receiving state.
T-token
will cause the transaction to move to the sending state.
T-abort
will cause the transaction to move to the aborted state.
T-commit
enables the process to commit or abort the transaction. Sending:
T-commit
will cause the transaction to move to the committed state.
T-abort
will cause the transaction to move to the aborted state.

T-fault
will cause the transaction to move to the aborted state.

ready state
For a transaction in the ready state, a process may send no new messages and may receive the following messages:
T-abort
will cause the transaction to move to the aborted state.
T-commit
will cause the transaction to move to the committed state.
T-fault
will cause the transaction to remain in the ready state and to resend T-commit.

committed, aborted states
A transaction in either the committed or aborted states is in a terminal state.

The state machine for STP, excluding the T-fault message type, is depicted in Figure 2.

 

figure255


Figure 2:  STP State Machine


next up previous
Next: Formal Specification Up: Secure Transaction Protocol Previous: Protocol States

Douglas H. Steves
Sun May 4 15:10:15 CDT 1997