# Weighted-CAPIC Caching Algorithm for Priority Traffic in Named Data Network
## 3 Related Works: Caching Algorithms on Named Data Network  
Caching is a fundamental feature available on NDN. In the IP (TCP/IP) networks, the buffer on the router also can store data, but after forwarding the data, it can no longer be used by the router [12]. This character causes a big difference between IP networks and NDN. Until now, there have been many studies on NDN caching algorithms. The most common caching algorithm stored content on all nodes in the content delivery path. Regarding the content replacement in the content store, some basic algorithms commonly used in NDN are FIFO (first in, first out), Least Recently Used (LRU), and Least Frequently Used (LFU) [13]. FIFO stores content in the content store in the order it was entered and deletes the last order when the content store is full. The LRU removes content that has been unsolicited for a long time. LFU removes content that consumers rarely request. When the content store is full, it is necessary to select which content to delete so that the place can be used to store new content. According to research conducted by [PERSON] et al., LFU is the most effective cache replacement strategy for networks with demand patterns following the Zipf-Mandelbrot distribution [14]. Hence we use LFU in this research. Research on the content store's rule has been carried out previously, such as in utility-driven caching by [PERSON] et al. [7]. In this scheme, content is modeled by generating it from different parties. Each party has a certain proportion in the NDN router's content store to keep the data based on their utility. The content is given a particular time to live. When the content has expired, it will be removed from the content store. The other method was proposed by [PERSON] et al. [5]. They presented the diff-caching model in NDN. There are four classes in this model, i.e., Dedicated Caching (DC), Assured Caching (AC), Best-Effort (BE), and Bypass Caching (BC). The caching process works by marking the data packet based on the service class. The data is always stored for the DC class content (up to a certain period). According to the producers' budget, the AC class content is stored within certain resource limits. The BE content class is stored if there are resources, and it should be ready to be deleted if the content store is full [5]. The caching algorithm in the previous studies mostly differentiates content treatment based on its popularity. The content store is partitioned to store popular and less popular content separately, as in the split-cache algorithm [8]. The split-caching proposed by [PERSON] et al. selects the content to be cached based on the number of requests, and the number of hops traveled from the consumer to the router that stores the content [8]. The partition of content stores can also be done based on the content provider [15]. [PERSON] et al. explained the partition-based caching that cached content based on its delivery rate [6]. The priority content is stored separately to avoid deleting priority content in the cache to be replaced with nonpriority content. The partitions of the content store can be static, or they can be changed every time. One of the caching algorithms with static divisions in the content store is Static-CAPIC [16]. The authors classify traffic into three classes with different characters. In this algorithm, a different treatment has been carried out on each content class. Each class has a different portion of the storage. The Static-CAPIC algorithm has improved the cache hit ratio of the network. Still, it is deficient in providing performance for the priority class when the consumer's demand changes dynamically [9]. [PERSON] et al. developed this into Dynamic-CAPIC, where the cache portion for each content class can change according to demand conditions [9]. This increases the network cache hit ratio and provides a performance that matches the content class character in the system.