Internet DRAFT - draft-kim-6tisch-trfalice

draft-kim-6tisch-trfalice





6TiSCH Working Group                                       Seohyang Kim
Internet-Draft                                Seoul National University
Intended status: Standards Track                          Hyung-Sin Kim
Expires: May 27, 2019                 University of California Berkeley
                                                          Chongkown Kim
                                              Seoul National University
                                                      November 29, 2018


            Autonomous and dynamic TSCH cell allocation 
        for time-varying traffic load and evolving topology
                  draft-kim-6tisch-trfalice-00
                  

Abstract

   This document provides the method that autonomously and dynamically 
   schedules TSCH slotframe based on the current traffic load. In the 
   introduction part, we introduce some basic knowledge on TSCH and 
   RPL. After this, we introduce some existing TSCH schedulers and 
   their limitations. They are classified as centralized, distributed,
   and autonomous. Then, we propose a novel autonomous and dynamic 
   TSCH cell scheduler. With this, each node schedules its own TSCH 
   slotframe and allocates additional cells based on the current 
   traffic load without any negotiation or traffic overhead. Since 
   they allocate additional cells only when needed, energy efficient 
   operation can be achieved simultaneously.
 
 

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts. The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other
   documents at any time.  It is inappropriate to use Internet-Drafts
   as reference material or to cite them other than as
   "work in progress."

   This Internet-Draft will expire on May 27, 2019.



Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Kim, et al.           Expires May 27, 2019                   [page 1]

Internet-Draft                TRFALICE                   November 2018

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

 1.  Introduction . . . . . . . . . . . . . . . . . . . .. . . . . .  2
 2.  Requirements Language . . . . . . . . . . . . . . . . . . . . .  4
 3.  Terminology. . . . . . . . . . . . . . . . . . . . . . . .  . .  4
 4.  TSCH Schedulers . . . . . . . . . .. . . . .  . . . . . . . . .  4
      4.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . .  4
      4.2.  Centralized Schedulers . . . . . . . . . . . . . . . . .  4
      4.3.  Distributed Schedulers  .  . . . . . . . . . . . . . . .  5
      4.4.  Autonomous Schedulers . .  . . . . . . . . . . . . . . .  5
 5.  Autonomous and Dynamic TSCH Cell Allocation  Method . . . . . .  6 
      5.1.  Schedule of Unicast Slotframe. . . . . . . . . . . . . .  3
      5.2.  Schedule of Supplementary Slotframe. . . . . . . . . . .  3
      5.3.  Summary. . . . . . . . . . . . . . . . . . . . . . . . .  3
 6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 12 
 7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 12
 8.  Acknowlegement. . . . . . . . . . . . . . . . . . . . . . . . . 12
 9.  References. . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     9.1.  Normative References. . . . . . . . . . . . . . . . . . . 13 
     9.2.  Informative References. . . . . . . . . . . . . . . . . . 13
 Authors' Addresses . . . . . . . . . . . . . . . . . . . . .. . . . 14


1. Introduction

   TSCH is one mode on IEEE 802.15.4e standard and it is an acronym 
   of Time Slotted Channel Hopping, which has the feature of Time
   Division Multiple Access with channel hopping. From 2003, IEEE 
   802.15.4 standard has been introduced and the standard was extended
   with 2006 version. Zigbee is one of the mostly used protocol which 
   is on the basis of 802.15.4 standard. However, the standard was not 
   enough to support industrial network which requires higher 
   reliability. To better support industrial markets by increasing 
   robustness against external interference, the MAC portion of the 
   standard has been amended. Among 5 modes it provides, TSCH is 
   receiving most attentions from WSN researchers and industry market. 
   Moreover, by Internet Engineering Task Force (IETF) 6TiSCH working 
   group, it has been selected as a mac protocol to connect sensor 
   nodes with Internet over IPv6. 
 
   RPL is a routing protocol for low power and lossy network and has 
   been standardized by the IETF RoLL WG in 2012. RPL builds tree 

Kim, et al.           Expires May 27, 2019                    [page 2]

