TSCH Multiple Slotframe Scheduling for Ensuring Timeliness in TS-SWIPT-Enabled IoT Networks

This paper presents a time-slotted channel hopping (TSCH) multiple slotframe scheduling (TMSS) protocol to ensure the timeliness of energy harvesting and data transmission for sensor devices with different transmission periods in Internet of Things (IoT) networks enabled with timeswitching simultaneous wireless information and power transfer (TS-SWIPT). The TMSS uses a modified three-step 6P transaction to allocate power and data cells within the slotframe. The sensor device sets the slotframe length equal to the transmission period and estimates the number of power and data cells for allocation in the configured slotframe and requests cell allocation to the hybrid access point (HAP). Upon request from a sensor device, the HAP executes a cell-overlapping prevention (COP) algorithm to resolve the cell-overlapping problem and responds to the sensor device with a candidate cell list. Upon receiving the response from HAP, the sensor device determines its power and data cells by referring to the cell list. We conducted experimental simulations and compared the TMSS performance to that of the legacy TSCH medium access control (MAC) with a single slotframe and the harvest-then-transmit-based modified enhanced distributed coordination function (EDCF) MAC protocol (HE-MAC). The results showed that TMSS outperforms legacy TSCH MAC and HE-MAC in terms of delay, effective throughput and energy utilization.


Introduction
As the Internet of Things (IoT) has become widespread, many types of sensor devices have been deployed in IoT networks to support various IoT applications, such as smart grid, smart cities and smart manufacturing [1][2][3][4]. In IoT applications, sensor devices periodically collect information from the surrounding environment and deliver it to the intended destination [5][6][7]. Sensor devices are generally powered by a battery with limited capacity; thus, most IoT applications suffer from a short device lifetime [8][9][10]. Energy depletion of certain sensor devices leads to unexpected malfunctions of IoT networks, which incur high maintenance costs [11,12].
Recently, simultaneous wireless information and power transfer (SWIPT) has been considered a promising solution to address this problem because it allows the sensor device to harvest energy from radio frequency (RF) signals and exchange data packets using the harvested energy [13][14][15]. In addition, SWIPT can be classified into power-splitting (PS)-SWIPT and time-switching (TS)-SWIPT according to the receiver architecture [16][17][18]. In PS-SWIPT, the receiver splits the received RF signal into two separate signal streams to harvest energy and obtain information at the same time. In TS-SWIPT, the receiver periodically switches its antenna between the energy harvesting and information decoding circuits to harvest energy and obtain information in a time-division manner. The TS-SWIPT is more suitable than PS-SWIPT for implementing IoT networks because of its simpler throughput and 44.31% and 25.48% higher energy utilization compared to that of legacy TSCH MAC and HE-MAC, respectively.
The rest of this paper is organized as follows. In Section 2, we introduce the related works. Section 3 provides a system model of TMSS. The detailed design of TMSS is described in Section 4. In Section 5, the simulation configuration and results are presented. Finally, Section 6 concludes the paper.

Related Works
In TS-SWIPT-enabled IoT networks, the MAC protocol plays an important role in providing the timeliness of energy harvesting and data transmission. Recently, a number of MAC protocols have been proposed for TS-SWIPT networks and these can be categorized into two types; CSMA/CA-based approach and TDMA-based approach according to multiple-access methods.
Naderi et al. [28] proposed an RF-MAC which is a CSMA/CA-based MAC protocol for RF energy harvesting sensor networks. In RF-MAC, a sensor device broadcasts the request for energy (REF) packet when its residual energy level reaches a pre-set threshold and waits for the cleared for energy (CFE) pulses from energy transmitters. From the received CFE pulses, the sensor device determines their energy transfer frequencies and the charging duration and responds with an Ack packet. Then, the multiple energy transmitters set their energy transfer frequencies and concurrently transmit the energy signals to the sensor device during the allocated charging duration. To provide the timeliness for energy harvesting, the RF-MAC prioritizes the energy request over data exchange by adjusting CSMA/CA MAC parameters such as slot time, distributed coordination function (DCF) inter-frame space (DIFS) and short inter-frame space (SIFS). Kim et al. [29] proposed an RF energy auto-charging and harvesting (REACH) method, in which the energy transmitters participate in channel contention and automatically transmit the energy signals to charge the sensor devices during the idle time without energy request from sensor devices. In REACH, to provide the timeliness for data transmission of sensor devices, the energy transmitter maintains has a lower channel access priority than sensor devices. Ha et al. [30] proposed a harvest-then-transmit-based modified EDCF MAC protocol, HE-MAC, which manages both energy harvesting and data transmission. In HE-MAC, the sensor device first harvests energy using RF signals from the HAP and then uses the harvested energy to transmit data to the HAP. For timely energy harvesting and data transmission, the sensor devices in the network are classified into different access categories (ACs) depending on whether they have data to be transmitted to HAP. For each AC, the EDCF operational parameters such as arbitration inter-frame space (AIFS), CW min and CW max are differentiated.
The CSMA/CA-based approaches commonly suffer from unpredictable delays due to control packet exchange, random backoff and frequent collisions and as the number of devices in the network increases, the number of collisions increases, resulting in a long delay. Therefore, they have limitations in ensuring the timeliness for energy harvesting and data transmission in the TS-SWIPT-enabled IoT networks.
Ju et al. [32] proposed a TDMA-based harvest-then-transmit protocol that uses a common-throughput maximization approach to determine the data transmission time differently according to the amount of harvested energy of individual sensor devices. In Reference [32], time is divided into multiple blocks consisting of downlink and uplink periods and in each block, the HAP first broadcasts the energy signals via downlink period and then the sensor device transmits data to the HAP via uplink period. The uplink period is further partitioned into multiple block transmission times, each of which is sequentially allocated to the sensor device. Choi et al. [33] proposed a slotted ALOHA-based energy harvesting MAC protocol for wireless powered communication networks (WPCNs), which uses a frame structure consisting of beacon followed by multiple random access (RA) slots. In Reference [33], the device randomly selects one of the RA slots and harvests energy from the full-duplex HAP until it reaches the selected RA slot. It transmits uplink data at the selected RA and then goes to sleep mode for the rest of the frame. Cho et al. [34] Electronics 2021, 10, 48 4 of 20 proposed a hybrid multiple access-based dual harvest-then-transmit (H-DHT) protocol for large-scale WPCNs, which uses a frame structure including the TDMA period and CSMA/CA period. In the former, the HAP allocates timeslots to each device for periodic traffic requiring transmission reliability and the latter is a duration for non-periodic traffic unconstrained from transmission reliability. With regard to energy harvesting, the H-DHT uses the dual-wireless energy transfer (WET) method; The main-WET is performed in the TDMA period and the sub-WET is performed during the idle time in the CSMA/CA period (i.e., space holes).
The TDMA-based approach is advantageous to ensure the timeliness for energy harvesting and data transmission of TS-SWIPT networks because it allows devices to use dedicated slots allocated without contentions. Nevertheless, in the TDMA-based approaches, the high complexity required to determine the frame structure for energy harvesting and data transmission of individual devices is a great burden on the operation of MAC protocol. Furthermore, when considering the TS-SWIPT-enabled IoT network environments including heterogeneous sensor devices with different TPs, the use of a fixed size of frame structure greatly degrades channel utilization and throughput performance.

