## 3 Problem Description  
The in-network cache capability of the ICN network provides the possibility for the nearest retransmission of reliable multicast. Routers can respond to retransmission requests from multicast receivers by caching recently transmitted chunks to reduce loss recovery delay. However, if there are multiple multicast groups in the network, how to allocate cache space for them affects the loss recovery performance.  
In ICN, each multicast group is regard as an entity and is assigned with a globally unique multicast service identifier (GUMSID). As shown in Figure 1, based on the reliable multicast architecture proposed in [20], we illustrate the shortcomings of the existing cache allocation mechanisms through a three-layer multicast tree model. There are two reliable multicast groups in Figure 1, namely GUMSID1 and GUMSID2. An MTN is a router with in-network cache capability. Multicast source1 and multicast source2 are senders of GUMSID1 and GUMSID2 respectively. Receiver1 and receiver3 join GUMSID1, and receiver2 and receiver4 join GUMSID2. Links a and d are reliable links, and links b and c are unreliable links.  
Assuming that the packets are not lost in the transmission process of the reliable link, MTN2 will not receive a NACK packet from receiver1 of GUMSID1, but may receive a NACK packet from receiver2 of GUMSID2. Similarly, MTN3 will not receive a NACK packet from receiver4 of GUMSID2, but may receive a NACK packet from receiver3 of GUMSID1. If the cache capacity of MTN2 and MTN3 is infinite, they can cache all the data packets passed by the flow. When receiving a NACK, MTN can always find the corresponding data packets in its cache and forward them as recovery packets. However, in a real network environment, the cache resources of router are limited. Assuming that the cache resources of MTN2 or MTN3 are exhausted, but the data packets of the multicast groups GUMSID1 and GUMSID2 continue to arrive, the data packets arriving later cannot be cached.  
If simple FIFO is used as the cache allocation mechanism, when the transmission rates of the multicast groups GUMSID1 and GUMSID2 are the same, the cache space of the router is equally allocated to the two multicast groups. However, when the rate of the multicast group GUMSID1 is much larger than GUMSID2, more cache space is allocated to GUMSID1. When GUMSID2 encounters packet loss, the corresponding data packets can hardly be found in the cache space of the router, and the nearest retransmission cannot be provided for the group. Thus, NACK can only be forwarded to the upstream, which greatly increases the loss recovery delay. In a word, in the scenario where multiple multicast groups exist and their transmission rates are different, the loss recovery performance of simple FIFO is relatively poor.  
For the defect of simple FIFO, a possible improvement mechanism is equal allocation; that is, the cache space of the router is evenly allocated to the multicast groups GUMSID1 and GUMSID2. However, MTN2 will never receive a NACK from GUMSID1, and MTN3  
Figure 1: A three-layer multicast tree model.  
will never receive a NACK from GUMSID2. Fifty percent of the cache space of MTN2 and MTN3 is wasted, so this allocation mechanism cannot efficiently utilize cache resources.  
From the above discussion of the two traditional methods, it can be seen that when there are multiple multicast groups in the network and the cache resources of multicast tree nodes are shared by those multicast groups, the recovery delay of reliable multicast is related to multiple characteristics of each multicast group. The cache allocation mechanism that only considers a single factor is unreasonable.