Internet-Draft                TRFALICE                   November 2018

   topology on the basis of DODAG structure. To build and manage 
   routing topology, RPL control packets are exchanged. The routing 
   topology is maintained by using Rank and Objective Function. Each 
   node has its own rank and rank can be understood as the path cost 
   of each node to the root. Definition of rank, rank calculation or 
   parent selection rules are defined in the used objective function 
   (OF). Every node in the RPL network has a preferred parent except 
   the root. The rank of parent must be always lower than its own rank 
   and the rank of its children must be always higher than its own rank
   By checking this value, routing loop is avoided or detected.

   In this document, the point is that each node has preferred parent 
   and children as its RPL neighbor. To maintain routing topology, 
   they exchange RPL control messages periodically. Though other 
   routing topologies can be used over TSCH network, RPL is used 
   mostly. Moreover, to build IETF 6TiSCH compliant network, RPL and 
   TSCH should be used together.
 
   Let's move on to network bootstrap phase on TSCH and RPL network. 
   Since TSCH is a link-layer protocol and RPL is a routing-layer 
   protocol, a node should join TSCH network first and join RPL next.

   To build TSCH network, each node sends Enhanced Beacon (EB) which 
   includes TSCH network information such as frequency hopping 
   sequence, used frequency, the length of slotframe and Absolute 
   Slot Number (ASN). A node who received EB joins TSCH network and 
   it also broadcasts EB periodically. When a node joins TSCH network,
   a node sets a node who sent EB as its time source. Since TSCH is a
   time synchronized network, each node synchronizes its time to its 
   time source node. 

   When a node joins TSCH network, it should join RPL network to 
   exchange application-level messages. However, though IEEE 
   802.15.4e standard defines how mac executes TSCH schedule, it does
   not provide how each node should build TSCH schedule. In general, 
   simple TSCH scheduling method is used at the initial network 
   bootstrap phase. Here, a cell (0,0) on a TSCH slotframe can be
   used by all the nodes as a shared slot. All the nodes wake up at
   this slot and sleep at the other timeslots synchronously. RPL 
   control packets are exchanged on this shared slot and the routing
   topology is constructed.

   However, just using only one cell on a TSCH slotframe does not seem
   to make good use of TSCH technique. In order to take full
   advantage of the benefits of TSCH technique, more number of cells 
   on a slotframe should be used for efficient communication. Here,
   how each node schedules the slotframe directly affects network 
   performance including PDR, latency, duty cycle and throughput. 
   However, the standard does not answer this question.
 
   When we design TSCH scheduling algorithm, we should consider various
   aspects. For example, each node should have as many transmission 
   opportunity as the traffic load. A node close to the root requires 

Kim, et al.           Expires May 27, 2019                    [page 3]

Internet-Draft                TRFALICE                   November 2018

   more communication opportunity compared to the leaf node, since it 
   should forward more number of packets between the root and its sub-
   network. A node should receive packets from different neighbors on 
   different time slots to avoid contention at a cell. A node cannot
   receive packets from multiple nodes at the same timeslot. With 
   only one radio interface, a node cannot listen and transmit at the
   same timeslot.
 
   It is not simple to set up a good schedule. Moreover, we should 
   remember that the RPL topology evolves over time. Even if a node 
   has an optimal schedule now, when the topology changes, new 
   schedule for the changed topology is needed.
 
   Moreover, since the schedule of slotframe iterates over time, links
   assigned to a crowded cell continue to suffer disadvantages. 
   Thereby, how we schedule slotframe directly affects performance of
   TSCH, which again affects RPL performance.
 


2. Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC 2119].


3. Terminology

   Cell : This document follows the same definition used in [RFC 7554]

   ASN : This document follows the same definition used in [RFC 7554]

   Slotframe : This document follows the same definition used in 
   [RFC 7554]




4. TSCH Schedulers

   From now on, we will explore the existing works regarding TSCH 
   schedule. Depending upon their approach, scheduling methods are 
   categorized into 3 types: centralized, decentralized and autonomous.
 

