# An Adaptive Hierarchical Hybrid Multicast Based on Information-Centric Networking
## 4 Multicast Mechanism
### Joining a Group  
The process of the receiver joining the multicast group is shown in Figure 2. If a receiver is interested in the multicast group identified by the MGEID, it informs the RER it connected to join the group (arrow 1). Then, the RER checks whether it contains the NFT entry of the MGEID (arrow 2). If so, the RER just inserts the interface connected to the receiver into the out-interface list of the NFT entry. Otherwise, the RER needs to initialize the NFT entry in which the Parent NA is empty, query the NRS for corresponding MJNs (arrows 3-4), select an appropriate MJN according to the given selection strategy, and then send a JOIN REQUEST message to the selected MJN (arrow 5). After receiving the JOIN REQUEST message, the selected MJN checks whether the NFT load of the next router from it to the RER reaches the threshold (arrow 6). If the NFT load of the next router reaches the threshold, the MJN first inserts the mapping between the MGEID and the RID of the RER into its GMT and then replies to RER with a JOIN RESPONSE message in which the State Flag is set to stateless and the Parent NA is set to its NA (arrow 7). If the NFT load of the next router is less than the threshold, the MJN first inserts the forwarding interface from it to the RER into the out-interface list of the NFT entry corresponding to the MGEID and then replies to the RER with a JOIN RESPONSE message in which the State Flag is set to stateful and Parent NA is set to its NA (arrow 7). When the intermediate router receives the JOIN RESPONSE message, it checks the State Flag of the message (arrow 8). For the JOIN RESPONSE message in which the State Flag is stateless, the intermediate router sends the message directly to the RER (arrow 11). For the JOIN RESPONSE message in which the State Flag is stateful, the intermediate router first registers the mapping between MGEID and its NA with NRS (arrow 9). Then, the router determines whether the NFT load of the next router from it to the RER reaches the threshold (arrow 10). If so, it performs the following steps: (1) initializes the NFT entry in which the Parent NA is set to the Parent NA carried in the message and the out-interface list is empty; (2) inserts the mapping between the MGEID and the RID of the RER into its GMT; (3) modifies the State Flag of the message to stateless and the Parent NA of the message to its NA; (4) forwards the message to the RER (arrow 11). If the NFT load of the next router is less than the threshold, the router also needs to perform some steps: (1) initialize the NFT entry in which the Parent NA is set to the Parent NA carried in the message and the out-interface list contains the forwarding interface from it to the RER; (2) modify the Parent NA of the message to its NA; (3) forward the message to the RER (arrow 11). When the RER receives the JOIN RESPONSE message sent to it, it sets the Parent NA in the NFT entry of the MGEID to the Parent NA carried in the message. Then, it checks the State Flag of the received JOIN RESPONSE message (arrow 12). If the State Flag is set to stateful, the RER needs to register the mapping between MGEID and its NA with NRS (arrow 13). Figure 2: The message sequence chart diagram of joining a group. Taking the nearest MJN selection strategy as an example, we illustrate the joining process of the proposed AHHM approach in detail in Figure 3. In the multicast group identified by MGEID\({}_{1}\), N1 is the MJN, and receivers R1, R2, and R3 want to join the multicast group. N1 has already initialized the NFT entry of MGEID\({}_{1}\) and registered the mapping between MGEID\({}_{1}\) and N\({}_{\text{NA1}}\) with NRS. As shown in Figure 3a, R1 informs N6 that it wants to join the multicast group identified by MGEID\({}_{1}\). N6 initializes the NFT entry \(<\)-, MGEID\({}_{1}\), 2\(>\) and obtains that the MJN of the group is N\({}_{\text{NA1}}\) by querying NRS. Then, [PERSON] sends a JOIN REQUEST message to [PERSON].