System Model
To support various TPs of heterogeneous sensor devices in TS-SWIPT-enabled IoT networks, the TMSS uses the multiple concurrent slotframes of TSCH MAC standard, in which power cells and data cells are allocated using the 6top protocol (6P) of the IETF 6TiSCH standard [36]. In the following subsections, we describe the system architecture of TMSS, TSCH slotframe structure and cell allocation procedure in 6P. Figure 1 presents the system architecture of the TS-SWIPT-enabled IoT network in TMSS. In the figure, the TS-SWIPT-enabled IoT network consists of a single HAP and several heterogeneous sensor devices. Each device has a different TP and is deployed within the transmission range of the HAP. It is assumed that the sensor device and HAP are equipped with a single omnidirectional antenna and communicate with each other in a half-duplex manner. The power transfer is performed only from the HAP to the sensor device, whereas the data transfer is the opposite. energy from the full-duplex HAP until it reaches the selected RA slot. It transmits uplink data at the selected RA and then goes to sleep mode for the rest of the frame. Cho et al. [34] proposed a hybrid multiple access-based dual harvest-then-transmit (H-DHT) protocol for large-scale WPCNs, which uses a frame structure including the TDMA period and CSMA/CA period. In the former, the HAP allocates timeslots to each device for periodic traffic requiring transmission reliability and the latter is a duration for non-periodic traffic unconstrained from transmission reliability. With regard to energy harvesting, the H-DHT uses the dual-wireless energy transfer (WET) method; The main-WET is performed in the TDMA period and the sub-WET is performed during the idle time in the CSMA/CA period (i.e., space holes).

System Architecture
The TDMA-based approach is advantageous to ensure the timeliness for energy harvesting and data transmission of TS-SWIPT networks because it allows devices to use dedicated slots allocated without contentions. Nevertheless, in the TDMA-based approaches, the high complexity required to determine the frame structure for energy harvesting and data transmission of individual devices is a great burden on the operation of MAC protocol. Furthermore, when considering the TS-SWIPT-enabled IoT network environments including heterogeneous sensor devices with different TPs, the use of a fixed size of frame structure greatly degrades channel utilization and throughput performance.

