Многие знают, что в современной практике управления крупными организациями существует такое понятие, как ситуационный центр (СЦ). Это единый пункт контроля и мониторинга различных объектов, центр сбора и обработки информации для принятия решений.
Услышав слова «ситуационный центр», большинство из нас сразу представит полутемное помещение с множеством экранов на стенах и сотрудников, рутинно контролирующих состояние сложной инфраструктуры, большого объекта, а может быть даже целого холдинга.
Бывают случаи, когда к работе СЦ нужно оперативно подключить дополнительные ресурсы – руководителей, экспертов. Но быстро обеспечить их присутствие в СЦ можно далеко не всегда. Такая мысль занимала нас, когда мы решили создать виртуального «напарника» реального СЦ. В этой статье мы расскажем об опыте разработки первого в России виртуального СЦ и его внедрении в экосистему Сбера.
Начало пути
Занимаясь освоением виртуальной и дополненной реальности на заре выхода этих технологий на массовый рынок, мы убедились: их использование вполне позволяет реализовать дистанционную среду, с помощью которой люди могут не только получить быстрый доступ к различным сервисам и данным, но и практически «перенестись» в пространстве и оказаться, к примеру, на своем обычном рабочем месте, находясь в любой точке земного шара.
У нас появилась идея — создать в виртуальном пространстве 3D-модель помещения СЦ, привязать различные информационные источники к виртуальным экранам и предоставить пользователям возможность находиться внутри такого виртуального СЦ посредством использования AR- и VR-гарнитур.
Шаг 1. Выбор пользовательских устройств и стека технологий
Первым делом мы хотели определиться: создавать цифровой «двойник» в AR или в VR? Ведь эти технологии по-разному осуществляют визуализацию данных, что в результате повлияет на удобство использования и качество восприятия информации.
На дворе шел 2018 год, мы рассматривали три гарнитуры, с которыми к тому моменту уже имели определенный опыт работы:
Очки дополненной реальности Microsoft Hololens первого поколения. Уже тогда это была платформа со значительным арсеналом функций. Чего стоит только возможность распознавания голоса и жестов! Из понятных тогда недостатков Hololens I мы, конечно же, ставили на первое место небольшой угол обзора (FOV), что для задуманного нами было существенным минусом.
Шлем виртуальной реальности HTC Vive. PC-based-платформа, которая на тот момент обладала наивысшим уровнем графики и качеством визуализации. Однако эта гарнитура очень сильно зависела от вычислительных мощностей компьютера, к которому подключалась при помощи кабеля. И этот самый кабель существенно ограничивал область передвижения пользователя.
Шлем виртуальной реальности Oculus Quest. Standalone-решение, наиболее сбалансированное в части обеспечения приемлемого уровня графики одновременно с невысокими требованиями к вычислениям.
После долгих споров, оценки всех за и против решили вести параллельную разработку для двух устройств — AR-гарнитуры Microsoft Hololens и VR-гарнитуры Oculus Quest.
Шаг 2. Выбор способа отображения информации
Мы представляли себе это так: в поле зрения пользователя должна размещаться виртуальная видеостена, собранная из отдельных виртуальных экранов. Их количество, положение в пространстве (геометрия видеостены), привязка экранов к системам – источникам информации — все эти вопросы решались итеративно через разработку proof-of-concepts, тестирование их работоспособности и юзабельности.
Очевидным образом встал вопрос выбора способа получения данных из информационных систем реального СЦ. Рассматривали два подхода — обращение к системам как к веб-источникам с отрисовкой информации на виртуальном экране в форме веб-страниц и создание серии скриншотов реальных информационных дашбордов с достаточно высокой частотой с последующим выводом изображений на виртуальные экраны (своеобразное виртуальное слайд-шоу). Первый способ хорош тем, что подразумевает возможность некой интерактивности во взаимодействии с содержимым экрана (например, переходы по меню на разные уровни вложенности), второй же отличается «всеядностью» форматов представления информации из реальных систем. Опять же после долгих обсуждений и проверок proof-of-concepts решено было поддерживать оба способа.
Шаг 3. Создание и обкатка прототипов
Вскоре появились первые рабочие прототипы (MVP), с которым мы вышли «в люди» оказались на выставках и конференциях. Одна из специализаций нашей компании — ИБ, так что мероприятия в основном подобрались из области защиты информации. Но ведь и у безопасников есть свои СЦ — те самые SOC (Security Operation Center)!
Первые «внешние» демонстрации показали одновременно и востребованность решения, и его нишевой характер. Также удалось получить обратную связь от потенциальных пользователей: нужно обеспечить идентичность интерьеров виртуального и реального СЦ. Был и еще ряд идей и пожеланий, которые оказались очень ценными для нас.
Знаковым для команды событием оказалась заинтересованность в будущем продукте со стороны представителей службы кибербезопасности Сбербанка, которым мы показали прототип виртуального СЦ на конференции SOC-Форум 2018. С этого момента разработка велась с оглядкой на новейший центр операционного управления кибербезопасностью, на тот момент только недавно появившийся в Сбере.
Еще одним важным этапом в разработке стало наше участие в московском International Cybersecurity Congress в 2019 году. Пообщавшись с потенциальными пользователями в рамках конгресса, мы решили отказаться от реализации продукта под AR-гарнитуру Hololens. Причина — неудовлетворительная визуализация при ярком освещении, ну и пресловутый малый FOV. Отложив в сторону до лучших времен (то есть до появления более продвинутых устройств) дополненную реальность, мы сосредоточились на реальности виртуальной.
Продолжаем движение
Полностью переключившись на разработку для VR, мы довольно быстро реализовали основную функциональность продукта. Важную роль в его создании сыграли подходы, уже обкатанные в рамках ранних prof-of-concept. Настало время проверки решения в действии. Теперь, когда разработка обрела окончательные черты платформы визуализации данных в виртуальной среде, мы вернулись к разговору с безопасниками Сбера, показали им актуальную версию продукта и нашли положительный отклик на предложение о его пробной адаптации под SOC банка. Точнее — о переносе центра управления кибербезопасностью в виртуальное пространство с использованием нашего решения. Расскажем о некоторых важных нюансах его разработки и развертывания.
Цифровой «двойник» реального центра управления
Как и было определено на стадии MVP, интерьеры виртуального СЦ должны полностью соответствовать реальному объекту. Сбер присоединился к этой идее и указал на то, что сам виртуальный СЦ и форма подачи информации в нем должны повторять физический прототип и создавать эффект полного погружения для пользователей.
Мы создали 3D-модель помещения SOC Сбера с использованием его схем и публичного фото-тура (обязательно посмотрите, если еще не видели). Изначальная и самая простая версия модели выглядела достаточно примитивно:
После того, как базовая модель была создана и включена в проект, началась тонкая работа над освещением и деталями интерьера.
В проектах, которые пишутся на движке Unity (как наш), основным способом сделать красивую визуализацию является post-processing. Используя эффекты постобработки, мы улучшили качество изображения:
Post-processing «съедает» большое количество ресурсов, которых — та-дам! — оказалось недостаточно в Oculus Quest первого поколения. Получается, мы ошиблись с выбором оборудования на самом раннем этапе создания продукта? К счастью, в процессе разработки решения появились Oculus Quest 2, способные обеспечить нужный уровень производительности. Их возможности в итоговой версии визуализации SOC Сбера показаны на рисунке ниже:
Разумеется, эффект от «настоящего» виртуального пространства в самой VR-гарнитуре отличается от рисунков в этой статье, но общее представление приведенные иллюстрации вполне способны передать.
Обработка данных из источников информации
Виртуальный СЦ предъявляет высокие требования к обеспечению ИБ, поэтому доступ к системам-источникам из виртуального пространства мы организовали через защищенный доверенный канал (также в работе остаются все средства защиты информации, развернутые на физической площадке). Основным звеном, обеспечивающим получение данных для отображения на стороне пользователя, стал достаточно мощный ноутбук: именно так была обеспечена возможность применения всего спектра корпоративных политик безопасности и существующих систем защиты. Параллельно решается вопрос снижения нагрузки на VR-гарнитуру — все высокопроизводительные вычисления и рендеринг виртуального пространства вынесены на компьютер. На VR-устройстве остается лишь функция визуализации информации. Подключение по кабелю при этом по-прежнему не требуется, так что проблема «оператора на шнурке» не возникла.
Находясь в реальном СЦ, можно наблюдать картинку на видеостене, но, как правило, нельзя управлять ее отображением. Но у нас же цифровой «двойник», так почему бы не реализовать интерактивное взаимодействие с виртуальными экранами? Решили добавить в наш продукт опцию, благодаря которой для детального ознакомления с информацией от конкретного источника стало достаточно навести луч штатного контроллера на соответствующий экран, нажать на курок — и изображение перемещалось (приближалось) к пользователю. Фон и обстановка при этом не меняются, интересующий экран как бы висит в пространстве перед оператором. Используя кнопки управления на контроллере такой экран можно двигать, вращать, масштабировать, а также возвращаться на исходную позицию:
Коллективная работа в виртуальном пространстве
Работать в виртуальном пространстве в одиночку — это, конечно, здорово, но ведь наиболее эффективно и плодотворно взаимодействовать в команде.
В виртуальном СЦ на этот случай реализован режим синхронизированной работы пользователей по принципу «ведущий–ведомый». Сотрудники находятся в едином виртуальном пространстве: один пользователь (ведущий) может указывать лучом контроллера, как лазерной указкой, на виртуальные экраны, а второй пользователь (ведомый) все это видит. Также ведущий может интерактивно взаимодействовать с экранами, как и в однопользовательском режиме, при этом все его действия одновременно отображаются и в VR-гарнитуре ведомого. Этот режим подходит для удаленной постановки задач или внутреннего брифинга. Еще его удобно применять в случае, когда организацию посещают различные делегации или пресса. Не отвлекая от работы сотрудников, можно в полной мере демонстрировать работу СЦ, используя виртуальное пространство.
Когда что-то пошло не так
Может сложиться впечатление, что разработка прошла на одном дыхании, просто и безоблачно. На самом деле шишек было набито немало. Вот лишь некоторые из них.
Работая над режимом «ведущий-ведомый», мы столкнулись с особенностями поведения вестибулярного аппарата человека в виртуальном пространстве. Изначально мы хотели, чтобы все движения первого пользователя синхронно передавались на VR-гарнитуру второго — звучит это красиво, а вот ведомого в процессе тестирования, мягко говоря, «штормило» :)
Дело в том, что при погружении в виртуальную реальность человек ощущает видимую обстановку как «реальную реальность». То есть, если он будет падать в виртуальном пространстве, мозг решит, что это происходит на самом деле. А если человек, сохраняя неподвижность головы, видит эффект от ее поворота в виртуальном мире, проще говоря, помещение само начинает вращаться вокруг? Ощущения при этом схожи с падением. Причем падение в реальности, наверное, как-то даже приятнее этого виртуального «вертолета». В результате от зеркалирования движений головы ведущего мы отказались, оставив ведомому самостоятельность в перемещениях в виртуальном пространстве.
Еще мы заметили один интересный момент, связанный с поведением Oculus Quest 2 при продолжительной непрерывной работе. В случае, когда контроллеры управления длительное время не используются, VR-шлем принимает решение, что с ним просто перестали работать – сняли и ушли. И преспокойно выключается. Дело в том, что гарнитура отслеживает ИК-сигнал, исходящий от контроллеров. Если они включены (сигнал есть), но не меняют своего положения — VR-шлем принудительно завершает работу, ведь зачем тратить лишнюю энергию, если никто не пользуется девайсом? Такая ситуация периодически возникала на комплекте второго участника при длительной виртуальной экскурсии в СЦ.
Самый оригинальный описанный в сети «народный» способ решить такую проблему — повесить контроллеры на работающий вентилятор. А что будет, если гарнитура попросту не сможет отследить сигнал? Вытащили батарейки из контроллеров, проверили. Все работает без «засыпания», но с нюансом: далеко не факт, что шлем не выйдет из строя. Проявляется такой crash достаточно «забавно»: ты в домашней виртуальной комнате, а потом тебя при движении головой поднимает под потолок и бьет об него… Путем проб и ошибок стало понятно, что дольше четырех часов в режиме «принудительного бодрствования» VR-гарнитура не живет. Но даже если соблюдать четырехчасовой лимит, нет гарантий того, что линзам в шлеме не станет плохо. В нашем случае они начали мерцать где-то после третьего или четвертого подобного прогона.
К слову, остывание и перезапуск помогли убрать этот эффект… до следующего многочасового сеанса. Знакомый психолог убедил нас в том, что это не баг, а фича. Не считаем это проблемой, поскольку не видим необходимости по несколько часов подряд работать в СЦ из VR-гарнитуры. Все более-менее жизненные кейсы укладываются в эпизоды от 5 до 45 минут с повторениями или без них.
Подведем итоги
Работа по созданию виртуального СЦ, решение нестандартных задач и преодоление различных ограничений — интересный вызов. Кто-то, возможно, скажет, что мы использовали технику не по назначению, кто-то — что технология еще не созрела для решения таких задач… Доля правды в этом есть, но ведь поиск решений на стыке современных технологий и стремление выжать максимум возможного — это один из путей их совершенствования!
Мы продолжим развивать продукт и добавлять в него новые функции. Кто знает, может через несколько лет виртуальный СЦ станет неотъемлемым компонентом корпоративной метавселенной?