Как спасти связь, когда все говорят одновременно
В приморском городке в зале администрации началась тренировка перед штормом. Добровольцы подняли рации на одном канале, и голоса полезли друг на друга. Координатор приклеил на стену карту и показал три простых правила, кто с кем выходит на связь.
Координатор напомнил прошлый провал. Каждый пытался дозвониться до каждого напрямую. Когда людей мало, это просто шумно. Когда людей много, связь разваливается: длинные сообщения обрываются, а важные новости с окраины не попадают к тем, кому они нужны.
Новый план был хитрее. Несколько диспетчеров сидят в центре и слышат всех, и до них можно достучаться из любой точки. Остальные в основном переговариваются внутри своего участка на карте, рядом с соседями. И раз в несколько минут участок делает короткий неожиданный вызов в дальний участок, выбранный случайно.
Координатор объяснил на пальцах, что это копирует идею BigBird в таких системах, которые читают длинный текст. Люди с рациями это слова, связи это кто у кого может спросить смысл. Вывод простой: центральные узлы, разговоры рядом и редкие дальние прыжки разносят нужное без общего крика.
Тренировка пошла. Дежурный у реки сказал про поднимающуюся воду своему старшему на участке, тот передал диспетчеру. Почти сразу диспетчер коротко пересказал это руководителю укрытия, а оттуда вернулась важная деталь про перекрытую дорогу. Диспетчеры собирали кусочки, сжимали и раздавали дальше.
После спросили неудобное: а если надо прямо сейчас сравнить каждый участок с каждым, без обходных путей? Координатор кивнул: тут такая схема может тормозить, потому что не все связаны напрямую, и часть сравнений проходит через несколько пересылок.
Зато в обычной работе выигрыш заметен. Те же рации и то же время выдерживают куда больше людей, потому что большинство разговоров остаются местными, а в центр летят короткие сводки. Так и с BigBird: не обязательно, чтобы каждое слово смотрело на каждое, чтобы понять длинный текст или даже длинную цепочку ДНК.