Научная статья на тему 'Подход к проблеме удаленной визуализации сложных 3D-моделей на базе noVNC-решений'

Подход к проблеме удаленной визуализации сложных 3D-моделей на базе noVNC-решений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
269
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УДАЛЕННАЯ ВИЗУАЛИЗАЦИЯ / РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / ИНЖЕНЕРНЫЕ ВЫЧИСЛЕНИЯ / ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / РАСПРЕДЕЛЕННЫЕ ВИРТУАЛЬНЫЕ ИСПЫТАТЕЛЬНЫЕ СТЕНДЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Диков Дмитрий Андреевич, Радченко Глеб Игоревич

Одно из возможных решений проблемы удаленной визуализации сложных 3D-моделей – предоставление результатов инженерных вычислений посредством облачного сервиса. Задача подобного сервиса – обеспечить взаимодействие конечного пользователя с удаленной системой визуализации. Реализация на базе noVNC-решений, использующих преимущества технологии HTML5 для организации тонкого клиента, существенно расширяет круг устройств, способных работать с сервисом.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Диков Дмитрий Андреевич, Радченко Глеб Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE PROBLEM OF REMOTE VISUALIZATION OF COMPLEX 3D-MODELS BASED ON noVNC TECHNOLOGY

One possible solution to the problem of remote visualization of complex 3D-models is to provide results of engineering calculations through the cloud service. The task of such a service is to provide an end-user with a remote visualization system. We propose an implementation based on noVNC technology which uses the benefits of HTML5 technology for the organization of a thin client.

Текст научной работы на тему «Подход к проблеме удаленной визуализации сложных 3D-моделей на базе noVNC-решений»

32В

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 5 (2), с. 328-331

УДК 004.75

ПОДХОД К ПРОБЛЕМЕ УДАЛЕННОЙ ВИЗУАЛИЗАЦИИ СЛОЖНЫХ 3D-МОДЕЛЕЙ НА БАЗЕ noVNC-РЕШЕНИЙ*

© 2012 г. Д.А. Диков, Г.И. Радченко

Южно-Уральский госуниверситет, Челябинск

dmitrydkv@gmail .сот

Поступила в редакцию 10.09.2012

Одно из возможных решений проблемы удаленной визуализации сложных 3D-моделей - предоставление результатов инженерных вычислений посредством облачного сервиса. Задача подобного сервиса - обеспечить взаимодействие конечного пользователя с удаленной системой визуализации. Реализация на базе noVNC-решений, использующих преимущества технологии НТМЬ5 для организации тонкого клиента, существенно расширяет круг устройств, способных работать с сервисом.

Ключевые слова: удаленная визуализация, распределенные вычислительные системы, инженерные вычисления, облачные вычисления, распределенные виртуальные испытательные стенды.

Введение

В последнее время развивается сфера формирования вычислительных комплексов, объединяющих ресурсы нескольких высокопроизводительных суперкомпьютерных систем для решения вычислительно сложных задач и предоставляющих пользователям удобные веб-интерфейсы для управления данными комплексами [1, 2]. Данные технологии все чаще применяются для решения задач инженерного моделирования и анализа [3].

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

Существует целый ряд широко используемых CAE-систем, таких как ANSYS, DEFORM, FlowVision, решающих задачи инженерного моделирования. Для расчета инженерных задач в рамках системы CAEBeans [4] конечному пользователю предоставляется возможность работы с высокопроизводительными ресурсами распределенной грид-среды посредством простого проблемно-ориентированного пользовательского интерфейса. В основе технологии CAEBeans лежит обеспечение сервис-ориентированного предоставления программных ресурсов базовых компонентов CAE-систем и фор-

мирование иерархий проблемно-ориентированных оболочек, инкапсулирующих процедуру постановки и решения определенного класса задач. Технология САЕВеаш регламентирует процесс декомпозиции задачи в иерархию подзадач [5]:

1) поиск вычислительных ресурсов;

2) сопоставление задачам соответствующих базовых компонентов САЕ-систем;

3) мониторинг хода решения задач;

4) передача результатов решения задач пользователю.

Большой объем данных, полученных в результате экспериментов, приводит к сложностям в процессе их обработки на пользовательском ПК. Возникает необходимость быстрой визуализации результатов моделирования без полного копирования всего объема полученных результатов на компьютер пользователя.

Для организации удаленного доступа необходимо переносимое, независимое от аппаратной платформы решение, позволяющее установить соединение с сервером, имеющим прямой доступ к ресурсам высокопроизводительной фермы [6, 7]. Ранее предложенное решение [8] позволяло получать лишь отдельные изображения результатов визуализации и обновлять полученное изображение в соответствии с запросами на перемещения камеры. Подход на базе УКС [9, 10] требует установки программы для подключения VNC на клиентской стороне, что накладывает существенные ограничения на круг устройств, которые могут использовать

Статья рекомендована к публикации программным комитетом Международной научной конференции «ПаВТ'2012».

