# 3 MSF: A Multi-Modal Adaptation of the 6 TiSCH Minimal Scheduling Function for the Industrial IoT
## 4 The Multi-Modal Minimal Scheduling Function
### 6P Transactions  
3 MSF uses the Metadata field of 6P request messages [11] (Section 3.3) to indicate to which slotframe a request pertains. For the probing and shadow slotframe, the Metadata field value equals the respective slotframe handle, whereas for the negotiated slotframe, the value is zero. In Section 4.2, we mentioned that the shadow slotframe is effectively a pseudo-slotframe with a handle of \(\infty\). In practice, you would simply give the shadow slotframe a handle (e.g., 5) and treat it as an escape value. Figure 7: Format of a TSCH IETF Informational Element (IE) carrying a Timing sub-IE. Note that we used an IETF IE Subtype ID [12] (Section 4) in the experimental usage range. The Timing sub-IE contains a variable-length FactorList, where each entry must follow a specific format. Figure 9 shows a possible ADD transaction, which works the same for the probing, negotiated, and shadow slotframes. Node #2 wants to install two negotiated Tx supercells towards its preferred parent #1, forms an ADD request with a Metadata field value of 0, and populates its CellList[11] (Section 3.2.4) with groupings of consecutive subcells. Each subcell grouping must accommodate at least one supercell of the length required by the TSCH mode contained in the three MSBs of the request's CellOptions field. The NumCells field indicates how many subcells from the CellList #2 wishes to install towards #1 in the slotframe pointed to by the Metadata field. Hence, NumCells must be an integer multiple of the required supercell length, and the subcell groupings in the CellList must accommodate at least this integer multiple of supercells. Upon receiving the ADD request and performing all the checks required by 6P, #1 verifies that (1) NumCells is an integer multiple of the required supercell length; (2) each subcell grouping has a length  
Figure 8: Flowchart of events related to the selection of the next link a node must wake up for when it has either just joined the TSCH network by synchronizing to an Enhanced Beacon (EB) or when operations on the currently active link have concluded. In this flowchart, \(SC_{curr}\) is the currently active supercell, \(SC_{join}\) is the minimal supercell in which the node first synchronized to an EB and joined the TSCH network, \(SC_{next}\) is the supercell being evaluated against the Current Best Supercell (CBS) during link selection, \(SF_{next}\) is the slotframe to which \(SC_{next}\) belongs, and \(ASN_{curr}\) is the Absolute Slot Number (ASN) of \(SC_{curr}\)’s first subcell. greater than or equal to the supercell length; and (3) the proposed subcell groupings can accommodate a number of supercells greater than or equal to NumCells divided by the required supercell length. If the additional verification fails, or if #1 has no space left in its schedule to pick at least one supercell from the subcell groupings proposed by #2,#1 returns a 6P response containing the code RC_SUCCESS and an empty CellList. Otherwise, #1 returns an RC_SUCCESS response with a non-empty CellList, which is less than or equal to NumCells in length, and where all groupings are integer multiples of the required supercell length. It should be noted that it seems more appropriate to return a 6P response containing the code RC_ERR_CELLLIST if the additional checks were to fail. Unfortunately, this would violate RFC 8480 [11] (Section 3.3.1). Very similar to ADD transactions are DELETE transactions, which 3 MSF only uses for the negotiated slotframe. We retain all rules from RFC 8480 [11] (Section 3.3.2) concerning the deletion of cells (using a two-step 6P transaction). Additionally, we require (1) all subcell groupings to match actual supercells; and (2) NumCells to be an integer multiple of the required supercell length. 3 MSF also supports 6P RELOCATE transactions for the relocation of negotiated and probing supercells. We retain all rules from RFC 8480 [11] (Section 3.3.3) concerning the relocation of cells (using a two-step 6P transaction).