Subject: [Roll] New Draft Submission: Draft-qasem-roll-rpl-load-balancing-00.txt

From: "Romdhani, Imed" <[email-masked]>
Date: Mon, 6 Feb 2017 13:49:51 +0000

Dear all,

Hope this finds you well.

We would like to draw your attention that we submitted a new draft for you to consider. You can access it from here:
https://www.ietf.org/id/draft-qasem-roll-rpl-load-balancing-00.txt

This draft proposes an extended Objective Function(OF) that balances the number of children nodes for potential overloaded parents to ensure node lifetime maximization in RPL. In addition, a new DODAG Information Object (DIO) message structure has been introduced to record the IPv6 address of the chosen parent before broadcasting the message.

We do believe that the draft is aligned with ROLL's works items and especially with the manageability issue and the need for additional protocol elements to reduce packet size and the amount of required routing states.

We look forward to receiving your comments and feedback.

Kind regards,
Imed
---------------------------------------------------
Imed Romdhani, PhD
IEEE Member, FHEA
Programme Leader of the MSc Advanced Networking
Room C 64
Edinburgh Napier University
School of Computing
10 Colinton Road
Edinburgh, EH10 5DT
UK
E-Mail:   [email-masked]<mailto:[email-masked]>
Home Page: http://www.dcs.napier.ac.uk/~cs244/
Linkedin: http://uk.linkedin.com/in/imedromdhani
Skype: Imed.Romdhani
Telephone: +44(0)131 455 2726
Fax: +44(0)131 455 2727
---------------------------------------------------

This message and its attachment(s) are intended for the addressee(s) only and should not be read, copied, disclosed, forwarded or relied upon by any person other than the intended addressee(s) without the permission of the sender. If you are not the intended addressee you must not take any action based on this message and its attachment(s) nor must you copy or show them to anyone. Please respond to the sender and ensure that this message and its attachment(s) are deleted.

It is your responsibility to ensure that this message and its attachment(s) are scanned for viruses or other defects. Edinburgh Napier University does not accept liability for any loss or damage which may result from this message or its attachment(s), or for errors or omissions arising after it was sent. Email is not a secure medium. Emails entering Edinburgh Napier University's system are subject to routine monitoring and filtering by Edinburgh Napier University.

Edinburgh Napier University is a registered Scottish charity. Registration number SC018373

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Tue, 7 Feb 2017 14:16:14 +0000

Hello Imed :

Thanks a bunch for sharing this work.

A bunch of preliminary notes:

-          The number of children is very indirect and thus not a  good representation of the load expressed in terms of packets/ battery consumption. The number of routes via the children is better but it is only known in storing mode; and the real amount of traffic may be what you are probably after; these could be exposed to the children in parent DIOs.

-          Changing routing based on load has been known to cause oscillations; this is to be considered / avoided.

-          One possible angle is to smoothly adapt the load in the forwarding plane as opposed to change the Rank to abruptly. Children with multiple parents could balance their flows based on parent load.

-          We had discussions in the past on the load in storing nodes to avoid having to maintain more routes than the node can actually store in memory. The idea at the time was to answer the DAO-ACK with a status and a metric that would discourage the child, or IOW encourage it to look elsewhere. The benefit of that approach was load balancing (of number of route entries). Problem was still that at some point there could be more routes than the nodes could do with, so people went for non-storing anyway.

-          Changing the DIO in a non-backward-compatible fashion is probably not a good idea. Did you consider options?

-          Section 4 is really hard to read. For the most part I'm still not sure I understood what is meant there. I figured that the design is that children send DIOs so that their parents will know that they are their parents? This is kind of weird since they parents should ignore DIOs with higher Ranks.  Also unsure why DAO or ND cache can't be used, the explanation confused me. In storing mode, parents have adjacencies for their children that inject DAOs, and these can be counted.

Cheers,

Pascal

From: Roll [mailto:[email-masked]] On Behalf Of Romdhani, Imed
Sent: lundi 6 février 2017 14:50
To: [email-masked]
Cc: Al-Dubai, Ahmed <[email-masked]>; Qasem, Mamoun <[email-masked]>; Ghaleb, Barraq <[email-masked]>
Subject: [Roll] New Draft Submission: Draft-qasem-roll-rpl-load-balancing-00.txt

Dear all,

