Распределенная система доставки ресурсов в виртуальном мире

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

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

Таблица 1 - Укрупненные состояния аваторов

Укрупненное состояние аватара Описание

Стоит Позиция, поворот и поза, в которой аватар стоит

Идет Позиции откуда и куда идет аватар

Бежит Позиции откуда и куда бежит аватар

Сидит Ссылка на объект (кресло), на котором сидит автара

Выполняет заданное движение Позиция, где находится аватар, и описание движения, которое он выполняет

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

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

Литература

1. Coffman, Т., & Klinger, M. B.. Utilizing virtual worlds in education: The implications for practice. International Journal of Social Sciences, 2(1), 29-33. Retrieved October 2, 2007

2. Kumar, S., Chhugani, J., Kim, C., Kim, D., Nguyen, A., Dubey, P., Second Life and the New Generation of Virtual Worlds. Computer, 41(9), 46-53. Retrieved February 10, 2009, from Academic Search Premier database.

3. Project Darkstar - www.projectdarkstar.com.

Распределенная система доставки ресурсов в виртуальном мире

Е.П. Хованский

Марийский государственный технический университет, г. Йошкар-Ола

Введение

В настоящее время среди систем ресурсов Интернета все большую популярность приобретают виртуальные миры. Виртуальный мир - распределенная программная система, моделирующая трехмерную среду, в которой пользователи, представленные аватарами (трехмерными человекоподобными моделями), могут манипулировать 3D объектами и взаимодействовать друг с другом. Большую популярность виртуальные миры приобретают для создания образовательных ресурсов. Например, многие университеты и компании используют Second Life для обучения, включая Гарвардский и Оксфордский университеты [1].

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

1. Подходы к доставке ресурсов в виртуальных мирах

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

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

1) поиск хоста, где размещен ресурс;

2) загрузка ресурса;

3) размещение нового ресурса;

4) обновление старого ресурса.

Известны три основных подхода к реализации совместного доступа к ресурсам в распределенных системах:

1. централизованная на основе технологии клиент-сервер;

2. децентрализованная, основанная на взаимодействиях peer-to-peer;

3. гибридная, сочетающая использование 1 и 2 подхода.

Централизованные - системы, основанные на технологии клиент-сервер. По такой технологии построена архитектура известного виртуального мира - Second Life [2]. Виртуальный мир поделен на регионы (Region) размером 256х256 метров. В данном мире клиенты одного региона мира подключаются к одному компьютеру-серверу, который хранит все ресурсы данного региона мира. Все клиентские компьютеры запрашивают у сервера необходимые ему ресурсы. Операция поиска хоста в централизованном подходе отсутствует, так как подразумевается, что все ресурсы располагаются на одном сервере. Преимущества данного подхода заключаются в том, что при изменении объектов мира в этом регионе ресурсы автоматически обновляются на всех клиентах, подключенных к этому серверу. Недостатком такого подхода является большая нагрузка на сервер и выходной канал сервера.

Одним из способов уменьшить нагрузку на сервер является использование децентрализованного подхода, основанного на взаимодействиях - peer-to-peer [3], для которого характерно то, что клиентский компьютер запрашивает необходимые ему ресурсы у других клиентов напрямую.

Примером реализации такого подхода является сеть распространения ресурсов Gnutella [4], на основе которой создан виртуальный мир «Multiuser 3D Virtual Simulation Environments» [5].

Для поиска ресурсов в сети Gnutella клиентское приложение направляет запросы на получение этого ресурса соседним компьютерам, которые направляют запросы своим соседям (кроме самого себя). Эта процедура продолжается до тех пор, пока запросы не будут переданы всем системам сети или счетчик глубины запроса обну-лится. При наличии ресурса на компьютере в сети, он отправляет соответствующий ответ компьютеру, отправившего запрос. Когда клиентское приложение получает сообщение о том, что ресурс находится на некотором хосте, оно подключается к хосту напрямую, и загружает ресурс. Добавление ресурсов в сеть происходит при 1-м запросе этого ресурса со стороны любого клиентского компьютера. При этом следующем запросе данный ресурс будет доступен уже с 2-х компьютеров и т.д.

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

Для уменьшения трафика и ускорения процедуры поиска хоста используются гибридный или частично централизованный подход, который часто используют пиринговые сети разделения и распространения ресурсов (сеть Kazaa [6]), в которых автоматически, исходя из вычислительной мощности и полосы пропускания, выделяются специальные компьютеры-узлы. Данные узлы выполняют задачу обслуживания небольшой части оверлейной сети с помощью индексирования и кэширования содержащихся в ней файлов. Гибридные системы обладают двумя преимуществами:

- уменьшенным временем поиска по сравнению с децентрализованными системами при отсутствии единой точки отказа;

- эффективным использованием присущей Р2Р-сетям гетерогенности.

