Архитектура сбоя
Глава 23 из 23
Настройки чтения
18px
1.8
1

Архитектура сбоя

Глава 23

Архитектура сбоя

18:51:07

Первый уровень. Переулок возле бара «Без Стрелки».

Город перешёл на ночной режим. Синие панели отражались в мокрых стенах, люди торопились домой, стараясь не попасть под ночной тариф. Над входом в бар улыбался пиксельный смайлик. Его свет дрожал, но никто не обращал внимания.

В глубине переулка лежала крышка старой лифтовой шахты. Ржавая, тяжёлая, давно исключённая из графика обслуживания.

Из-под неё пробивался янтарно-зелёный свет.

Он пульсировал сквозь щель между металлом и бетоном. Камеры не реагировали. Датчики молчали.

Ломщик остановился у входа в переулок. Глитч подчеркнул точку остановки.

— Ну конечно.

Оптический модуль попытался скорректировать изображение.

[ИСТОЧНИК: НЕ ОПРЕДЕЛЁН]

Он шагнул к крышке.

Шесть секунд ничего не происходило.

На седьмой синхронизация столкнулась с чужим импульсом.

В тот же миг свет под крышкой замер.

Янтарный оттенок исчез, словно его выжгли из самого свечения. В щели между металлом и бетоном застыл холодный изумрудный свет. Ни пульсации, ни малейшего колебания яркости.

Затем Ломщика отбросило назад.

Он врезался в стекло старого торгового модуля. Стекло выдержало, но в месте столкновения проступил белый круг с тонкими трещинами. По краям осела серая пыль, будто след пролежал здесь несколько лет.

Ломщик сполз на мокрый бетон.

Когда он поднял голову, янтарно-зелёный свет снова пульсировал под крышкой.

Он проверил правую кисть и посмотрел на люк.

— Значит, ещё раз.

Ломщик подошёл с другого угла. На этот раз он попытался удержать синхронизацию, вместо того чтобы сопротивляться ей.

Шесть секунд.

На седьмой свет снова застыл. Янтарь исчез, оставив неподвижное изумрудное свечение.

Резонанс ударил навстречу. Ломщик потерял опору и плечом врезался в стекло.

Рядом с первым появился второй круг.

Он был чище и ярче. Трещины ещё не потемнели, поверхность вокруг них оставалась прозрачной. Первый след рядом уже казался старым — не просто более ранним, а принадлежащим другому времени.

Ломщик посмотрел на оба круга.

— Это ещё что за…

Фраза оборвалась. Слуховой канал захлебнулся треском, а ноги подкосились. Он рухнул на колено.

На несколько десятых секунды Ломщик перестал различать собственные сигналы и команды системы.

Затем всё вернулось.

Свет снова ожил, вернув себе янтарный оттенок.

Ломщик вытер ладонь о корпус брюк.

— Уже дороже.

Третью попытку он начал без комментариев.

Он приблизился почти вплотную к крышке. Оптический модуль не мог определить, что находится под ней: расстояние менялось при каждом обновлении.

Шесть секунд.

Седьмая.

Свет замер в третий раз.

Холодный изумрудный оттенок застыл под крышкой, и мокрый бетон вокруг словно потерял цвет.

Резонанс прошил корпус. Ломщик заклинил глитч. Его зрение погасло, слух превратился в сплошной шум. По стене пробежала зелёная полоса, и металл отозвался тонким звоном.

И тишина.

Когда изображение восстановилось, свет снова пульсировал янтарём и зеленью.

На стекле появился третий круг — белый, резкий, почти светящийся. Трещины расходились от центра, не успев потемнеть. Он выглядел так, будто возник только что.

Ломщик медленно выпрямился.

Три следа на одном стекле.

Три его испарения в пространстве.

Первый — словно из далёкого прошлого. Второй — ещё свежий. Третий — настоящее, которое он только что пережил.

Он перевёл взгляд с кругов на крышку. Свет снова пульсировал янтарём и зеленью, будто ничего не произошло.

Ломщик не знал, совпадение это или нет.

— Ладно, — пробормотал он. — Теперь посмотрим, сколько стоит ответ.