4.1. Overview

   Recall that IEEE 802.15.4e was standardized in 2012. At the first 
   year, centralized approaches have been proposed. With this approach,
   a root node receives all network information from every node. After
   obtaining a global view, this central node sets up optimal schedule.


Kim, et al.           Expires May 27, 2019                    [page 4]

Internet-Draft                TRFALICE                   November 2018

   However, this method requires high traffic overhead. Moreover, when
   a new node joins network, the schedule of the whole nodes in the
   network should be changed.
   With this problem, naturally, the scheduling approach has been 
   changed from centralized to distributed approach. In this 
   methods, the scheduling load at the central node has been 
   distributed to all the nodes in the network. Though more flexible
   and scalable scheduling could be achieved with this approach, 
   further traffic overhead for TSCH schedule still exists.
   In 2015, a scheduling approach named orchestra have been proposed,
   which does not require any traffic overhead or negotiation process.
   With this method, each node can autonomously schedule its own TSCH
   slotframe. Since it does not require any negotiation for TSCH
   scheduling, it could achieve highly flexible and scalable schedule
   regardless of topology variation. In April 2018, two more 
   autonomous scheduling method, which have similar approach to 
   Orchestra have been introduced. [Orchestra]

   Since autonomous scheduling method does not require any traffic 
   overhead for TSCH scheduling, though it does not provide optimal 
   schedule, it provides high reliability, high flexibility, high 
   scalability with low scheduling overhead. 

 
 
4.2. Centralized schedulers

   TASA and MODESA are mostly cited TSCH centralized schedulers. These
   two methods are very similar except only a few differences. Both 
   methods have very strong assumptions. They assume that the central 
   node knows complete topology information including routing topology,
   traffic load of each node, conflict relations among nodes. They 
   assume that traffic load per each node does not change over time and
   routing topology does not change over time. Since they assume
   multi-point-to-point traffic scenario, they schedule only the 
   upstream links. Moreover, they assume no message loss with 0% link 
   error rate. [TASA][MODESA]
   The difference between these two schedulers is that MOESA assumes 
   more complex network. For example, it considers queue-length of each
   node and assumes that the root node can have multiple radio 
   interfaces. With strong assumptions described above, they could 
   build collision-free schedule. They evaluated the proposed methods
   by using simple simulation. Moreover, since there is no message
   loss at link-level, they only evaluated delay, duty cycle and
   throughput.
 
 
4.3. Distributed schedulers

   DeTAS and Wave are the early schedulers based on distributed 
   approach. Though the load of scheduling at the central node has 
   been distributed to all the nodes in the network, only the 


Kim, et al.           Expires May 27, 2019                    [page 5]

Internet-Draft                TRFALICE                   November 2018

   centralized node can initiate the start of the schedule of all 
   the nodes in the network and each node!?s schedule is strongly 
   dependent on the schedule of its parent node. As a result, any 
   topology or traffic change results in a scheduling change of the 
   entire network as centralized schedule does. [DeTAS1][DeTAS2]
   [Wave1][Wave2]
   Both methods assume that each node has a constant traffic load and
   multipoint-to-point scenario. The root node initiates the start of
   the scheduling process. The node closer to the root selects cells
   first. The cell selection rule is simple. Each node selects
   timeslots those were not selected by its parent.
   The difference is that, DeTAS selects channel offset on the basis of
   hop-count, and Wave considers conflicting nodes group on its 
   channel offset schedule. To have knowledge on each node's conflicting
   node group, Wave requires more control packets to exchange that 
   information. 
   However, these methods cannot be considered as a fully distributed 
   scheduling method in that each node!?s schedule strongly depends on
   parent's choice.
 
   From 2014, negotiation protocol for distributed TSCH schedule have 
   been proposed. The proposed negotiation technique have been 
   gradually developed through active open discussions in 6TiSCH 
   working group and has been standardized recently. They named the
   negotiation protocol as 6P. [RFC 8480]  By using 6P transactions, two
   neighboring nodes can add, delete or relocate cells in their TSCH
   slotframe for their unicast communication. However, 6P is just
   used as a negotiation protocol. When to trigger 6P transaction
   and how to schedule slotframe is determined by scheduling function.
   OTF, SF0 and MSF are negotiation-based distributed scheduling method
   that use 6P transaction. [OTF][SF0][MSF] With this methods, each node
   flexibly schedules its own slotframe based on the current traffic 
   load. Whenever the required traffic load changes, each node adds or 
   delete cells. To avoid frequent schedule changes, they use 
   threshold.
   MSF has been recently proposed, which schedules slotframe 
   autonomously by following Orchestra receiver based mode. If 
   additional cell is needed, MSF uses 6P transactions for further 
   cell allocation.
 

