Quando você invoca o XmlHttpRequest (xhr), você deve indicar um URL / URI a ser executado no servidor remoto. No script contido neste URI é onde você deve iniciar seu daemon.
Você precisa de algo mais separado da codificação do lado do cliente (Jquery), mas também de alguns scripts do lado do servidor.
EDITADO : Eu acho que você está mexendo na velha escola XmlHttpRequest e $ .ajax. O código que você só faz o pedido de ajax na primeira invocação, quando você define xhr . Quando você faz referência ao objeto xhr novamente, dentro do comando switch , a chamada ajax não está sendo disparada.