Он открыл внутренний журнал. Системе он доверял примерно настолько же, насколько ржавому замку на двери без петель. Но цифры хотя бы можно было перепроверить.

[ПОВРЕЖДЕНИЕ СЕРВОПРИВОДОВ: 11%]

[СТАБИЛЬНОСТЬ СИНХРОНИЗАЦИИ: 63%]

[ВЕРОЯТНОСТЬ УГРОЗЫ: 2% → 19% → 87%]

— Восемьдесят семь. Серьёзно?

Он обновил расчёт. Вероятность упала до двадцати трёх процентов, затем снова подскочила. Система не понимала, с чем столкнулась, и компенсировала незнание цифрами.

Ломщик переключил журнал.

[ОЦЕНКА РЕМОНТА: 00:18:40]

Восемнадцать минут сорок секунд. Без учёта деталей, работы мастера и обратного пути.

Любопытство выходило дорогим.

— В следующий раз выставлю счёт заранее.

Журнал погас. Последняя строка задержалась на долю секунды:

[ИСТОЧНИК АНОМАЛИИ: НЕ ОПРЕДЕЛЁН]

Ломщик посмотрел на неё ещё раз.

Неизвестность не стала дешевле. Просто теперь у неё появилась цена.

Он решил отступить. Не навсегда — только до тех пор, пока цена следующей попытки не станет понятнее.

И тогда он заметил тень в дальнем конце переулка.

Фигура стояла за пределами свечения. Лицо не различалось. Оптический модуль не смог определить ни возраст, ни рост с приемлемой точностью.

Архитектура сбоя

18:51:28

Ломщик перевёл взгляд на крышку, затем обратно на фигуру.

Ни предупреждения, ни отметки о движении.

— Вот теперь интересно.

Он не приблизился. После трёх попыток это было бы не любопытством, а плохим расчётом.

Ломщик развернулся и пошёл к выходу, не ускоряя шага.

У самого угла его оптический модуль переключился на повреждённую стену торгового модуля.

[ВЕРТИКАЛЬНАЯ ПЛОСКОСТЬ: КОМПОЗИТНЫЙ СПЛАВ]

[ИЗНОС: 43%]

[РИСК ОБРУШЕНИЯ: НИЗКИЙ]

Ломщик остановился.

Три удара. Три круга на стекле. Трижды — остановка света. И всё это время он не смог приблизиться к источнику ни на шаг.

Зато стена получила свои сорок три процента.

— Хоть кто-то сегодня заплатил, — сухо произнёс он.

Он не знал, совпадение это или нет. Но трижды — это уже система. А сорок три процента повреждения при нулевом результате — плохая сделка.

Ломщик скрылся за углом.

Янтарно-зелёный свет продолжал пробиваться из-под крышки старой лифтовой шахты.

На стекле остались три круга. Первый уже казался древним. Второй сохранял свежесть. Третий выглядел так, словно время ещё не успело к нему прикоснуться.

А тень осталась в переулке.

18:53:00

Контрольный пункт «Немба-Лимб». Первый уровень.

В помещении пахло остывшим кофе, пылью и нагретой электроникой. За широким панорамным стеклом тянулись серые конструкции первого уровня. Где-то совсем рядом, сквозь смог и переплетение коммуникаций, виднелся свет Немба-Лимба.

Крей сидел перед рабочей панелью, просматривая список просроченных жилых модулей. Рядом лежала папка с квартальными отчётами, которые он откладывал уже третий день.

— Второй. Сектор четыре-Б.

Йори, стоявший у автомата с кофе, даже не обернулся.

— Опять?

— Счётчик на нуле. Долг не погашен. Модуль не отвечает.

— Значит, обычная процедура.

Крей открыл карточку объекта.

[ОБЪЕКТ: ЖИЛОЙ МОДУЛЬ 2]

[СЕКТОР: 4-Б]

[СЧЁТЧИК: 00:00:00]

[СТАТУС: КРИТИЧЕСКИЙ]

[ЗАДОЛЖЕННОСТЬ: НЕ ПОГАШЕНА]

Он подтвердил запуск протокола.

[ПРОТОКОЛ: САНИТАРНЫЙ КОНТРОЛЬ]

