# 3 MSF: A Multi-Modal Adaptation of the 6 TiSCH Minimal Scheduling Function for the Industrial IoT
## 2 IPv6 over the TSCH Mode of IEEE 802.15.4
### Considerations for Multi-Modal Scheduling  
Since different communication modes (i.e., specific configurations of given PHYs) may have different data rates, an obvious consideration is the duration of timeslots. More specifically, do we use timeslots of the same (fixed) duration for all modes, or do we vary their duration corresponding to the data rate? In comparison to fixed duration, variable duration enhances schedule efficiency, resulting in increased throughput and/or decreased end-to-end latency. That being said, TSCH channel hopping (1) calls for (1) the ASN to be based on identical time boundaries throughout the network (\(\pm\)drift); and (2) a transmission (+potential acknowledgement) to respect said boundaries. If slots are of variable duration, there is only one way (known to us) to meet the first condition, i.e., by grouping together consecutive timeslots of equal duration. Unfortunately, this approach violates the second condition, although this would seemingly be a non-issue if the SF knew about timeslot durations. Fixed timeslot duration, on the other hand, simply follows the slowest communication mode. Through a one-dimensional slotframe representation (see Appendix A), Figure 3 illustrates the difference between using fixed- or variable-duration timeslots. For the remainder of this paper, we refer to timeslots of variable duration as \"superslots\" and their constituent slots of unit duration as \"subslots\", assuming a one-dimensional slotframe representation. In two dimensions, this concept translates to \"supercells\" and \"subcells\", respectively. The subcells of a supercell must be consecutive. In the time dimension, this means they must occupy consecutive slot offsets. In addition, assuming the frequency channel (\(\
eq\) channel offset) cannot change mid-transmission, subcells must also be organized accordingly in terms of channel offsets. After all, since the ASN increments for consecutive slot offsets, the frequency channel corresponding to those slot offsets follows (1). As such, the slot and channel offsets required for the subcells of a supercell to be truly consecutive are determined using (2) and (3). \[T_{a,b}=\{n\in\mathbb{N}:0\leq a\leq n\leq b<|SO|\} \tag{2}\]  
\[CO_{\text{SO}}= \begin{cases}\begin{cases}hash(MAC_{dest})&\text{for Auto-TX cells}\\ hash(MAC_{src})&\text{for Auto-RX cells}\\ rand(0,|CO|-1)&\text{for Negotiated cells}\\ (|CO|-1+CO_{SO-1})\ \%\ |CO|&\forall\ SO\in T_{a+1,b}\end{cases}\\ \end{cases}  \tag{3}\]  
where:  
\[T_{a,b}\]  
\[ \begin{array}{ll}\text{the set of consecutive slot offsets in the supercell starting at slot offset $a$}\\ \text{and ending after slot offset $b$;}\\ |SO|&\text{the number of slot offsets in a slotframe (starting from 0), i.e., the \"slotframe length\";}\\ \end{array} \]  
\[SO\]  
\[CO_{\text{SO}}\]  
\[CO_{\text{SO}}\]  
Finally, with synchronized MAC protocols like TSCH, you cannot simply tag packets with the communication mode to use for transmission. After all, devices can have multiple modes per interface, and although it is theoretically possible to simultaneously transmit and/or receive on modes belonging to different interfaces (provided they operate in different frequency ranges or the modes are otherwise orthogonal), the same is not generally true for communication modes belonging to the same interface due to hardware constraints. Hence, with TSCH specifically, it is better to tag cells with the communication mode(s) to use within them so that receiving nodes know a priori which communication mode(s) to listen to when waking up for an Rx cell. Put differently, if you wanted to tag packets, a receiving node would need to be able to listen on all interface-modes at once. Since this either imposes unreasonable hardware requirements on network devices or unnecessarily limits them to one communication mode per interface, tagging cells is a better approach.