Re: [6tsch] report flow contents

Xavier Vilajosana Guillen <xvilajosana@eecs.berkeley.edu> Thu, 05 September 2013 23:17 UTC

Return-Path: <xvilajosana@berkeley.edu>
X-Original-To: 6tsch@ietfa.amsl.com
Delivered-To: 6tsch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 528EA11E810B for <6tsch@ietfa.amsl.com>; Thu, 5 Sep 2013 16:17:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.74
X-Spam-Level:
X-Spam-Status: No, score=-2.74 tagged_above=-999 required=5 tests=[AWL=0.236, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5v0gxSI-H-vv for <6tsch@ietfa.amsl.com>; Thu, 5 Sep 2013 16:17:20 -0700 (PDT)
Received: from mail-pa0-f51.google.com (mail-pa0-f51.google.com [209.85.220.51]) by ietfa.amsl.com (Postfix) with ESMTP id D768311E81DF for <6tsch@ietf.org>; Thu, 5 Sep 2013 16:17:19 -0700 (PDT)
Received: by mail-pa0-f51.google.com with SMTP id lf1so2545309pab.24 for <6tsch@ietf.org>; Thu, 05 Sep 2013 16:17:19 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=guUTYz3UQdk960gkLn2/sKWvKgsT6UMjSrJaFpre4nI=; b=UXw4l8ps58cTC4l0RvDdE59hKQkRT8a6e6d789OAbw4Y+2f19gN5jC0yv/HG12pheA NQ9BwhXrdxma91Mc5bVTQ7D5ctgW/IIz1Cloz+DZYJyZIA0SVXoOzPu/bNLbHFWiT9Zy E0bDhu4OPMGIu4rWEs2Zq6fG8LpLhso0Rp++AHYwPF2RjPE2Jv4+ronLstXUmWVelvsr CCPmDuqISX1dNYVTuF+BWsffedR5hob+7VcSlQ4B+KrSHV5wk8KvPMZpHVQQw94cKVGA k2WQMeDA757lbHrU7gGpJ5KQwBRgYAlJQEyO8GnwrcSz/iGgIHIjc+iuQbREVH46RWmd ZtIg==
X-Gm-Message-State: ALoCoQn1G1ogPHJYVXdlQxbdZc8DmgzVJNFapnrq5x2QfRk+8b/DxRpSLCiNrcWPlFKn2TbQClGv
MIME-Version: 1.0
X-Received: by 10.68.247.36 with SMTP id yb4mr11789331pbc.138.1378423039369; Thu, 05 Sep 2013 16:17:19 -0700 (PDT)
Received: by 10.70.34.44 with HTTP; Thu, 5 Sep 2013 16:17:19 -0700 (PDT)
In-Reply-To: <CADJ9OA8Cx3ingeiMdr60zUfMMENiay-Nftv0nMFOTD7=YcKgwg@mail.gmail.com>
References: <CADJ9OA_XeC7Z5hFxyHhFGqD0aFMcBn=iHzDfRq34sL9qPi2P4A@mail.gmail.com> <CALEMV4YN3rA2OXeAV1akOZhdQrMOQvhN0A+t6vsL9RPVV=VMnQ@mail.gmail.com> <CADJ9OA8Cx3ingeiMdr60zUfMMENiay-Nftv0nMFOTD7=YcKgwg@mail.gmail.com>
Date: Thu, 5 Sep 2013 16:17:19 -0700
Message-ID: <CALEMV4ZdgWAFMyA=FtRik96evup-qJPQfTcDQEu99sfC0xFwuQ@mail.gmail.com>
From: Xavier Vilajosana Guillen <xvilajosana@eecs.berkeley.edu>
To: Thomas Watteyne <watteyne@eecs.berkeley.edu>
Content-Type: multipart/alternative; boundary=047d7b2e3d289cb6fe04e5ab1f72
Cc: "6tsch@ietf.org" <6tsch@ietf.org>
Subject: Re: [6tsch] report flow contents
X-BeenThere: 6tsch@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: xvilajosana@eecs.berkeley.edu
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <6tsch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tsch>, <mailto:6tsch-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6tsch>
List-Post: <mailto:6tsch@ietf.org>
List-Help: <mailto:6tsch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tsch>, <mailto:6tsch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2013 23:17:24 -0000

agreed!
So the fields become:


For each known neighbor:
 -ID
 -AVG RSSI in a running window
 -Latest RSSI
 -AVG LQI in a running window [optional]
 -Latest LQI [optional]
 -Num TX packets (option in case there is communication with that neighbor)
 -Num ACK packets (option in case there is communication with that neighbor)
 -Num RX packets (option in case there is communication with that neighbor)
 -Last ASN when it heart about that neighbor
 -Bundle: Num links in the Schedule to that neighbor
      -PDR per link [Optional -- or maybe best and worst PDR only]

 -Option Flag (weather there are optional TLV fields on that category)
   +(TLV objects)*

 -For each Queue:
    - Avg Queue length in a running window
    - Max Queue length in a running window (peak)
    - Current Queue length (?)
    - ASN of the oldest packet in the QUEUE?
    -Option Flag (weather there are optional TLV fields on that category)
        +(TLV objects)*

-Time source parent
    -ID
    -Avg clock drift (correction done) in a running window
    -Latest clock correction
    -Parent changes (counter of how many times I changed my time source
parent)
    -Option Flag (weather there are optional TLV fields on that category)
    +(TLV objects)*

-Option Flag (weather there are optional TLV fields in other categories)
   +(TLV objects)*

as regards to this:

"Finally, do you envision a generic mechanism whereby the PCE can turn
fields on/off, or triggered independently?"

I see it as CoAP Options, where a set of bytes can be used as "clever
bitmap" to tell what options are there, the parsing will decode option by
option and will read the fields. In that way any combination of fields is
supported.

would that work?
X


On Thu, Sep 5, 2013 at 4:03 PM, Thomas Watteyne
<watteyne@eecs.berkeley.edu>wrote;wrote:

> Xavi,
>
> Fantastic!
>
> I believe PDR for each link might be too long to fit in a packet. While
> the mote will most likely keep that information, we could move that to the
> query flow, i.e. it is available to the PCE on-demand.
>
> Would you agree that the number of links in a bundle belongs to the
> neighbor? Of maybe we want a "bundle" category?
>
> In queuing, it might be interesting to see the age of the different
> packets, to be able to monitor latency.
>
> About LQI, there is no general consensus among vendors on what the
> definition is, or how exactly it is calculated. I would make it optional.
>
> Also, it might be good to be able to add arbitrary fields to each
> category: neighbor, queue, time source neighbor.
>
> Finally, do you envision a generic mechanism whereby the PCE can turn
> fields on/off, or triggered independently?
>
> Thomas
>
>
> On Thu, Sep 5, 2013 at 12:47 PM, Xavier Vilajosana Guillen <
> xvilajosana@eecs.berkeley.edu> wrote:
>
>> Hi Thomas, Diego,
>>
>> I agree that LQI should be there as well. I update here the list with
>> Thomas suggestions.
>>
>> For each known neighbor:
>>  -ID
>>  -AVG RSSI in a running window
>>  -Latest RSSI
>>  -AVG LQI in a running window
>>  -Latest LQI
>>  -Num TX packets (option in case there is communication with that
>> neighbor)
>>  -Num ACK packets (option in case there is communication with that
>> neighbor)
>>  -Num RX packets (option in case there is communication with that
>> neighbor)
>>   -Last ASN when it heart about that neighbor
>>
>> Other fields
>>  -Num links in the Schedule to that neighbor
>>     -For each link PDR
>>  -For each Queue:
>>     - Avg Queue length in a running window
>>     - Max Queue length in a running window (peak)
>>     - Current Queue length (?)
>> -Time source parent
>>      -ID
>>     -Avg clock drift (correction done) in a running window
>>     -Latest clock correction
>>     -Parent changes (counter of how many times I changed my time source
>> parent)
>>
>>  -Option Flag (weather there are optional TLV fields)
>>    +(TLV objects)*
>>
>>
>> Hope this makes sense.
>> cheers!
>> Xavi
>>
>>
>> On Thu, Sep 5, 2013 at 11:41 AM, Thomas Watteyne <
>> watteyne@eecs.berkeley.edu> wrote:
>>
>>> *[renamed thread]*
>>>
>>> Xavi,
>>>
>>> A few thoughts:
>>> - the counters (numTx, etc) will only be present for neighbors the node
>>> has communicate with, so they should be optional in the packet.
>>> - you have focused on the topological information (which I think is the
>>> right one). It might be useful to gather other data related to
>>> synchronization or queuing.
>>> - I couldn't agree more with your suggestion to make it extensible. This
>>> does mean that we will need to state somewhere that a device need to ignore
>>> silently fields it does not understand.
>>>
>>> Thomas
>>>
>>> On Thu, Sep 5, 2013 at 11:15 AM, Xavier Vilajosana Guillen <
>>> xvilajosana@eecs.berkeley.edu> wrote:
>>>
>>>> Hello, I guess that flows are getting defined and I started to think on
>>>> the contents of the messages on that flows. Not sure if this is the right
>>>> time or I am going way far..
>>>>
>>>> According to the previous discussion I assume that the five flows are:
>>>>
>>>> ME-6TOP - Query Flow
>>>> ME-6TOP - Action Flow
>>>>
>>>> 6TOP - ME - Report Flow
>>>> 6TOP - ME - Event Flow
>>>> 6TOP - ME - Request BW Flow
>>>>
>>>> I'd like to start defining the content of the messages in the Report
>>>> Flow:
>>>>
>>>> The Report Flow: has to deal with the information that a node knows and
>>>> has to be sent to the ME so the ME can compute the schedule among others.
>>>> Here I list  the information that we can know in a mote and can be used at
>>>> the ME to compute the schedule (complete please if I miss something)
>>>>
>>>> For each known neighbor:
>>>>  -ID
>>>>  -AVG RSSI in a running window
>>>>  -Latest RSSI
>>>>  -Num TX packets
>>>>  -Num ACK packets
>>>>  -Num RX packets
>>>>  -Last ASN when it heart about that neighbor
>>>>
>>>> Other fields
>>>>  -Num links in the Schedule to that neighbor
>>>>     -For each link PDR
>>>>
>>>>
>>>> Then we need to have some TLV like objects that can be used for
>>>> ad-hoc/naive/other extensions of the reporting process. In that way we
>>>> don't constraint the implementation of the scheduling alg. to that
>>>> information.
>>>>
>>>> what do you think?
>>>> X
>>>>
>>>>
>>>> On Fri, Aug 30, 2013 at 10:45 AM, Qin Wang <qinwang@berkeley.edu>wrote;wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> In this thread, we will continue the discussion about Confirmation
>>>>> message. Here is some background information.
>>>>>
>>>>> Context: e.g.
>>>>>     - node sends a report and want to know if the report is accepted.,
>>>>>     - ME sends a action request and want to know if/when the action
>>>>> taken.
>>>>> Options:
>>>>>    (1) Nothing
>>>>>    (2) Rely on transport mechanism (e.g. confirmable CoAP message)
>>>>>    (3) App-level ACK type
>>>>>    (4) Use different flow (i.e. action flow)
>>>>>
>>>>> IMHO, different control flow may have different requirement for
>>>>> confirmation message.
>>>>>     (1) Action Flow, needs a App-level confirmation, like Succ/Fail
>>>>>     (2) Query Flow, automatically has the confirmation, i.e. the
>>>>> message packet corresponding to a specific query.
>>>>>      (3) Report Flow and Event Flow, option (1)-(3) are OK, but I
>>>>> prefer option (1) and (3), i.e. the confirmation message is an option, but
>>>>> if a confirmation message is needed, it should be App-level Ack, instead of
>>>>> transport layer confirmation, which will give 6top more flexibility.
>>>>>
>>>>> What do you think?
>>>>>
>>>>> Thanks
>>>>>  Qin
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 6tsch mailing list
>>>>> 6tsch@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/6tsch
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> 6tsch mailing list
>>>> 6tsch@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/6tsch
>>>>
>>>>
>>>
>>> _______________________________________________
>>> 6tsch mailing list
>>> 6tsch@ietf.org
>>> https://www.ietf.org/mailman/listinfo/6tsch
>>>
>>>
>>
>
> _______________________________________________
> 6tsch mailing list
> 6tsch@ietf.org
> https://www.ietf.org/mailman/listinfo/6tsch
>
>