[ОПЕРАЦИЯ: ОСВОБОЖДЕНИЕ ЖИЛОГО МОДУЛЯ]

[ПОДГОТОВКА СООБЩЕНИЯ ДЛЯ ОТРЯДА: 15 СЕКУНД]

[ОТПРАВКА: ПО ЗАВЕРШЕНИИ ПОДГОТОВКИ]

— Пятнадцать секунд, — произнёс Крей.

— Успеешь допить кофе, — отозвался Йори.

На экране пошёл обратный отсчёт.

15.

Крей потянулся к кружке.

14.

13.

Йори сделал глоток.

12.

11.

Крей проверил адрес назначения отряда. Четыре-Б, жилой модуль номер два. Стандартная процедура, стандартный маршрут.

10.

9.

8.

В помещении негромко гудела вентиляция.

7.

6.

Крей уже собирался закрыть карточку объекта.

5.

4.

3.

2.

На четырнадцатой секунде изображение на панели дрогнуло.

[ЖИЛОЙ МОДУЛЬ 2: СЧЁТЧИК ОБНОВЛЁН]

[ТЕКУЩЕЕ ЗНАЧЕНИЕ: 14:14:14]

[СТАТУС: АКТИВЕН]

Отсчёт подготовки исчез.

Следом появилось новое уведомление:

[ПРОТОКОЛ: ОТМЕНЁН]

[ПРИЧИНА: ЗАДОЛЖЕННОСТЬ ПОГАШЕНА]

Крей замер.

— Одна секунда.

Йори поставил кофе на стол.

— Что?

— До отправки оставалась одна секунда.

Он несколько раз открыл и закрыл журнал событий, словно ожидал, что система сама объяснит произошедшее.

— Кто-то закинул четырнадцать часов, четырнадцать минут и четырнадцать секунд?

— Похоже на то.

— За одну секунду до отправки отряда.

Йори подошёл ближе.

— Системе виднее.

Крей посмотрел на него.

— Вот именно это меня и беспокоит.

— Я и не смеюсь.

Крей открыл журнал событий.

[18:53:00 — СЧЁТЧИК: 00:00:00]

[18:53:14 — СЧЁТЧИК ОБНОВЛЁН: 14:14:14]

[ИНТЕРВАЛ: 14 СЕКУНД]

— Четырнадцать секунд, — произнёс Крей. — Ровно четырнадцать.

Йори наклонился к экрану.

— А отряду оставалась одна секунда.

— Думаешь, кто-то знал расписание протокола?

— Думаю, кто-то знал, когда модуль обнулится.

Крей посмотрел на новое значение.

14:14:14.

— Но откуда взялась эта насмешка?

Йори поставил кофе на стол. Звук фарфора о металл прозвучал слишком громко.

— Если бы я знал, меня бы здесь не держали.

Крей попытался открыть историю платежей.

[ПОСЛЕДНЯЯ ТРАНЗАКЦИЯ: НЕ ОБНАРУЖЕНА]

[ИСТОЧНИК ПОПОЛНЕНИЯ: НЕ ОПРЕДЕЛЁН]

[СТАТУС БАЛАНСА: АКТИВЕН]

— Никакой транзакции. Никакого плательщика.

— Значит, не платёж.

— А что тогда?

Йори вернулся к своему месту.

— Пока не знаю. Но отряд мы всё равно не отправим. Модуль активен, задолженность погашена. Регламент не предусматривает проверку без основания.

Крей нахмурился.

— У нас только что исчезла одна секунда до отправки зачистки.

— А теперь у нас нет основания для зачистки. Если хочешь нарушить регламент, придётся объяснять это начальству.

Крей ничего не ответил.

На экране продолжало светиться новое значение.

14:14:14.

Но цифры не менялись.

— Странно, — произнёс он.

— Что именно?

— Он должен идти.

Йори перевёл взгляд на счётчик.

Тот оставался неподвижным.

— Может, задержка синхронизации.

— Уже минуту.

— Тогда подождём.

19:07:14

Крей всё ещё сидел перед той же панелью.

За прошедшее время Йори успел допить кофе, сходить за второй порцией и вернуться. На соседних панелях сменились рабочие уведомления, прошёл очередной пакет отчётов, несколько раз обновились списки просроченных модулей.

