Abstract
Keywords
Introduction
Internet of Things (IoT) is a technology that includes a network of object-to-object and human-to-object objects connected to the Internet, in which individually identifiable objects exchange information. 1 IoT can monitor and manage the information of its members in real time, and many universities, research institutes, and standardization organizations are working to further develop this technology. The intention of IoT technology is to connect new objects or network services to create new services or to improve existing ones.
This industry trend has influenced the industrial control field, where a merging of IoT with existing manufacturing technology has led to the emergence of the industrial Internet of Things (IIoT). 2 IIoT is a technology that enhances production efficiency through analysis of big data, by linking the sensing data collected in a factory with the IoT platform. Industrial sensor networks have long used wired networks rather than wireless networks for high safety, durability, and reliability. However, adding new sensor nodes is very difficult and costly to install and maintain wired networks. 3 To solve these problems, industrial wireless sensor networks such as WirelessHart, 4 ISA100.11a, 5 and IEEE 802.15.4e 6 have emerged as an alternative to the existing wired network; however, unlike WirelessHart and ISA100.11a, IEEE 802.15.4e only defines the MAC layer. The time-slotted channel hopping (TSCH) mode, one of the three modes of IEEE 802.15.4e, operates in a similar manner to the time synchronized mesh protocol (TSMP), 7 which communicates while hopping channels per a predetermined schedule. TSCH is a MAC protocol that ensures the low power and high reliability operation requirement of industrial networks. The IETF 6TiSCH8,9 Working Group was created to provide an Industrial IoT network by connecting the IEEE 802.15.4e TSCH MAC protocol and IETF IoT protocol stacks.
Because the TSCH MAC protocol is a time division multiple access (TDMA)-based protocol, 10 scheduling is required; however, the IEEE 802.15.4e standard describes how to operate the MAC layer, but does not specify how to perform the scheduling. Several scheduling algorithms have been proposed to solve this problem. The Traffic Aware Scheduling Algorithm (TASA)11,12 is a typical centralized scheduling method, and Decentralized Traffic Aware Scheduling (DeTAS)13,14 is a typical distributed scheduling algorithm. In this article, we propose quick setup scheduling (QSS), a centralized scheduling scheme with minimum control messages needed for scheduling, by allocating and deallocating required slots without rescheduling the entire schedule.
The composition of this article is as follows: section “Related work” describes the related IEEE 802.15.4e TSCH MAC, IPv6 routing protocol for low-power and lossy networks (RPL). 15 DeTAS, which is a representative TSCH scheduling algorithm, will also be briefly described. In section “QSS,” QSS, the scheduling scheme proposed in this article, is described in detail. Section “Performance evaluation” describes the experimental environment and scenarios and compares DeTAS with the proposed method. Finally, section “Conclusion” presents conclusions and future research directions.
Related work
IEEE 802.15.4e TSCH
The IEEE 802.15.4e standard enhances the MAC layer of IEEE 802.15.4 to meet the needs of industrial wireless sensor networks. The IEEE 802.15.4e standard adds three MAC modes: low-latency data network (LLDN), TSCH, and distributed synchronous multi-channel extension (DSME), to ensure low latency and real-time transmission.
The IEEE 802.15.4e LLDN mode was developed for low latency and high determinism and operates in a star topology. The LLDN has a TDMA-based Superframe structure. The Superframe consists of a beacon slot, a management slot for managing downlink and uplink, and data slots of the same size. The LLDN sends the same packet successively for lowering the probability of packet loss in a wireless network.
The IEEE 802.15.4e DSME mode is designed to guarantee low-delay real-time transmission while maintaining the Superframe structure of the existing IEEE 802.15.4. DSME adopts multi-Superframe structure to solve the limitation of the number of guaranteed time slot allocations. Also, the deterministic of the network is improved by extending the contention free period interval instead of the inactive interval in the existing Superframe.
The IEEE 802.15.4e TSCH mode operates with high reliability and low power consumption and is suitable for industrial wireless sensor networks. In an IEEE 802.15.4e TSCH network, all nodes are synchronized. The time is divided into time slots, and the slot frame consists of a group of time slots. The node repeats the scheduled slot frame and performs a transmit, receive, or sleep operation in a time slot.
The channel hopping capability of TSCH reduces external interference and multipath fading problems. Since TSCH is a TDMA-based MAC protocol, the node must schedule the time to communicate with other nodes. The schedule is represented by a two-dimensional matrix in the form of slotOffset and channelOffset, and this matrix element is called a cell. Once a cell is scheduled for transmission or reception, the node can communicate with its neighbor. The allocated cell includes the operations for transmitting data and receiving acknowledgement (ACK). The IEEE 802.15.4e standard defines a method of executing a schedule, but does not define a scheduling method. In this article, we overcome this problem by proposing QSS using minimum control messages.
RPL
RPL is a routing protocol that uses a Destination-Oriented Directed Acyclic Graph (DODAG) that is formed using one or more routing metrics to find a sink path. Each node broadcasts a DODAG Information Object (DIO) message periodically. When a DIO message is received from a neighbor node, the node selects a preferred parent node through this message. Each node computes the rank through the objective function (OF); because the rank represents the relative distance to the sink, the node selects the node with the lowest priority rank among the neighbor nodes. If a neighbor has a rank value that is less than the rank of the current parent node, the node changes its parent node.
TASA
Accettura et al. proposed the TASA, which offers optimal scheduling in a centralized manner. The TASA allocates a slot in both the matching process and the coloring process. First, nodes to be transmitted are selected in the corresponding time slot through a matching process. Then, the channel offset of the nodes is allocated so that interference does not occur through the matching process. In this way, the TASA is capable of optimal scheduling and enables interference-free scheduling. But TASA has a problem. Since TASA allocates cells in a greedy manner, it does not consider queue congestion, which causes a buffer overflow.
DeTAS
To solve the problem of TASA, Accettura et al. then proposed a DeTAS algorithm. DeTAS is capable of an optimal multi-hop schedule like TASA; however, TASA uses centralized scheduling that forms the scheduling of all nodes in a sink node, while DeTAS schedules in a distributed manner. To set up scheduling in DeTAS, each node sends traffic information to its parent node. When the parent node receives the traffic information, it updates its own traffic information and transmits the updated information to the parent node, to then arrive at the sink node. The sink node divides the child nodes into even or odd scheduling. When assigned to even-numbered scheduling, data are transmitted at even-numbered slot offsets and received at odd-numbered slot offsets. In contrast, when the data are allocated by odd-numbered scheduling, data are transmitted at odd-numbered slot offsets and received at even-numbered slot offsets. Thus, nodes using even-numbered scheduling in the same DODAG rank, and nodes using odd-numbered scheduling, are allocated completely independently so that interference does not occur. DeTAS can create optimal scheduling if the sink node appropriately allocates child nodes with even or odd scheduling.
To achieve optimal scheduling, DeTAS generates the same overhead as the centralized method because each node updates the traffic information received from the child node and transmits the information to the sink node. If a new node participates in the network, or if the parent node changes, all scheduling should be rescheduled even if the traffic information changes. Because DeTAS scheduling is distributed, each node only knows the scheduling information of its parent node and its child nodes, so does not know where scheduling is required. Additionally, the sink node must determine the even/odd scheduling of the child nodes each time, through the traffic information of the child nodes. If rescheduling is performed, the number of packets required for scheduling increases and overhead becomes large, and the total scheduling time increases.
DeTAS was selected as a comparison target with QSS, which is a proposed scheduling technique in this article. Since DeTAS is a better scheduling technique that solves the problems of TASA, QSS does not compare with TASA. Although DeTAS allocates a slot in a distributed manner, it must start from a sink node in order to perform a slot allocation. Therefore, DeTAS is not much different from centralized, so QSS, a centralized scheduling technique, is compared with DeTAS.
QSS
QSS design
In an IIoT network, nodes periodically collect sensing information and send it to the sink node. IIoT networks require reliable data transmission because the data that each node sends are critical in some circumstances. DeTAS has a large number of control packets required for scheduling, so it takes a lot of scheduling setup time, which causes a problem in sensing data transmission. As a preliminary work to solve the problem, we have previously proposed centralized link scheduling (CLS). 16 QSS is an enhanced TSCH scheduling with quick setup time that improves CLS. The QSS algorithm is designed with the following characteristics:
The QSS allocates a slot so that collisions do not occur within the network. Reliability is of the utmost importance in industrial sensor networks, and to increase reliability there should be no collision between nodes. QSS uses different channel offsets for different ranks and uses different time slots within the same rank to avoid collisions between nodes.
In a TSCH network, all nodes are synchronized and transmit sensor data periodically. The QSS allocates a slot based on the traffic information of each node to prevent packet queue congestion. The smaller the DODAG rank value, the more traffic is required because the packets received from the child nodes must be forwarded.
QSS prevents buffer overflow. When a buffer overflow occurs, packets are dropped and reliability is degraded. QSS alternately allocates the transmit and receive slots to prevent buffer overflow.
QSS minimizes the active slot length to reduce the end-to-end delay. The active slot length is the length of the allocated slot. Because each node in an IIoT network transmits data in a short period of time, it requires a low end-to-end delay. The end-to-end delay decreases as the active slot length decreases.
QSS reduces the number of control messages required for scheduling to a minimum. If a new node joins the network, the preferred parent is changed, and the amount of traffic requested by the node changes; the nodes of the associated routing graph are assigned or deallocated without full rescheduling. In this way, the required number of control messages is reduced so that scheduling is set up as quickly as possible. Each node can transmit sensing data after scheduling is complete, so the shorter the setup time, the more data can be transmitted.
To satisfy these features, QSS comprises three algorithms: QSS Allocation Processing, QSS Deallocation Processing, and QSS Optimization Processing. QSS Allocation Processing is an algorithm for allocating a new slot, and QSS Deallocation Processing is an algorithm for deallocating a previously allocated slot. QSS Optimization Processing relocates allocated slots to minimize the active slot length.
QSS Allocation Processing
When a node receives the Enhanced Beacon message and synchronizes, it selects a preferred parent node among neighboring nodes based on the RPL DIO message received from the neighboring node. When a node selects a preferred parent node, it sends a QSS Allocation Request message for the slot assignment to the parent node; when the amount of traffic required by the node increases, a QSS Allocation Request message is transmitted to request additional slot allocations.
This message contains a linkQueue. The linkQueue stores link information including its own address, the address of its parent node, its own DODAG rank, and the number of slots required for data transmission. If a node receives a QSS Allocation Request message, it sends a new link consisting of its own address, parent node address, DODAG rank, and the required number of child nodes, to the linkQueue to the parent node. Thus, additional slots are allocated at the parent node so that the data generated by the child node can reach the sink node from one slot frame.
QSS Allocation Processing begins when the sink node receives the QSS Allocation Request message. Figure 1 shows a flowchart of the QSS Allocation Processing algorithm. QSS Allocation Processing is scheduled until the linkQueue is empty.

