Content deleted Content added
Diction: changed "overcome" to "facilitated" in the last paragraph. You don't "overcome" an assumption. In this case, you may "facilitate" it by mitigating vulnerabilities... |
GeorgeBills (talk | contribs) Pseudoalgorithm |
||
Line 12:
Some of the assumptions of the algorithm can be facilitated using a more reliable communication protocol such as [[Internet protocol suite|TCP/IP]]. The algorithm can be adapted so that there could be multiple snapshots occurring simultaneously.
==Working==
The snapshot algorithm works like so:
# The observor process (the process taking a snapshot):
## Saves its own local state
## Sends a snapshot request message bearing a snapshot token to all other processes
# A process receiving the snapshot token *for the first time* on *any* message:
## Sends the observor process its own saved state
## Attaches the snapshot token to all subsequent messages (to help propogate the snapshot token)
# Should a process that has already received the snapshot token receive a message that does not bear the snapshot token, this process will forward that message to the observor process. This message was obviously sent before the snapshot "cut off" (as it does not bear a snapshot token and thus must have come from before the snapshot token was sent out) and needs to be included in the snapshot.
From this, the observor builds up a complete snapshot: a saved state for each process and all messages "in the ether" are saved.
[[Category:Algorithms]]
|