10.1016/S0166-4972(99)00107-8