timer based keep alive