File: Overlay/Koorde/Koorde.ned
C++ definition: click here
(no description)
The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.
If a module type shows up more than once, that means it has been defined in more than one NED file.
KoordeModules | Implementation of the Koorde DHT overlay as described in "Koorde: A simple degree-optimal distributed hash table" by M. Frans Kaashoek and David R. Karger,. published in Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS '03). |
Name | Type | Description |
---|---|---|
debugOutput | bool | enable debug output? |
stabilizeDelay | numeric | number of seconds between two stabilize algo calls |
hopCountMax | numeric | maximal number of hops |
keyLength | numeric | overlay key length |
joinOnApplicationRequest | bool | only join the overlay on application request |
useCommonAPIforward | bool | enable CommonAPI forward() calls |
collectPerHopDelay | bool | delay statistics for single hops |
routeMsgAcks | bool | use RPCs for route messages |
routingType | string | default routing mode (iterative, semi-recursive,...) |
recNumRedundantNodes | numeric | numRedundantNodes for recursive routing |
lookupRedundantNodes | numeric | number of next hops in each step |
lookupParallelPaths | numeric | number of parallel paths |
lookupParallelRpcs | numeric | number of nodes to ask in parallel |
lookupSecure | bool | true, if all nodes should be identified with a ping |
lookupMerge | bool | true, if parallel Rpc results should be merged |
lookupStrictParallelRpcs | bool | limited the number of concurrent rpcs to parameter parallelRpcs |
lookupUseAllParallelResponses | bool | merge all parallel responses from earlier steps |
lookupNewRpcOnEveryTimeout | bool | send a new RPC immediately after an RPC timeouts |
lookupNewRpcOnEveryResponse | bool | send a new RPC after every response, even if there was no progress |
lookupFinishOnFirstUnchanged | bool | finish lookup, if the last pending RPC returned without progress |
lookupFailedNodeRpcs | bool | communicate failed nodes |
stabilizeRetry | numeric | retries before neighbor considered failed |
joinRetry | numeric | number of join retries |
joinDelay | numeric | time interval between two join tries |
successorListSize | numeric | maximal number of nodes in successor list |
deBruijnListSize | numeric | maximal number of nodes in de Bruijn list |
shiftingBits | numeric | number of bits concurrently shifted |
deBruijnDelay | numeric | number of seconds between two de Bruijn algo calls |
fixfingersDelay | numeric | relic from Chord |
aggressiveJoinMode | bool | use modified (faster) JOIN protocol |
extendedFingerTable | bool | use the extended finger table? |
numFingerCandidates | numeric | |
proximityRouting | bool | use proximity routing |
drawOverlayTopology | bool | draw arrow to successor node? |
useOtherLookup | bool | deBruijnRetry : numeric, // number of de Bruijn retries resetDeBruijnNode: numeric, |
useSucList | bool | flag which is indicating that the optimization using the successorlist is enabled |
localPort | numeric | UDP port for Koorde messages |
mergeOptimizationL1 | bool | enable merge optimization OPL1 |
mergeOptimizationL2 | bool | activate merge optimization OPL2 |
mergeOptimizationL3 | bool | activate merge optimization OPL3 |
mergeOptimizationL4 | bool | activate merge optimization OPL4 |
Name | Direction | Description |
---|---|---|
from_udp [ ] | input | gate from the UDP layer |
to_udp [ ] | output | gate to the UDP layer |
from_app | input | gate from the application |
to_app | output | gate to the application |
direct_in | input | gate for sendDirect |
simple Koorde parameters: debugOutput: bool, // enable debug output? stabilizeDelay: numeric, // number of seconds between two stabilize algo calls hopCountMax: numeric, // maximal number of hops keyLength: numeric, // overlay key length joinOnApplicationRequest: bool, // only join the overlay on application request useCommonAPIforward: bool, // enable CommonAPI forward() calls collectPerHopDelay: bool, // delay statistics for single hops routeMsgAcks: bool, // use RPCs for route messages routingType: string, // default routing mode (iterative, semi-recursive,...) recNumRedundantNodes : numeric, // numRedundantNodes for recursive routing lookupRedundantNodes: numeric, // number of next hops in each step lookupParallelPaths: numeric, // number of parallel paths lookupParallelRpcs: numeric, // number of nodes to ask in parallel lookupSecure: bool, // true, if all nodes should be identified with a ping lookupMerge: bool, // true, if parallel Rpc results should be merged lookupStrictParallelRpcs: bool, // limited the number of concurrent rpcs to parameter parallelRpcs lookupUseAllParallelResponses: bool, // merge all parallel responses from earlier steps lookupNewRpcOnEveryTimeout: bool, // send a new RPC immediately after an RPC timeouts lookupNewRpcOnEveryResponse: bool, // send a new RPC after every response, even if there was no progress lookupFinishOnFirstUnchanged: bool, // finish lookup, if the last pending RPC returned without progress lookupFailedNodeRpcs: bool, // communicate failed nodes stabilizeRetry: numeric, // retries before neighbor considered failed joinRetry: numeric, // number of join retries joinDelay: numeric, // time interval between two join tries successorListSize: numeric, // maximal number of nodes in successor list deBruijnListSize: numeric, // maximal number of nodes in de Bruijn list shiftingBits: numeric, // number of bits concurrently shifted deBruijnDelay: numeric, // number of seconds between two de Bruijn algo calls fixfingersDelay: numeric, // relic from Chord aggressiveJoinMode: bool, // use modified (faster) JOIN protocol extendedFingerTable: bool, // use the extended finger table? numFingerCandidates: numeric, proximityRouting: bool, // use proximity routing drawOverlayTopology: bool, // draw arrow to successor node? //deBruijnRetry : numeric, // number of de Bruijn retries //resetDeBruijnNode: numeric, useOtherLookup: bool, // flag which is indicating that the optimization other lookup is enabled useSucList: bool, // flag which is indicating that the optimization using the successorlist is enabled localPort: numeric, // UDP port for Koorde messages mergeOptimizationL1: bool, // enable merge optimization OPL1 mergeOptimizationL2: bool, // activate merge optimization OPL2 mergeOptimizationL3: bool, // activate merge optimization OPL3 mergeOptimizationL4: bool; // activate merge optimization OPL4 gates: in: from_udp[]; // gate from the UDP layer out: to_udp[]; // gate to the UDP layer in: from_app; // gate from the application out: to_app; // gate to the application in: direct_in; // gate for sendDirect endsimple