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
- [Roll] Suggestions for draft-ji-roll-traffic-awar… Houjianqiang (Derek)
- Re: [Roll] Suggestions for draft-ji-roll-traffic-… Chenyang JI
- Re: [Roll] Suggestions for draft-ji-roll-traffic-… Houjianqiang (Derek)
- Re: [Roll] Suggestions for draft-ji-roll-traffic-… Remous-Aris Koutsiamanis
- Re: [Roll] Suggestions for draft-ji-roll-traffic-… Houjianqiang (Derek)