System Model
To support various TPs of heterogeneous sensor devices in TS-SWIPT-enabled IoT networks, the TMSS uses the multiple concurrent slotframes of TSCH MAC standard, in which power cells and data cells are allocated using the 6top protocol (6P) of the IETF 6TiSCH standard [36]. In the following subsections, we describe the system architecture of TMSS, TSCH slotframe structure and cell allocation procedure in 6P. Figure 1 presents the system architecture of the TS-SWIPT-enabled IoT network in TMSS. In the figure, the TS-SWIPT-enabled IoT network consists of a single HAP and several heterogeneous sensor devices. Each device has a different TP and is deployed within the transmission range of the HAP. It is assumed that the sensor device and HAP are equipped with a single omnidirectional antenna and communicate with each other in a half-duplex manner. The power transfer is performed only from the HAP to the sensor device, whereas the data transfer is the opposite. The sensor device monitors the surrounding environment and periodically transmits the data packets to the HAP. The sensor device must first harvest the required energy from a specific RF signal transmitted from the HAP before performing sensing and data transmission. Therefore, at the beginning of the network operation, each sensor device first checks its TP and sets it as its slotframe length. Upon receiving the enhanced beacon The sensor device monitors the surrounding environment and periodically transmits the data packets to the HAP. The sensor device must first harvest the required energy from a specific RF signal transmitted from the HAP before performing sensing and data transmission. Therefore, at the beginning of the network operation, each sensor device first checks its TP and sets it as its slotframe length. Upon receiving the enhanced beacon (EB) from the HAP, the sensor device measures its received signal strength indicator (RSSI) and then checks the information contained in the EB, such as the timeslot length, number of slotframes, slotframe identifier, length of each slotframe, power and data cells allocated in each slotframe and transmission (Tx) power. Then, it calculates the amount of expected energy consumption per slotframe and expected energy harvesting per timeslot to estimate the number of power cells required for each slotframe. The amount of expected energy harvesting per timeslot varies depending on the distance between the HAP and sensor device. Thus, the measured RSSI is used to obtain the distance in this estimation process. However, the number of data cells can be simply estimated using the number of data packets, size of the data packet and data rates. The sensor devices transmit the cell allocation request message containing the slotframe length and number of power cells and data cells to the HAP.

System Architecture
The HAP plays a role in coordinating the overall network and provides a power source for energy harvesting of sensor devices, for which it periodically advertises network information, such as the slotframe list and scheduled power and data cells, by broadcasting the EB. The slotframe list maintained by the HAP includes the slotframe of the HAP and the slotframes of the scheduled sensor devices, each of which has a different length and is indexed by a unique identifier. Initially, the HAP maintains one slotframe to broadcast the EB and exchange control packets (e.g., the cell allocation request, cell allocation response, etc.). Whenever receiving a cell allocation request including a new slotframe, the HAP adds the slotframe to the slotframe list. Then, it creates a candidate power cell list and a candidate data cell list by referring to the slotframe list, the information in the received message (i.e., the slotframe length and number of power and data cells) and the existing cells already allocated. The candidate power and data cell lists are transmitted to the sensor device for cell allocation operation of the sensor device. Figure 2 illustrates a slotframe structure of the TSCH MAC. In the figure, a slotframe comprises a fixed number of timeslots whose lengths are generally defined to accommodate the maximum size of the data packet. Therefore, the slotframe length is determined according to the number of timeslots. In the slotframe, the pair [timeslot offset, channel offset] is expressed as a cell. The timeslot offset and channel offset denote an index of the timeslot and channel, respectively. The cells are used for the transmission of a device pair. Specifically, the cell can be allocated to a specific device pair to perform their transmissions exclusively (i.e., a dedicated cell). In addition, it can be allocated to be shared by multiple device pairs (i.e., a shared cell). In this case, the devices compete to transmit data packets. The slotframe is repetitive; thus, the allocated cells continue to be maintained in subsequent slotframes [37].

TSCH Slotframe Structure
(EB) from the HAP, the sensor device measures its received signal strength indicator (RSSI) and then checks the information contained in the EB, such as the timeslot length, number of slotframes, slotframe identifier, length of each slotframe, power and data cells allocated in each slotframe and transmission (Tx) power. Then, it calculates the amount of expected energy consumption per slotframe and expected energy harvesting per timeslot to estimate the number of power cells required for each slotframe. The amount of expected energy harvesting per timeslot varies depending on the distance between the HAP and sensor device. Thus, the measured RSSI is used to obtain the distance in this estimation process. However, the number of data cells can be simply estimated using the number of data packets, size of the data packet and data rates. The sensor devices transmit the cell allocation request message containing the slotframe length and number of power cells and data cells to the HAP.
The HAP plays a role in coordinating the overall network and provides a power source for energy harvesting of sensor devices, for which it periodically advertises network information, such as the slotframe list and scheduled power and data cells, by broadcasting the EB. The slotframe list maintained by the HAP includes the slotframe of the HAP and the slotframes of the scheduled sensor devices, each of which has a different length and is indexed by a unique identifier. Initially, the HAP maintains one slotframe to broadcast the EB and exchange control packets (e.g., the cell allocation request, cell allocation response, etc.). Whenever receiving a cell allocation request including a new slotframe, the HAP adds the slotframe to the slotframe list. Then, it creates a candidate power cell list and a candidate data cell list by referring to the slotframe list, the information in the received message (i.e., the slotframe length and number of power and data cells) and the existing cells already allocated. The candidate power and data cell lists are transmitted to the sensor device for cell allocation operation of the sensor device. Figure 2 illustrates a slotframe structure of the TSCH MAC. In the figure, a slotframe comprises a fixed number of timeslots whose lengths are generally defined to accommodate the maximum size of the data packet. Therefore, the slotframe length is determined according to the number of timeslots. In the slotframe, the pair [timeslot offset, channel offset] is expressed as a cell. The timeslot offset and channel offset denote an index of the timeslot and channel, respectively. The cells are used for the transmission of a device pair. Specifically, the cell can be allocated to a specific device pair to perform their transmissions exclusively (i.e., a dedicated cell). In addition, it can be allocated to be shared by multiple device pairs (i.e., a shared cell). In this case, the devices compete to transmit data packets. The slotframe is repetitive; thus, the allocated cells continue to be maintained in subsequent slotframes [37].  As mentioned, the TSCH MAC standard allows the use of multiple concurrent slotframes, each of which has a different length. To establish a communication schedule considering the cells allocated to multiple slotframes comprehensively, all slotframes are overlapped. For this, the slotframes are aligned based on the timeslot boundaries and the absolute slot number (ASN) of the first timeslot within the first slotframe is set as zero. The ASN represents the total number of timeslots elapsed from the start of the network. When a cell with a specific ASN is simultaneously used by two or more sensor devices using slotframes with different lengths, cell overlapping occurs. To address this problem, the TSCH MAC standard uses the slotframe handle (i.e., macSlotframeHandle) that is an identifier for the slotframe to assign the transmission priority to each slotframe. In other words, the lower macSlotframeHandle has a higher transmission priority than the higher macSlotframeHandle. However, this approach degrades the delay performance because the sensor device using the lower macSlotframeHandle should defer its transmission when cell overlapping occurs. Therefore, to prevent cell overlapping, TMSS introduces the new algorithm COP, which creates candidate power and data cell lists consisting of only empty cells over all slotframes.

