A Comparative Study of Cooperative Algorithms for Wireless Ad Hoc Networks Alan Lim, Vikram Srinivasan, Chen-Khong Tham Department of Electrical and Computer Engineering National University of Singapore Engineering Drive 3 Singapore 117576 {eng10346, elevs, eletck}@nus.edu.sg Abstract In Ad-Hoc Networks (AHN), nodes can take on the role of a source, destination or relay. Relays are needed when source nodes wish to communicate with destination nodes that are far away. However, in acting as relays, nodes expend a significant amount of energy transmitting data across the network. Energy is a precious commodity for an AHN and the aim of nodes is to maximize their through- put and survive for the longest period possible. Thus, nodes would not be willing to act as relays all the time. As a re- sult, efficient cooperative algorithms are needed in AHNs to determine when a node should act as a relay, thus ensur- ing the survivability and performance of nodes. However, there are issues that need to be considered before existing cooperative algorithms may be implemented in an actual AHN. This paper focuses on the research, modification, im- plementation, verification and analysis of the Generous Tit for Tat (GTFT) and Nuglet cooperative routing algorithms on an actual AHN. 1. Introduction Ad-hoc Networks (AHNs) have vast potential applica- tions in the modern world. These include situations that demand the rapid deployment of nodes. AHNs can also extend the coverage of a network significantly without in- curring significant financial costs. A node in an AHN can typically take the form of a PDA or a laptop. AHNs usu- ally have an arbitrary and random configuration. In fact, the number of nodes that come together to form a network at any instance is non-deterministic. Furthermore, we assume that nodes have an equal chance at any one time of being a source, destination or relay. A node in an AHN is faced with two primary constraints. Firstly, in the transmission of data packets, energy (in terms of the battery levels of the nodes) is consumed. Thus, since PDAs or laptops are portable systems allowing users to process information on the go, they are heavily depen- dant on the limited battery power that they carry. Conse- quently, nodes would want to conserve as much energy as possible. Secondly, nodes would also like to have the max- imum goodput (number of packets accepted by the relays over the number of packets sent out as a source) possible. However this would require relay nodes to cooperate all the time. While it may be intuitive that relay nodes should help to forward packets for other nodes all the time, it is not in their interest to do so. If a relay node were to transmit data continuously for other nodes, there may be little or no en- ergy left for its own use. References such as [1], [2], [3], [4] and [5] have pro- posed the use of cooperative algorithms to determine if a node should forward a data packet for another node. The primary aims of these algorithms are to maximize the throughput and lifetime of a node. Other approaches like [6] propose mechanisms to be employed in the event of mis- behaving nodes. Meanwhile, references [7] and [8] have studied the energy consumption of wireless transmission. This paper uses some of these ideas with slight modifica- tions to the theoretical framework where necessary. While previous works have been supported purely by simulation results, this is, to the best of the authors’ knowledge, the first paper that looks at the implementation issues of cooperative algorithms on an actual AHN. Specifically, the GTFT [1] and Nuglet [2] cooperative algorithms were implemented and the results obtained were studied and verified against existing simulation results. The algorithms were compared against each other and with the case when no cooperative algorithm was used. In section 2, the algorithms employed in [1] and [2] are briefly discussed. Next, in section 3, the setup of the exper- iments is given. In section 4, the necessary modifications to the existing Nuglet and GTFT algorithms are discussed in detail and their implementation is explained. After that, in section 5 the experimental settings are given, while the experiment results are shown and analyzed in section 6. Fi- nally, in section 7, the paper is concluded.