## 5 Enhancing QoS and QoE in ICN
### In-Network Caching  
In-network caching is a core feature of ICN architectures that directly enhances both QoS and QoE. By storing data at intermediate network nodes, in-network caching minimizes the need to retrieve content from the original source, which reduces latency, routing delays, server load, and overall network traffic [46; 47]. In addition, content-aware caching enables the network to identify cached data independently of the application layer. A trace-driven analysis in [48] demonstrated that in-network caching can reduce three or more hops for 30% of packets, with 11% of requests handled within the requester's domain improving access speed and reliability for end-users. Moreover, in-network caching is also attractive to content providers since it can mitigate the capital expense of their content distribution network (CDN) servers while still maintaining satisfactory QoE levels. ICN architectures use ubiquitous in-network caching, although the design objectives and details may vary depending on the architecture. Based on their operational characteristics, the existing caching mechanisms can be divided into the following categories: (1) Homogeneous and Heterogeneous Caching, (2) Cooperative and Non-Cooperative Caching, and (3) On-Path and Off-Path Caching [10]. In uniform caching systems (homogeneous), all content routers uniformly store passing data, each allocated identical storage capacity. Conversely, selective caching (heterogeneous) restricts data retention to specific routers positioned along the return transmission path. Collaborative caching models enable routers within a network to pool resources, collectively storing a broader array of content segments and sharing cached data to fulfill external requests. In contrast, isolated caching (non-cooperative) operates independently: routers autonomously decide which data to store without disclosing their cached content inventory to peers, eliminating coordination. Caching in ICN is one of the most popular research areas, and many researchers have focused on utilizing this attribute to improve QoS and QoE. [PERSON] et al. [49] presented a memory update strategy for the content store (CS) of NDN routers (Figure 1) considering data lifetime. Different types of data are assigned different lifetimes, which means instead of using cache update algorithms such as first-in, first-out (FIFO), or Least Recently Used (LRU), an IP packet will instead be discarded from the CS based on how long it has been in the network. [PERSON] et al. [49] and [PERSON] et al. [50] utilized traffic classification strategies to improve cache efficiency. In [49], a new column titled \"lifetime\" was added to the CS, which held the lifetime value for different types of data. On the other hand, a QoS-aware cache replacement policy for vehicular NDN was presented in [50]. The authors categorized traffic into different classes and divided the CS into sub-cache stores; content was retained or removed based on its popularity density value. In [51], a class-based DiffServ model was proposed for NDN, where traffic classification and conditioning occurred at receiver-side edge networks. The model claimed to offer greater flexibility than traditional IP DiffServ, allowing users to request the same content with different service classes through modified interest aggregation. Although in-network caching offers many benefits, it also creates some challenges to support Internet-scale ICN cache routers [52]. One major challenge is efficiently managing limited memory resources, as high-speed caching demands fast but costly and low-capacity memory chips. Second, integrating and optimizing multiple memory technologies with different read-write characters is challenging. To tackle these challenges, [PERSON] et al. [53] presented HCaching, a hierarchical caching method that uses SRAM (faster than DRAM but costly) as the secondary structure of DRAM to improve the overall throughput of ICN routers.