## 2 Background and Related Work
### NDN Caching Policies
The authors in [30] proposed a collaborative caching scheme named Content-space Partitioning and Hash-Routing (CPHR), aiming to decrease the server hit rate by partitioning the content space and assigning partitions to caching nodes. The content space is implicitly assumed to be constant. The assignment problem is first formulated as an optimization problem that maximizes the global cache access rate. Next, the content space partitioning is formulated as a min-max linear optimization problem that balances cache loads. Using simulations, they showed that CPHR can double the overall cache hit rate, but at the same time increases the average retrieval latency. Unfortunately, they did not include any comparison with other known caching schemes. The proposed caching requires additional content tables to maintain caching states and expensive mechanisms to maintain table consistency. The periodic updating of the various used data structures and the complexity of the partitioning and assignment problems might hinder its viability to be used in IoT environments. The authors in [31] proposed a cluster-based caching technique aiming to reduce caching redundancy. Using an improved K-medoids clustering algorithm, they proposed to partition the complete network into a number of clusters. Then, they proposed the use of a Virtual Distributed Hash Table (VDHT) to efficiently manage content cached in each cluster. Moreover, they differentiate between the forwarding within a cluster and the forwarding among clusters. Using simulations, they find that their proposed caching scheme outperforms both LCE and the Probability caching technique (ProCache) [32] in terms of overall cache hit and overall link loads. However, the overhead of the K-medoids clustering algorithm as well as the caching overhead significantly increase as clusters grow in size. In addition, there is no differentiation between edge and internal nodes. The comparative analysis is restricted to LCE and ProCache and uses only two performance metrics. The authors in [33] proposed an effective cache distribution and search scheme based on hashing. Flooding is used to periodically update the FIBs. This unfortunately results in a huge communication overhead. They use simulations using a very simple grid network topology and do not present any comparative analysis with other caching schemes. The authors in [34] proposed a two-layer cluster-based caching scheme. They used (WCA) to cluster the entire network. The clusterhead in each cluster is responsible for taking caching decisions based on a centralized probability matrix. The periodic exchange of information about cached content generates a high communication overhead. The scheme has a reliability issue as the breakdown of a clusterhead jeopardizes the complete cluster caching mechanism. In [35], the authors aimed to increase the diversity of cached content. They proposed to share cache summaries among neighboring routers. They defined a summary packet using a bloom filter along with a technique to share the summaries. At the reception of a data packet, a router may decide to cache it depending on the caching summaries already received from its neighboring routers. Moreover, based on these caching summaries, a router forwards an incoming Interest to the neighboring router having the requested content. The technique necessitates an involved cooperation and requires the persistent maintenance of summaries, which amounts to a large communication overhead in addition to some involved data structures. Another explicit scheme has been proposed in [36], which combines global content popularity, local content popularity, and node popularity. Overall popularity is calculated periodically across all nodes using EWMA, while node popularity is calculated based on the total number of Face-Hop combinations for each PIT entry. Since popularity information is exchanged in a short periodic cycle, this poses a scalability problem, especially when dealing with a complex network, as is the case in IoT. [PERSON] et al.