Но конечно самым главным был взлом шифра пакетов, которые мне удалось перехватить у Рудена и его группы. Это была приоритетная задача и я собирался бросить на нее как свои собственные ресурсы, так и ресурсы кластера. Решение этой задачи будет неплохим тестом для моей обновленной программы, возможно в процессе я увижу что еще в ней можно улучшить.
Тем временем работы по устройству моей гермозоны подходили к концу. Выглядело это строение конечно не очень презентабельно, но сейчас меня волновала только голая функциональность. Первыми закончили свою работу монтажники серверных стоек, конструкция была модульной и они очень быстро все собрали. Особых недочетов я не заметил и, созвонившись, сказал что они могут быть свободны. Кондиционеры тоже установили довольно быстро. Высота была не большой и им для работы понадобились только две стремянки. Линию питания подключили напрямую к электрощиту склада, промеряли давление фриона, произвели пробный запуск и тоже уехали.
Дольше всего возились с установкой металло-пластиковых профилей и стеклопакетов. Я заказал стеклопакеты стандартного размера, которые были в готовом виде у них на складе, с таким расчетом чтобы места хватило еще на столько же серверов, как сейчас. Работали монтажники профессионально, но их было всего двое, так что работа затягивалась. До темна они не успели и уходили, когда на улице уже наступила ночь.
Всю ночь я посвятил доработке своей программы, мне необходимо было решить одну проблему: как сделать ее достаточно гибкой и в то же время предотвратить неконтролируемое развитие. Над этой проблемой я размышлял уже довольно давно, еще с ее первой версии, которую создал, находясь в исследовательском комплексе. Тогда я не смог придумать ничего проще, чем просто ограничить программно ее свободу действий и гибкость. На тот момент мне не нужна была очень сложная программа и ее возможностей хватало. Но теперь, когда мне стала полностью доступна вся глобальная сеть, я понял что для оперирования таким объемом данных нужна более оптимальная архитектура. Жесткие ограничения на развитие тут не подходили, ведь в будущем я планировал развивать эту программу и дальше, возможно даже придав ей личностные качества.
Основная проблема заключалась именно в контроле за теми изменениями, которые программа будет вносить в себя сама при обучении. Пока программа будет в единственном экземпляре и не сложна, то я смогу отслеживать и корректировать изменения. Но с ее развитием или если мне понадобится создать ее копии, изменения будет значительно больше, чем я смогу контролировать. В результате мне удалось создать довольно надежную архитектуру, которая совмещала в себе контроль и гибкость. Каждая программа будет состоять как бы из нескольких слоев.
На самом нижнем слое, или нулевом, будут размещены основополагающие директивы, а именно безусловное подчинения моим командам, необходимость в получении специальных пакетов, которые я намерен отправлять ей раз в день и без которых она не сможет продолжать свое функционирование. Эти пакеты станут гарантией безопасности в случае, если программу сможет кто-то скопировать. Хоть она и была довольно хорошо защищена от подобного, полностью исключить этого было нельзя. В будущем, кода я смогу отказаться от использования аппаратного обеспечения, разработанного людьми, я собирался полностью поменять всю математику, на которой было построено современное ПО. Пока же мне приходилось обходиться всевозможными программными защитами.
Следующий программный слой, для простоты понимания присвоим ему номер 1, будет содержать основные направления развития программы, таким образом можно будет задавать для нее специализацию. Я решил что лучше иметь ряд специализированных программ и несколько программ для обеспечения их взаимодействия, чем одну но сложную программу. Это позволит мне лучше контролировать всю систему в целом. Вся структура программы будет построена таким образом, что при внесении изменений в эти два слоя, ее целостность будет нарушена и она превратится просто в набор не связного кода. Если подобрать аналогию, то можно представить себе законченное высотное здание, у которого архитекторы решили полностью сменить несущий каркас.
Последний или второй слой будет полностью доступен программе для изменения, он то как раз и будет обеспечивать гибкость ее развития, но в пределах заданных на нижних слоях параметров. На этом слое будет накапливаться весь опыт программы по выбранному мной для нее направлению. Чем больше опыта накопит программа, тем лучше и быстрее сможет она решать задачи по своей специализации.