Только одно значение оставалось неизменным.

14:14:14.

— Ровно четырнадцать минут, — сказал Крей.

Йори посмотрел на часы.

— Знаю.

— Ни одной секунды не списалось.

— Вижу.

Крей открыл журнал ещё раз.

[18:53:00 — СЧЁТЧИК: 00:00:00]

[18:53:14 — СЧЁТЧИК ОБНОВЛЁН: 14:14:14]

[19:07:14 — СЧЁТЧИК: 14:14:14]

[ИЗМЕНЕНИЕ ЗНАЧЕНИЯ: ОТСУТСТВУЕТ]

— Может, завис? — спросил Крей.

— Тогда почему остальные показатели активны?

Йори указал на строку статуса.

— Система считает, что всё работает штатно.

В этот момент цифры изменились.

14:14:13.

Следом сменились снова.

14:14:12.

14:14:11.

Обратный отсчёт пошёл.

Крей медленно откинулся на спинку кресла.

— Четырнадцать минут простоя. А теперь работает как ни в чём не бывало.

Йори не отрывал взгляда от панели.

— Знаешь, что мне не нравится?

— Что?

— Если бы это был обычный сбой, система хотя бы попыталась бы его зарегистрировать. А здесь она просто обновила значение и четырнадцать минут держала его неподвижным.

— Чего ждала?

Йори не сразу ответил. Он посмотрел на неподвижно стоявшие рядом служебные показатели, затем снова на счётчик.

— Не знаю.

Он сделал глоток кофе.

— Возможно, это была синхронизация. Возможно, кто-то вмешался в протокол. А возможно, мы вообще не понимаем, что именно произошло.

Крей посмотрел на него.

— И что теперь?

Йори перевёл взгляд на уменьшающиеся цифры.

14:14:07.

— Теперь у нас есть время подумать.

— О чём?

— Когда счётчик дойдёт до нуля, отправим отряд проверить модуль.

Крей открыл карточку объекта.

— Санитарный контроль?

— Нет. На этот раз обычная проверка. Пусть сначала выяснят, кто там живёт и почему система решила вернуть ему четырнадцать часов.

— А если к тому времени модуль снова обнулится?

Йори помолчал.

— Тогда хотя бы узнаем, что происходит с теми, кому Город возвращает время.

19:07:21

Крей установил контрольную отметку.

[ОБЪЕКТ: ЖИЛОЙ МОДУЛЬ 2]

[ТЕКУЩИЙ СЧЁТЧИК: 14:14:07]

[ДЕЙСТВИЕ ПРИ ОБНУЛЕНИИ: ОТПРАВКА ПРОВЕРОЧНОГО ОТРЯДА]

[ТИП ПРОВЕРКИ: СТАНДАРТНЫЙ]

[СТАТУС: ОЖИДАНИЕ]

— Готово, — сказал Крей.

Йори вернулся к своему кофе.

14:14:06.

Город продолжал отсчёт.

На этот раз Крей собирался дождаться самого конца.

19:14:00

Седьмой уровень. Рабочая лаборатория профессора.

Тик толкнула дверь плечом и проскользнула внутрь, придерживая одной рукой лямку сумки. Короткие почти чёрные волосы слегка растрепались, а их кончики отливали мягким изумрудным свечением. Под неровной чёлкой блеснули ярко-зелёные глаза.

На ней была чёрная многослойная куртка с высоким воротником, перехваченная ремнями и застёжками. Многочисленные карманы были заняты инструментами, измерительными приборами и небольшими контейнерами для деталей. Всё лежало на своих местах — Тик не любила тратить время на поиски нужной вещи. На груди тускло светился небольшой зелёный элемент, такой же оттенок отдавал браслет на запястье.

На поясе тихо звякнули инструменты, а из нагрудного кармана чуть не выпала маленькая тетрадь.

— Профессор!

За рабочим столом сидел мужчина. Несколько экранов перед ним отображали строки данных, схемы и графики. Он не сразу поднял голову.

— Ты опять забыла постучать.

— Я стучала. Просто очень быстро. Несколько раз подряд.

