05.01.2013 Views

Ad Hoc Networks : Technologies and Protocols - University of ...

Ad Hoc Networks : Technologies and Protocols - University of ...

Ad Hoc Networks : Technologies and Protocols - University of ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

104 Multicasting in <strong>Ad</strong> <strong>Hoc</strong> <strong>Networks</strong><br />

order to prevent loop formations during mgraph reconstructions, each member<br />

also maintains a notion <strong>of</strong> local ordering among each other. Thus, each mgraph<br />

member is assigned a value named as JoinID, which has an initial value as<br />

infinity, <strong>and</strong> is updated during the course <strong>of</strong> mgraph construction.<br />

The new joining core broadcasts a join request JOIN(joinID). The joinID<br />

for a fresh joining core is set as infinity. The join request is relayed further by<br />

the non-member nodes in accordance to the core broadcast procedure. When<br />

a group member receives a join request, it sends back a JOIN-ACK(joinID) if<br />

its joinID is less than the joinID field <strong>of</strong> the arriving join request. When an<br />

intermediate core on the reverse path receives a JOIN-ACK, it relays the packet<br />

only when its number <strong>of</strong> neighbors in the mgraph does not exceed the robustness<br />

factor, R. Before relaying the JOIN-ACK, the intermediate core updates its own<br />

joinID if the relayed JOIN-ACK has lower joinID value, otherwise, it updates<br />

the joinID field <strong>of</strong> the JOIN-ACK packet. Figure 4.7 shows an example <strong>of</strong> the<br />

join procedure. The left-h<strong>and</strong> side shows how the join request is relayed up to<br />

the nodes in the core graph. The right-h<strong>and</strong> side shows the reverse paths for<br />

JOIN-ACKs <strong>and</strong> the update <strong>of</strong> joinIDs at each relaying nodes.<br />

Figure 4.7. MCEDAR join procedure.<br />

The forwarding protocol <strong>of</strong> MCEDAR follows the core broadcast procedure.<br />

When a data packet arrives at an mgraph member, the member attempts to<br />

forward the packet only to those nearby cores on the same mgraph. MCEDAR<br />

introduces a core broadcast procedure, which is used for a core node to flood<br />

a message to all the other core nodes in the network. The procedure is more<br />

efficient than the normal hop-by-hop flooding. The core broadcast procedure<br />

implicitly creates a source based tree that represents the fastest delivery structure<br />

for each source <strong>of</strong> the group.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!