4.4. Autonomous schedulers

   [Orchestra] was introduced on Sensys 2015 and it was the first and 
   the only one autonomous scheduler until April 2018. For three 
   years, no autonomous scheduler have been introduced. Although 
   two more autonomous schedulers have been introduced recently, 
   their fundamental design framework is the same as that of 
   orchestra: they calculate timeslots by hashing node ID.
   The key idea of orchestra is that each node can obtain node IDs
   of its parent and children from RPL level. Orchestra provides two
   operation mode: sender-based and receiver-based. In sender-based


Kim, et al.           Expires May 27, 2019                    [page 6]

Internet-Draft                TRFALICE                   November 2018

   mode, each node schedules its transmission cell by hashing its
   own node ID. By using this rule, it calculates receive cells by 
   hashing its neighbor!?s node ID, which are transmission cells of 
   its neighbor nodes. In the same way, in receiver-based mode, each
   node calculates its receive cell by hashing its own node ID and
   calculates its transmission cells by hashing its neighbor nodes' 
   ID. It is very simple and does not require any transmission 
   overhead for TSCH schedule. No negotiation is needed.
   Its reliable performance was proved on a real-world large public
   testbed. However, the limitation of Orchestra is that it 
   allocates only one TX or RX cell per slotframe, which limits
   throughput, causing congestion near the root node. Besides, 
   the hashed values of different nodes may be the same value, 
   which makes the problem worse.
 
   [Escalator] pointed out that Orchestra gives the nodes close to the
   root and leaf nodes the same communication opportunities. It 
   focuses on the fact that a node with a larger sub-network has more
   packets to forward. Thereby, the key idea is that each node 
   allocates different cells on its slotframe for all the nodes in 
   its sub-network. With this method, the node closer to the root 
   has more cells to forward packets. With the increased communication
   opportunity, it could achieve higher throughput. However, since a
   node closer to the root has large sub-tree, too many cells may be
   allocated on its slotframe. Consequently, this node should be 
   awake for a longer time, regardless of the actual traffic load. 
   However, if the traffic load on the network is low, this node does
   not need to stay awake for long. Moreover, since this method 
   considers hop-count information on its scheduling, with varying 
   routing topology, it may not work properly.
 
 
   To overcome limitation of Orchestra which allocates only one TX or 
   RX cell per a slotframe, [e-TSCH-Orch] proposes different solution. 
   The key idea of the proposed method is that it allocates 
   additional multiple cells dynamically to clean the transmission 
   queue quickly. With this method, end-to-end delay is reduced with
   the increased communication opportunity. Moreover, since cells
   are added only when needed, nodes can use energy more efficiently.
 
   In this method, slotframe is first scheduled based on Orchestra 
   receiver-based mode. Whenever each node transmits message, it 
   sends the number of packets in its transmission queue together 
   with the message, by using TSCH header. Then, a node who received
   that message allocates additional cells consecutively from the
   immediately next time slot. The sender sends message 
   sequentially and quickly cleans its queue.
   However, rules for additive cell allocation are too simple, 
   thereby communication on additional cells may interfere with 
   communication in the existing cells scheduled by orchestra method,
   which may cause network to be broken down.
 


Kim, et al.           Expires May 27, 2019                    [page 7]

Internet-Draft                TRFALICE                   November 2018