Flowchart of the QSS Allocation Processing algorithm.
First, get the link from linkQueue; if the DODAG rank value of the link is 1, the starting Slot offset is 0. If the DODAG rank value of the link is greater than 1, the starting Slot Offset is the last allocated time slot offset of the parent node of the link, plus one. The channel offset of the link is allocated based on DODAG rank, and the value of DODAG rank in the link minus one is used as the channel offset. That is, since the parent node and the child node transmit data on different channels, it is possible to prevent collision between nodes with different DODAG rank values.
If the designated Slot Offset and Channel Offset are not assigned to the scheduling table and do not cause conflict with other nodes, the link is allocated to the corresponding slot. If it is already allocated, or a collision with other nodes occurs, increase the Slot Offset by 1 and check again. When a link is allocated in this way, the sink node sends the allocated slot information to the node when the linkQueue becomes empty, and QSS Allocation Processing ends.
In this way, QSS Allocation Processing maintains the scheduling of the existing nodes as it is and maintains the scheduling without rescheduling the entire scheduling through additional slot allocation only for the nodes with increased traffic. As a result, the number of control messages necessary for scheduling is reduced, scheduling is completed quickly, and more sensing data can be transmitted. Additionally, nodes that apply QSS do not cause buffer overflow, and reliable sensing data transmission is possible because no interference occurs.
QSS Deallocation Processing
In a TSCH network, the node calculates and updates the rank of neighboring nodes through the received RPL DIO message. When a node has a rank value that is smaller than the rank value of its parent node, it changes the parent node to its neighbor. When a node changes its parent node, it must deallocate the assigned cell to send the packet to the previous parent node; a new cell must also be allocated to transmit the packet to the new preferred parent node.
When the preferred parent node is changed, the node releases the allocated cell by transmitting the QSS Deallocation Request message to the previous parent node. The QSS Deallocation Request message includes cellList, which is a list of allocated tx cells. To reduce the number of control packets and maintain scheduling, QSS Deallocation Processing proceeds locally. Figure 2 shows a flowchart of the QSS Deallocation Processing algorithm. The node that changed the parent deallocates the tx cell assigned to it and sends the cellList composed of the deallocated tx cells to the previous parent node. When the parent node receives this message, it deallocates the rx cells associated with itself in the cellist.