6P Cell Allocation Procedure
The TSCH MAC standard does not specify how to establish and manage the TSCH schedule for communication between devices [38]. The IETF 6TiSCH working group has specified the 6TiSCH operation sublayer (6top) on top of TSCH MAC, in which the minimal 6TiSCH configuration establishes the initial TSCH schedule and the 6top protocol (6P) manages the TSCH schedule by cell allocation procedure [36,39]. For cell allocation within the slotframe, 6P supports two types of cell allocation procedures: two-step and three-step 6P transactions. In the former, the device requesting cell allocation (i.e., the sensor device) creates a candidate cell list, whereas, in the latter, the device receiving the request (i.e., the HAP) creates it. In this paper, the TMSS uses the three-step 6P transaction; thus, the HAP creates the candidate cell list. Figure 3 displays an operational example of three-step 6P transactions. Type, SeqNum, NumCells and CellList indicate the message type, sequence number of the transaction, number of cells to add and set of cells, respectively. In the figure, Device A transmits a cell allocation request message indicating that it wishes to allocate two cells to Device B. Upon receiving the cell allocation request message, Device B creates a candidate cell list by randomly selecting empty cells within the slotframe and responds with it to Device A. The number of cells in the candidate cell list is set to be greater than the value of NumCells and the CellList of the cell allocation response message is set to be the same as the candidate cell list. Finally, Device A selects two cells from the candidate cell list and informs Device B of the selected cells through a cell allocation confirmation message. The existing three-step 6P transaction is designed to allocate only a single type of cell (i.e., a data cell). In contrast, if the existing 6P transaction is applied to the TS-SWIPT-enabled IoT network using both the power cell and data cell as is, the number of exchanged control messages increases rapidly, resulting in high overhead. Therefore, the TMSS uses a modified three-step 6p transaction to allocate power cells and data cells simultaneously.

Design of TMSS
In this section, we describe the design of TMSS. Figure 4 illustrates the overall operation of TMSS for a pair of devices: the HAP and sensor device. To allocate both power and data cells within the slotframe in TS-SWIPT-enabled IoT networks, the TMSS uses the modified three-step 6P transaction, in which NumPwrCells, NumDataCells, PwrCellList and DataCellList indicate the number of power cells to add, number of data cells to add, set of power cells and set of data cells, respectively. Moreover, TMSS uses the Slot-frameLength field in the cell allocation request message, which represents the length of the slotframe requested for cell allocation, to support the use of TSCH multiple concurrent slotframes.
The sensor device first checks its TP and sets it as its slotframe length ( req L ). Then, it waits for the EB broadcasted from the HAP. Upon receiving the EB from the HAP, the sensor device measures the RSSI, from which the distance between the HAP and sensor device, d is calculated using Equation (1) [40].
where d RSSI is the RSSI measured by the sensor device, 1 RSSI is the reference RSSI measured at a distance of 1 m and a is the path-loss parameter.
Then, the sensor device estimates the number of power cells and data cells for allocation within its slotframe. Figure 5 illustrates the timing diagram for the data transmission from the sensor device to the HAP, where TsTxOffset and TsRxAckDelay are the time intervals for preparing the transmission of the data packet and the reception of acknowledgement (Ack), respectively [41]. In these intervals, the sensor device is in the idle state.

