# Vortex: Network-Driven Opportunistic Routing for Ad Hoc Networks
## 3 VORTEX: Variable Opportunistic Routing Transferring Endpoint Expense
### Network Management  
This section explains how VORTEX handles the participation or leave of terminals as the topology changes due to terminal mobility.  
**Participation procedure:** The participation procedure of VORTEX is done with almost the same procedure as its initializing procedure, as described in the following. Note that, the newly participated terminal can recognize itself as a newcomer by examining the tier level. Thus, if the recorded value is negative, the terminal does not belong to any network at the moment.  
1. The newly participated terminal first exchanges the HELLO message with its neighboring terminals.
2. After obtaining the information of the degree neighboring terminals, the terminal sends UTR to the terminals in the same manner as the initialization.
3. In this procedure, it is assumed that the newly participated terminal first belongs to tier 0 even though the terminal has a larger degree than the neighboring terminals.
4. The receiver terminal of the UTR sends back the reply to the terminal.
5. The terminal then belongs to tier 0 upon receipt of the reply.  
As described above, VORTEX treats the newly participating terminal as a tier 0 terminal because the overall optimization should be performed globally in the update procedure of VORTEX.  
**Leave procedure:** VORTEX handles the leave of terminals according to the tier level of the terminals. If the terminal belongs to tier 0, VORTEX does nothing and waits for the update procedure. If the tier level is 1 or 2, VORTEX takes the following procedure. Note that, the leave is autonomously detected by the absence of a HELLO message. In this paper, we assume the threshold to be two consecutive absences of HELLO messages from neighboring terminals and set a tier level to a negative value after a terminal detects the leave.  
If the leaving terminal belongs to tier 1, the impact of the absence will mainly reach the neighboring terminals in tier 0, and thus the terminals will take an action.
2. The terminals detect the absence of the adjacent tier 1 terminal and then send T-UTr (temporary UTR) to the terminal with the second largest degree terminal.
3. The terminal receiving T-UTR temporarily set its tier level to 1 and notifies it with the HELLO message.
4. If the leaving terminal belongs to tier 2, the impact of the absence reaches not only the adjacent terminals but also the 2-hop adjacent terminals. Therefore, VORTEX tries to minimize the impact by reassigning the tier structure.
5. If there is a tier 2 or tier 1 terminal as the adjacent terminal of the terminal that detects the absence, the terminal sends T-UTR to the adjacent terminal.
6. Otherwise, the terminal does the same procedure in 2 and 3.  
**Update procedure:** The update procedure in VORTEX will be performed in a similar manner as the initialization. However, VORTEX performs the update procedure every \(i\) HELLO message interval. Note that, the beginning of an update procedure will trigger updates of other terminals by overhearing or receiving control messages because VORTEX takes a synchronization-free policy and assumes that the update interval has been previously defined among all the terminals.  
VORTEX begins the update procedure by querying its neighbors for their degree and tier level. Then, VORTEX performs the tier reassignment in the following manner.  
* If a neighboring terminal with a larger degree is in the higher tier, the terminal will remain silent because VORTEX regards the current tier assignment as locally appropriate.
* If the tier level of the larger degree terminal is the same as the one of the reference terminal or lower than that, the terminal sends UTR towards the larger degree terminal and steps down its tier level.
* The receiver of UTR increases its tier level by 1.
* If the degree of the terminal is larger than that of all neighboring terminals, the terminal shifts its tier level to the higher one, unless the current tier is 2.