## 5 Enhancing QoS and QoE in ICN
### In-Network Caching
\begin{table}
\begin{tabular}{p{42.7 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
**\#** & **Proposal and Publication Year** & **Architecture** & **Experimental Environment** & **Optimized QoS/QoE Metric** \\ \hline
1. & [PERSON] et al. [49], 2014 & NDN & Matlab & Service latency, router load/search time \\ \hline
2. & [PERSON] al. [51], 2014 & NDN & CCNx [63] & Throughput \\ \hline
3. & [PERSON] et al. [53], 2017 & ICN & CCNHCaching [64] & SRAM size, throughput, hit ratio \\ \hline
4. & [PERSON] et al. [57], 2017 & ICN & Numerical analysis & Cost, service delay \\ \hline
5. & [PERSON] et al. [50], 2019 & NDN & Python, VANET & Number of cache replacement operations \\ \hline
6. & [PERSON] et al. [62], 2019 & CCN & ndnSIM, WAN & Network overhead, average delay, consumer satisfaction score \\ \hline
7. & [PERSON] et al. [65], 2019 & CCN & CCNx, ESXi virtual environment & Bandwidth, content download time, cache space \\ \hline
8. & [PERSON] et al. [60], 2021 & CCN & NS3, WAN & Cache hit ratio, cache utilization, routing delay, load balance degree \\ \hline
9. & [PERSON] et al. [66], 2021 & CCN & lcarus [67], WAN & Cache hit ratio, latency \\ \hline
10. & [PERSON] et al. [68], 2022 & ICN & lcarus & Cache hit ratio, latency, hop count \\ \hline
11. & [PERSON] et al. [58], 2022 & NDN & ndnSIM & Cache hit rate, server hit rate \\ \hline
12. & [PERSON] et al. [61], 2022 & CCN & CCNx framework WSN & Contiki framework WSN & Energy consumption, stretch, interest satisfaction rate, cache hit ratio, replacement rate, and delay \\ \hline
13. & [PERSON] et al. [70], 2023 & NDN & ndnSIM, IoT (mesh topology) & Cache hit rate, delay \\ \hline
14. & [PERSON] and [PERSON] [71], 2024 & NDN & lcarus & Cache hit ratio, content access time \\ \hline
15. & [PERSON] and [PERSON] [71], 2025 & Hub- NDN & lcarus, WAN & Cache hit ratio, content access time, hit distance, cache diversity \\ \hline \hline \end{tabular}
\end{table} 
Table 2: In-network caching-based strategies: architectures, experimental platforms, and QoS/QoE metrics. approaches might overlook factors like content freshness, content size, network topology, or the location of the consumer. Cooperation can lead to a wider variety of content being cached within a neighborhood, increasing the chance of a cache hit and decreasing redundancy [60; 61]. However, cooperation requires exchanging additional messages, which can increase network overhead, especially for larger networks. Also, implementing and managing cooperative caching systems can be more complex than non-cooperative ones. Topology-aware techniques consider the network topology (e.g., node centrality, distance to consumers/sources, router connectivity) when making caching decisions. Caching at central or well-connected nodes can serve a larger number of potential requests, improving the cache hit ratio and reducing network load. The downside is that determining the \"central\" or important nodes can be computationally intensive [60], and caching heavily on a few \"important\" nodes might lead to these nodes becoming congested. Allocation-based strategies focus on how the total available cache capacity is distributed among the network nodes (homogeneous vs. heterogeneous). Heterogeneous allocation can help distribute the caching load more evenly across the network and can optimize the deployment of larger ICN caches. However, deciding how much cache to allocate to each node based on various factors (topology, traffic, cost) is a complex optimization problem [60]. Primarily relevant in resource-constrained environments like vehicular networks and IoT, energy-efficient caching strategies aim to minimize energy consumption related to caching operations. A challenge faced by these techniques is increasing metrics such as cache hit ratio and retrieval latency [68]. Hybrid strategies combine elements from different caching approaches to leverage their individual strengths [66]. On the other hand, combining different strategies can lead to more complex designs and implementations.