Design of TMSS
In this section, we describe the design of TMSS. Figure 4 illustrates the overall operation of TMSS for a pair of devices: the HAP and sensor device. To allocate both power and data cells within the slotframe in TS-SWIPT-enabled IoT networks, the TMSS uses the modified three-step 6P transaction, in which NumPwrCells, NumDataCells, PwrCellList and DataCellList indicate the number of power cells to add, number of data cells to add, set of power cells and set of data cells, respectively. Moreover, TMSS uses the SlotframeLength field in the cell allocation request message, which represents the length of the slotframe requested for cell allocation, to support the use of TSCH multiple concurrent slotframes.
The sensor device first checks its TP and sets it as its slotframe length (L req ). Then, it waits for the EB broadcasted from the HAP. Upon receiving the EB from the HAP, the sensor device measures the RSSI, from which the distance between the HAP and sensor device, d is calculated using Equation (1) [40].
where RSSI d is the RSSI measured by the sensor device, RSSI 1 is the reference RSSI measured at a distance of 1 m and α is the path-loss parameter. Then, the sensor device estimates the number of power cells and data cells for allocation within its slotframe. Figure 5 illustrates the timing diagram for the data transmission from the sensor device to the HAP, where TsTxOffset and TsRxAckDelay are the time intervals for preparing the transmission of the data packet and the reception of acknowledgement (Ack), respectively [41]. In these intervals, the sensor device is in the idle state.
To obtain the number of power cells to be added in the configured slotframe (N pwrCells ), the sensor device first calculates the amount of expected energy consumption per slotframe (E slot f rame ), which is equal to the sum of the amount of energy consumed for sensing and data transmission per slotframe (i.e., E slot f rame = E sensing + E transmission ). It is assumed that E sensing is predefined as a constant value by the application of the sensor device. The E transmission is given by Equation (2) where N pkt is the number of data packets to be transmitted during a slotframe, Size pkt and Size ack are the size of the data packet and Ack and Q tx , Q rx and Q idle are the amounts of energy consumption per second in the Tx, Rx and idle states, respectively. Then, the sensor device calculates the amount of expected energy harvesting per timeslot (E timeslot ). In the case of power transfer, the HAP waits for the TsTxOffset from the start of a timeslot and then transmits the RF signal until the timeslot ends. Thus, E timeslot is calculated as shown Equation (3) [13,42]: where L timeslot is the timeslot length, Q s is the amount of energy harvesting per second, η is the efficiency factor of the energy harvesting process and P tx is the transmission power of HAP, respectively. Finally, N pwrCells is obtained using Equation (4): where represents the ceiling function that maps an input variable to the least integer greater than or equal to the input variable.        After obtaining N pwrCells , the number of data cells to add in the configured slotframe (N dataCells ) is estimated. To this end, the sensor device calculates the maximum number of data packets that can be transmitted in one timeslot (maxN pkt_timeslot ) via Equation (5) and then obtains N dataCell using Equation (6): Size pkt + Size ack Data rate + TsTxOffset + TsRxAckDelay , (5) where represents the floor function that maps an input variable to the greatest integer less than or equal to the input variable. After the estimation process, L req , N pwrCells and N dataCells are included in the cell allocation request message and the message is transmitted to the HAP.
Upon receiving the cell allocation request message from the sensor device, the HAP updates its slotframe list. If the received cell allocation request message contains L req that is not contained in the slotframe list, a new slotframe is added to the slotframe list of the HAP. Otherwise, the existing slotframe list is maintained. Initially, the HAP maintains only one slotframe with an identifier of zero to broadcast the EB and exchange control packets. Whenever a new slotframe is added to the slotframe list, it is assigned a new identifier incremented by one. The slotframe list maintains information for the identifier, length and set of allocated power and data cells for each slotframe (i.e., ID, L and SetCells), which are represented as Equations (7)-(9), respectively: (1) , Cells (2) , . . . , Cells (i) , where ID (i) , L (i) and Cells (i) are the identifier, slotframe length and set of power and data cells for the (i + 1)th slotframe, respectively. Cells (i) is given by Equation (10): where Cell (i,j) indicates the (j + 1)th cell within the (i + 1)th slotframe, which can be represented by a pair of TO (i,j) , CO (i,j) . Moreover, TO (i,j) and CO (i,j) are the timeslot offset and channel offset for the (j + 1)th cell within the (i + 1)th slotframe, respectively.
As mentioned, when a certain cell with a specific ASN is allocated to multiple sensor devices, a cell-overlapping problem occurs. To prevent this, the HAP executes the COP algorithm to create the candidate power and data cell lists consisting of empty cells. Algorithm 1 describes the procedure of the COP algorithm in detail. In the algorithm, the HAP creates a virtual slotframe (i.e., a least common multiple (LCM) slotframe) having the same length as the LCM of the lengths of all slotframes included in its slotframe list. In addition, the HAP uses this to discover cells that are commonly empty in all slotframes of its slotframe list. The procedure of the COP algorithm consists of three steps as follows: (1) LCM slotframe creation, (2) empty timeslot discovery and (3) candidate cell list creation. In the first step, an LCM slotframe is created and in the second step, the LCM slotframe is divided into several partitions and the timeslot offsets of empty cells are discovered in all partitions. Finally, in the third step, the candidate power and data cell lists are created by referring to the timeslot offsets of empty cells.
The slotframe list (i.e., ID, L and SetCells) and the given channel list (i.e., Channel) are used as the inputs for the COP algorithm. At the beginning of the COP algorithm, the variables (i.e., L LCM , numRep, N partition , index empty and CellListFlag), which are required to create the candidate power and data cell lists, are initialized. In addition, L LCM is the LCM slotframe length and numRep is the number of repetitions of each slotframe in the HAP slotframe list within the LCM slotframe. Moreover, N partition is the number of partitions for the LCM slotframe, which indicates how many times the slotframe requested by the sensor device is repeated within the LCM slotframe. Additionally, index empty denotes the index of the elements included in the set of timeslot offsets for empty cells (TS empty ). Finally, CellListFlag indicates whether the candidate cell lists are successfully created.
In the first step, the HAP calculates L LCM through lcm(), a function that outputs the LCM for input variables and then creates an LCM slotframe (LCM) consisting of (L LCM /L timeslot ) cells, as shown in Equation (11): (1) , lcm (2) , . . . , lcm (l) , . . . , lcm (L LCM /L timeslot −1) , where lcm (l) indicates whether the (l + 1)th cell within the LCM slotframe has already been allocated another sensor device. Therefore, its value is 1 if, for all slotframes in the HAP slotframe list, a specific cell is already allocated to another sensor device. Otherwise, it is zero. In the second step, the LCM slotframe is divided into several partitions according to the length of the slotframe requested by the sensor device. Further, LCM (l) represents the (l + 1)th partition in the LCM slotframe and extract(INPUT, x : y) is a function that extracts the elements from the xth column to the yth column from the INPUT. All partitions are overlapped to discover the timeslot offset of the cells with a value of zero (i.e., LCM overlap is created). Then, TS empty is created by sequentially listing the discovered timeslot offsets.
In the last step, the HAP compares the number of elements in TS empty with the sum of N pwrCells , N dataCells and 2N extraCells . The number of elements in TS empty is obtained through size(), a function that counts the number of elements of an input variable and N extraCells is the number of additional cells required to create the candidate cell list. When the number of elements in TS empty is greater than or equal to the sum of N pwrCells , N dataCells and 2N extraCells , the HAP creates the candidate power cell and data cell lists (i.e., Cells pwr and Cells data ) and sets CellListFlag to TRUE. To perform the power transfer prior to the data transmission, the timeslot offset for the candidate power cells is selected from TS empty to be smaller than that for the candidate data cells. In the opposite case, the HAP makes both lists empty and sets CellListFlag to FALSE. The channel offset for the cells is randomly selected from the given channel list (Channel). Then, the algorithm returns Cells pwr , Cells data and CellListFlag.  After executing the COP algorithm, the HAP checks CellListFlag. If CellListFlag is TRUE, the HAP includes the selected candidate power and data cells in the cell allocation response message and transmits the message to the sensor device. Upon receiving the message, the sensor device randomly selects the required power and data cells from the candidate power and data cells and then transmits the cell allocation confirmation message including the selected cells to the HAP. Meanwhile, when CellListFlag is FALSE, the HAP transmits the cell allocation response message including an empty candidate cell list to the sensor device. In this case, the sensor device determines that the cell allocation has failed.

