Reliable Multipath Routing in Selfish Networks with Hidden Information and Actions

In this paper, we propose a novel game-theoretical solution to the multi-path routing problem in wireless ad hoc networks comprising selfish nodes with hidden information and actions. By incorporating a suitable traffic allocation policy, the proposed mechanism results in Nash equilibria where each node honestly reveals its true cost, and forwarding subgame perfect equilibrium in which each node does provide forwarding service with its declared service reliability. Based on the generalised second price auction, this mechanism effectively alleviates the over-payment of the well-known VCG mechanism. The effectiveness of this mechanism will be shown through simulations.


Introduction
Wireless ad hoc networks consist of a set of autonomous nodes distributed in a certain area, and do not have a central coordinator to support communication among the nodes.Wireless devices rely on each other to forward packets to the destination.Initially, protocol design often assumed that nodes would always follow the protocol.These kinds of design worked well because such wireless devices were usually owned by a single entity and were supposed to cooperate with each other.With great advancement of mobile communication and computing, more and more small and convenient mobile devices, such as smart phones and tablet PCs, come into everyday life.Wireless ad hoc networks can possibly be formed by these devices owned by different individuals.Due to limitations of memory, energy supply and computing resources, such devices may behave selfishly and do not follow the protocol.This results in non-cooperative networks in which each node relies on other nodes to forward its packets and yet is not willing to spend its own resources to forward packets for other nodes.
To ensure normal operation in non-cooperative wireless networks, it requires selfish nodes to participate in the routing protocol to establish available paths and forward packets if it is along a chosen path to a destination [18].Since selfish nodes are mainly interested in maximizing their own payoffs, one common approach to deal with them is to design an appropriate payment mechan-ism to reward cooperation.That is, if a cooperating node receives a payment more than its expended cost in forwarding a packet, then it is likely to follow the routing protocol and forward packets for other nodes.However, an important issue of this approach is to ensure that each node honestly reports its cost expenditure in forwarding a packet, otherwise, traffic sources will be asked to make unrealistic payments.In many literatures [2,13,14], mechanisms were designed for soliciting the truthful cost declaration from selfish nodesso that a certain optimal routing structure could be built to connect a source node and a destination node.The problem can be modeled as a hidden information game.In addition, another important issue is to ensure that intermediate nodes indeed forward data packets when they are asked to [17].Unfortunately, as shown in [18], no dominant strategy solution exists in which every node always forwards others' packets.When packet loss occurs during forwarding, it is difficult for other nodes to distinguish whether a failure is due to natural hazard, or due to intentionally dropping by a node.Even if the protocol deploys monitoring mechanism to allow the senders or the receivers to ascertain the location of the failure, they may still be unable to attribute the causes of failure to either the deliberate action of the intermediate node, or some external factors beyond the control of the node, such as network congestion, channel interference, or data corruption.This problem is referred to as the hidden action problem.
The VCG payment mechanism has been applied in single-path routing [3,5,6,15,16], and multi-path routing [5] scenarios to deal with hidden information and hidden actions.However, VCG suffers from the inevitable over-payment problem [4,10].Efforts to alleviate this problem have been made in single-path routing scenario [12].A game method proposed in [5,16] stimulates cooperation from intermediate nodes to overcome the hidden-action problem with hidden information.They mainly considered the single-path scenario.In [8,9], we assumed that all links and nodes are reliable, and have no hidden action.The generalised second price (GSP) auction in multi-path routing was proposed to deal with hidden information of selfish nodes.In this paper, we will extend the GSP auction in multi-path routing to take into account more complex conditions such as hidden action of a node.We assume that the link failures are independent among different links, and aim to design protocols that can eliminate the hidden action without using additional monitoring scheme.As discussed in [8,9], although GSP achieves lower over-payment than VCG, its existing form used in Internet advertising does not guarantee each node to reveal its true cost.Therefore, we also need to design a mechanism which results in Nash equilibria for all nodes to behave honestly.The remainder of this paper is organized as follows.Section 2 discusses the abstracted network representation and system model.Section 3 builds the mechanism and designs the algorithm that can efficiently deal with the hidden action and hidden information problem and ensure reliable multi-path routing in the link layer.Section 4 evaluates their effectiveness through simulations.Section 5 concludes this paper.

