An important first step when deploying a wireless ad hoc network is neighbor discovery in which every node attempts to determine the set of nodes it can communicate within one wireless hop. In the recent years, cognitive radio (CR) technology has gained attention as an attractive approach to alleviate spectrum congestion. A cognitive radio transceiver can operate over a wide range of frequencies possibly spanning multiple frequency bands. A cognitive radio node can opportunistically utilize unused wireless spectrum without interference from other wireless devices in its vicinity. Due to spatial variations in frequency usage and hardware variations in radio transceivers, different nodes in the network may perceive different subsets of frequencies available to them for communication. This heterogeneity in the available channel sets across the network increases the complexity of solving the neighbor discovery problem in a cognitive radio network. In this work, we design and analyze several randomized algorithms for neighbor * A preliminary version of the work has appeared earlier in the discovery in such a (heterogeneous) network under a variety of assumptions (e.g., maximum node degree known or unknown) for both synchronous and asynchronous systems under minimal knowledge. We also show that our randomized algorithms are naturally suited to tolerate unreliable channels and adversarial attacks.
IntroductionNeighbor discovery is an important step in forming a self-organizing wireless ad hoc network without any support from an existing communication infrastructure [8,9,19,20,29,42,51,54,57,58,63]. When deployed, nodes initially have no prior knowledge of other nodes that they can communicate with directly.The results of neighbor discovery can be used to solve other important communication problems such as medium access control [7,22], routing [15], broadcasting [50,54], clustering [16,32,40], collision-free scheduling [26,27], spanning tree construction [21], and topology control [37,62].Many algorithms for solving these problems implicitly assume that all nodes know their one-hop and sometimes even two-hop neighbors. Many location-based routing protocols (e.g. localized routing in Vehicular Ad hoc Networks (VANETs)) use the position of neighboring nodes to make routing/forwarding decisions. The neighborhood information is also used to update the reachability status of nodes. A better neighbor discovery algorithm, which uses fewer messages and has higher accuracy, can be used to improve the performance of location-based routing algorithms [10][11][12].Neighborhood information helps reduce the cost of flooding in multicast tree construction using flooding algorithms [39]. Mobile sensing applications, ranging from mobile social networking to proximity-based gaming, involve collection and sharing of data among nearby users. The success of these applications depends on neighborhood information [20]. Neighbor discovery is extremely important in Underwater Acoustic (UWA) Networks and needs to be done frequently because nodes...