Next: Formal Specification
Up: Secure Transaction Protocol
Previous: Protocol States
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.
Figure 2: STP State Machine
Next: Formal Specification
Up: Secure Transaction Protocol
Previous: Protocol States
Douglas H. Steves
Sun May 4 15:10:15 CDT 1997