lsd0004

LSD0004: R5N Distributed Hash Table
Log | Files | Refs

commit 71f3170177109c5a9882bcf958bcd4b594b9fdb0
parent 8fbd6bbedb0fe25f4d35378da2dc0a163e867400
Author: Christian Grothoff <grothoff@gnunet.org>
Date:   Sat, 12 Mar 2022 02:01:32 +0100

add sketch for next-hop-target-count calculation description

Diffstat:
Mdraft-schanzen-r5n.xml | 30+++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml @@ -550,11 +550,11 @@ Connectivity | |Underlay| |Underlay| <tt>M</tt> to a peer <tt>P</tt>. </dd> <dt> - <tt>S = ESTIMATE_NETWORK_SIZE()</tt> + <tt>L2NSE = ESTIMATE_NETWORK_SIZE()</tt> </dt> <dd> - A procedure that provides estimates on the network size - <tt>S</tt>, that is the number of peers in the network, + A procedure that provides estimates on the base-2 logarithm of the network size + <tt>L2NSE</tt>, that is the base-2 logarithm number of peers in the network, for use by the routing algorithm. </dd> </dl> @@ -925,7 +925,20 @@ bchar = *(ALPHA / DIGIT) (cf. <tt>SelectClosestpeer(K)</tt>). Peers with a positive test in the Bloom filter <tt>B</tt> are not considered. </dd> - <!--FIXME: add function to calcualte number of next hops here... --> + <dt> + <tt>ComputeOutDegree(REPL_LVL, HOPCOUNT, L2NSE) -&gt; Number</tt> + </dt> + <dd> + This function computes the number of neighbours + that a message should be forwarded to. The arguments + are the desired replication level (<tt>REPL_LVL</tt>), the <tt>HOPCOUNT</tt> of the message so far, and + the base-2 logarithm of the current network + size estimate (<tt>L2NSE</tt>) as provided + by the underlay. The result + is the non-negative number of next hops to + select. + <!-- FIXME: specify full function! --> + </dd> </dl> </section> </section> @@ -1355,9 +1368,8 @@ bchar = *(ALPHA / DIGIT) <li> Given the value in <tt>REPL_LVL</tt>, <tt>HOPCOUNT</tt> and the result of <tt>IsClosestpeer(SELF, BLOCK_KEY)</tt> the number of peers to - forward to <bcp14>MUST</bcp14> be calculated. - <!-- FIXME: formula for calculation is where exactly? - Maybe add another routing function above and reference it here??? --> + forward to <bcp14>MUST</bcp14> be calculated + using <tt>ComputeOutDegree()</tt>. The implementation <bcp14>SHOULD</bcp14> select up to this number of peers to forward the message to. The implementation <bcp14>MAY</bcp14> forward to fewer or no peers in order to handle resource constraints @@ -1583,8 +1595,8 @@ bchar = *(ALPHA / DIGIT) </li> <li> Given the value in <tt>REPL_LVL</tt>, the number of peers to forward to - <bcp14>MUST</bcp14> be calculated - (FIXME: as above, we need to describe here how to calulate NUM-FORWARD-peerS). + <bcp14>MUST</bcp14> be calculated using + <tt>ComputeOutDegree()</tt>. If there is at least one peer to forward to, the implementation <bcp14>SHOULD</bcp14> select up to this number of peers to forward the message to. The implementation <bcp14>MAY</bcp14>