http://doi.ieeecomputersociety.org/10.1109/AINA.2006.266