Decision Making Phase. Use function VOTE to process the root s of each processor’s ic-tree, and the Decision Value VOTE(s) is obtained. Function VOTE(α) begin if the α is a leaf then output the value α /* condition 1*/ else begin if the number of value λ0 is 3*( t*-r+1)+[(n-1) mod 3] output the value α /*condition 2*/ if the majority value is λi, where 1≦ i ≦t* output the value λi-1 /*condition 3*/ if the majority value is the non-λj value, where 0≦ j ≦t*, m∈{0,1} output the majority value m /*condition 4*/ if the majority value is not existed output the default value φ /*condition 5*/ end
Decision Making Phase. In the “decision-making phase”, each processor without source processor removing the vertices with repeated names in order to avoid the influence from a faulty processor from repeating in an mg-tree. Then, using function VOTE on the root s of each processor’ s mg-tree. The agreement value VOTE(s) is obtained. The function VOTE only counts the non-value δ0 (excluding the last level of the mg-tree) for all vertexes at the r-th level of an ic -tree, where 1 ≤ r ≤ Zm+1. The condition 1, condition 4, and condition 5 in the function VOTE are similar to conventional majority vote [5]. The condition 2 is used to remove the influence by a malicious faulty processor. The condition 3 is used to describe the existence of an absentee. The detail descriptions of function VOTE is shown in Fig. 2.
Decision Making Phase. Reorganizing the mg-tree into a corresponding ic-tree. (The vertices with repeated group names are deleted).
Decision Making Phase. The goal of the decision-making phase is to compute a common agreement value for the BA problem. After the message-exchange phase, each node has its own mg-tree. Each node reorganizes its mg-tree into a corresponding information collecting tree (ic-tree). The ic-tree is a tree structure that is used to store received messages without repeated node names (a detailed description of the ic-tree is presented in section 3.5). Using the VOTEad function on each node’s ic-tree from the level t+1 to root s obtains the agreement value VOTEad(s). The agreement value VOTEad(s) is transmitted to the return nodes. The formal description of the VOTEad function is shown in Figure 3. There are five conditions in the VOTEad function. If the vertex α is a leaf, then there is only one value in the vertex α. Thus, the majority value is the value of vertex α (condition 1). Condition 2 is used to remove the influence from malicious faulty nodes. Condition 3 is used to remove the influence from no response nodes and presents the existence of absentees. Condition 4 is used to get the majority value. Condition 5 happens when there is no majority value. Conditions 1, 4, and 5 in the VOTEad function are similar to the conventional majority vote [12] .
Decision Making Phase. Each node turns the mg-tree into its corresponding ic-tree by deleting the vertices with repeated names.
Decision Making Phase. The goal of the decision-making phase is to compute a common agreement value for the BA problem. After the message-exchange phase, each node, except the source node, has its own mg-tree. Each node reorganizes its mg-tree into a corresponding ic-tree. The ic-tree is a tree structure that is used to store received messages without repeated node names (the detailed description of the ic-tree is presented in Appendix III). The VOTE function on each node’s ic-tree from the t+1 level to root s of the ic-tree obtains the agreement value VOTE(s). The agreement value VOTE(s) is transmitted to the return nodes. Conditions 1, 4, and 5 in the VOTE function are similar to the conventional majority vote [11]. Condition 2 is used to remove the influence from a malicious faulty node. Condition 3 is used to remove the influence from a no response node and presents the existence of an absentee. A formal description of the VOTE function is shown in below. FUNCTION VOTE(α) begin if the α is a leaf then output the value α /* condition 1*/ else begin if the number of value δ0 is 3*(t-γ+1)+[(n-1) mod 3] output the value α /* condition 2*/ if the majority value is δi, where 1≦ i ≦ (n -1)/3 output the value δi-1 /* condition 3*/ if the majority value is the non-δj value, where 0≦ j ≦(n -1)/3, m∈{0,1} /* condition 4*/ /* condition 5*/ end end. Moreover, the VOTE function only counts the non-value δ0 (excluding the last level of the ic-tree) for all vertexes at the γ-th level of an ic-tree, where 1≦ γ ≦t+1.
Decision Making Phase. Turn the mg-tree into its corresponding ic-tree by deleting the vertices with repeated names. Step 2: Apply the VOTE function to the root s of each node’s ic-tree and obtain the agreement value VOTE(s). Step 3: Transmit the VOTE(s) to the return nodes if there is any return node in the MANET. Step 1: Receive other nodes’ VOTE(s) values. Step 2: Apply the VOTE function to the received messages to obtain the agreement value.
Decision Making Phase. Applying the function VOTE to the root of each processor’s ic-tree Ti, the common value VOTE(s) is obtained. Ic-tree Conversion Function:
Decision Making Phase. Turn the mg-tree into its corresponding ic-tree by deleting the vertices with repeated names. Step 2: Use function VOTE to process root t of each processor’s ic-tree and to obtain the common value VOTE(t). The function VOTE(t)= begin if the α is a leaf then output the value α /* condition 1*/ else begin if the number of value λ0 is 3*(t-r+1)+[(n-1) mod 3] output the value α /* condition 2*/ if the majority value isλi, where 1≦ i ≦t output the value λi-1 /* condition 3*/ if the majority value is the non-λj value, where 0≦ j ≦t, m∈{0,1} output the majority value m /* condition 4*/ if the majority value is not existed output the default value ϕ /* condition 5*/ end end. The function VOTE only counts the non-value λ0 (excluding the last level of the ic-tree) for all vertexes at the r-th level of an ic-tree, where 1≦ r ≦t +1.
Decision Making Phase. Each processor's mg-tree is reorganized into a corresponding ic-tree.