## 4 Functional Description of D-MSR Algorithms in Different Protocol Layers
### Defining Initial Communication Links with Neighbors  
The idea of defining the initial communication links with neighbors is derived from [23]. In [23] the authors describe the algorithm that provides the initial communication link between a mobile node and its adjacent neighbors. Mobile nodes change their connectivity very rapidly as a result of which the reservation of communication resources and the provision of real-time communication between two end-points are not considered. However, by modifying this algorithm based on our requirements, the initial communication links between a node and all of its adjacent neighbors can be scheduled. In [23], while the nodes are trying to schedule the communication links with their neighbors, they choose a random channel offset for each link and use that channel for their further communications on that link. However, assigning a different channel offset to conflicting edges is not discussed in [23]; to handle internal interference, nodes need to ensure that while communicating nodes choose the same frequency, conflicting edges use different channels. Moreover, in [23] the advertisements are sent on channel 0 and all the neighbor nodes listen on channel 0 in their free timeslots to receive the advertisements. As the nodes schedule fills up, they spend less time listening on channel 0 for advertisements. This means that nodes with more busy schedules have difficulties adding more bandwidth. D-MSR allows for more data sharing between nodes by considering the special period in each superframe for sending advertisements.  
We define five states: \"_Aloha_\", \"_Transmit Connection Request_\", \"_Receive Connection Request_\", \"_Transmit Data_\", and \"_Receive Data_\" for each timeslot, as in [23]. The default state for all the timeslots in the _data communication period_ is _Aloha._  
Figure 9 illustrates different states of a sample timeslot in the _data communication period_. At the beginning of each superframe, each node sends an advertisement in the scheduled advertisement cell in the advertisement period. This advertisement includes free timeslots, _i.e._, the timeslots with _Aloha_ state in the _data communication period_. To assure interference-free communication, the advertisement suggests for each free timeslot an unused channel offset chosen from the free cells in the timeslot column at the schedule-matrix. After sending the advertisement, the advertiser changes the state of these free timeslots from _Aloha_ to _Receive Connection Request_ state, and listens for a potential _Connection Request_ from the neighbors in the suggested channel. A neighbor node that receives the advertisement, checks whether it has any timeslot with _Transmit Data_ state with the advertiser or not. If not, the neighbor tries to find a common unused timeslot-channel cell with the advertiser. Once found, it converts the selected timeslot state from _Aloha_ to _Transmit Connection Request_. The neighbor sends a _Connection Request_ to the advertiser in the selected timeslot-channel entry. By receiving the _Connection Request_ packet, the advertiser changes the state of that timeslot from _Receive Connection Request_ into _Receive Data_ and sends the acknowledgement of receipt to the neighbor. Upon receiving the acknowledgment, the neighbor changes the state of the selected timeslot from  
Transmit Connection Request_ to _Transmit Data_. If no _Connection Request_ is received by the advertiser, the state of that timeslot is changed to _Aloha_. This procedure continues until the new node has established one timeslot with _Transmit Data_ state and one timeslot with _Receive Data_ state with all of its neighbors. Subsequently, a new node writes interference-free links in the communication tables, one Tx-link and one Rx-link for each of its neighbors. The channel offsets and timeslots of these links are set to the negotiated timeslot-channel entries, and the typical superframe (the length of the initial superframe is assumed to be 2 seconds) is added to the communication tables.