Re: [Roll] Suggestions for draft-ji-roll-traffic-aware-objective-function-00

Remous-Aris Koutsiamanis <aris@ariskou.com> Tue, 16 January 2018 13:11 UTC

Return-Path: <aris@ariskou.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E9438131516 for <roll@ietfa.amsl.com>; Tue, 16 Jan 2018 05:11:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mailfence.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J1NgniRp1gsk for <roll@ietfa.amsl.com>; Tue, 16 Jan 2018 05:11:52 -0800 (PST)
Received: from mailout-l3b-97.contactoffice.com (mailout-l3b-97.contactoffice.com [212.3.242.97]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D501D1314F4 for <roll@ietf.org>; Tue, 16 Jan 2018 05:09:38 -0800 (PST)
Received: from smtpauth2.co-bxl (smtpauth2.co-bxl [10.2.0.24]) by mailout-l3b-97.contactoffice.com (Postfix) with ESMTP id 2906E42B for <roll@ietf.org>; Tue, 16 Jan 2018 14:09:36 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mailfence.com; s=20160819-nLV10XS2; t=1516108176; bh=i+y5YXYwJwiwtTimarNHo1rR5yg/YxIRtp1D75x2hjk=; h=In-Reply-To:References:From:Date:Subject:To:Cc:From; b=E+ZR0Yh5qa0cSkqPjbAhBOZaHeoQBF0oieFghJ9A7mnQzJDUjhIA93x4Rn8YlmAhg UsS9fLfIQfb8bP9feCtxL5fbsPmTGDfKCE3dhemr64f83G8wzdE9YokMK9Vmz1bYkm IRC8UUC5tfT8Hi0AXlIZX4H83rfUBGKKb4mT6jwcfhXO1mL+J8Je57OaDa1Wi1chQ+ xiIAtIouZVHRMAKmpdj3PqWJo7L9UMF5/wygrQgcYl170Sag3WgvWnf1+VY8bBpqC8 1mt2ZfUHr7i4vzKrM0h90M21hQ8Watbru+rxoHNKc5oDl3WLu4GdnYCLpA77Vqn7XH 3yModd4BF025A==
Received: from mail-qt0-f182.google.com ([209.85.216.182]) by smtp.mailfence.com (envelope-from <aris@ariskou.com>) with ESMTPSA for <roll@ietf.org> ; Tue, 16 Jan 2018 14:09:31 +0100 (CET)
Received: by mail-qt0-f182.google.com with SMTP id m59so18116836qte.11 for <roll@ietf.org>; Tue, 16 Jan 2018 05:09:30 -0800 (PST)
X-Gm-Message-State: AKwxytfkH4HfDyR7A0YWfXTtnAIp/H9QnXQLPr40VZLCiUi27LOHSe6P liC9eQV7fP0u8IRfgMSxPPRosHizEPaXCCRsMfE=
X-Google-Smtp-Source: ACJfBovnVY4unlBRvjxGRt8nnZaYSWSlBi5RrcsUQRJDeGE+adH9T5/y4DSlORmnzXnoZ+wqwOvPuSdMfwOVTa5wkWQ=
X-Received: by 10.237.60.9 with SMTP id t9mr55929344qte.228.1516108168125; Tue, 16 Jan 2018 05:09:28 -0800 (PST)
MIME-Version: 1.0
Received: by 10.12.150.156 with HTTP; Tue, 16 Jan 2018 05:09:07 -0800 (PST)
In-Reply-To: <DD0A994E4D6B3F4080662703C8C7C086AB1E1D@DGGEMM506-MBS.china.huawei.com>
References: <DD0A994E4D6B3F4080662703C8C7C086AB1C96@DGGEMM506-MBS.china.huawei.com> <377942561.78028.1513859706249.JavaMail.zimbra@imt-atlantique.net> <DD0A994E4D6B3F4080662703C8C7C086AB1E1D@DGGEMM506-MBS.china.huawei.com>
From: Remous-Aris Koutsiamanis <aris@ariskou.com>
Date: Tue, 16 Jan 2018 14:09:33 +0100
X-Gmail-Original-Message-ID: <CAK76Pr=dFRgCvMcyhYZXOKX3GOJq8DkQT_ynE4qz4W9YcvbvRw@mail.gmail.com>
Message-ID: <CAK76Pr=dFRgCvMcyhYZXOKX3GOJq8DkQT_ynE4qz4W9YcvbvRw@mail.gmail.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0e610ecd62e50562e470d6"
X-ContactOffice-Account: com:113819248
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/euaHw5Z2Gp4iCfCuWntwfh-QBzs>
Subject: Re: [Roll] Suggestions for draft-ji-roll-traffic-aware-objective-function-00
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 Jan 2018 13:11:56 -0000

Hello Derek,
thank you so much for the extremely helpful discussion. I have a question
regarding the aggregation mode.

On Fri, Dec 22, 2017 at 3:48 AM, Houjianqiang (Derek) <houjianqiang@huawei
.com> wrote:

> Hi Chenyang,
>
> Regarding your questions, please see my response in line.
>
> 2.      I noticed one weak point of your solution and I have come up with
> some possible ways to solve that. Nodes select their preferred parent node
> based on the PTRs of their potential parents (if I understand it right).
> For the two-hop cases in your draft, it's fine, but for multi-hop cases,
> the downstream nodes are unaware of the PTRs of the sink nodes (nodes
> connected to the root). For example, in the right pattern of Figure 2 in
> your draft, if new nodes come in below C1/C2/D1/D2, then the new nodes will
> prefer to choose C1/C2/D1 rather than D2 (PTR_D2 is larger). Let's say new
> node E1->C1, E2->C2, E3->D1, and assume E1/E2/E3 have PTR = 1pkt/s, then in
> this case, PTR_C1 = PTR_C2 = PTR_D1 = 2 pkt/s, PTR_A = 6 pkt/s. This in the
> end triggers D1 switches from A to B. So my point is when new nodes join in
> the downstream, they strongly influence the upstream connections. This
> effect causes an unstable RPL network and should be minimized. One way I
> come up with is to use the aggregatio
>  n mode in the Metric Container so that new nodes are able to know the
> whole PTRs along a link to the root and then select based on the whole link
> condition. Another possible way is you can define a new "RANK" computation
> that includes the PTRs along a link, e.g. RANK_C1 = PTR_A+0.5*PTR_C1.
>
> [RE] You are right about the weak point,thank you.
> About the aggregation mode,if I understand correct that requires node to
> inform its direct child about its transmission rate change(new node joins
> its subtree,child changes parent etc),that may increase the frequency of
> DIO messages?
>
> >> [Derek] The frequency of sending DIO is determined by Trickle
> algorithm, not the aggregation mode. RPL adapts the sending rate of DIO
> messages by extending the Trickle algorithm. In a network with stable links
> the control messages will be rare whereas an environment in which the
> topology changes frequently will cause RPL to send control information more
> often.
>

So, in this draft, the PTR information is sourced directly from the traffic
each node has "seen", e.g. if a node has seen 2 packets in the last second,
it will report this 2pkts/sec. You have proposed using the aggregation mode
in the Metric Container to alter the number reported.
As far as I can tell it would work like this:
A node measures its own observed PTR: PTR_OWN.
However, it also receives DIO messages from other nodes. When it gets a DIO
message from its preferred parent it extracts the parent's reported
PTR: PTR_PARENT.
Before getting a DIO message the default is PTR_PARENT=0.
So, when the node needs to broadcast a new DIO of its own, the PTR value it
reports is PTR = PTR_OWN + PTR_PARENT.
Therefore, in the example on the right in Figure 2, the reported PTRs from
the nodes will not be the shown ones but:
R: 6, A: 3 + 6 (from R) = 9
B: 3 + 6 (from R) = 9
C1, C2, D1: 1 + 9 (from A) = 10
D2: 3 + 9 (from B) = 12

So when a new node E1 with PTR_OWN=1pkt/sec comes under C1,C2,D1,D2 it will
avoid D2 and it will pick one of C1,C2,D1 and report its own PTR via DIO as:
E1: 1 + 10 (from say C1) = 11
in the same way:
E2: 1 + 10 (from say C2) = 11
E3: 1 + 10 (from say C1) = 11

Is this what you have in mind?



>
> About rank computation,nodes with larger transmission rate will have
> larger rank than its neighbor nodes so there is a possibility it selects
> its neighbor as parent and increase the traffic of other subtree.
> I don't know if I described it in the right way,I'll send a example if
> needed.
>
> >>[Derek] I guess I have got what you mean. Let's still take the right
> pattern in Figure 2 in your draft as an example, are you saying that when
> PTR_D2 becomes larger, e.g. 5pkt/s, then PTR_B = 5. If using the "RANK"
> equation I suggested above, then RANK_A = 3, RANK_B = 5, RANK_D1 = 3.5,
> RANK_D2 = 7.5. In this case node D2 may change its parent from B to D1. If
> this is what you mean, definitely we don't want to see this happen. To
> avoid this, you should specify when and under what condition the parent
> switch will happen. The PARENT_SWITCH_THRESHOLD of D2 should be related to
> RANK_B together with PTR_D2. I mean since the downstream nodes influence
> the RANK of their upstream parent, then node D2 should compute what RANK_B
> will be if without the contribution of D2 itself.
>
> Regards,
> Derek Jianqiang Hou
>
> -----Original Message-----
> From: Chenyang JI [mailto:chenyang.ji@imt-atlantique.net]
> Sent: Thursday, December 21, 2017 8:35 PM
> To: Houjianqiang (Derek) <houjianqiang@huawei.com>
> Cc: roll <roll@ietf.org>
> Subject: Re: Suggestions for draft-ji-roll-traffic-aware-ob
> jective-function-00
>
> Good morning,
>
> Thank you a lot for the suggestions,they are very helpful.
> I added some response below the suggestions after [RE]
>
>
> 1.      The format  of your PTR metric should be modified in order to be
> consistent with current Metric framework as define in RFC6551. Based on my
> understanding, you are not requiring IANA to assign a new "DAGMC type" but
> rather a new "Routing-MC-Type" inside the DAG Metric Container. There is a
> DAG Metric Container Format in RFC6551 you can follow and put your PTR
> inside the container as a new metric object. Your co-author Georgios has
> given a good example in his draft "draft-pkm-roll-nsa-extension-00". The
> metric container gives you many functions, such as combining PTR with other
> metrics like ETX (constraint), ChildCount (metric) and HopCount (metric),
> which has been mentioned in your draft.
>
> [RE] I'll make a new figure to clarify that Transmission rate is included
> in Metric container.
>
>
> 2.      I noticed one weak point of your solution and I have come up with
> some possible ways to solve that. Nodes select their preferred parent node
> based on the PTRs of their potential parents (if I understand it right).
> For the two-hop cases in your draft, it's fine, but for multi-hop cases,
> the downstream nodes are unaware of the PTRs of the sink nodes (nodes
> connected to the root). For example, in the right pattern of Figure 2 in
> your draft, if new nodes come in below C1/C2/D1/D2, then the new nodes will
> prefer to choose C1/C2/D1 rather than D2 (PTR_D2 is larger). Let's say new
> node E1->C1, E2->C2, E3->D1, and assume E1/E2/E3 have PTR = 1pkt/s, then in
> this case, PTR_C1 = PTR_C2 = PTR_D1 = 2 pkt/s, PTR_A = 6 pkt/s. This in the
> end triggers D1 switches from A to B. So my point is when new nodes join in
> the downstream, they strongly influence the upstream connections. This
> effect causes an unstable RPL network and should be minimized. One way I
> come up with is to use the aggregatio
>  n mode in the Metric Container so that new nodes are able to know the
> whole PTRs along a link to the root and then select based on the whole link
> condition. Another possible way is you can define a new "RANK" computation
> that includes the PTRs along a link, e.g. RANK_C1 = PTR_A+0.5*PTR_C1.
>
> [RE] You are right about the weak point,thank you.
> About the aggregation mode,if I understand correct that requires node to
> inform its direct child about its transmission rate change(new node joins
> its subtree,child changes parent etc),that may increase the frequency of
> DIO messages?
> About rank computation,nodes with larger transmission rate will have
> larger rank than its neighbor nodes so there is a possibility it selects
> its neighbor as parent and increase the traffic of other subtree.
> I don't know if I described it in the right way,I'll send a example if
> needed.
>
>
> Regards
> Chenyang
>
> ----- Original Message -----
> From: "Houjianqiang" <houjianqiang@huawei.com>
> To: "Chenyang JI" <chenyang.ji@imt-atlantique.net>
> Cc: "roll" <roll@ietf.org>
> Sent: Thursday, December 21, 2017 7:49:08 AM
> Subject: Suggestions for draft-ji-roll-traffic-aware-objective-function-00
>
> Hi Chenyang,
>
> Nice to see that you are involved in improving the parent selection in RPL
> network, and thanks for bringing the idea "Packet Transmission Rate" into
> roll WG. Your solution is very useful, especially when traffic generated
> from different nodes is "highly" uneven. I have read through your draft and
> provide my comments and suggestions as below.
>
>
> 1.      The format  of your PTR metric should be modified in order to be
> consistent with current Metric framework as define in RFC6551. Based on my
> understanding, you are not requiring IANA to assign a new "DAGMC type" but
> rather a new "Routing-MC-Type" inside the DAG Metric Container. There is a
> DAG Metric Container Format in RFC6551 you can follow and put your PTR
> inside the container as a new metric object. Your co-author Georgios has
> given a good example in his draft "draft-pkm-roll-nsa-extension-00". The
> metric container gives you many functions, such as combining PTR with other
> metrics like ETX (constraint), ChildCount (metric) and HopCount (metric),
> which has been mentioned in your draft.
>
>
>
> 2.      I noticed one weak point of your solution and I have come up with
> some possible ways to solve that. Nodes select their preferred parent node
> based on the PTRs of their potential parents (if I understand it right).
> For the two-hop cases in your draft, it's fine, but for multi-hop cases,
> the downstream nodes are unaware of the PTRs of the sink nodes (nodes
> connected to the root). For example, in the right pattern of Figure 2 in
> your draft, if new nodes come in below C1/C2/D1/D2, then the new nodes will
> prefer to choose C1/C2/D1 rather than D2 (PTR_D2 is larger). Let's say new
> node E1->C1, E2->C2, E3->D1, and assume E1/E2/E3 have PTR = 1pkt/s, then in
> this case, PTR_C1 = PTR_C2 = PTR_D1 = 2 pkt/s, PTR_A = 6 pkt/s. This in the
> end triggers D1 switches from A to B. So my point is when new nodes join in
> the downstream, they strongly influence the upstream connections. This
> effect causes an unstable RPL network and should be minimized. One way I
> come up with is to use the aggregatio
>  n mode in the Metric Container so that new nodes are able to know the
> whole PTRs along a link to the root and then select based on the whole link
> condition. Another possible way is you can define a new "RANK" computation
> that includes the PTRs along a link, e.g. RANK_C1 = PTR_A+0.5*PTR_C1.
>
>
>
> 3.      The PTR computation method hasn't been illustrated in your draft.
> After thinking a bit more, here is my suggestion. The first method that
> came into my mind is to compute base on a time cycle, e.g. count the number
> of packet per 10 seconds, but then I denied this method for three reasons:
> 1. Nodes may have sleep mode and cannot do this PTR computation when
> sleeping; 2. a fixed time cycle may not be accurate to reflect PTR because
> nodes may send packets at different rate at different time, e.g. 1pkt/s,
> 1pkt/hour, 1pkt/day; 3. frequently computing PTR consumes more energy. I
> suggest doing the PTR computation based on the time points when sending
> packets. For example, a node send Packet_n-1 at time t_n-1 and send
> Packet_n at time t_n, then 1 / (t_n - t_n-1) reflects the packet rate. Then
> The PTR at time t_n could be
>
> PTR_n = alpha * 1 / (t_n - t_n-1) + (1 - alpha) * PTR_n-1,
>
> where alpha are constant between 0 to 1. In this way, nodes refresh their
> PTR when sending packets, and the PTR equation gives a smooth variation
> that guarantees the stability of a RPL network.
>
> Hopefully my suggestions could help to improve the quality of your draft.
>
> Best regards,
> Derek Jianqiang Hou
>
> Related drafts and RFC:
> https://datatracker.ietf.org/doc/draft-ji-roll-traffic-aware
> -objective-function/
> https://datatracker.ietf.org/doc/rfc6551/
> https://datatracker.ietf.org/doc/draft-pkm-roll-nsa-extension/
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll
>


Best,
Aris