AMRIS is an
on-demand protocol constructing a shared delivery tree in order to support multiple senders and receivers within a multicast session. The core idea which distinguish AMRIS from other multicast routing protocols is that each network participant in the multicast session has a session-specific multicast session member id (msm-id). This msm-id
provides each node with an indication of its
logical height in the multicast delivery tree. Each node except the root must have one parent that has a logical height (msm-id) which is smaller than it.
The msm-id dynamically is calculated by each node by itself dynamically during the Initialization phase, which is initiated by a special node called
Sid, who has the smallest msm-id.
Sid is elected by a set of senders. The relationship between the msm-id (node that owns it) and Sid (root of the tree) is that the msm-ids increase in numerical value as they
radiate away from Sid. The msm-ids allow nodes that have broken off from the delivery tree, for example because of mobility, to rejoin the delivery tree in a localized fashion.
Furthermore, AMRIS maintains a
Neighbour-Status table which stores the list of existing neighbours and their msm-ids. Each node sends a periodic beacon to signal their presence to neighbouring nodes containing the msm-ids that each node presently has.
Tree Initialization Mechanism
Necessary to generate a multicast session and advertise it to nodes within the ad hoc network. Nodes that are interested in joining the multicast session (
I-Nodes) then join in the Initialization phase. The other nodes are called the
U-Nodes.
Tree Maintenance Mechanism
During this phase, nodes that become "detached" from the multicast delivery tree rejoin the tree to continue receiving
multicast traffic, by executing a
Branch Reconstruction (BR)routine. The protocol uses a soft state beacon approach to determine if a link-breakage.