— Это называется ломиться в дверь.

— Зато эффективно.

Тик подошла ближе и заглянула через его плечо в один из экранов.

— Ну? Что нового?

— Зависит от того, что именно тебя интересует.

— Всё интересное. Желательно за последние пару часов.

Тик на мгновение задумалась.

— Хотя нет. За последние семь минут.

Профессор наконец повернулся к ней.

— С чего вдруг такой интерес?

— А что, нельзя просто поинтересоваться делами собственного отца?

— Можно. Но обычно после этого ты просишь доступ к чему-нибудь, к чему тебе доступ не положен.

Тик улыбнулась.

— Вы меня слишком хорошо знаете, профессор.

Она уже собиралась заглянуть в соседний монитор, когда заметила на экране знакомую последовательность показателей.

— О-о. А это что?

Профессор проследил за её взглядом.

— Данные с контрольного пункта первого уровня.

— Что-то случилось?

Профессор на мгновение задержал взгляд на экране.

— Семь минут назад была зафиксирована аномалия. Жилой модуль номер два, сектор четыре-Б.

Тик перестала улыбаться на секунду. Затем придвинулась к экрану.

— Ага, значит, вы, профессор, тоже заметили.

Он не стал её поправлять.

— Я не просто заметил. Я изучаю запись.

— И что там?

— Счётчик модуля обнулился, затем неожиданно обновился. После этого четырнадцать минут оставался неподвижным, хотя остальные показатели продолжали работать штатно.

Тик быстро перевела взгляд с одной строки на другую. Зелёное свечение на концах её волос отразилось в тёмной поверхности монитора. Она наклонилась ближе, внимательно изучая показания.

— Подождите. То есть он не просто получил новое значение? Он действительно стоял?

— Именно.

— И система не зарегистрировала сбой?

— По крайней мере, в доступном журнале нет ничего, что объясняло бы произошедшее.

Она тихо присвистнула.

— Интересно.

— Тик.

— Что?

— Не надо.

— Я ещё ничего не сказала.

— Я знаю это выражение твоего лица.

Тик выпрямилась и сделала самый невинный вид, на который была способна.

— Завтра в девять утра схожу к модулю. Посмотрю, что там осталось.

— Нет.

Ответ прозвучал настолько быстро, что она даже моргнула.

— Вы ещё не выслушали план.

— Мне достаточно услышать его начало.

— Профессор, там может быть что-то важное. Если аномалия оставила след, его нужно проверить на месте.

— Именно поэтому туда не стоит идти одной.

— Я не собираюсь разбирать модуль на части.

— Ты собиралась сделать это в прошлый раз.

— Но не сделала же.

— Потому что я успел тебя остановить.

Тик покачала головой, будто отец совершенно несправедливо оценивал её исследовательские методы.

— Девять утра. Я посмотрю, соберу данные и вернусь. Ничего опасного.

— Ты понимаешь, что это первый уровень? Нам отсюда ещё добираться через весь город. Спуститься туда и вернуться — не то же самое, что сходить в соседний сектор.

— Именно поэтому я и говорю про утро. Выйду пораньше, успею добраться до модуля.

Профессор некоторое время молчал. Он снова посмотрел на экран, затем на дочь.

— Я не хочу, чтобы ты туда шла.

— Знаю.

— Там неизвестная аномалия. И мы даже не понимаем, что именно произошло.

— Поэтому и хочу посмотреть.

Он тяжело выдохнул. Спорить дальше было бессмысленно. Он знал её достаточно хорошо, чтобы понимать: если Тик что-то решила, запрет лишь заставит её искать другой путь.

— Будь осторожна, — наконец сказал он. — И возьми с собой накопитель. Если обнаружишь что-то необычное, сохрани запись. Ничего не пытайся подключать напрямую.

Тик широко улыбнулась.

— Конечно, профессор. Я же не собираюсь объявлять войну всему модулю. Пока что.

— Тик.

— Всё-всё. Буду осторожна.

Она поправила ремень сумки, проверила маленькую тетрадь в нагрудном кармане и нащупала накопитель. Зелёный индикатор на браслете мигнул, когда она повернула запястье.

— В девять, значит?

— В девять.