5. Autonomous and Dynamic TSCH Cell Allocation Method

   The trend of recent TSCH schedule research has changed from 
   centralized to distributed and has changed from a decentralized
   approach to an autonomous approach. Regarding autonomous 
   scheduler, the most influential method to date is the orchestra, 
   and all subsequent studies are based on the design structure of 
   the orchestra. They hash node ID to calculate cells for 
   communication.

   Recall that each node has multiple neighbors and one node is 
   connected with multiple links. With node-based scheduling method,
   multiple different links are scheduled on a same cell. As a
   result, scheduled links are concentrated in only a few cells
   wasting other time slots or channel offsets. Each node SHOULD
   utilize more time slots and more channel offsets in more efficient
   way.

   In the proposed method, we change the scheduling paradigm from 
   node-based to link-based. Moreover, it dynamically and autonomously
   adds and deletes cells on a slotframe based on the current traffic
   load.
 
   Here, we use 4 different slotframes: 1) TSCH EB, 2) Broadcast
   /Default, 3) Unicast, 4) Supplementary slotframes.
 
   Scheduling rules for TSCH EB and Broadcast/Default slotframes 
   follow those of orchestra. To schedule unicast and supplementary
   slotframes, we use a link-based scheduling approach.
 


5.1. Schedule of Unicast Slotframe

   On the unicast slotframe, each node autonomously schedules all 
   directional links to its RPL neighbors in different cells. As a 
   result, the number of transmission (outgoing) links is equal to 
   the number of its RPL neighbors (preferred parent and children) 
   and the number of receive (incoming) links is also equal to the
   number of its RPL neighbors. We define a link (X,Y) as the link
   from node X to node Y. Then, the link ID of the link (X,Y) is
   calculated by the following equation.

                 linkID(X,Y)=b*nodeID(X)+nodeID(Y)

   Here, the coefficient b is used to distinguish the direction of the
   link, and the value b can be the maximum value of available node 
   IDs. For example, if we use nodeID as the last byte of the mac
   address, the value of coefficient b is 256. Thereby, we can
   distinguish each directional link by using this equation.
 
   Moreover, we also use time information by adopting ASFN. ASFN is 


Kim, et al.           Expires May 27, 2019                    [page 8]

Internet-Draft                TRFALICE                   November 2018

   Absolute Slotframe Number that can be calculated using the 
   following equation.

                ASFN = floor( ASN / SlotframeLength )
 
   The proposed method hashes the directional link ID and the ASFN
   together. As a result, the TSCH schedule of the unicast slotframe
   is changed every slotframe cycle. Therefore, even if multiple
   links are scheduled in a same cell, they are fully distributed in
   the next cycle.
 
   Moreover, the proposed method uses multiple channel offsets so as
   to take the benefits of channel diversity. Here we use the same
   rule for both time offset and channel offset calculation. The
   hashed value is projected to one offset and the projection area
   depends on the number of available offset.
 
   For hash function, a combination of integer mix function and 
   modulo operation can be used as the following form.

             Hash(X,Y)= IntegerMixFunction(X) % Y
 
   Hash(X,Y) therefore outputs a value in the range [0, Y - 1] from 
   input X. Thereby, we use the following equations to calculate a 
   cell for the link (A,B) at the current ASFN.

           timeOffset = Hash( linkID(A,B)+ASFN , Nt_uc )

         channelOffset = Hash( linkID(A,B)+ASFN , Nc_uc ) +1
 
   Where Nt_uc and Nc_uc are the number of time offsets and channel 
   offsets of the unicast slotframe, respectively. Thus, the ranges for
   time offset and channel offset are [0, Nt_uc - 1] and [1, Nc_uc],
   respectively. We do not use channel offset 0 since it is used by
   TSCH EB slotframe. Due to priority settings between slotframes,
   though channel offset 1 is used in the broadcast/default slotframe,
   this offset can also be used in the unicast slot frame.

   For example, when the shared slot of the broadcast/default slotframe
   is activated, the channel offset 1 is used only for performing the
   corresponding operation. At this time, although a cell in the
   unicast slotframe is simultaneously scheduled at the same time
   slot, the shared slot of the broadcast/default slotframe is
   activated because of the priority setting between the slot frames.
   In the remaining case, since broadcast/default slotframe is not
   activated, the channel offset 1 is used only for the unicast
   slotframe.



   As described above, we use time information in scheduling and we
   also use the integer mix function to achieve the result that the


