Глава 1. Девушка из будущего
В тот вечер Ваня собирался домой.
Это было его первое и последнее разумное решение за весь день.
Он сидел в лаборатории ТУСУРа уже шестой час, смотрел на экран и пытался понять, почему программа, которая ещё утром прекрасно работала, теперь утверждала, что два совершенно разных компьютера являются одним и тем же компьютером.
— Ты издеваешься, — сказал Ваня.
Программа промолчала.
— Я к тебе обращаюсь.
На экране мигнул курсор.
Ваня посмотрел на часы. Было начало одиннадцатого. За окном уже давно стемнело. Томск отражался в окнах лаборатории множеством жёлтых огней. Где-то внизу проехала машина, на перекрёстке коротко посигналили, потом всё снова стихло. Он снял очки и потёр глаза. На соседнем столе остывал кофе.
— Ещё пять минут, — сказал Ваня самому себе.
Это была ложь.
Он прекрасно знал, что «ещё пять минут» в лаборатории означают как минимум час.
Проект, над которым он работал, официально назывался довольно скучно: протокол распределённой синхронизации вычислительных узлов. Неофициально преподаватели называли его «попыткой заставить тысячу компьютеров договориться между собой, не назначая им главного». Ваня эту формулировку любил. Он вообще любил всё, где не было главного.
Поэтому, когда на третьем курсе его случайно заметил один из преподавателей и предложил присоединиться к небольшой исследовательской группе, он согласился почти сразу.
Деньги были небольшие. Зато ему разрешили программировать. А это, по мнению Вани, уже было достаточным основанием терпеть всё остальное. Ведь у него и диплом был по той же теме, в случае хороших результатов открывалась дорога в аспирантуру. На экране снова появилось сообщение:
NODE CONFLICT.
— Спасибо, я уже понял.
Ваня запустил диагностику.
Система начала перебирать узлы.
Один.
Второй.
Третий.
На четвёртом появилась ошибка.
Ваня нахмурился. Такого узла в сети не было. Он проверил адрес.
Потом ещё раз.
Адрес был правильным.
Но компьютер с этим адресом отсутствовал.
— Где ты взялся?
Ответ пришёл сразу.
NODE ACTIVE.
Ваня замер.
- Очень смешно.
И открыл журнал соединений. Никакого нового устройства. Никакого внешнего подключения. Сеть лаборатории была изолирована. Он проверил кабели. Потом сервер. Потом снова журнал. Всё было нормально. Кроме того, что ненормальный узел продолжал отвечать. Ваня подключился к нему напрямую. На экране появилась строка:
REQUEST STATE
Он ввёл команду.
STATERECEIVED.
Появилось несколько килобайт данных. Ваня быстро просмотрел их. Это была структура состояния вычислительного узла: память, процессы, время последней синхронизации, контрольные суммы. Всё выглядело абсолютно правдоподобно.