Performance Evaluation
To evaluate the performance of TMSS, the experimental simulation was conducted under the IEEE 802.15.4 physical (PHY)/MAC layers environment. The simulation results for the performance of TMSS were compared to that of the TSCH with a single slotframe (i.e., legacy TSCH) [35] and the HE-MAC [30] to verify the effectiveness of TMSS. In the following subsections, the simulation setting and results are described in detail.

Simulation Setting
In the simulation, we considered two simulation scenarios in which the TP of the sensor device was set to be shorter or longer (or equal) than the length of the slotframe used for the EB broadcasting and control packet transmission (i.e., the EB slotframe). In both scenarios, the length of the EB slotframe was set to 2 s. Because we set the timeslot length to 10 ms, the number of timeslots in the EB slotframe was equal to 200. In each scenario, three groups of sensor devices were randomly deployed and the sensor devices in each group have the same TP. Different lengths of TPs are used for each group. Specifically, the TP of each group was set to 0.5, 1 and 1.5 s in the first scenario (i.e., the short TP scenario) and the TP of each group was set to 2 s, 2.5 s and 3 s in the second scenario (i.e., the long TP scenario). Each group comprises multiple sensor devices and the number of sensor devices per group varies in the range of [2,20]. We assumed that all sensor devices were placed within the communication range of the HAP. The distance between the sensor device and the HAP (i.e., d) was randomly set from 1 to 4 m. The number of data packets to be transmitted to the HAP in a TP (i.e., N pkt ) and the packet size and data rate were set to 5, 125 bytes and 250 kbps, respectively. Thus, the number of data cells allocated to each sensor device is five. Meanwhile, the number of power cells allocated to each sensor device varies depending on d and TP. The parameters used to estimate the number of power cells, such as the amount of energy consumed in the Tx, Rx and idle states (i.e., Q tx , Q rx and Q idle ), the transmission power of the HAP (P tx ), the path-loss parameter (α) and the efficiency factor (η) were set to 24.11 mW, 19.26 mW, 4.67 mW, 100 mW, 2.7 and 0.65, respectively. The performance of TMSS in terms of delay, effective throughput, energy utilization and accumulated overhead time was compared to that of legacy TSCH and HE-MAC. Moreover, we evaluated the cell utilization performance for TMSS and legacy TSCH. For legacy TSCH, we set the slotframe length of sensor devices in all groups to be the same as the EB slotframe length (i.e., 2 s), regardless of their TP. The number of data packets to be transmitted to the HAP within a slotframe length was set to N pkt /(TP/2) . For HE-MAC, we set all sensor devices in a group to compete with each other to transmit N pkt packets within the TP length. In HE-MAC, the CW min and CW max were set to three and seven and the duration of AIFS and SIFS were set to 50 µs and 10 µs. The size of request to send (RTS), clear to send (CTS), block Ack request (BAR) and block Ack (BA) packets were set to 160, 112, 200 and 125 bytes, respectively. The simulation was iterated 200 times. The detailed simulation parameters are listed in Table 1.  Figure 6a,b show the delay performance of TMSS for short and long TP scenarios, respectively. In the simulation, the delay indicates the average time it takes a sensor device to deliver N pkt data packets to the HAP. In both scenarios, the delay of TMSS is shorter than the TP length of each group regardless of the number of sensor devices per group because the TMSS allows the sensor device to set the slotframe length equal to its TP. Thus, the TMSS ensures the timeliness of energy harvesting and data transmission. However, in the short TP scenario, the legacy TSCH does not ensure the timeliness when the TP is 0.5 s and when the TP is 1 s and the number of sensor devices is eight or more. In this case, some sensor devices are highly likely to select power and data cells after the TP within the slotframe or wait for the next slotframe to transmit data packets because the TP is shorter than the slotframe length (i.e., 2 s). As mentioned earlier, the HE-MAC is a CSMA/CA-based approach, which is inherently difficult to ensure the timeliness of data transmission because of its random access feature. Therefore, in HE-MAC, we considered the delays only for sensor devices that completed transmission of pkt N packets within the TP length (i.e., successful devices), for the convenience of performance comparison. For this reason, as shown in the figures, the delay of HE-MAC is always shorter than the TP length. Nevertheless, the TMSS shows As mentioned earlier, the HE-MAC is a CSMA/CA-based approach, which is inherently difficult to ensure the timeliness of data transmission because of its random access feature. Therefore, in HE-MAC, we considered the delays only for sensor devices that completed transmission of N pkt packets within the TP length (i.e., successful devices), for the convenience of performance comparison. For this reason, as shown in the figures, the delay of HE-MAC is always shorter than the TP length. Nevertheless, the TMSS shows better delay performance than HE-MAC in both scenarios and their difference increases as the number of sensor devices increases due to high contention, until it reaches a certain number. Table 2 lists the average number of successful devices, where n dev is the number of sensor devices per group. In the table, the number of successful devices for HE-MAC increases as n dev increases and then decreases again from a certain number. Therefore, the delay of HE-MAC does not increase any more even in high contention situations. Quantitatively, the TMSS achieves 54.32% and 18.87% shorter delays in short TP scenario and 26.49% and 20.87% shorter delays in long TP scenario, compared to legacy TSCH and HE-MAC, respectively.  Figure 7a,b show the effective throughput of successful devices for short and long TP scenarios, respectively. TMSS exhibits higher effective throughput compared to legacy TSCH and HE-MAC. In TMSS, the sensor device sets its slotframe length equal to the TP length and thus it can maintain a larger number of successful devices compared to others. Overall, the shorter the TP length, the higher the throughput because the sensor devices transmit data packets more frequently. However, in legacy TSCH of the short TP scenario, the sensor devices are highly likely to select data cells after the TP within the slotframe because the TP length is shorter than the slotframe length (i.e., 2 s). Therefore, as shown in Figure 7a, in legacy TSCH, as the TP length decreases, the number of successful devices decreases and as a result, the effective throughput decreases. For each TP, as the number of sensor devices per group increases, the throughput of TMSS and legacy TSCH increases and then remains constant from a certain point. On the other hand, the throughput of HE-MAC increases and then decreases from a certain point in time. This is because the average number of successful devices of HE-MAC decreases due to high contention, as shown in Table 2. Quantitatively, the effective throughput of TMSS is 61.66% and 75.30% higher than that of legacy TSCH and HE-MAC, respectively.  In TMSS, all power and data cells allocated in a slotframe are used for energy harvesting and data transmission, respectively. However, the amount of energy harvested is slightly greater than the amount of energy consumed because it does not exactly match the amount of energy required for data transmission. In the figures, the energy utilization of legacy TSCH decreases as the difference between the slotframe length (i.e., 2 s) and the TP  In TMSS, all power and data cells allocated in a slotframe are used for energy harvesting and data transmission, respectively. However, the amount of energy harvested is slightly greater than the amount of energy consumed because it does not exactly match the amount of energy required for data transmission. In the figures, the energy utilization of legacy TSCH decreases as the difference between the slotframe length (i.e., 2 s) and the TP length increases. In legacy TSCH, the power and data cells are independently allocated in a slotframe and when the TP is shorter than 2 s, even if the energy is harvested in the power cells within the TP, the data cells after the TP may not be used by successful devices. Conversely, when the TP is longer than 2 s, the energy harvested in the power cells within the TP may be wasted by data transmission in the data cells allocated to the second slotframe in the TP. In HE-MAC, energy harvesting and data transmission are performed consecutively; thus, it exhibits high energy utilization when the number of sensor devices per group is small. However, as the number of sensor devices per group increases, the number of successful devices decreases due to the data transfer delay in high contention situations and accordingly, its energy utilization sharply decreases. On average, the TMSS exhibits 44.28% and 25.48% higher energy utilization compared to legacy TSCH and HE-MAC, respectively.