Kim, et al.           Expires May 27, 2019                    [page 9]

Internet-Draft                TRFALICE                   November 2018

   output value is completely different when the input value is
   changed by 1. Consequently, if the ASFN increases by 1 for every
   slot frame cycle, the next unicast slot frame schedule will be
   completely changed from the current schedule.
 
   With this scheduling method, on the unicast slotframe, each node
   allocated a cell for each directional link between the node
   itself and its RPL neighbors. When the network traffic load is low
   enough, allocating only one cell for each directional link per
   slotframe is enough to support reliable communication. However, as
   the traffic load increases, just allocating only one cell may not
   enough. Moreover, a node close to the root has more packets to
   forward to support multi-hop communication between the root and
   the nodes in its sub-network.

   Depending on the current traffic load, each node SHOULD dynamically
   and flexibly manage the number of unicast cells it can use.




5.2. Schedule of Supplementary Slotframe

 
   We can think two approaches. One is static additive cell allocation
   based on the sub-tree size of each node. The other is dynamic and
   additive cell allocation based on the current traffic load to its
   RPL neighbors. In the former method,  if the traffic load is low,
   the additional allocated cells might not be used, resulting in 
   energy wastage. So we use the latter approach when we allocate 
   additional cells to achieve energy efficiency. Because additional 
   cells are allocated only when needed, we don't have to worry about 
   unnecessary wake-up period.
 
   Moreover, the additional allocated cells MUST NOT interfere with 
   communication scheduled at the previous three (TSCH EB, Broadcast
   /Default, Unicast) slotframes. So we use completely different 
   channels on supplementary slotframe with the lowest priority among
   all the slotframes used.
 
   To recognize the current traffic load and detect the traffic change
   in real time, each node manages 4 parameters (myTxCount, myNumTx, 
   NumTx, NumRx) per each neighbor node X.

   myTxCount(X): A counter that counts the number of required 
   transmission cell per slotframe from the node itself to its neighbor
   X. The value is used to update myNumTx(X). Using myTxCount(X), 
   myNumTx(X) is updated at the last active cell of the current 
   slotframe schedule. After myNumTx(X) is updated, myTxCount(X) SHOULD
   be set as 0 to count the number of required transmission cell for
   the next slotframe cycle. When counting how many cells are needed,
   it SHOULD consider NOT only the number of enqueued packets in the


Kim, et al.           Expires May 27, 2019                   [page 10]

Internet-Draft                TRFALICE                   November 2018

   transmission queue but also mac-layer retransmissions.

   myNumTx(X): The required number of transmission cells per slotframe
   for node X. The value is updated at the last active cell of the
   current slotframe schedule of the current ASFN. Update equation can
   be as follows: myNumTx(X) = (1-e)*myNumTx(X)+e*myTxCount(X). Here,
   a coefficient e is used to implement exponentially weighted moving
   average (EWMA). After the calculation of new myNumTx(X) at the last
   active cell of the current slotframe, myTxCount(X) is set as 0 to
   count the number of required transmission cell for the next
   slotframe cycle.

   NumTx(X): The number of transmission slots per supplementary
   slotframe for node X. Whenever a node sends a unicast packet to its
   neighbor node X, it sends the number myNumTx(X) on the TSCH header
   together with the message. After receiving the link-layer
   acknowledgement from node X, the node updates NumTx(X) to
   myNumTx(X). The node can not update the value NumTx(X) to
   myNumTx(X) until it receives link-layer acknowledgement to the
   sent unicast message to node X.

   NumRx(X): The number of listen slots per supplementary slotframe for
   node X.  Each time a unicast packet is received from the node X,
   the value is updated to the latest value. 


   Example scenario: There are node A and B. Node A sends a unicast
   message to node B periodically. Every slotframe cycle, node A
   counts the number of required transmission cells for node B by
   managing myTxCount(B). Based on this value, myNumTx(B) is updated
   at the last cell of each slotframe cycle. Whenever node A sends a
   unicast packet to node B, it puts myTxCount(B) in the TSCH header.
   When it receives mac-layer acknowledgement from node B, it updates
   NumTx(X) to the current myTxCount(B). Since node B received
   unicast message sent from node A successfully, it knows how much 
   additional transmission cells A will allocate through the
   information in the TSCH header. So node B allocates that amount of
   additional listen cells. All these additional cells are allocated
   only on the supplementary slotframe.
 
   Each node has NumTx(X) and NumRx(X) for each RPL neighbors. It
   SHOULD allocate NumTx(X) more transmission cells for the
   transmission link (NodeID,X) and NumRx(X) more listen cells for
   the receive link (X,NodeID). Thereby each node knows the number
   of additional cells that SHOULD be scheduled for link (X,Y). 
   According to this value, each link (X,Y) has the number of 
   additional cells that SHOULD be scheduled on supplementary 
   slotframe and we assign different traffic ID for each additional
   requirement for each link. For example, if N additional cell 
   assignments are required for the link (X,Y), we have N different
   trfID(X,Y) and which are 1, 2, 3, ... , N.
 


