# 3 MSF: A Multi-Modal Adaptation of the 6 TiSCH Minimal Scheduling Function for the Industrial IoT
## 4 The Multi-Modal Minimal Scheduling Function
### Sloframe Structure
Therefore, once we attempt transmitting a unicast packet (and its MAC sequence number is \"on-air\"), it must be dequeued before the next unicast packet (i.e., with a consecutive sequence number) can be transmitted to the same neighbor. Put differently, if a given unicast packet can only be sent on Tx supercells tagged with a certain TSCH mode, other Tx supercells to the same neighbor cannot be used for the transmission of other unicast packets as long as we are attempting to transmit the current packet. As such, if we allowed non-probe unicast packets on negotiated Tx supercells only, retransmissions of those packets would often cause us to skip the Tx supercells tagged with alternating mode, thereby preventing us from maintaining fresh inferred metrics. If the Tx supercells tagged with the alternating TSCH mode (i.e., to be used towards neighbors we already have negotiated Tx supercells towards) were autonomous Tx supercells, they would be shared. Since non-probe unicast transmissions would be allowed on these supercells, this would be especially problematic in networks with a tree-like routing topology and mostly MP2P traffic. Hence, we required another slotframe based on the alternating TSCH mode: the probing slotframe. The probing slotframe is managed in a similar fashion to the negotiated slotframe (see Section 4.5). As with negotiated supercells, probing supercells also correspond to dedicated links. Probing supercells can only overlap with autonomous Tx supercells, and the probing slotframe handle must be greater than the autonomous slotframe handle but less than the negotiated slotframe handle. Figure 5: Example of the slotframe structure of the Multi-Modal Minimal Scheduling Function (MSF). As 3 MSF is a distributed scheduler, the contents of the slotframes shown constitute the schedule as seen by a single node (e.g., #2) in a small example network. Black arrows indicate child-pamart relationships. A node must install exactly one probing Rx and one probing Tx supercell towards a newly preferred parent (in that order) before it can install a negotiated Tx supercell towards the same parent, and both probing supercells must remain scheduled as long as at least one negotiated Tx supercell is scheduled towards the same neighbor. Additionally, a node cannot have an autonomous Tx supercell towards neighbors it already has a probing Tx supercell towards. All unicast traffic is allowed on both probing and negotiated supercells. That said, probes may be dropped in favor of other unicast packets under certain conditions (see Section 4.6). MSF's windowed counter mechanism for negotiated cell management [7] (Section 5.1) is problematic for negotiated Rx cells because the owner of an autonomous Rx cell does not know when the owner of the corresponding autonomous Tx cell backs off (see Appendix B). Therefore, 3 MSF updates this mechanism slightly. More specifically, when there is no negotiated Rx supercell towards the preferred parent, the probing Rx supercell (as well as the packets received on it) and not the autonomous Rx supercell (nor the packets received on it from the preferred parent) is taken into account for downstream traffic adaptation. This works because the probing Rx supercell towards the preferred parent is mandatory (so we can maintain fresh inferred metrics towards the preferred parent) but (unlike autonomous supercells) the corresponding probing Tx supercell (as seen from the preferred parent's perspective) is not shared. Finally, this brings us to the shadow slotframe, which is more of a pseudo-slotframe, as shadow supercells are not considered when determining the next link to use (hence the slotframe handle \(\infty\)). As far as the processes that govern the selection of the next link are concerned (see Section 4.4), the shadow slotframe does not exist. The sole purpose of the shadow slotframe is to build (in parallel) an alternative to the current negotiated slotframe towards the preferred parent if we wish to change the interface-mode to be used in the negotiated cells towards it.