Research Article

Hierarchical Cross Traffic Scheduling Based on Time-Aware Shapers for Mobile Time-Sensitive Fronthaul Network

Algorithm 1

Inbound Queue scheduling algorithm based on frame length matching.
Input:
{Slot1, Slot2,…, Slotn} Idle timeslots obtained from GCL list. Each timeslot includes end time, start time, and timeslot length;
Set S of frames to be transmitted in S1 queue;
output:
{frame.Q } Selected data frame entering queue Q
{W.start} Transmission time of data frame
(1)  WHILE S is not empty THEN
(2)   IF the number of frame in S is 1
(3)    Calculate the earliest Slot that can transmit the frame as W.start
(4)    Update Slot
(5)   ELSE
(6)    Frame_number←get_Frame_number(S);
       // Determine the number of frames to be scheduled according to the number of waiting frames in S
(7)
(8)     FOR (i = 1; i++; i < Frame_number)
(9)      Calculate the Slot set that can transmit the all frame;
(10)     END FOR
(11)     FOR (i = 1; i++; i < Frame_number)
(12)      SlotM ← get_feasible_slot(Slot)
      //Select the largest data frame to be scheduled, and select the transmissible slot with the most matching length
(13)      Update Slot
(14)      According SlotM to get W.start // W.start of each frame can be calculated
(15)     END FOR
    // The above is to select the timeslot and get W.start. Next, determine the incoming queue Qm
(16)     FOR (i = 1; i++; i <Q_number) // The secondary queue contains four queues. Now, determine Q.end.
(17)      IF Q.end <time_now
(18)     Q.end = time_now
(19)      END IF
(20)     END FOR
(21)     FOR (i = 1; i++; i < Frame_number)
(22)     Select the queue of min (W.start-Q.end) as frame.Q; // Determine the incoming queue for each frame
(23)     Q.end = W.start + frame; //Update Q.end
(24)     END FOR
(25)    END IF
(26)  END WHILE