Flowchart of the QSS Deallocation Processing algorithm.
If the node is not a sink node, it must deallocate the assigned cell to forward the packet received from the child node to the allocated tx cells. Therefore, the tx cell having the smallest slot offset value of tx cells larger than the slot offset of the deallocated rx cell is deallocated. After adding the deallocated cells to the cellList, the node sends the deallocated cells to the parent node and repeats the same process for the sink node. Likewise, the sink node deallocates the rx cells of the child node that sent the message. The sink node removes the cells in the cellList from the scheduling table to update the overall scheduling. Thus, the number of control messages required to deallocate a cell matches the DODAG rank of the node that changed the parent. The reason for this is that the QSS Deallocation Request message is transmitted to the sink node to deallocate locally appropriate cells.
The node that changed the parent node sends a QSS Allocation Request message to the new parent node for the new cell assignment. The new slot assignment proceeds in the same way as described above. In this manner, only some of the nodes involved in the routing path change, either to allocate additional slots or remediate the scheduling through deallocation. As a result, congestion in the network is prevented by reducing the number of control packets required for scheduling, and nodes not related to the changed routing path are not affected; QSS can thus operate flexibly in environments where network paths change frequently.
QSS Optimization Processing
QSS Allocation Processing is greedy in that it allocates an appropriate slot based on current circumstances; the active slot length may therefore not be the minimum. To overcome this, if the network is determined to be stable, the cells allocated to the scheduling table are rearranged and optimized by QSS Optimization Processing. If the sink node does not receive the QSS Allocation Request message and the QSS Deallocation Request message within a predetermined time, it determines that the network is stable and starts QSS Optimization Processing.
The sink node starts relocation based on its own scheduling table. QSS Optimization Processing proceeds with channel offsets 0 through 16 in turn, as follows: first, cells assigned to the channel offset are inserted into the cellList. If the cell is not in the cellList, it is inserted immediately. If the cell exists in the cellList, the number of cells stored in the cellList is incremented by 1. That is, different cells are stored in the cellList, and the number of corresponding cells is indicated by the count value.
If the channel offset is 0, the cell list is stored in the optimized table when finished. The process is performed until the cellList is empty. Cells are allocated while increasing the time slot offset from 0 to 1. The cell with the highest count value among the cells in the cellList is taken from the cellList and assigned to the corresponding time slot offset. If the cell with the largest count value is the cell assigned to the previous time slot offset, the cell with the next largest count value is allocated. When the cell is allocated to the optimized table, the time slot offset is incremented by 1, and the count value of the corresponding cell is decremented by 1; when the count value becomes 0, it is deleted from the cellList. If there is only one cell in the cellList, the time slot offset is incremented by 1.
If the channel offset is greater than 1, the cell is allocated by referring to the optimized table. This allocates a cell by referring to a table at a position of a value obtained by subtracting 1 from its own channel offset. For example, if the channel offset is 1, the cells are allocated based on the cells assigned to the channel offset 0. The cellList progresses until it is empty. The cells are then taken out of the cellList and assign them to them in order. The time offset position to be allocated is referenced in the optimized table; this is designated as a position other than the first position, among positions obtained by subtracting 1 from the tx position allocated to the rx node of the corresponding cell. Figure 3 shows the QSS Optimization Processing algorithm.