Simulation Results
per group is small. However, as the number of sensor devices per group increases, the number of successful devices decreases due to the data transfer delay in high contention situations and accordingly, its energy utilization sharply decreases. On average, the TMSS exhibits 44.28% and 25.48% higher energy utilization compared to legacy TSCH and HE-MAC, respectively. Figure 9 shows the accumulated overhead time when the TP is 1 s. The accumulated overhead time refers to the total time required for network configuration from the time when the TS-SWIPT network is deployed. As mentioned earlier, TMSS uses a TSCH MAC as a baseline MAC scheme, which is a typical TDMA-based MAC protocol. Thus, like legacy TSCH, it involves the initial overhead required to schedule power and data cells within a slotframe, which can be a weak point of TMSS. However, the network configuration of TMSS is performed only once at the time of deployment and thus, its overhead can be neglected when considering a long network operation time. In the figure, TMSS maintains a similar level of overhead time as legacy TSCH over time because it uses a modified three-step 6P transaction for cell allocation procedure without changing the number and size of exchanged messages. On the other hand, in HE-MAC, the overhead time continuously increases over time because the individual sensor devices compete to access the channel without any schedule information whenever necessary. Moreover, as the number of sensor devices increases, the high overhead is accrued for resolving collisions. The accumulated overhead time of TMSS becomes shorter than that of HE-MAC from 45 s and 56 s in simulation time when the total number of sensor devices is 60 and 30, respectively.  Figure 9 shows the accumulated overhead time when the TP is 1 s. The accumulated overhead time refers to the total time required for network configuration from the time when the TS-SWIPT network is deployed. As mentioned earlier, TMSS uses a TSCH MAC as a baseline MAC scheme, which is a typical TDMA-based MAC protocol. Thus, like legacy TSCH, it involves the initial overhead required to schedule power and data cells within a slotframe, which can be a weak point of TMSS. However, the network configuration of TMSS is performed only once at the time of deployment and thus, its overhead can be neglected when considering a long network operation time. In the figure, TMSS maintains a similar level of overhead time as legacy TSCH over time because it uses a modified three-step 6P transaction for cell allocation procedure without changing the number and size of exchanged messages. On the other hand, in HE-MAC, the overhead time continuously increases over time because the individual sensor devices compete to access the channel without any schedule information whenever necessary. Moreover, as the number of sensor devices increases, the high overhead is accrued for resolving collisions. The accumulated overhead time of TMSS becomes shorter than that of HE-MAC from 45 s and 56 s in simulation time when the total number of sensor devices is 60 and 30, respectively.    Figure 10a,b show the cell utilization of TMSS and legacy TSCH for short and long TP scenarios, respectively. The cell utilization indicates the ratio of the number of cells used for energy harvesting and data transmission to the total number of cells allocated to the sensor devices. The higher the cell utilization, the less cells are wasted within the slotframe, thus the cell utilization is an important indicator of cell scheduling efficiency for TSCH MAC. The cell utilization of TMSS is 100% in all scenarios because the cells are allocated to the slotframe considering the TP of the sensor devices. That is, all cells allocated to sensor devices are used for energy harvesting or data transmission without exception. However, the cell utilization of legacy TSCH decreases when the TP is longer than the slotframe length (i.e., the EB slotframe length). Specifically, in the long TP scenario, the sensor devices using the legacy TSCH should add at least two cells to the slotframe for energy harvesting and data transmission. In this case, several data cells may not be used for data transmission because the allocated data cells are repeated in a slotframe length shorter than the TP. Moreover, even if the sensor device does not transmit data packets in the slotframe, energy harvesting is performed periodically, thus unnecessary energy harvesting may occur. In the long TP scenario, the cell utilization of TMSS is 6.44% higher than that of legacy TSCH. frame for energy harvesting and data transmission. In this case, several data cells may not be used for data transmission because the allocated data cells are repeated in a slotframe length shorter than the TP. Moreover, even if the sensor device does not transmit data packets in the slotframe, energy harvesting is performed periodically, thus unnecessary energy harvesting may occur. In the long TP scenario, the cell utilization of TMSS is 6.44% higher than that of legacy TSCH.

