# Escalator: An Autonomous Scheduling Scheme for Convergecast in TSCH
## 4 Proposed Autonomous Scheduling Scheme for Convergecast
### Channel Offset Selection Mechanism  
This section describes the channel offset selection mechanism that determines the concurrent communication channel usage in Escalator. That is, the selection mechanism assigns different channels to the communication links that could be in conflict with each other for concurrent communication by utilizing the rank of the links. The rank of a link means the distance from the sink to the link and is determined by the smaller value between the hop counts of the two nodes constituting the link. Figure 4 shows the ranks of links. The channel offset selection mechanism allocates a channel offset for the links with two adjacent ranks (for example, links with Ranks 0 and 1 use Channel Offset 0, and links with Ranks 2 and 3 use Channel Offset 1). Due to the nature of this channel allocation, Escalator has the following network extension range: When the number of available channels in the network is \(Ch\), the maximum hop count of nodes in the network is less than or equal to \(Ch\times 2\). The channel offset selection mechanism determines the channel offset by the rank of the link and the link communication type. There are two different link communication types in Escalator: unicast and broadcast. The unicast link of a node is used to receive packets from the child nodes and to transmit packets to the parent node, and the broadcast link of a node is used to advertise beacons to the child nodes. The direction of unicast and broadcast links in the same rank is opposite. Notice that the convergecast slotframe of Escalator deals with only upward unicast links and downward broadcast links because the downward unicast links are covered in the baseline slotframe. We define the channel offset calculation formulas for each link type so that links of the same rank use the same channel offset regardless of the type and direction of the link. Equations (3) and (4) are used to calculate the channel  
Figure 4: An example of the rank of links. Figure 3: An example of the sliding slotframe. offset of the broadcast link of node \(v_{i}\). Equations (5) and (6) are used to calculate the channel offset of the unicast link of node \(v_{i}\). \[CO_{BT_{i}} = \left\lfloor\frac{H_{v_{i}}}{2}\right\rfloor \tag{3}\] \[CO_{BR_{ij}} = \left\lfloor\frac{(H_{v_{i}}-1)}{2}\right\rfloor,\quad\forall v_{j} \in V\] (4) \[CO_{TX_{ij}} = \left\lfloor\frac{(H_{v_{i}}-1)}{2}\right\rfloor,\quad\forall v_ {j}\in V\] (5) \[CO_{RX_{ij}} = \left\lfloor\frac{H_{v_{i}}}{2}\right\rfloor,\quad\forall v_{j} \in V \tag{6}\]  
Algorithm 2 shows the pseudocode of the function that determines the operation and channel offset at the current timeslot, which is executed on every node at every timeslot. This function uses ASN to calculate the timeslot of both convergecast and baseline slotframes (see Equations (1), (2) and Lines 2, 11 of the algorithm) and selects the operation accordingly. This function then calculates the channel offset to use for the selected operation (see Equations (3)-(6) and Lines 5-8 of the algorithm). That is, when a node executes the operation of the convergecast slotframe, it uses the channel offset selection mechanism to determine the channel offset according to the type of links. When the node executes the operation of the baseline slotframe, the channel offset is set to zero.