# V2X Communications in Highway Environments: Scheduling Challenges and Solutions for 6G Networks
## 3 SOVANET+ Scheduling Algorithm
In the following paragraphs, we present the implementation of the scheduler and assess its performance in three data traffic scenarios, consisting of 40, 60, and 80 vehicles. The number of vehicles has been chosen deliberately to thoroughly analyze the impact on services under different load conditions. As the number of vehicles increases, so does the reliance on the first two critical UCs. This increase is linear and will eventually reach a point where these services become unsustainable. The primary objective of our scheduler is to address the significant fluctuations in overall network load caused by V2N services. We aim to allocate available resources by prioritizing delay-critical services and developing a scheduling mechanism that considers network load, specific service requirements, and current channel conditions. To achieve this, we implement the following three steps. First, we categorize the UCs into two groups: delay-critical and non-delay-critical. Second, we focus on maximizing the performance of critical UCs that have medium to good channel conditions, while temporarily denying resources to services experiencing poor channel conditions. Finally, we introduce a new metric that combines MCS awareness with the PF metric. This combined metric aims to account for varying channel conditions while ensuring that resources are overallocated for critical services. More specifically, vehicles with excellent channel conditions will receive fewer extra resources compared to those that face medium channel conditions. The metric of the proposed algorithm is applied to every data flow in both UL and DL and is defined as follows:  
\[S_{i,t}=argmax\bigg{\{}r_{i}(t)\times\frac{1}{R_{i}(t)}\times\frac{2}{\log(2 +MCS)}\bigg{\}} \tag{1}\]  
where S\({}_{i,t}\) is the new SOVANET+ metric of the ith user in time interval t, r\({}_{i}\)(t) is the data rate achieved by the ith user at time t, R\({}_{i}\)(t) is the past average throughput achieved by the ith user until time t, and MCS is the modulation and coding scheme of the ith user at time t.  
To evaluate the performance of SOVANET+, we compare it to the PF and SOVANET schedulers. The PF scheduler is designed to balance throughput with fairness. It tries to maximize throughput for the UEs with the highest CQI value, while also providing minimal service to all remaining UEs. For SOVANET+, we have expanded the PF implementation of ns3:NrMacSchedulerNs3 class [22] (Figure 1). In SOVANET+, we maintain a list of active UEs and their requirements for updating the UE map. We then assign these UEs to specific Logical Channels (LCs) and Logical Groups (LGs). Following this, we update the Buffer Status Report (BSR) and calculate the UL and DL CQI. Our implementation introduces a new approach for allocating resources tailored to each service, clearly distinguishing between UL and DL resource allocation while considering channel quality. We incorporate a weight factor known as \"alpha\", which accounts for network load, allowing us to allocate additional resources for time-sensitive services such as ToD and HDM. Conversely, we use a second weight factor, \"beta\", also linked to the overall network load, to allocate fewer resources for non-delay-critical services. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**UCs** & **Throughput (UL)** & **Throughput (DL)** & **Delay** \\ \hline High-Definition Map Collection and Sharing & 4 Mbps & 16 Mbps & 100 ms \\ Tele-Operated Driving & 16 Mbps & 400 kbps & 20 ms \\ Accident report & - & 860 kbps & - \\ Real-Time Situational Awareness & 8 kbps & 8 kbps & 100 ms \\ \hline \hline \end{tabular}
\end{table} 
Table 2: UCs requirements. Once both factors are applied, we calculate the required bytes per LC and assign them accordingly.