TSSP Procedures: Difference between revisions
Jump to navigation
Jump to search
Line 25: | Line 25: | ||
# connection broken | # connection broken | ||
# operation canceled | # operation canceled | ||
# operation interrupted | # operation interrupted (client crash) | ||
# size mismatch | # size mismatch | ||
# invalid schema | # invalid schema | ||
Line 36: | Line 36: | ||
# exit | # exit | ||
# exit | # exit | ||
# | # no action | ||
# retry (limit?) | # retry (limit?) | ||
# exit | # exit | ||
Line 53: | Line 53: | ||
# connection broken | # connection broken | ||
# operation canceled | # operation canceled | ||
# operation interrupted | # operation interrupted (client crash) | ||
# size mismatch | # size mismatch | ||
# input stream closed | # input stream closed | ||
</td> | </td> | ||
<td> | <td> | ||
# try next depot/resource if available. otherwise, | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# try next depot/resource if available. otherwise, | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# redo allocate | # redo allocate | ||
# redo allocate | # redo allocate | ||
# try next depot/resource if available. otherwise, | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# retry (limit?). otherwise, decrement successful allocations, purge metadata, and exit | # retry (limit?). otherwise, decrement successful allocations, purge metadata, and exit | ||
# decrement successful allocations, purge metadata, and exit | # decrement successful allocations, purge metadata, and exit | ||
# | # no action. results in inaccessible channel capacity and content | ||
# decrement successful allocations, purge metadata, and exit | # decrement successful allocations, purge metadata, and exit | ||
# decrement successful allocations, purge metadata, and exit | # decrement successful allocations, purge metadata, and exit | ||
Line 77: | Line 77: | ||
# connection timeout | # connection timeout | ||
# authentication failed | # authentication failed | ||
# empty set returned | # empty set returned (i.e. non-existent resource) | ||
# connection broken | # connection broken | ||
# operation canceled | # operation canceled | ||
Line 85: | Line 85: | ||
# exit | # exit | ||
# exit | # exit | ||
# exit | # exit | ||
# retry (limit?). otherwise, exit | # retry (limit?). otherwise, exit | ||
# exit | # exit | ||
Line 121: | Line 121: | ||
</td> | </td> | ||
<td> | <td> | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # try next depot/resource if available. otherwise, execute channel teardown, purge metadata, and exit | ||
# | # exit | ||
# | # no action. results in inaccessible channel capacity | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 143: | Line 143: | ||
# connection broken | # connection broken | ||
# operation canceled | # operation canceled | ||
# operation interrupted | # operation interrupted (client crash) | ||
</td> | </td> | ||
<td> | <td> | ||
# | # retry (limit?). otherwise cache locally(?) or execute channel teardown | ||
# | # cache locally(?) or execute channel teardown | ||
# | # execute channel teardown | ||
# | # execute channel teardown | ||
# | # execute channel teardown | ||
# | # retry (limit?). otherwise cache locally or execute channel teardown | ||
# | # execute channel teardown | ||
# | # no action. results in inaccessible channel capacity and content | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 165: | Line 165: | ||
</td> | </td> | ||
<td> | <td> | ||
# | # exit | ||
# | # exit | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 183: | Line 183: | ||
</td> | </td> | ||
<td> | <td> | ||
# | # | ||
# - | # - | ||
# - | # - |
Revision as of 20:12, 31 January 2008
This section contains recommendations pertaining to the Issues section of the TSSP Framework article.
(back to Protocol Standardization Efforts)
Fault Tolerance
The steps that compose the five proposed standard operations are shown ranked by how many times they appear in the operations' construction. Also, each step is categorized as being able, or desired, to be implemented in parallel. Steps that support parallelism assume that the failure of one of the executing threads compromises the entire operation, triggering aggressive rollback when possible. Inability to rollback can result in several undesired channel states:
- Inaccessible channel capacity (can not be remedied by TSSP)
- Inaccessible channel content (can not be remedied by TSSP)
- Skewed channel duration
- Skewed channel capacity
Step | Occurrence | Parallel (T/F) | Cause of Failure | Procedure |
---|---|---|---|---|
obtain metadata | 5 | F |
|
|
fill channel (store/copy) | 3 | T |
|
|
obtain depot set | 2 | T |
|
|
determine next depot | 2 | F |
|
|
reserve channel (alloc) | 2 | T |
|
|
publish/record metadata | 2 | F |
|
|
order depot set | 1 | F |
|
|
expire channel | 1 | T |
|
|
consume content (load) | 1 | T |
|
|
channel duration | 1 | T |
|
|
channel capacity | 1 | T |
|
|