|
MuWire uses a Markov based algorithm to control connectivity between peers. We consider three states that MuWire connections can be in at any given time:
|
|
MuWire uses a Markov based algorithm to control connectivity between nodes.
|
|
|
|
|
|
|
|
We consider three states that MuWire connections can be in at any given time:
|
|
|
|
|
|
* (S)UCCESSFUL
|
|
* (S)UCCESSFUL
|
|
* (R)EJECTED
|
|
* (R)EJECTED
|
... | @@ -16,25 +18,25 @@ The 9 state transition probabilities ( STP ) are adjusted during runtime and ini |
... | @@ -16,25 +18,25 @@ The 9 state transition probabilities ( STP ) are adjusted during runtime and ini |
|
* 0.5, 0.0 and 0.5
|
|
* 0.5, 0.0 and 0.5
|
|
* 0.5, 0.0 and 0.5
|
|
* 0.5, 0.0 and 0.5
|
|
|
|
|
|
We record state transitions in a database histogram and continuously adjust them according to their relative frequency ( non-stationary )
|
|
We record state transitions in a database histogram and continuously adjust them according to their relative frequency ( non-stationary distribution )
|
|
|
|
|
|
We initially assume that we are in a SUCCESSFUL state.
|
|
We initially assume that we are in a SUCCESSFUL state.
|
|
|
|
|
|
Every subsequent connection attempt is made according to the current STP.
|
|
Every subsequent connection attempt is made according to the current STP.
|
|
|
|
|
|
The general characteristics of this algorithms are:
|
|
The general characteristics of this algorithm are:
|
|
|
|
|
|
* Starts out with a stationary distribution
|
|
* Starts out with a stationary distribution
|
|
* After a certain amount of samples have been recorded STP's are being updated constantly
|
|
* After a certain amount of samples have been recorded STP's are being updated constantly
|
|
* MW nodes with good connectivity are favored as connection attempts with higher STP's are more likely to occur
|
|
* Nodes with good connectivity are favored as connection attempts with higher STP's are more likely to occur
|
|
* Accommodates for short and long term connectivity characteristics
|
|
* Accommodates for short and long term connectivity characteristics
|
|
* Nodes that fail constantly will eventually reach a FF STP of 1.0 so they will not be connected any more
|
|
* Nodes that fail constantly will eventually reach a FF STP of 1.0 so they will not be connected any more
|
|
|
|
|
|
After a node has reached a certain FF threshold ( currently fixed at 95% ) it is considered to be hopeless and is therefore purged from the history and connection table.
|
|
After a node has reached a certain FF STP threshold ( currently fixed at 95% ) it is considered to be hopeless and is therefore purged from the history connection table.
|
|
|
|
|
|
No further outgoing connection attempts are made to this node.
|
|
No further outgoing connection attempts are made to this node.
|
|
|
|
|
|
If however at any point in the future the hopeless node is able to reconnect with us ( incoming connection ) it will be treated according to the initial SUCCESSFUL state.
|
|
If however at any point in the future the hopeless node is able to reconnect with us ( incoming connection ) it will be treated according to the initial SUCCESSFUL state conditions.
|
|
|
|
|
|
|
|
|
|
|
|
|
... | | ... | |