Learn More
Cognitive Radio (CR) technology is a promising emerging technology that enables a more efficient usage of already assigned spectrum. However, before CR networks can be deployed, new algorithms and protocols need to be developed. When forming an ad-hoc Cognitive Radio Network (CRN), one of the fundamental tasks is to determine the neighbors of each node and(More)
Detecting termination of a distributed computation is a fundamental problem in distributed systems. We present two optimal algorithms for detecting termination of a non-diffusing distributed computation for an arbitrary topology. Both algorithms are optimal in terms of message complexity and detection latency. The first termination detection algorithm has(More)
Wormhole attack is a type of replay attack in wireless networks that has serious consequences and is hard to defend against. This is because the attacker does not need to modify packets or compromise wireless nodes. This paper introduces Wormeros, a new framework to detect wormhole attacks in wireless networks. The framework contains two phases namely(More)
Determining order relationship between events of a distributed computation is a fundamental problem in distributed systems which has applications in many areas including debugging, visualization, checkpointing and recovery. Fidge/Mattern's vector-clock mechanism captures the order relationship using a vector of size N in a system consisting of N processes.(More)
Cognitive radios (CR) have the ability to dynamically adapt to local spectrum availability. In a network comprised of CR-enabled devices, layer-2 auto-configuration involves determining a common set of channels to facilitate communication among participating nodes. This is a unique challenge as nodes in the CR network may be unaware of (a) their neighbors(More)
The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type (or a group) with each critical section. In this problem, processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting critical sections of different types must execute their(More)