1. юзай localStorage и храни там флаги в виде timestamp обращение на исполенение
2. в каждой вкладке пусть будут воркеры, которые ломятся на сервер, но обращаются не чаще, раза в 10 секунд, дату последнего обращения пусть берут из localStorage, туда же пусть и пишут, в случае обращения к серверу
3. там же помести воркеры на отображение данных из localStorage и так же синхронизируйся по датам
у тебя останется вопрос, как вычистить данные из localStorage, но это уже другая задача.
p.s.
worker - это setTimeout loop