Tuesday, April 18, 2017

Wireless Channel Power Control

Our ideas for a hybrid approach for channel power control have been discussed here:
S. Ganu, G. Bhanage, P. Narasimhan, "System and Method for Computing Coverage Set and Resource Allocations in Wireless Networks", US Patent App. 13/563,500, 2014.

The key difference as noted in the application is that in some cases we propose using a combination of centralized and de-centralized channel power control i.e. the main channel allocation is done centrally and the local channel flips (based on radar etc) are done locally by the access point.

We propose doing a 2 phase channel allocation strategy:
1. Anchor channels: The baseline RF characteristics of a deployment rarely change i.e. the relative position of the infrastructure APs does not change, the other architecture of the building and basic coarse grained pathloss do not change over large time frames. We use this knowledge to come up with a coarse grained anchor channel assignment for each access point. This anchor channel will be a home channel based on the available

Download PDF
Download Citation info

Saturday, March 11, 2017

WINLAB Research: RollCall RFID - An active tag platform

The RollCall Project aims to build a cost effective asset tracking system by reducing power consumption, thus increasing battery life.
The design argues for the use of active tags for better monitoring of devices over longer distances, while operating them in a transmit only mode. Power lost in idle listening is conserved by eliminating the receiver entirely from the tags. More details on this project are available here.



Related publications:
  • RollCall : The Design For A Low Cost And Power Efficient Active RFID Asset Tracking System 
    Gautam Bhanage, Yu Zhang, Yanyong Zhang, Trappe Wade, and Rich Howard
    Proceedings of Eurocon 2007, 2007. [.pdf]

Tuesday, February 28, 2017

Linux: Difference between livelocks and deadlocks

Everyone knows what a deadlock [2] is!

Wait for graph as described on wikipedia
Defn Deadlock:
Two or more entities vying to get two or more locks in out of order. This leads to each entity waiting for the other entity to release the lock. Since no one releases their held lock the system is stuck and there is no easy recovery.

What is a livelock then?

Monday, February 20, 2017

What datastructure does the CFS use and why

CFS is the Linux kernels completely fair scheduler. It uses red black (RB) trees. 

Red Black trees - datastructure
Nice notes on understanding red-black trees are here [1] and [2].

Why and How is it used in the scheduler?

Wednesday, February 1, 2017

Code snippet to maintain moving averages

I want to maintain moving averages over a window without keeping individual elements in that window. A simple way to do it?

double approxRunningAverage (double avgres, double new_measurement) {

    avgres -= avgres / N;
    avgres += new_measurement / N;

    return avgres;
}