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