Encuesta remota en ManagedBean y notificación a cliente-vista a través de push

Tengo una vista jsf que muestra algunos datos de un bean administrado (visor de vistas) en una tabla, que se recupera de forma remota.
Actualmente, los datos se actualizan a través del sondeo desde la vista del cliente utilizando el componente de sondeo primefaces.

Esto no es suficiente, ya que se envía mucho tráfico al cliente y ahora que primefaces admite el empuje del servidor, solo quiero volver a cargar los datos y enviarlos a la vista del cliente si se han cambiado los datos.

Esto se debe realizar a través de un sondeo desde el nivel web al nivel de aplicación llamando a un método comohasChanged(...). Si se cambian los datos, el nivel web envía una notificación al cliente para volver a cargar los datos.

Encuesta de cliente actual

cliente>> nivel web>> nivel de aplicación

el cliente solicita datos a nivel web a través de ajax, lo que nuevamente le pide a la aplicación nivel para datos y actualizaciones vistas

Deseos de encuesta de nivel web y empuje

cliente<< nivel web>> nivel de aplicación

web-tier sondea el nivel de la aplicación si los datos han cambiado y se recargan en su nombre e informa al cliente para que actualice la vista

Enfoques:

¿Cuál es el mejor enfoque para realizar el sondeo en el bean administrado en el nivel web?

TimerTask en el bean gestionado
Generando hilos en un bean administrado JSF para tareas programadas utilizando un temporizadorEJB adicional con anotación de horarioEJB adicional con TimerService¿otro?

Editar:

Arquitectura: (3 niveles)

Server1: base de datosServer2: app-tier (EAR con EJB remoto e hibernación)Server3: web-tier (WAR con JSF 2.0 + Primefaces 3.4)Cliente: Navegador

Respuestas a la pregunta(1)

Su respuesta a la pregunta