мониторы, клавиатуры и ещё добрую сотню наименований можно было просто пойти и взять в любом нужном количестве. Без спроса и не заполняя отчётные ведомости.
После того, как хозяева города определились с помещением, мне выделили две процессорные сборки — для проведения всех необходимых действий этого было вполне достаточно. Бонусом к чистоте, тишине и кондиционированному воздуху шёл чай в огромном термостате — за что княжеским людям нужно было сказать отдельное спасибо. Именно благодаря этому прекрасному тонизирующему напитку я смог, почти не отвлекаясь, делать своё дело. Что ж, если и могли в теории существовать более идеальные условия работы — я их представить себе не мог. Осталось только оправдать затраченные усилия. Все затраченные усилия.
Ничего сверхъестественного от меня не требовалось. Ни писать гениальный код, ни взламывать криптостойкое шифрование. Не знаю, везением ли можно было случившееся назвать, или судьбой и предопределенностью, но всё, что нужно для успешного перехвата контроля над «Периметром», у меня уже было. Последний компонент — оригинальное программное обеспечение узлов «Юаньжоу» — Анне удалось достать в рекордные сроки: меньше чем через сутки после прилёта в Северск-на-Вилюе мы получили нужные данные от великих князей Надыровых из Петрограда. Сразу после этого началась моя работа.
Кроме меня в ангар сначала допустили Ирис, Светку, Жаргал и княжича Кирилла Радищева с наследником рода Багратионов. Они мне даже помогли с подключением кабелей — в несколько пар рук с этой работой справиться получилось быстрее. К сожалению, дальше мне пришлось сплавить всех, кроме подопечной, и впрягаться самому. Время играло против нас — против всех нас, всей Великой Империи, и позволить себе отвлекаться и объяснять, зачем я делаю какое-то действие, было некогда. Да и, честно сказать, ничего особо интересного для неспециалиста больше не происходило — если не считать временного присоединения андроида к стендовой системе кабелем. Просто сидит парень за компом, смотрит в разные мониторы, время от времени что-то набирает на клавиатуре — и всё.
На самом деле, как я и сказал, мне нужно было просто собрать готовое решение из разных кусочков — как мозаику. Из «родного» ПО «Юаньжоу» мне нужна была специализированная операционная система реального времени — тот набор утилит, что отвечал за связь между узлами, загрузку обновлений и прочие служебные вещи, вроде включения-отключения, протоколов шифрования трафика, подключения внешних устройств и всего такого прочего. Собственно, модуль аналитики, можно сказать, мозг «Периметра», шёл выделенным блоком — абсолютно так же, как изначально было сделано у Агаты и Ирис. Сходство изначальных задач (сложный анализ больших массивов данных и ограниченность принятия решений во времени) дало сходное решение. А то хрена с два Маркулову удалось бы адаптировать БИУС вертолёта к новой платформе.
Ещё одной проблемы удалось счастливо избежать благодаря получению ПО непосредственно от разработчиков. В виде установленной программы вскрыть великолепное творение программистов Надыровых у меня вряд ли получилось бы за некие вменяемые сроки — скорее, вряд ли получилось бы вообще. Была бы та же проблема, что встала перед прошедшими Вратами Белой Лебеди вихревцами, внезапно обнаружившими, что благодаря одному… немного слишком увлекающемуся коллеге они остались без важной части исходного кода. Повезло мне тогда скинуть возраст столь радикально — на ребёнка рука у отставных офицеров не поднялась…
Ещё одной проблемой мог бы стать исходный код когнитивных модулей «камня» и «цветка» — ведь это тоже программы в составе единой операционной системы, и «заточены» они были для БИУС наземного и воздушного автономных модулей. Однако, как я внезапно узнал у Вихро, мой наставник сделал платформо-независимую версию этого программного обеспечения, которой профессор успешно пользовался для научных и не очень целей (как я подозревал, в основном для второго). По моей просьбе Пётр Осипович переписал мне эти нужные файлы. Ну а самое ценное — базы данных когнитивных модулей, то есть по сути мозг, память и наработанный опыт, я взял непосредственно у авторов. У подопечной прямо скачал, а из БИУС дрона-вертолёта пришлось долго и нудно скачивать через узкий «бытовой» спутниковый канал модема Агаты. Скачал. Даже успел до того, как нашу «умную» люди Радищевых начали перегружать с железнодорожной платформы на тридцатитонный грузовик, чтобы доставить ценный воздушный юнит в лабораторию Вихро в Рудногорске…
Не скажу, что сопрягать лишённую блоков аналитики кластерную распределённую ОС «Юаньжоу» с когнитивными модулями разработки «Каменного цветка» было просто. Но и не запредельно сложно — если, конечно, иметь некоторые нужные навыки в программировании. Согласовать порты ввода-вывода информации и формат обмена данными, убедиться, что одни утилиты не конфликтуют с другими, перенести все нужные библиотеки, написать пару конвертеров форматов потока данных и один драйвер… собственно, я всё это уже сделал. Осталось только запустить сборку и установку системы для первой проверки на одном из тестовых вычислительных узлов. Именно на этой операции я и…
Идея, как переподчинить одну из самых защищённых компьютерных систем, созданных человечеством этого мира, на самом деле была очень проста и изящна. Раз «Юаньжоу» самостоятельно проверяет предложенные обновления собственного ПО и самостоятельно же их тиражирует на все узлы, если проверка окажется успешной, то нужно просто этим воспользоваться. Аналитические возможности Агаты и Ирис явно и очевидно превосходят таковые у пусть и у сложной, но гораздо более слабой в плане возможности саморазвития системы — то есть можно заранее гарантировать, что обновление будет принято. Главное, чтобы прошла проверка низкого уровня — на коды безопасности и прочее, чего без файлов от Надыровых сделать было просто невозможно.
«Подводных камней» у моего решения было два. Первый — включение «заряженного» узла «Периметра» в общую систему. Существовал определённый порядок действий для расширения действующего вычислительного пула, и, как можно было догадаться, завязан этот процесс на армейских специалистов и специальную структуру в составе РВСН. Впрочем, именно этот этап был заключительным во всей операции по перехвату контроля над «системой мёртвой руки» и меня сейчас не особо касался — сначала нужно было получить рабочую версию ПО узла, а потом уже думать дальше. Да и не моя это задача, явно. Мне бы своё сделать. Здесь крылся подводный камень за номером два.
Как я уже упоминал, у «Юаньжоу» были собственные низкоуровневые протоколы безопасности — обойти их было нельзя, иначе узел с новым программным обеспечением просто не будет включён в систему. Именно эти протоколы отвечали за возможность «Периметра» получить прямой приказ от владельца терминала-«ядерного чемоданчика». Таким образом, весь перехват контроля заключался не в том, что принцесса или я сможем отдавать системе приказы, а что «Юаньжоу» сам за счёт более продвинутого ПО примет нужное для нас решение. Причём сам, это значит, что реально сам. Если у «цветка» и «камня» я был прописан как один из администраторов и оператор, и мои решения и приказы они не могли подвергнуть сомнению, то над программной сборкой для «Периметра» я уже власти не имел. И никто не имел и иметь не будет, пока мятежные генералы не договорятся с преданным ими Императором — иначе новые «чемоданчики» взамен скомпрометированных просто не зарегистрировать.
То есть, я повторюсь, весь мой расчёт строился на том, что «система мёртвой руки» самостоятельно и активно поддержит ту силу, которая спасает страну, а не разрушает. Нас. То есть Анну и, возможно, Юрия. Звучит, как не очень научная фантастика пополам с какой-то уже прямо-таки мистикой… Но только не для тех, кто лично наблюдал за действиями Агаты и Ирис. Чувствуете, чем пахнет? Да, я тоже вспомнил словечко «Скайнет». Хорошо, что в этом мире не придумали и не сняли «Терминатора»!
На самом деле, реального выхода из-под контроля «Периметра» можно было не бояться — базовые установки были прописаны в операционной системе узлов на более низком уровне, чем блоки аналитики. Тем более, что проверить, какое решение программная сборка примет, было проще простого — спросить, пока программа будет запущена на стенде и ничем не управляет. Элементарно, правда? Вот эта-то «простота» и заставила меня затормозить перед запуском.
Кто занимается программированием, не важно, на любительском уровне, для души или профессионально зарабатывает этим хлеб насущный, знает — сразу получить нужный результат удаётся крайне редко. Просто потому, что учесть всё сразу даже в, казалось бы, элементарных программах — сложно. Именно потому за стадией создания программного продукта идёт гораздо более длительная, часто мучительная отладка. А теперь представьте себе проверку работы огромного массива данных, сгенерированных когнитивными модулями Ирис и Агаты!
Пока мы бежали из Монголии, пока пытались прийти в себя и понять, что делать дальше в доме агента Лазурного Дворца в Чите, пока летели из Иркутска в Братск, пока решали, как перехватить инициативу и победить «партию мира» в Рудногорске, пока принцесса добывала у Надыровых файлы, а я готовил рабочую площадку у Багратионов — всё это время две автономные платформы анализировали, делали выводы, обменивались полученными результатами и вновь анализировали происходящее. А ещё перетряхивали Глобальную Сеть снова и снова для поиска ответов на вопросы, которые, по большей части, сами себе и ставили. Трое с половиной суток чистого времени — это когда Сеть была доступна — а результат… Пока я копировал данные у подопечной, решил заглянуть в структуру связей — благо, наконец-то условия позволяли это сделать не на планшете одним глазом. Посмотрел… И едва не «завесил» графический интерпретатор — это на лабораторном мощном терминале.
Привычный мне формат в виде блоков-данных и связей между ними теперь стал абсолютно бесполезен. Раньше можно было, меняя масштаб, отследить общие тенденции в работе когнитивных модулей, теперь же на любом уровне детализации я видел одно и тоже. Дайте котёнку клубок пряжи побольше и оставьте наедине с ним часа на два. Получившийся результат будет очень примитивной, но вполне достоверной моделью. Залезть в «мозги» «цветка» и «камня» я по-прежнему мог без проблем, а вот понять — шайтана с два. С другой стороны, особой неожиданностью увиденное для меня не стало. В конце концов, я ведь наблюдал все этапы процесса… гм, самообучения. Но понимание причин — одно, а невозможность повлиять (и не сломать) — совсем другое. В итоге получалось, что если программная сборка не заработает — велик шанс, что я не смогу ничего с этим сделать. Этакая игра в русскую рулетку, мать её!