Kind regards,
Imed

---

From: "Qasem, Mamoun" <[email-masked]>
Date: Wed, 15 Feb 2017 15:12:39 +0000

Hi Pascal
Thanks a lot for your Comments,

Comment (1): The number of children is very indirect and thus not a  good representation of the load expressed in terms of packets/ battery consumption. The number of routes via the children is better but it is only known in storing mode; and the real amount of traffic may be what you are probably after; these could be exposed to the children in parent DIOs.

Response(1): In fact, we agree with you that load balancing is a wider context beyond the distribution of the children. However, we here specifically talk about the load balancing in terms of fairness while linking the children with the appropriate parents. The aim is to avoiding possible bottleneck or host-spot problems that result in congestion, delay and battery depletion at the parents with exceeded number of children. Thus, the number of children is a key factor in contributing to the overall load balancing of the network.

Comment(2): Changing routing based on load has been known to cause oscillations; this is to be considered / avoided.

Response(2): It is really trades-offs between unfairness and oscillation, and the oscillation can be kept to a minimum by two ways:
a) If we use the number of children besides another metrics (e.g. ETX, number of hops,
     etc) to optimize the selection and enhance the stability.
b)  Using the hysteresis threshold for the number of children to switch from parent to   another and thus, enhance the stability of the routs.

Comment(3): One possible angle is to smoothly adapt the load in the forwarding plane as opposed to change the Rank to abruptly. Children with multiple parents could balance their flows based on parent load. We had discussions in the past on the load in storing nodes to avoid having to maintain more routes than the node can actually store in memory. The idea at the time was to answer the DAO-ACK with a status and a metric that would discourage the child, or IOW encourage it to look elsewhere. The benefit of that approach was load balancing (of number of route entries). Problem was still that at some point there could be more routes than the nodes could do with, so people went for non-storing anyway.

Response(3):  Good point. Both storing and non-storing modes in DAO (i.e., the downward routes) is an optional feature in RPL as mentioned in the RFC6550 page 78, "If the MOP is 0, indicating no Downward routing, nodes MUST NOT transmit DAO messages and MAY ignore DAO messages." And the proposed idea targeting the RPL mode of operation without downward routes.

Comment(4): Changing the DIO in a non-backward-compatible fashion is probably not a good idea. Did you consider options?

Response(4): The option will be considered to find an approach that changes the DIO in a backward-compatible fashion.

Comment(5): Section 4 is really hard to read.  For the most part I'm still not sure I understood what is meant there.

Response(5):  This section will be rephrased for better clarity. In short, we injected the IP of the selected parent in the DIO to allow each node to count its number of children.

Comment(6): I figured that the design is that children send DIOs so that their parents will know that they are their parents? This is kind of weird since they parent should ignore DIOs with higher Ranks.  Also unsure why DAO or ND cache can't be used, the explanation confused me. In storing mode, parents have adjacencies for their children that inject DAOs, and these can be counted.

Response(6):  In fact, the DAO is an optional feature when MOP =0 [rfc6550], so I think it is not a good idea to relay on that, that's why using the back DIO from the child node has been considered just to count the number of children via matching the IPs as detailed in the Section 4 without affecting the rank.

Cheers,
Mamoun
From: Pascal Thubert (pthubert) [mailto:[email-masked]]
Sent: 07 February 2017 14:16
To: Routing Over Low power and Lossy networks <[email-masked]>
Cc: Al-Dubai, Ahmed <[email-masked]>; Qasem, Mamoun <[email-masked]>; Ghaleb, Barraq <[email-masked]>
Subject: RE: [Roll] New Draft Submission: Draft-qasem-roll-rpl-load-balancing-00.txt

Hello Imed :

Cheers,

Pascal

From: Roll [mailto:[email-masked]] On Behalf Of Romdhani, Imed
Sent: lundi 6 février 2017 14:50
To: [email-masked]<mailto:[email-masked]>
Cc: Al-Dubai, Ahmed <[email-masked]<mailto:[email-masked]>>; Qasem, Mamoun <[email-masked]<mailto:[email-masked]>>; Ghaleb, Barraq <[email-masked]<mailto:[email-masked]>>
Subject: [Roll] New Draft Submission: Draft-qasem-roll-rpl-load-balancing-00.txt

Dear all,

Kind regards,
Imed