## 2 Mechanisms Specific to QoS and Multicast in Ad Hoc Networks
### Mechanisms for Tree/Mesh Maintenance  
Tree/mesh maintenance mechanisms can be divided into two categories: soft state maintenance and hard state maintenance. For the soft state maintenance technique, the tree/mesh is refreshed periodically by the source or receivers. The period interval is usually several seconds (e.g. six seconds in protocol E-QMR [16]). There is no need to have an additional technique for handling the link break or the leaving/joining of multicast members. When a link is broken, it is repaired automatically at the beginning of the refresh interval. Similarly, as a new node wants to join the multicast group, it waits until the route request is sent again from the source or it sends out a route request in case of receiver initiates tree/mesh structure. A receiver leaves the multicast group by not participating in the tree initiation process. The protocols in [11,13,15,16] use the soft state technique to maintain the tree/mesh.  
Figure 3 depicts the classification of tree/mesh maintenance mechanisms in QoS enable multicast protocols.  
If the hard state maintenance mechanism is used, an additional technique must be included to handle the link break, the joining of a new node, and the leaving of an existing member node. The main difference between the QoS multicast scheme for wired networks and ad hoc networks is the mobility handling. The nodes usually maintain the information about ne message. The link breakage is detected when no HELLO packet or other control or data packets are received from its neighbors during an interval.  
When there is a broken link, the upstream node or the downstream node will initiate an explicit message to recover the route. Similarly, when a node wants to join the multicast group, it initiates an explicit join message. The explicit message in both cases can be sent out locally or globally in the network. In the local maintenance technique, any node which is on the tree/mesh can reply to the message. Then a path from the new node to this member is established and the node joins the tree/mesh. The protocols in [12, 29, 30] are examples of this technique. In the global maintenance technique, only a source can reply to the explicit message to form a QoS satisfied path from the source to the requested node. This technique is used in [21, 24, 28].  
Mesh structures are more robust against link breaks since packets are sent along primary and alternative paths. No separate mechanism is needed until both the primary and alternative paths are broken [11, 15, 16, 18, 37, 42]. An extension of the mesh structure is to use pre-calculated alternative paths. These are used immediately when a link break is detected. HVDB [14] deals with mobility by using logical hypercube model where there are multiple disjoint local logical routes between each pair of cluster heads. When detecting a link breakage, multiple candidate logical routes become available immediately to sustain the service without QoS being degraded.  
When a receiver wants to leave the multicast group, the associated resource must be released and the routing table of involved nodes must be updated. In this case, a prune packet is sent upstream and the upstream nodes will delete the downstream node from its downstream list for the tree in its multicast table. As the upstream node receives the prune packet, it checks whether it has a downstream node other than the receiver. If it has, the node simply deletes the receiver from its routing table. The prune packet is then discarded. If it has not, it deletes the entry for the receiver in its routing table and releases the reserved resource. The node then sends the prune packet to all its upstream nodes before it leaves the multicast tree/mesh and becomes a non-forwarding node. The process is performed until either the prune packet reaches the source or the prune packet is discarded.  
Figure 3: Classification of tree/mesh maintenance mechanisms.