Network Model
A wireless network is formed by a finite number of nodes, denoted by V = {1, 2,...,n}.The existence of the directed edge (i, j) ∈E between node i and node j is dependent on the transmission power.We assume that each node i has a set T i of discrete transmission power levels.For any i, j∈V, there is a minimum power level T ij at which node i could transmit packets to node j.If T ij ≤ max(T i ), then we say node j is reachable from node i.In this way, the network could be represented by a weighted directed graph G = {V, E, W}, where W is the set of weights representing the cost on each edge.
Each link (i, j) ∈E is assigned an inherent value η(i, j) ∈ [0, 1], denoting the reliability of the link (i, j).The reliability of a link means the probability of decoding the packet correctly when node i has sent a packet through the wireless channel to node j.In other words, node j will receive the data correctly with probability η(i, j) due to possible corruption by interference, after node i sends data to node j.We assume that η(i, j) is public information in this paper.
Each node i∈V is assigned an inherent value γ i ∈ [0, 1], indicating the service reliability that a data packet will be successfully forwarded by i if a path including i is chosen for packet forwarding.In other words, node j will receive the data correctly with probability γ i if the link (i,j) is completely reliable, when node ishould forward data to node j.We assume that γ i is private for each node i. Node i can choose to declare this private information correctly or incorrectly in orderto maximize its own utility.
For convenience, we denote δ(i, j)= γ i • η(i, j) as the value of the corresponding service from node i to node j.We consider implementing a routing protocol that will reliably route data from a source node S to a target node D through multiple paths.Such a routing protocol with selfish participating nodes comprises of the routing stage and forwarding stage, which are modelled as routing subgame and forwarding subgame [18].

Least Cost Path Construction
The player set of this multi-path routing game are the intermediate nodes.We assume each intermediate node incurs a per-packet cost for forwarding traffic with the corresponding service reliabilityγ i , and this cost and γ i are private to itself.The reliable minimum cost multi-path routing problem is to find a set of least cost paths (LCPs) connecting S and D such that the expected total cost spent by all nodes (including the retransmissions) is minimized, for the given probabilities δ(i, j)= γ i •η(i, j).When the link layer reliability is implemented, it means that the retransmission is completed by the upstream node till a packet is successfully received by the downstream node.Consider a path P connecting the set of nodes {a 1 ,a 2 ,...,a h } wherea 1 is the source anda h is the destination, respectively.The expected cost of sending a packet through P, ε(C P ), is given by Here, 1/δ(a t ,a t+1 ) is the expected number of total transmissions over link(a t ,a t+1 ) including the initial transmission and all retransmissions, c (a t ,a t+1 ) is the cost of sending a packet through link (a t ,a t+1 ).
For the sake of simplicity, we assume in this paper that there is no collusion among the nodes.In the route discovery process, each node declares a cost for an outgoing link along with service reliability.Note that the declaration may not be honest.After obtaining all the link information and constructing the network graph, the routing protocol orders the node-disjoint paths as the reliable LCP candidates according to the expected cost of each path.That is, after path ordering, ε(C i ) <ε(C j ) if i<j, where ε(C i ) is the expected cost of LCP i .

System Objective
Assume that the first mLCP candidates are selected for packet forwarding.A fraction of data traffic f i will be forwarded through LCP i .The per-packet payment is calculated according to the routing decision, forwarding action and the bids placed by intermediate nodes.The bid of each intermediate node is kept confidential by encryption and can only be exposed to the destination and source nodes.Once the route discovery process is finished, nodes cannot change their bids before the transmission is completed or rerouting is triggered.Therefore, we model this auction as a simultaneous-move, one-shot strategic game.
Following the definition in game theory [7], node i's per-packet payoff or utility u i is given by , where c i is node i's cost and p i is the payment made by the source to node i.
While it is obvious that each intermediate node i's objective is to maximize its utility by giving a proper bid, the goal of the entire system is to minimize the total transmission cost by allocating proper traffic among the m paths, subject to certain constraints {P (n) }, which represent a set of policies to be discussed in the following section.