QSS Optimization Processing algorithm.
Minimal active slot length
QSS illustrative example
Figure 4 shows an example of three processing of QSS. When the node

Example of QSS processing.
If the node
Finally, if it is determined that the network is stable, QSS Optimization Processing minimizes the active slot length. This process starts at channelOffset 0. It counts the links allocated in channelOffset 0 and allocates them from the link with the largest value. Since link
Performance evaluation
Experimental environment
In this section, we evaluate the performance of QSS using the 6TiSCH simulator. The 6TiSCH simulator is an open-source project written in Python and developed by members of the 6TiSCH Working Group, which implements the IEEE 802.15.4e TSCH MAC layer and RPL protocol. The 6TiSCH simulator adjusts various parameters including the packet generation period, slot frame length, number of nodes, and node allocation area; these measure end-to-end reliability, end-to-end delay time, and the number of scheduled cells. 6TiSCH simulator implemented the proposed scheduling method, QSS, in this article.
We first measured the number of control packets required for scheduling, for the routing graph to stabilize in a static network environment. Second, we compared the number of control packets needed to maintain scheduling when the parent node changed. Third, we measured the time taken for scheduling to be set up according to the DODAG rank. Finally, we compared end-to-end latency for three cases of DeTAS, QSS, and Optimized QSS after scheduling was completed. The simulation setup is as follows: the number of nodes measured was 20, 40, 60, and 80, and the positions of the nodes were randomly arranged around a central sink node within a 2 km × 2 km area. Each node generated packets at 1 s intervals, and 16 IEEE 802.15.4 channels were used. Each result was obtained by averaging 10 simulation results in various topologies. Table 1 shows the experimental parameters used.
Experimental parameters.
Experimental results
Figure 5 shows the number of control packets required for scheduling for the routing graph to stabilize, on four different networks consisting of 20, 40, 60, and 80 source nodes. When the node receives the Enhanced Beacon from the neighbor node and is synchronized and participates in the network, it sends a request message for scheduling and receives a response message. The DeTAS and QSS control packets were measured until the routing graph stabilized and there was no further change in scheduling. The results show that the number of control packets required for scheduling at all source nodes was found to be lower for QSS than DeTAS. In DeTAS, when a new node is added, a DeTAS request message must arrive at the sink node to update the traffic information. To optimize the scheduling, the sink node must reassign the child nodes to the even or odd schedules depending on the amount of traffic. Since distributed scheduling is used for optimization, rescheduling must start from the sink node to the leaf node. DeTAS requires many control packets because it needs to reschedule all nodes in the network; QSS, however, requires a smaller number of control packets because it maintains and manages the scheduling of the nodes in the path, from the newly participating node to the sink. In DeTAS, the number of required control packets increases exponentially as the number of nodes increases. In QSS, the number of control packets increases linearly because no rescheduling is required. When the number of nodes is 80, DeTAS requires about three times as many control packets as QSS.