Kim, et al.           Expires May 27, 2019                   [page 11]

Internet-Draft                TRFALICE                   November 2018

   By using trfID(X,Y), linkID(X,Y) and ASFN, each additional cell on
   supplementary slotframe for link (X,Y) is scheduled by using the 
   following equations.

   timeOffset = Hash(a*trfID(X,Y)+linkID(X,Y)+ASFN, Nt_sc)
   channelOffset = Hash(a*trfID(X,Y)+linkID(X,Y)+ASFN, Nc_sc) +1+Nc_uc
 
   Where Nt_sc and Nc_sc are the number of time offset and channel 
   offset in supplementary slotframe. Here, coefficient a is used to 
   distinguish a tuple of traffic ID and link ID. The value of 
   coefficient a is the maximum value of link ID. Therefore, if we use
   the last byte of the mac address as node ID, the maximum value of
   node ID is 256 and the maximum value of link ID is 256*256. 
   Thereby, we use 256*256=65,536 as coefficient a. 
 
   For channel offset, we add 1+Nc_uc to the hashed output not to use
   the same channels used by TSCH EB, Broadcast/Default and Unicast
   slotframes. As a result, cells scheduled on supplementary
   slotframe does not interfere with communication in the other
   three slotframes.
 
 

5.3. Summary

   Here, we summarize the proposed method. The key idea is simple. The
   proposed method is dynamic and autonomous TSCH cell scheduling 
   method which does not require any negotiation process or additional
   packet exchange. we use directional link ID to allocate different
   cell for each link and they are scheduled on unicast slotframe. We
   use ASFN to periodically change the slotframe schedule not to 
   disadvantage links scheduled on a crowded cell. If communication 
   opportunities provided by unicast slotframe is not enough, we use 
   supplementary slotframe for additional cell allocation. 
   Supplementary slotframe does not use the channels used by the other
   slotframes and has the lowest priority among all the used 
   slotframes, not to interfere default schedule. Since the number of
   further allocated cells is based on the current traffic load,
   additional cells are allocated only when needed and are
   automatically deleted if not needed.
 


6. IANA Considerations

   There are no IANA considerations related to this document.



7. Security Considerations

   Autonomous and dynamic TSCH cell allocation method for time-varying 


Kim, et al.           Expires May 27, 2019                   [page 12]

Internet-Draft                TRFALICE                   November 2018

   traffic load and evolving topology has similar requirements on 
   security as [RFC 7554].


8. ACKNOWLEDGEMENT

   This work was supported by the National Research Foundation of 
   Korea(NRF) Grant funded by the Korean Government(MSIP) 
   (No.2016R1A5A1012966), MSIP support program (IITP-2018-2015-0-00378)
   supervised by the IITP, IITP grant funded by the Korea government
   (MSIT) (No.2015-0-00557, Resilient/Fault-Tolerant Autonomic
   Networking Based on Physicality, Relationship and Service Semantic
   of IoT Devices) and Institute for Industrial Systems Innovation of
   Seoul National University.