Policy Enhancement
In the formulation presented above, the constraints represent a set of policies {P (n) }.Such policies are an important part of our mechanism design.The basic policies are as follows: P (1) : Since we consider multi-path routing in this paper, naturally, the number of selected LCP candidates mis larger than one, but less than the total number of LCP candidates between the source and destination.
P (2) : The fractions of data traffic carried by different selected LCP satisfy the conditions ∑ = = The first condition follows directly from the fact that all packets need to be forwarded to the destination.Moreover, we emphasize that i ∀ , f i >0 since any f i =0 will reduce m.Also, the fact that the fractions of traffic allocated to the mLCP candidates appear in descending order is compatible to the entire system's goal of minimizing total cost, since LCP i with larger i tends to introduce higher cost per packet.P (3) : For any p<q, we require f q .This policy governs how traffic are allocated among the m LCPs.The first inequality a player on a path with less total cost tends to have a better utility than one on a path with larger total cost.The second inequality f q says that by overbidding to go from a path with less total cost to one with larger total cost, a player cannot increase its utility.As we will see later, this condition guarantees a truth-telling node's utility if some other nodes are trying to game the routing protocol.

Payment Mechanism Design
A selfish node has certain private information such as its service cost and the service reliability.Thus, the actions taken by a selfish node are 1) declaring whether it can provide such services and 2) providing the truthful telling of service cost and what kind of forwarding service.The main goal of this routing scheme (composed of routing subgame and forwarding subgame) is then to ensure that every selfish node fulfills its declared service cost and forwarding service.We design GSP mechanism to calculate the payment.The objective of such a mechanism is to stimulate the rational players being honest without hurting their utility.In the link layer multi-path reliable routing game, GSP per-packet payment only considers the service cost and service reliability of other nodes on LCP k (excluding itself) and LCP k+1 , and is given by and ε(C k ) is the expected cost of LCP k path calculated by Equation (1).
Although GSP achieves lower over-payment than VCG (which will be shown in Section 4.2), GSP auction has an unpleasant flaw that generally it does not have any truth-telling equilibrium [1,11], where each node truthfully reveals its private type.In our mechanism design, we eliminate this flaw by adding the polices discussed in Section 2.4 which control the traffic allocation among the selected LCP candidates.

Algorithms
First, we design Algorithm 1 to allocate traffic among the selected paths between a source-destination (S−D) pair.We allocate traffic based on routing policy P(3) and make sure all selected mLCP paths can jointly carry the traffic.Then, we design the link layer multi-path reliable routing scheme given byAlgorithm 2. This scheme ensures the link layer reliability.
Based on a similar approach in [8], it can be proved that, if Algorithm 2 is used, there are Nash equilibria for all player nodes to truthfully declare their costs, and forwarding packets according to the declared service relia-bilities by all player nodes is a subgame perfect equilibrium.Due to space limit, the proof is omitted in here.

Performance Evaluation
To establish m LCPs according to our criteria, any existing routing algorithm can be used.Here, we use the commonly used Dynamic Source Routing (DSR) protocol as an example.The basic route discovery and route maintenance are handled by DSR as usual.The only modification is that instead of hop-count metric, the encrypted bidding cost and offered service reliability of each node is included in the route request (RREQ) message.Accordingly, the route reply (RREP) message sent from destination to source includes the network graph constructed from the information gathered in RREQ messages.Then the routing protocol determines f 1 ,f 2 ,...,f m by using Algorithm 1.
In order to investigate the incentive aspect of our mechanism, we have developed an event-driven simulator using C++ (Microsoft Visual Studio 2008, Ver.9.0.21022.8RTM) programming language.The general settings of our simulation experiments are as follows.There are 100 nodes and 250 links in the network.To generate a network topology, these 100 nodes are randomly connected by 250 links.The costs of links are uniformly chosen from [1,5].The reliability of a link or a node is uniformly chosen from [0.001, 1].For each intermediate node, the cost involved in forwarding a packet is dominated by the cost of the corresponding outgoing links.Each source node splits traffic among all but one of the available paths according to the specified rules.Without loss of generality, the packet generation rate at each source is assumed to be 1 packet per second, and the transmission time of a packet between two nodes is always 1 second.