систему. Также необходимо знать реальный IP-адрес сервера, что снижает защищенность системы. Решение, разработанное компанией Oxalya Software [11], использует Java-апплет для подключения к серверу, что исключает возможность использования системы на устройствах без виртуальной машины Java.

Организация тонкого клиента, взаимодействующего с сервером по протоколу VNC, возможна с использованием существующих на сегодняшний день noVNC-решений, основывающихся на возможности создания полнодуплексных клиент-серверных соединений в актуальных версиях веб-браузеров. Такими решениями являются технологии Guacamole и noVNC [12, 13].

Технология Guacamole [12] требует для развертывания контейнер-сервлетов Apache Tomcat на серверной стороне. В описываемом в данной статье решении используется технология noVNC [13], не накладывающая дополнительных требований на процесс развертывания, а также предоставляющая эмуляцию технологии WebSockets на базе технологии Flash браузерам, не поддерживающим стандарт HTML5.

Такие решения базируются на HTML5 и технологии WebSockets и позволяют организовать доступ к облачной CAE-системе посредством сети Интернет. Это позволяет использовать виртуальный стенд при помощи ПК или мобильной системы без дополнительного ПО и получать доступ к облачной CAE-системе посредством сети Интернет.

Концепция сервиса удаленной визуализации

В данной статье предлагается подход к построению системы виртуальных стендов на основе сервиса удаленной визуализации сложных 3D-моделей. Система использует бизнес-модель SaaS (Software as a Service), предоставляя пользователю удаленный доступ к системе визуализации через веб-портал CAEBeans Portal. Доступ осуществляется посредством тонкого клиента, роль которого выполняет веб-браузер.

Предлагаемая концепция сервиса удаленной визуализации включает следующие компоненты (риа 1):

1) Веб-служба;

2) система визуализации;

3) CAEBeans Server (в качестве первичного источника данных).

Веб-служба маршрутизирует запросы пользователя системе визуализации и обеспечивает взаимодействие с виртуальным стендом. Виртуальный стенд включает в себя три компонента:

1) система визуализации;

2) CAEBeans Server;

3) вычислительная ферма.

Рис. 1. Концепция сервиса удаленной визуализации

Работа пользователя с виртуальным стендом происходит посредством клиентского веб-приложения, взаимодействующего с веб-службой, расположенной на сервере. Клиентское вебприложение отображает запущенное на сервере приложение, которое организует интерактивное взаимодействие с результатами визуализации. Принцип работы стенда отражен на рис. 2.

Пользователь осуществляет вход в систему

Веб-служба запускает VNCserver с модулем визуализации

Веб-служба запускает websocket proxy

Веб-служба создает туннель для noVNC

Клиентское приложение отображает приложение стенда

Пользователь использует виртуальный стенд

Рис. 2. Запуск и работа стенда

После аутентификации пользователя в сервисе веб-служба выполняет на сервере команду запуска сервера VNC на определенном порте. Система визуализации получает адрес размещения данных решения инженерной задачи пользователя от CAEBeans Server и осуществляет копирование данных на сервер визуализации. После этого система визуализации может выполнять визуализацию решения.

Запущенный сервер VNC отображает приложение стенда. Если сервер запущен успешно,

то веб-служба запускает websocket proxy. Если proxy создан успешно, то веб-служба создает маршрут для обеспечения доступа к порту, на котором запущен proxy. После этого запущенное приложение стенда отображается клиентом, и пользователь может приступить к работе со стендом.

Архитектура сервера

Система визуализации включает в себя приложение стенда и модуль визуализации (рис. 3). Приложение стенда представляет собой программу, предоставляющую пользовательский интерфейс для просмотра результатов визуализации и позволяющую пользователю изменять параметры визуализации - поворот визуализируемой модели и приближение камеры. Модуль визуализации получает запросы на визуализацию от приложения стенда и строит изображение на основе данных решения инженерной задачи и данных поворота модели и расположения камеры.

Рис. 3. Архитектура системы визуализации

Решение инженерной задачи пользователя копируется модулем визуализации на этапе инициализации на основе идентификатора решения, передаваемого веб-службой. Модуль визуализации запрашивает адрес решения у CAEBeans Server.

Результат визуализации отображается приложением стенда.

Реализация сервиса удаленной визуализации

Веб-служба реализована на базе framework Ruby on Rails. Пользователь системы CAEBeans аутентифицируется на веб-портале CAEPortal и может перейти к просмотру готового решения инженерной задачи. В этом случае браузер осуществит подключение к системе виртуальных стендов, интегрированной в веб-портал.

При подключении клиента к сервису удаленной визуализации веб-служба осуществляет запуск сервера VNC на определенном порте. Вебслужба передает клиенту URI для подключения noVNC. При попытке подключения noVNC с использованием данного URI веб-служба создает туннель, который перенаправляет подключение с выданного клиенту URI на конкретный порт, на котором запущен VNC-сервер пользователя. Это позволяет защитить сервис от несанкционированных подключений, не позволяя подключаться к портам сервера напрямую.

