# Content Management Based on Content Popularity Ranking in Information-Centric Networks
## 3 Content Management Based on Content Popularity Ranking
### The CPR Mechanism
The labels included in the _life duration_ tag, expressed by \(D\), are given in (3). \[D(x)=\{fresh,\ current,\ stale\} \tag{3}\]  
The values assigned to the labels and the weights given to the tags determine the efficiency of the calculated _content popularity ranking_, CPR, for each example of content. Therefore, we carefully designed a model to optimize the outcome of the CPR mechanism. A cloud content server was created where we uploaded 100 various examples of content after assigning the tags and the labels appropriately. This content included all types of audio, video, and text files of various sizes. The graduate students and their family members could access the cloud server and its content, including males, females, and children of different ages. The server stored the labels of all this content against the number of times each form of content was accessed. We collected the content request and download information from the server over two months, where 10,000 total requests were registered. The dependence count for the different labels was normalized, and the content hit distribution over different labels was categorized into 3 classes. Based on the content hit count, the labels from each tag that were requested the highest number of times were assigned the value of 3, the labels that were requested the lowest number of times were assigned the value of 1, and the remaining labels of each tag, which are in between the highest and the lowest labels, were assigned the value of 2. The label _zero_ from the _expected lifetime_ tag was not considered for formulating the CPR, as this label means that the content does not have any popularity. Therefore, the labels _video, long_, and _fresh_, respectively from the tags _content type, expected lifetime_, and _life duration_ received the value 3, the labels _audio, medium_, and _current_, received the value 2, and the labels _text_, _short_, and _stale_, received the value 1. This is summarized in (4). \[\text{Values of the labels}=\left\{ \begin{array}{c}3,\text{ }for\text{ }video\mid long\mid fresh\\ 2,\text{ }for\text{ }audio\mid medium\mid current\\ 1,\text{ }for\text{ }text{ }|\text{ }short\mid\text{ }stale\end{array} \right\} \tag{4}\]  
The number of times content is accessed is also one of the most vital pieces of information for determining the popularity of that content. Therefore, we considered the _download counter_, \(C_{i}\), in our CPR mechanism, which is the number of times content \(i\) is requested. Linear regression was used to optimize the weights of the three tags, which are expressed by the tunable parameters in the formula for calculating the CPR. The formula for calculating the _content popularity ranking_ of content \(i\) at a node \(n\) is given in (5). \[\text{CPR}_{i}=C_{n_{i}}\times(\alpha\ \times T_{i}(x)+\beta\ \times E_{i}(x)+ \gamma\ \times D_{i}(x)) \tag{5}\]  
Here, \(\alpha\), \(\beta\), and \(\gamma\) are the tunable parameters with values of 0.475, 0.325, and 0.2, respectively. \(C_{n_{i}}\) is the number of times content \(i\) is requested from node \(n\). The value of \(C_{n_{i}}\) is generally 1 for the new incoming content, although it can be more than 1 if the same content was requested before and was not cached. However, this value is variable for the other existing content at a node, and it can vary for the same content cached at different nodes. Therefore, the same content can have different CPR at different nodes, and the popularity will also vary.