Подобный подход использован в создаваемом образовательном виртуальном мире. Для этого разработана модель распределенной системы ресурсных серверов (РСРС), в которой РСРС объединяет ресурсные сервера в единый комплекс, который, в свою очередь, обеспечивает доступ к ресурсам образовательного виртуального мира, позволяя распределить хранение ресурсов на многих серверах ресурсов и снизить нагрузку на каждый из них в отдельности. Общая архитектура РСРС представлена на рис. 1.

Рис. 1. Схема архитектуры РСРС разрабатываемого образовательного виртуального мира

Среди серверов РСРС выделен центральный сервер ресурсов (ЦСР), который распределяет нагрузку между серверами ресурсов.

Каждый ресурс имеет уникальный URL, который однозначно определяет его местоположение на одном из серверов ресурсов. Ресурсы в свою очередь объединяются в ресурсные модули, каждый из которых имеет свой уникальный идентификатор. Ресурсный модуль - это набор ресурсов, объединенный общим назначением, предназначенный для выполнения конкретной задачи, функции. Ресурсные модули хранятся на серверах ресурсов. Все ресурсы статических объектов одного острова (весь мир поделен на острова) хранятся в одном модуле. Ресурсы динамических объектов (например, аватаров), способных переходить с одного острова на другой, хранятся в отдельных модулях. Они размещены по ресурсным серверам так, чтобы равномерно распределить нагрузку между ними.

Рис 2. Схема доставки ресурса в прототипе виртуального мира

При запросе ресурса клиент из его URL выделяет имя модуля и запрашивает адрес сервера ресурса, который хранит данный ресурсный модуль, у ЦСР, который хранит таблицу всех ресурсных модулей в РСРС. Затем клиент подсоединяется к серверу-ресурсу и передает URL ресурса (рис. 2). Если такого ресурса нет на других

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

При добавлении ресурса клиент загружает ресурс на сервер ресурса.

При изменении объекта мира на сервере ресурсов затирается список IP адресов клиентов, имеющих данный ресурс, и данный список начинает формироваться заново.

Выводы

Разработанная архитектура, включающая РСРС, позволяет обеспечить образовательный виртуальный мир, эффективное использование сети Интернет для организации доставки ресурсов, необходимых для визуализации трехмерных объектов на клиентских компьютерах.

Литература

1. A second look at school life http://www.guardian.co.uk/education/2007/apr/06/schools.uk

2. Second Life - Server architecture http://wiki.secondlife.com/wiki/Server_architecture

3. Peer-to-peer. http://en.wikipedia.org/wiki/Peer-to-peer_

4. Matei Ripeanu, Ian Foster, Adriana Iamnitchi: Mapping the Gnutella Network: Properties of Large-Scale Peer-to-Peer Systems and Implications for System Design http://people.cs.uchicago.edu/~matei/PAPERS/ic.pdf

5. Azzedine Boukerche, Regina B. Araujo, Marcelo Laffranchi: Multiuser 3D virtual simulation environments support in the Gnutella peer-to-peer network http://portal.acm.org/citation.cfm?id=1133511.1133527

6. Kazaa. http://ru.wikipedia.org/wiki/Kazaa

Опыт внедрения свободного программного обеспечения

в Институте открытого образования и информационных систем Марийского государственного университета

В.О. Виноградов

Марийский государственный университет, г. Йошкар-Ола

Институт открытого образования и информационных систем является структурным подразделением, входящим в состав Марийского государственного университета. Здесь осуществляется образовательная деятельность на всех уровнях университетской подготовки с использованием дистанционных технологий.

Активная апробация и внедрение свободного программного обеспечения в институте начались в 2006 году с использования в качестве одной из технологий обучения дистанционную форму, реализованную средствами LMS Moodle, изначально ориентированную на студентов очной формы обучения специальности «Математическое обеспечение и администрирование информационных систем». Впоследствии организованы курсы в качестве одной из технологий обучения некоторых дисциплин для студентов очной формы физико-математического факультета и для подготовительного отделения в виде разбора некоторых заданий ЕГЭ с последующим пробным тестированием по предмету «Математика». В настоящее время LMS Moodle активно используется в учебном процессе института.

В локальную сеть Института открытого образования и информационных систем входят рабочие станции с основной операционной системой Microsoft Windows XP, приобретенной по лицензии MSDN, контроллера домена под управлением серверной операционной системы семейства Microsoft Windows Server. Web-сервер, шлюз, сервер баз данных, почтовый сервер выполнены на базе GNU/Linux.

Программирование изучается как с применением свободного программного обеспечения в виде реализации Free Pascal, Lazarus, gcc, так и с использованием в качестве сред Visual Studio по лицензии MSDN Turbo Explorer продуктов, доступных для бесплатного использования в некоммерческой деятельности.

Часть тем курса компьютерной графики полностью реализованы с использованием свободного программного обеспечения Gimp и Inkscape.

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