# SARAC4N: Socially and Resource-Aware Caching in Clustered Content-Centric Networks
## 3 Methodology
### Node Selection
The 80% resource utilization threshold is based on empirical observations in similar distributed caching studies, where nodes begin to show signs of delayed response and congestion beyond this point. This value balances responsiveness and resource usage without triggering excessive offloading. **Load Redistribution**:

Upon overload detection, the workload is reassigned to the CSH or the nearest low-load node using a priority queue-based scheduling mechanism. This ensures continuous service availability and prevents any single point of failure. The mechanism works in real time and is designed to function in both static and dynamic cluster environments. Resource capacity is measured as a weighted aggregate of available CPU (GHz), memory (MB), and network bandwidth (Mbps). A node's threshold is defined as 80% of its total resource utilization. When usage exceeds this, workload is reassigned to the CSH or a neighboring node with the lowest current load, using a queue-based redistribution mechanism. ### Congestion Shunning and NDN Function

**Problem Definition**:

Network congestion occurs when nodes receive a high volume of Interest packets beyond their processing and caching capacity, resulting in increased data retrieval delays and cache thrashing. **Congestion Management Strategy**:

SARAC4N implements a proactive scanning mechanism at each node to evaluate available system resources in real time. If congestion is detected, the node forwards incoming requests to other candidate nodes within the cluster that are better equipped to handle the load. **Execution Workflow**:

Each node assesses its current CPU, memory, and link utilization. Requests exceeding the node's threshold are rerouted to the CSH or neighboring node with the lowest active load. Nodes store high-priority, frequently accessed content based on recent cache hit statistics to reduce repetitive traffic. **NDN Caching Enhancement**:

To further reduce congestion and response latency, a dedicated cache node is selected within each cluster. This node stores non-replaceable and frequently requested content, ensuring quick access across the cluster while reducing PIT growth and FIB overhead. Figure 6 shows the SARAC4N framework illustrating the step-by-step formation of socially aware clusters, selection of primary and secondary cluster heads based on resource metrics, and neighbor cluster cooperation for popularity-driven content caching and efficient network coordination. ### Cluster Formation and Management

We employ a static K-Means-based clustering algorithm to partition the network into manageable segments based on Euclidean distance and the Social Importance Score (SIS), which aggregates node centrality metrics (degree, betweenness, and closeness). Each cluster is anchored by a cluster head (CH) selected based on the highest SIS and optimal resource capacity (CPU, memory, and bandwidth). A cluster secondary head (CSH) is also designated to act as a real-time failover to maintain fault tolerance and ensure service continuity during node overload or failure. The clustering process is periodically refreshed every 1000 simulation ticks to accommodate dynamic changes in content demand and node status. To maintain scalability and balance, the cluster size is restricted to a maximum of 25 nodes, preventing over-centralization and uneven load distribution. This hierarchical and socially informed clustering mechanism enables efficient content placement, reduces inter-cluster congestion, and ensures resilience under varying network conditions. Clustering on the basis of social awareness

The degree of centrality: The centrality degree of a proposed data node in the suggested framework can be evaluated as in Equation (1):

\[CEN_{degree}(n)=total\text{ number of linked faces of data endpoint }n \tag{1}\]

An adjacency mechanism (A) is formulated, and the degree for the centrality of node \(n\) is ascertained by calculating the sum of horizontal (row) or perpendicular (column) factors relating to the endpoint, \(n\) (for an undirected graphical presentation).