Number of control packets required for scheduling for the routing graph to stabilize.
Figure 6 shows the number of control packets required for scheduling when the parent node changes. QSS requires many control packets than DeTAS at all source nodes, and although the number of nodes increases, almost a certain number of control packets are required. In industrial wireless sensor networks, nodes are usually concentrated; thus, although the number of nodes increases, most of the nodes are connected within three hops in the sink. When the parent node changes, the QSS sends a QSS Deallocation Request message to the previous parent node to arrive at the sink node. The number of control packets required at this time is the same as the value of the DODAG rank, before the parent node is changed; when the parent node is changed, the QSS Allocation Request message is sent to the new preferred parent node to arrive at the sink node. The number of control packets required at this time is the same as the value of the DODAG rank value multiplied by 2, after the parent node is changed. The request message must be transmitted to the sink node, and the newly allocated slot information must be transmitted to the node. That is, if the parent node is changed in the QSS, the number of control messages can be calculated as the previous

Number of control packets required for scheduling when the parent node changes.
Figure 7 shows the time taken for all nodes in the network to be set up for scheduling, when the new node participates in different DODAG rank locations. All nodes allocate one transmit and receive (TXRX) slot with the same slotOffset and channelOffset and send the control packet necessary for scheduling through this slot; they also measure the setup time to complete the scheduling. Results show that QSS has a short setup time due to a small number of control messages, and DeTAS has a high setup time due to a large number of control messages. QSS increases linearly with DODAG rank as the setup time is measured, even if the number of nodes increases. In contrast, DeTAS increases the setup time when the number of nodes increases and shows a high setup time regardless of DODAG rank. The TXRX Slot operates on a contention-based basis and is a high-probability slot for interference. Therefore, as the number of control messages increases, there is a high probability that congestion will occur, and a large amount of time is required for transmission. As the scheduling setup time increases, the amount of data to be collected decreases because the timing of the sensing data transmission is delayed.