Effects of Different Strategies
In this scenario, we investigate the effects of different strategiesand we mainly look at two different aspects, namely, the credit balance and the utility.The credit balance of each node is the payment received from other nodes minus the payment made to others.The utility of each node is the payment received from others minus the cost involved in forwarding packets.There are two actions a node could choose to take during the auction, namely honest and cheating.By honest, it means that a node bids with its true cost and indeed provides its declared service reliability, while cheating means a node either understates or exaggerates its cost, and violate its declared service reliability.Therefore there are totally four combinations of different strategies depending on actions by a node itself and others.While we expect that when others behave honestly, the strategy of being honest always leads to a better utility than the strategy of cheating, we are also interested in comparing them with the other two strategies experimentally.Therefore, we generate the cheating scenario as follows.When we decide a node to be cheating, with equal probability the reported cost is either increased or decreased based on Algorithm 2 Link layer multi-path reliable routing Suppose S wants to send data to D through multiple paths.
Input: weighted graph G= {V, E, W} where |V|=n, service cost of nodes, c i ,i∈ [1,n], service reliability of nodes, γ i ,i ∈ [1,n], link reliability, η(i, j), (i, j) ∈E; Routing subgame: 1) Initialization: Sinitiates with broadcasting a query for forwarding packets with certain QoS.On receiving the query, each node player ideclares its service cost , which may not be its true cost,to provide a forwarding service δ(i, j) on link (i, j) for each one of its out-going neighbors j, and the corresponding service reliabilityγ i .For all links (i, j), we define its weight ω(i, j) as /(γ i • η i, j ); 2) Calculation: Scomputes all pathsto Dusing Dijkstra's algorithm under each intermediate node's claimed cost with the corresponding service reliability, and selects the first mLCP candidates; 3) Traffic allocation: Suses Algorithm 1to allocate traffic among the selectedLCP candidates; 4) Forwarding subgame: When an intermediate node ireceives a packet from its upstream node, it will forward the packet to the next-hop node jusing service reliability γ i or using some other forwarding reliability.
5) Compensation: Sends the transmission, and only if Dreceives the data correctly, Spays each intermediate node iin one of the selected LCPs with ε the true cost, with a percentage uniformly chosen from [5%, 25%].Its forwarding reliability is either increased or decreased based on the true reliability, with a percentage uniformly chosen from [5%, 25%].We arbitrarily pick a node, say node 23, as the objects under consideration.Results shown in Figure 1 and Figure 2 confirm that the strategy "honest when others honest" outperforms "cheating when others honest".Also, we observe that for most of the time, the strategies when node is honest produce the best results.

Over-payment Alleviation
Last, we evaluate the over-payment alleviation through simulation.We randomly generate 200 topologies using the same approach and each node honestly follows the protocol under link layer model.We evaluate the overpayment ratio comparing GSP with VCG.We vary the number of paths being used for packet forwarding.The overpayment ratio between GSP and VCG is computed for each case.According to the cumulative distribution function shown in Figure 3, it is observed that GSP always has less over-payment.The improvement of GSP over VCG monotonously increases with the number of for warding paths.For instance, as shown in Figure 3,   with the use of GSP, the largest reduction of overpayment in VCG is about 55% in the setting of m = 3.And it is about 60% for m = 4.The best result is m = 6, the reduction of overpayment in VCG is at least 30%.

Conclusion
We have proposed a novel game-theoretical solutions to the multi-path routing problem in non-cooperative networks in which nodes have hidden information and action.By incorporating suitable traffic allocation polices, the proposed mechanisms are highly compatible to existing routing protocols, which results in Nash equilibria where each node honestly reveals its true cost, and forwards packets according to its declared service reliability.Compared to the commonly used VCG payment mechanism, our GSP-based mechanism results in lower overpayment.

Figure 1 .
Figure 1.Credit balance of node 23 with different strategies.