https://redmine.named-data.net/https://redmine.named-data.net/favicon.ico?14759811232014-08-16T17:22:41ZNDN project issue tracking systemNFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=44122014-08-16T17:22:41ZJunxiao Shi
<ul></ul><p>I'll mock up a simple implementation for evaluation. After that, we can decide whether it should go with v0.2 or v0.3.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=44792014-08-19T08:46:53ZJunxiao Shi
<ul></ul><p>The specific design for this strategy is:</p>
<pre><code>afterReceiveInterest
(not violating scope) /------\
(not duplicate Nonce) / is new \
------------------------> PIT |---Y---> forward to nexthop with lowest routing cost
\ entry? / (except downstream)
\------/
|
N
|
v
/--------\
/ is last \---Y---> suppress
/ outgoing \
| Interest |
\ within /
\ 100ms ? /---N---> forward to unused nexthop with
\--------/ lowest routing cost, or start over
if every nexthop is used
(except current downstream)
</code></pre>
<p>Since the strategy uses nexthops one by one, I suggest the name <strong>one-by-one</strong>.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=44912014-08-20T10:15:10ZJunxiao Shi
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul><p>I'm coding on <code>release-0.2.0</code> branch because it contains more bugfixes, but the target version of this strategy should be decided based on test results.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=44932014-08-20T11:35:12ZJunxiao Shi
<ul><li><strong>% Done</strong> changed from <i>0</i> to <i>40</i></li></ul><p>According to Beichuan's suggestion, this strategy will be named <strong>Best Route version 2</strong>, and the NDN Name would be <code>ndn:/ndn:/localhost/nfd/strategy/best-route/%FD%02</code>.</p>
<p><a class="issue tracker-3 status-5 priority-2 priority-default closed" title="Task: StrategyChoice: allow strategy versioning (Closed)" href="https://redmine.named-data.net/issues/1893">#1893</a> will allow this strategy to be chosen by <code>ndn:/ndn:/localhost/nfd/strategy/best-route</code>, but the full strategy Name is required for now.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=44942014-08-20T12:09:51ZJunxiao Shi
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>40</i> to <i>100</i></li></ul><p><a href="http://gerrit.named-data.net/1166" class="external">Evaluation version</a> is completed.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45012014-08-20T15:05:55ZJunxiao Shi
<ul><li><strong>Subject</strong> changed from <i>Strategy that recognizes consumer retransmission</i> to <i>Best Route Strategy version 2: recognize consumer retransmission</i></li><li><strong>Target version</strong> set to <i>v0.2</i></li></ul><p>20140820 conference call decides to include the strategy in v0.2, given that it doesn't change the behavior of <code>best-route</code> except when consumer retransmits.</p>
<p>Since <a class="issue tracker-3 status-5 priority-2 priority-default closed" title="Task: StrategyChoice: allow strategy versioning (Closed)" href="https://redmine.named-data.net/issues/1893">#1893</a> won't be included in v0.2, we will rename version 2 as <code>ndn:/ndn:/localhost/nfd/strategy/best-route</code>, and rename version 1 as <code>ndn:/ndn:/localhost/nfd/strategy/best-route/%FD%01</code>, so that an unversioned strategy Name selects the new strategy.</p>
<p>We need to run integration tests on the new strategy (currently blocked by <a class="issue tracker-2 status-5 priority-1 priority-lowest closed" title="Feature: Clone from alternate code branch in integration tests (Closed)" href="https://redmine.named-data.net/issues/1895">#1895</a>). If there's major issue, we may retarget this Task to v0.3.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45032014-08-21T07:11:15ZAlex Afanasyev
<ul></ul><p>I have a small concern about this plan. BestRoute is default strategy, but it is default only on user machines. As of right now, on the testbed we are not using BestRoute for any prefixes: we use <code>broadcast</code> for /ndn/broadcast and <code>ncc</code> for everything else.</p>
<p>Unless we provide the same mechanism for ncc, this will not provide a complete solution for communication that involve testbed.</p>
<hr>
<p>Not directly related question. Can this be implemented as a mechanism that can be "plugged-in" into any strategy instead of requiring to make a new strategy? Wild idea, strategy selection can allow to pass "options" for fine tuning the strategy.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45052014-08-21T07:54:00ZJunxiao Shi
<ul><li><strong>Private</strong> changed from <i>No</i> to <i>Yes</i></li></ul><p>I have no plan for NCC new version. NCC is a precise reproduction of CCNx 7002.<br><br>
Testbed needs NCC because it's the only strategy that can retry on multiple faces.</p>
<p>In v0.3 one or more new strategy will be designed for testbed routers (Task <a class="issue tracker-3 status-7 priority-3 priority-high3 closed" title="Task: Strategy for backbone router (Duplicate)" href="https://redmine.named-data.net/issues/1901">#1901</a>).</p>
<hr>
<p>Pluggable, combinable strategy behavior is a research question that hasn't been explored. I discussed this Beichuan in Spring 2013 but there's no outcome.</p>
<p>Parameterized strategy choice is possible but not necessary in current strategies.<br><br>
Best Route version 2 has a <code>MIN_RETRANSMISSION_DURATION</code> parameter, but it should be made adaptive in a future version.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45062014-08-21T07:54:52ZJunxiao Shi
<ul><li><strong>Private</strong> changed from <i>Yes</i> to <i>No</i></li></ul> NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45092014-08-21T10:47:26ZBeichuan Zhangbzhang@cs.arizona.edu
<ul></ul><p>As I mentioned during yesterday's call, while this feature has improved UDP performance, there're a few issues going forward. </p>
<ol>
<li><p>The default strategy on testbed hubs is ncc, which doesn't have this feature. But it supports forwarding interests to multiple nexthops, which helps deal with packet loss. The BestRoute strategy supports retx but only a single path at a time.</p></li>
<li><p>Similar situation to broadcast, supporting multipath but no retx.</p></li>
<li><p>To take advantage of this feature, the consumer app or library needs to initiate retx.</p></li>
</ol>
<p>Ideally we should have a default strategy that supports both multipath and retx. How much time is needed to get a simple one going?</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45792014-08-23T21:51:33ZJunxiao Shi
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Closed</i></li></ul><p>Developer Guide is updated to reflect version 2 behavior.</p>
<p>According to Beichuan suggestion, version 1 can be kept in code, but it shouldn't be described in any documentation.</p>
NFD - Task #1871: Best Route Strategy version 2: recognize consumer retransmissionhttps://redmine.named-data.net/issues/1871?journal_id=45962014-08-24T21:55:07ZAlex Afanasyev
<ul></ul><p>I have updated PDF document on named-data.net website (it has the same name/link and includes new revision information).</p>