# Path Segmentation-Based Hybrid Caching in Information-Centric Networks
## 3 Path Segmentation-Based Hybrid Caching
### Caching Idea Based on Path Segmentation  
The user may be multiple hops away from the content source or cache node, and executing the same caching scheme for each node on the path does not obtain good caching \begin{table}
\begin{tabular}{c c} \hline \hline
**Caching Strategy** & **Contributions** \\ \hline CLAM [12] & Improving the caching gain by using the concept of betweenness centrality \\ \hline BidCache [13] & Reducing caching redundancy by allowing nodes on the path to participate in an auction to win the right to cache the content \\ \hline ABC [14] & Pushing popular content to the user edge adaptively by using “age” to control a content replica’s lifetime \\ \hline SNCS [15] & Reducing caching redundancy by selecting influential nodes as cache nodes \\ \hline NCBIC [16] & Improving the utilization of cache resources by content migration \\ \hline Cooperative on-path and off-path caching [17] & Reducing user access latency by employing heuristic algorithms on the edge routers and the additional central router, respectively \\ \hline Distribute cache management [18] & Achieving efficient caching by adopting a distributed autonomic management architecture \\ \hline CIC [19] & Improving the utilization of cache resources by storing different kinds of chunks \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Summary of contributions of the ICN caching strategies. Figure 1: IP-compatible information-centric network (ICN) network architecture. performance. We chose to divide each data return path into two segments--one segment is near the requesting user, called the user-edge area, and the other is relatively far from the user edge, called the non-edge area. Unlike node area division based on network topology information [8], this division of each return path is dynamic and temporary. We divide the nodes on the data return path according to the data transmission distance. The longer the data transmission distance is, the closer the node is to the user's edge. Our research goal is to coordinate the two cache targets of user access latency and network resource utilization. User-edge area and non-edge area are biased towards different cache targets. To reduce user access latency, nodes in the user-edge area should cache the content with high popularity. We propose using the non-edge area as the secondary cache of the user-edge area. The content replaced in the user-edge area is migrated to one migration node chosen in the non-edge area. In order to avoid the communication overhead of selecting the migration node, when data are transmitted in the non-edge area, the nodes on the path collaborate in a competitive way to choose the most suitable node to be added to the data packet as the migration node of the user-edge area. According to our mechanism, there are two types of network data packets: a normal data packet and a migrated data packet. We need to add several fields to carry some information in the header of the normal data packet and one field in the header of the migrated packet to implement this hybrid caching based on path segmentation. In order to reduce the transmitted data and network traffic overhead, related compression techniques can be adopted to compress the length of the packet header overhead, such as the small set of allowed coefficients (SSAC) algorithm [22]. The hop_count field: Since the network architecture we are considering is IP-compatible, the request and data transmission distance (hops) can be calculated by the Time To Live field (TTL). The hop_count is initialized to the distance between the hit node and the requesting user. The proportion of path segmentation is \(\frac{\text{hop\_count}}{\text{k}}:\left(\text{hop\_count}-\frac{\text{hop\_ count}}{\text{k}}\right)\); we set \(k=2\) for the convenience of calculation in this paper, and the proportion can be optimized as a follow-up study. As shown in Figure 2, when the data transmission distance is less than \(\frac{\text{hop\_count}}{\text{k}}\), the node belongs to the non-edge area. Otherwise, the node belongs to the user-edge area.