Хорошая ветка. Пофлудим
----------------------
Некоторое собственное видение.
----------------------
Сразу скажу, построения чисто умозрительные, на базе моего опыта работы в связи, IT и некоторого понимания проблемы.
-------------
С моей точки зрения, концепцию связи нужно строить на двухуровневой, а точнее даже на двойной, так сказать дуальной модели.
Поясню.
По обрывкам разговоров тут на форуме, складывается впечатление, хотя возможно и не правильное, что текущая работа идет в больше направлении синхронных, гарантированных каналов связи. Вот здесь, с моей точки зрения, было бы неплохо всеже отказаться от жесткой канальной модели, и строить систему как минимум на двух логических уровнях, на подобии организации IP сети или сети GSM. Я не говорю что конкретно нужно завязаться на IP, даже скорее не нужно, я говорю про саму логику. Когда стек протоколов содержит на более низком уровне пакетные протоколы пусть даже негарантированной доставки. На более высоком, или на базе этого протокола негарантированной доставки, или может даже на отдельном протоколе, строим уже высокоуровневую канальную сеть.
Для чего я такое предлагаю. Дело в том, что как мне кажется, большую часть текущей информации, обстановку, приказы, доклады, возможно передавать мелкими атомарными сообщениями определенной структуры. Здесь я говорю о некоем аналоге пейджера/sms встроенном в систему. При этом, атомарность сообщений заключается в том, что каждое сообщение должно быть закончено само в себе и несет определенный логически конечный объем информации. Т.е. на первом логическом уровне строим некую систему обработки и маршрутизации сообщений. Для более полного понимания могу привести отличие стандартного ядра операционной системы от микроядерной ОС осуществляющей взаимодействие на основе сообщений. В первом случае Мы имеем жесткие связи между различными системами, во втором, мы можем исполнять различные части системы даже на различных физических компьютерах, и даже разнесенных между собой на расстояние.
При этом. Сообщения, по большей части предлагаю рассылать безадресно. И только определенную часть целевых сообщений, подписываем ключом/меткой определенного получателя.
Получается этакая, большая распределенная сеть обработки сообщений. Что это нам дает, чуть позже. Остановлюсь еще на секунду на организации этой сети сообщений. Предполагается, что автоматически, на определенном наборе алгоритмов, такая сеть сообщений логически самоорганизуется в дерево. Где каждый знает свой примерный уровень/вес и направление маршрутизациии сообщений через него. К примеру, по активации системы на местности, получается следующая структура дерева. Штаб у нас уровень 0, батальон уровень 1, рота уровень 2, взвод уровень 3, отделение уровень 4. Но эта структура не жесткая, а ориентированная в пространстве на местности. В результате маневров, вполне может получиться картина, когда какойто взвод будет иметь логический уровень равный уровню батальона. Изменение уровня, возможно как жестко, решениями соответствующих связистов, так возможно и автоматически, на основе определенных алгоритмов. Получаем такой динамически строящийся граф маршрутизации сообщений.
Каждое сообщение попадая в систему маркируется уровнем/подразделением/порядковым номером/направлением движения(спином) вверх или вниз, ну и далее уже типом, как то «текущие разведданные», «изменение обстановки», «изменение положения», ну и естественно всякими дополнительными параметрами, каждыми для своего типа.
Каждый уровень, является своего рода повторителем сообщений соседних уровней. При этом, алгоритмы повотрения сообщений можно доработать, для того чтобы анализировать достижимость, доступность, да и вообще, с учетом наворачивания некоторой логики, вполне можно организовать систему, которая будет, хоть и с некоторыми задержками, но гарантировать достижение сообщением адресата. Я себе вполне представляю такие алгоритмы. А обеспечив некоторое временное кеширование сообщений на промежуточных узлах, можно сократить, временной лаг в случае если потребовалось повторить какое либо не дошедшее сообщение.
Что мы в результате получаем. Распределенную систему связи устойчивость которой, при некоторой избыточности, гарантируется ее размазыванием по местности и наличием большого количества резервных связей и повторами передачи информации. Не требовательность к высокой скорости передачи, всвязи с работой с цифровыми минимального объема сообщениями.
Приведу пример.
К примеру рапортующее подразделение, взвод, наносит на свой планшет обнаруженного противника. Местоположение противника привязывают к карте местности по местным признакам ( к примеру «вон у того холма», ставим точку около холма на карте). Даже без уточнения численности, типа и пр. Сразу генерируется безадресное сообщение со спином вверх. Сообщение принимают соседние взвода, и собственные отделения. Что тутже отображается у них в текущей обстановке. Отделения, поскольку являются нижнем уровнем, не ретранслируют сообщения, хотя предположим одно отделение этого взвода и находится в прямой радиовидимости со штабом, но логический уровень не позволяет ему вести ретрансляцию (зато позволяет благодаря некоторым алгоритмам, повторить сообщение если текущая посылка не дойдет до штаба).
Соседние взвода, да и вообще любые подразделения в пределах радиовидимости, поскольку сообщение безадресное, и они имеют к нему доступ, также автоматически наносят на свои карты данный рапорт. Все уровни связи выше взвода, по получении сообщения, автоматически ретранслируют его вверх, и в зависимости от типа сообщения и настроек системы возможно и вниз. Поскольку данное сообщение по своему типу достаточно важное (первичные разведданные+обнаружение противника) и являются критичными, то сообщение может автоматически разсылаться и вниз, но уже от лица соответсвующего батальона/роты, их собственным получателем. Либо не разсылаться до получения подтверждения. Пройдя цепочку рота/батальон, сообщение транслируестя батальонным узлом связи в сторону штаба.
Далее, подразделение обнаружившее противника, доразведывает состав/численность, или даже не оно само, а любое с ним соседнее, которое как мы помним получили оповещение одни из первых. И вводят эту информацию в систему, что приводит к генерации соответствующего, отдельного, сообщения которое также начинает свое путешествие на верх.
Адресные доклады и приказы путешествуют по этой сети также, многократно повторяясь на повторителях разного уровня, но отображаются/визуализируются только у соответствующего адресата, как при путешествии вниз, так и вверх. Такими адресными приказами могут быть к примеру приказы на открытие огня определенным силам и средствам по определенной конкретной цели. Ну и естественно приказы перемещения. И т.д.
Соответсвенно, в данную систему прекрасно вписываются системы автоматической разведки установленные на различного рода технике. Они будут также генерировать сообщения соответсвующего типа с направлением вверх.
Ну и соответсвенно для штаба, управление будет заключаться в кодировании приказов и информации в теже атомарные сообщения и отправка их «вниз».
Чтобы предотвратить так называемые броадкастовые штормы, можно продумать алгоритмы при которых соседние подразделения начинают повторять сообщения не сразу, а при достижении определенных условий. Проработать такие алгоритмы, чтобы сбалансировать на грани пропускная/способность — гарантия доставки. Суть моего предложения просто в том. Чтобы атомарно разбитые данные путешествовали по системе целиком, законченным сообщением и для передачи этого атома данных, не нужно было даже кратковременного, даже логического, прямого контакта от источника до получателя.
В общем суть я по моему передал. Хоть может несколько сумбурно, но идея я думаю понятна.
В моем предложении подразумевается что организацие защищенного канала занимается непосредственно приемо/передающий уровень. Хоть даже и аппаратно.
Организация же канальной связи, для речевого общения или передачи большых объемов (фото/видео) информации, эту задачу предлагаю отделить, и вести как абсолютно параллельную, по текущим возможностям аппаратных средств и обстановки. Дело в том, что как мне кажется, уходя к системе сообщений, голосовые контакты будут сведены к минимуму.
Если взять к примеру обыкновенную стратегическую игру. Когда штаб, которым является игрок. Получает информацию и управляет достаточно сложной обстановкой фактически именно с помощью сообщений, не имея никаких иных каналов связи и иной информации. В условиях, к примеру, наличия средств РЭБ у противника, это по моему самое правильное решение. Поскольку не требует больших скоростей, не требует наличия постоянно существующего канала, позволяет заносить в систему напрямую информацию от автоматических средств разведки и обнаружения, ну и т.д.т.п.
---------
Поехали?