US Patent 6616686 [pdf format]