Para tu problema, la mejor solución es usar alguna tecnología como
Node.js (aquí algunos
tutoriales interesantes) que te permite mantener una conexión permanente y no bloqueante con el servidor.
Y luego, para la parte cliente, implementar websockets con HTML5 o usar librerías tipo
Socket.IO para que sea más "crossbrowser".
Por otra parte, Apache y Node.js pueden trabajar juntitos, tanto en la misma máquina como en máquinas distintas.
Un ejemplo interesante.
Saludos!