Time taken for all nodes in the network to be set up for scheduling, when the new node participates in different DODAG rank locations.
Figure 8 shows the amount of data collected when the routing graph fluctuates in each DODAG rank in 1-min period in 80 nodes. The size of one data is assumed to be 127 bytes, which is the maximum value of IEEE 802.15.4 radio. The amount of data collected is similar in QSS, even if the DODAG rank increases. In contrast, DeTAS increases the scheduling setup time as the DODAG rank value increases, thereby reducing the amount of collected data. The amount of data collected in an IIoT network is very important, and QSS can guarantee collection of large amounts of data. With a rank of 5, QSS shows an improved data collection rate of about 5% over DeTAS. The sensing data are continuously transmitted in a very short period to form big data. For example, the size of data that 80 nodes transmit in a day is about 837.15 MB. A 5% performance penalty is a very large figure because it does not collect about 41.86 MB per day.

Amount of data collected when the routing graph fluctuates in each DODAG rank in 1-min period in 80 nodes.
Figure 9 compares the end-to-end latency for cases of QSS, DeTAS, and Optimized QSS, in networks with 20, 40, 60, and 80 nodes. Each node generates data when a slot frame starts. The end-to-end latency was calculated using the difference between the absolute slot number (ASN) at the time the data were generated and the ASN at the time the packet arrived at the sink node. Actual end-to-end latency was calculated by multiplying the value by one time slot length of 10 ms. As a result, QSS showed slightly higher end-to-end latency than the other two cases. Because QSS allocation processing and QSS deallocation processing are repeated, the active slot length becomes longer and increasingly suboptimal. To overcome this problem, if the network is determined to be stable, the sink node optimizes the scheduling through QSS Optimization Processing. Optimized QSS then shows an end-to-end latency similar to DeTAS.

End-to-end latency for cases of QSS, DeTAS, and optimized QSS, in networks with 20, 40, 60, and 80 nodes.
Figure 10 shows the number of additional control packets due to QSS Optimization Processing, in networks with 20, 40, 60, and 80 nodes. QSS Optimization Processing requires additional control packets because it must be performed in the sink node to send scheduling information to each node. Although additional control packets are required for optimization processing, this does not affect the amount of data collected. This is because the control packet is transmitted in TXRX slot, not in the slot allocated for data transmission. In addition, since each node is working with the existing scheduling while receiving an optimized scheduling, the node can continue data transmission.

Number of additional control packets due to QSS Optimization Processing, in networks with 20, 40, 60, and 80 nodes.
Conclusion
In this article, we have studied centralized multi-hop scheduling in IIoT networks. The TSCH MAC standard does not specify a scheduling method, and to solve this problem, scheduling schemes such as DeTAS have been proposed. When using the DeTAS scheme however, if a new node participates in the network, the routing graph changes, or the traffic load of the node changes, the number of control packets then increases; this is because the distributed scheduling means that all nodes must reschedule. If the number of control packets increases, the scheduling setup time becomes slower and the amount of data collected decreases.
In this article, we propose a QSS algorithm that minimizes the number of control packets required for scheduling. QSS consists of QSS Allocation Processing, QSS Deallocation Processing, and QSS Optimization Processing algorithms. If the node joins the network or the amount of traffic increases, the sink node allocates the appropriate slot through QSS Allocation Processing. When the parent node is changed, the assigned cell is locally unassigned via QSS Deallocation Processing. If QSS Allocation Processing and QSS Deallocation Processing are repeated, an issue arises whereby the active slot length is lengthened and gradually deviates from optimal scheduling. To overcome this problem, when the network is stable, the cells allocated for optimal scheduling are relocated through QSS Optimization Processing.
Experiments were performed using the 6TiSCH simulator to compare DeTAS and QSS. Simulation results show that QSS has three times fewer control packets than DeTAS in 80 nodes and 20 times less scheduling setup time. QSS ensures the same end-to-end delay as DeTAS through optimization processing and does not affect the amount of data collected, even if additional control packets are required for optimization. In future work, we will evaluate QSS performance by implementing it in the open-source OpenWSN 17 project within the IoT stack.