— И накопитель не забудь.

— Не забуду!

Архитектура сбоя

Она подмигнула отцу и выскользнула за дверь.

Профессор ещё несколько секунд смотрел на закрывшуюся дверь, потом перевёл взгляд обратно на монитор.

На экране всё ещё светилась запись аномалии.

Он не знал, что именно произошло с модулем номер два.

Но теперь у него было ещё одно основание для беспокойства.

0:00:00

Двенадцатый уровень. Главный сектор.

За панорамным стеклом простирался город. С высоты он казался неподвижным: тонкие линии транспортных маршрутов, световые узлы, бесконечная спираль уровней.

В помещении работали только два экрана.

— Доклад.

— Помехи на первом уровне. Трущобы. Зафиксированы локальные искажения сигнала. Камеры и датчики в нескольких секторах передавали нестабильные данные.

— Только первый?

— Нет. Сбои фиксировались на всех уровнях в течение дня. Но основное отклонение пришлось на нечётные.

— Импульс?

— Подтверждён. Прошёл по всем нечётным уровням. Последовательность пока не установлена.

Некоторое время оба смотрели на данные.

— Масштаб?

— Недостаточно информации.

— Тогда сканировать всю систему. Непрерывное наблюдение ближайшие двенадцать часов. Любые отклонения фиксировать отдельно.

— А если повторится?

— Не вмешиваться без подтверждения.

— Понял.

Один из экранов погас.

— Если за двенадцать часов не будет непредвиденных сбоев?

— Продолжим наблюдение в штатном режиме.

— А если будут?

Второй собеседник не сразу ответил.

— Тогда пересмотрим протокол.

На экране появилась новая строка:

[РЕЖИМ НАБЛЮДЕНИЯ: АКТИВЕН]

[ПЕРИОД: 12:00:00]

[ОБЪЕКТ: ВСЕ УРОВНИ]

[СТАТУС: ОЖИДАНИЕ]

За стеклом город продолжал работать.

Никто не заметил, что за ним наблюдают.

0:00:01

В убежище Лэйна было тихо.

Старые серверы негромко гудели за стеной. На рабочем столе мерцали несколько экранов, но ни один из них больше не показывал ничего необычного.

Эли уснула на старом диване.

Кай стоял у стола. Он посмотрел на Седьмого, затем перевёл взгляд на Лэйна.

— Что дальше?

Лэйн проверил показания одного из приборов и выключил экран.

— Отдохнём. Потом всё взвесим.

— Отдохнём? Ты серьёзно?

— У тебя есть другое предложение?

— Например, вернуться в город. Ты хотя бы мог предупредить, куда нас ведёшь.

Лэйн поднял глаза.

— Я показал тебе дорогу.

— Десять минут по твоему маршруту. Ты не сказал, что убежище находится в брошенных землях. Обычная дорога сюда заняла бы полчаса.

— Мой маршрут короче.

— Да я заметил! Только вот если бы что-то пошло не так, мы бы даже не знали, куда бежать.

— Зато дошли. И не оставили хвост.

Кай раздражённо выдохнул.

— Ты всегда так делаешь? Сначала ведёшь людей неизвестно куда, а потом объясняешь, что всё было рассчитано?

— Не всегда. Иногда люди задают вопросы до того, как начинают идти.

Кай хотел ответить, но посмотрел на Эли.

Она уже спала. Наушники сползли ей на плечо, а пальцы всё ещё сжимали маленький приёмник.

— Я не могу ждать, — тише произнёс Кай. — У неё нет на это времени.

Лэйн посмотрел на девочку.

— Знаю. Но если мы сейчас начнём действовать, не разобравшись в произошедшем, можем сделать только хуже.

Кай сжал челюсть. Несколько секунд он молчал, затем снова посмотрел на Седьмого.

Зелёный свет почти исчез. Лишь едва заметное свечение пробивалось сквозь сомкнутое веко, оставляя на коже тонкий изумрудный отблеск.

За пределами убежища Хронос-Минор продолжал отсчитывать секунды.

А здесь никто не знал, что принесёт следующий отсчёт.

Архитектура сбоя
назадназад
1 ... 21 22 23
в конецв конец