9. References

9.1. Normative References

   [RFC 2119] S. Bradner, Key words for use in RFCs to Indicate
          Requirement Levels, IETF Network Working Group RFC 2119, March
          1997.
   [RFC 8480] Q. Wang, et al., 6TiSCH Operation Sublayer (6top) Protocol
          (6P), IETF 6TiSCH RFC 8480, November 2018.


9.2. Informative References

   [RFC 7554] T. Watteyne, Ed., L. Grieco, Using IEEE 802.15.4e Time- 
          Slotted Channel Hopping(TSCH) in the Internet of Things(IoT): 
          Problem Statement, IETF 6TiSCH RFC 7554, May 2015. 
   [TASA] M. R. Palattella, et al., Traffic Aware Scheduling Algorithm 
          for Reliable Low-Power Multi-Hop IEEE 802.15.4e Networks, 
          IEEE PIMRC 2012.
   [MODESA] R. Soua, et al., MODESA: An optimized multichannel slot 
          assignment for raw data convergecast in wireless sensor 
          networks, IEEE IPCCC, 2012.
   [DeTAS1] N. Accettura, et al., DeTAS: a Decentralized Traffic Aware
          Scheduling technique enabling IoT-compliant Multi-hop Low-
          power and Lossy Networks, IEEE WoWMoM 2013.
   [DeTAS2] N. Accettura, et al., Decentralized Traffic Aware Scheduling
          in 6TiSCH Networks: Design and Experimental Evaluation, IEEE
          Internet of Things Journal, vol.2, no.6, December 2015.
   [Wave1] R. Soua, et al., A distributed joint channel and slot
          assignment for convergecast in wireless sensor networks, NTMS
          2014.
   [Wave2] R. Soua, et al., Wave: a distributed scheduling algorithm for
          convergecast in IEEE 802.15.4e TSCH networks, Transactions on
          Emerging Telecommunications Technologies, Vol. 27, no.4, April
          2016.


Kim, et al.           Expires May 27, 2019                   [page 13]

Internet-Draft                TRFALICE                   November 2018

   [OTF]  M.R. Palattella, et al., On-the-fly bandwidth reservation for
          tisch wireless industrial networks, IEEE Sensors Journal, vol.
          16, no. 2, pp.550-560, 2016.
   [SF0]  D. Dujouvne, et al., 6TiSCH 6top Scheduling Function Zero
          (SF0), IETF 6TiSCH Internet Draft, 5/12/2016-1/3/2018.
   [MSF]  T. Chang, et al., 6TiSCH Minimal Scheduling Function (MSF),
          IETF 6TiSCH Internet Draft, 8/21/2018 (active I-D).
   [Orchestra] Simon Duquennoy, et al., Orchestra: Robust Mesh Networks
          Through Autonomously Scheduled TSCH, ACM SenSyS 2015, November
          1-4, 2015.
   [Escalator] S. Oh, et al., Escalator: An Autonomous Scheduling Scheme
          for Convergecast in TSCH, MDPI Sensors, April 2018.
   [e-TSCH-Orch] Sana Rekik, et al., Autonomous and traffic-aware 
          scheduling for TSCH networks, Computer Networks, ELSEVIER,
          2018, 135, pp.201-212.




Authors' Addresses

Seohyang Kim
Department of Computer Science and Engineering
Seoul National University
Seoul, Republic of Korea

Phone: +82 (0)2 880 1858
Email: shkim@popeye.snu.ac.kr



Hyung-Sin Kim
Computer Science Division
University of California, Berkeley
Berkeley, CA, USA 

Phone: +82 (0)2 880 1858
Email: hs.kim@cs.berkeley.edu



Chongkwon Kim
Department of Computer Science and Engineering
Seoul National University
Seoul, Republic of Korea

Phone: +82 (0)2 880 1858
Email: ckim@snu.ac.kr






Kim, et al.           Expires May 27, 2019                    [page 14]