Веб-служба, принимая запрос на подключение к серверу VNC от клиентского приложения, запускает модуль визуализации для визуализации решения пользовательской задачи, которое хранит CAEBeans Server.

Узел вычислительной фермы, к которому подключается клиент, работает под управлением ОС Linux. Клиент отображает только рабочую область окна приложения стенда.

Система использует в качестве клиентского веб-приложения HTML-страницу веб-портала CAEBeans Portal, выполняющую асинхронные запросы серверу, используя технологию AJAX. Веб-служба использует API на основе протокола REST для запросов аутентификации и установления подключения.

Заключение

В представленной работе был предложен подход к организации системы виртуальных стендов с тонким клиентом на базе noVNC-решений. Освещены механизмы подключения клиента и организации туннеля для передачи данных. Описаны архитектура и детали реализации решения, интегрированного в систему CAEBeans и непосредственно в веб-портал CAEBeans Portal.

Работа выполнена при поддержке грантов РФФИ №11-07-00478-а и № 12-07-31076-а, гранта Президента Российской Федерации МК-1987.2011.9, в рамках государственного задания Министерства образования и науки РФ 8.3786.2011.

Список литературы

1. Гергель В.П., Кустикова В. Д., Сенин А.В. Интеграция системы управления интегрированной средой высокопроизводительных вычислений «Метакластер» с подсистемой планирования MAUI // Вестник Нижегородского университета им. Н.И. Лобачевского. 2011. № 3(2). С. 276-284.

2. Гергель В. П., Сенин А. В. Разработка системы управления интегрированной средой высокопроизводительных вычислений «Метакластер» // Вестник Нижегородского университета им. Н.И. Лобачевско-

го. 2010. №6. С. 186-194.

3. Радченко Г.И. Сервисно-ориентированный подход к использованию систем инженерного анализа в распределенных вычислительных средах // Высокопроизводительные параллельные вычисления на кластерных системах. Матер. XI Всерос. конф. (Н.Новгород, 2-3 ноября 2011 г.). Н. Новгород: Изд-во ННГУ, 2011. C. 247-251.

4. Радченко Г.И., Соколинский Л.Б. Технология построения виртуальных испытательных стендов в распределенных вычислительных средах // Науч.-техн. вестник СПбГУ информационных технологий, механики и оптики. 2008. №54.

5. Радченко Г.И. Технология построения проблемно-ориентированных иерархических оболочек над инженерными пакетами в грид-средах // Системы управления и информационные технологии. 2008. № 4(34).

6. Baratto R., Kim L., Nieh J. Thinc: a virtual display architecture for thin-client computing // SOSP ’05: Proceedings of the Twentieth ACM Symposium on Operating Systems Principles. New York, NY, USA: ACM, 2005. P. 277-290.

7. Zhong L., Wo T., Li J., Li B. A Virtualization-Based SaaS Enabling Architecture for Cloud Computing // Proceedings of the 2010 Sixth International Confer-

ence on Autonomic and Autonomous Systems (ICAS '10). IEEE Computer Society, Washington, DC, USA, P. 144-149.

8. Диков Д.А. Создание сервис-ориентированной

системы удаленной визуализации сложных 3D-моделей для системы CAEBeans // Научный сервис в сети Интернет: экзафлопсное будущее: Труды

Mеждунаpод. науч. конф. (Новороссийск, 19-24 сент. 2011). М.: Изд-во МГУ, 2011. С. 599-602.

9. Margalef F.P., Vall M. R., Garcia A.I., et al. Usage of thin clients on STB for secure interactive applications. - URL: http://nem-summit.eu/wp-content/plugins/ al-cyonis-event-agenda//files/Usage_of_thin_clients_on_ STB_for_secure_interactive_applications.pdf. Дата обращения: 14.11.11.

10. Shizuki B., Nakasu M., Tanaka J. VNC-based Access to Remote Computers from Cellular Phones // CSN ’02: Proceedings of the IASTED International Conference on Communication Systems and Networks, 2002. P. 74-79.

11. Проект Oxalya. - URL: http://www.oxalya.com. Дата обращения: 28.10.11.

12. Проект Guacamole. - URL: http://guac-dev.org. Дата обращения: 12.11.11.

13. Проект noVNC. - URL: http://kanaka.github. com/noVNC. Дата обращения: 12.11.11.

ON THE PROBLEM OF REMOTE VISUALIZATION OF COMPLEX 3D-MODELS BASED ON noVNC TECHNOLOGY

D.A. Dikov, G.I. Radchenko

One possible solution to the problem of remote visualization of complex 3D-models is to provide results of engineering calculations through the cloud service. The task of such a service is to provide an end-user with a remote visualization system. We propose an implementation based on noVNC technology which uses the benefits of HTML5 technology for the organization of a thin client.

Keywords: remote visualization, distributed computing systems, engineering computing, cloud computing, distributed virtual test beds.

i Надоели баннеры? Вы всегда можете отключить рекламу.