Conclusions
In this paper, we presented a TMSS protocol that configures a TSCH slotframe and allocates power and data cells to support the timeliness of energy harvesting and data transmission operations of sensor devices with different TPs. To this end, we used the cell allocation procedure, applying a modified three-step 6P transaction. In TMSS, the sensor device sets a slotframe length equal to its TP and estimates the numbers of power and data cells to be allocated in the configured slotframe and then requests cell allocation to the HAP. Upon receiving a request from a sensor device, the HAP executes a COP algorithm to resolve the cell-overlapping problem and responds to the sensor device with a candidate cell list. Upon receiving the response from the HAP, the sensor device determines its power and data cells by referring to the received cell list. To verify the superiority of TMSS, the experimental simulation was conducted in short and long TP scenarios and the performance of TMSS was compared with that of legacy TSCH and HE-MAC. The results revealed that TMSS ensures the timeliness for energy harvesting and data transmission and improves the network performance in terms of delay, effective throughput, energy utilization and cell utilization. On average, TMSS achieved 40.41% and 20.20% lower delay, 61.66% and 15.30% higher effective throughput and 44.31% and 25.48% higher energy utilization compared to legacy TSCH MAC and HE-MAC, respectively. Furthermore, in the long TP scenario, TMSS exhibited 6.44% higher cell utilization compared to legacy TSCH.