Думаю, есть еще вариант одновременно крутить таймеры и на сервере и на клиенте, по истечении таймера на клиенте кидать на сервер запрос синхронизационный (Или делать push с сервера на клиента по таймеру). Ес-сно может крутиться и поверх WebSocket с постоянным коннекшеном.