Содержание к диссертации
Введение
1. Проблема создания распределенных компьютерных систем для воспроизведения виртуальной реальности 16
1.1. Уточнение представлений о распределенных системах виртуальной реальности 16
1.1.1. Виртуальная реальность. Основные определения и понятия 16
1.1.2. Распределенные системы виртуальной реальности 18
1.1.3. Основные требования, предъявляемые к РСВР 20
1.1.4. Сравнение РСВР с классическими распределенными системами 22
1.2. Обзор и классификация существующих распределенных систем виртуальной реальности 23
1.2.1. Тренажерные РСВР 23
1.2.2. Сетевые виртуальные среды 27
1.2.3. Многопользовательские сетевые компьютерные игры и метаверсы
1.3. Ограниченность механизмов обеспечения согласованности данных в существующих РСВР 34
1.4. Постановка задачи диссертационного исследования. Основные допущения 37
1.5. Выводы 39
2. Задача обеспечения согласованности данных в рсвр и подходы к ее решению 41
2.1. Формализованная модель распределенных вычислений в РСВР 41
2.2. Уточнение понятия согласованности в РСВР
2.2.1. Причинно-следственная согласованность 46
2.2.2. Наблюдательная согласованность 48
2.2.3. Согласованность видов виртуальной среды 50
2.2.4. Предлагаемые метрики видовой согласованности 52
2.2.5. Частотный подход к определению согласованности и вопросы надежности.56
2.3. Аппаратные ограничения, влияющие на согласованность 57
2.3.1. Латентность передачи данных 57
2.3.2. Колебания латентносте — джиггер 60
2.3.3. Вычислительная мощность узла 62
2.4. Вопросы масштабируемости в РСВР 63
2.4.1. Сетевой подход 63
2.4.2. Вычислительный подход 65
2.5. Способы обеспечения согласованности данных в РСВР 66
2.5.1. Согласованность, репликация и чувствительность 66
2.5.2. Оптимизация протокола 68
2.5.3. Фильтрация данных в соответствии с их значимостью 70
2.5.4. Предсказание состояний объектов 73
2.6. Выводы 78
3. Архитектура и сетевые механизмы обеспечения согласованности данных в распределенных системах виртуальной реальности 80
3.1. Разработка архитектуры РСВР 80
3.1.1. Представление РСВР на различных уровнях абстракции 80
3.1.2. Сетевые архитектуры взаимодействия процессов в РСВР 81
3.1.3. Способы рассылки данных 83
3.1.4. Разработка модели управления данными 85
3.1.5. Выбор представления данных для хранения состояния виртуальной среды „88
3.1.6. Предлагаемая архитектура РСВР 90
3.2. Разработка высокоуровневого протокола межпроцессного взаимодействия DVRP 93
3.2.1. Место разрабатываемого протокола в эталонной модели OSI 94
3.2.2. Состав протокольных сообщений 96
3.2.3. Форматы протокольных сообщений и битовые потоки 97
3.2.4. Виды взаимодействий процессов 99
3.2.5. Принцип «избирательной согласованности» и механизмы репликации данных 102
3.3. Вспомогательные механизмы обеспечения согласованности 105
3.3.1. Синхронизация часов в РСВР 105
3.3.2. Разработка адаптивного метода репликации и предсказания состояний объектов, учитывающего динамику их движения ПО
3.3.3. Управление совместным доступом к состоянию виртуальной среды 116
3.4. Выводы 118
4. Разработка программного обеспечения промежуточного уровня для построения распределенных систем виртуальной реальности и оценка эффективности реализуемых средств 121
4.1. TerraNet — многоцелевая программная библиотека для разработки и исследования РСВР 121
4.1.1. Обзор возможностей библиотеки TerraNet 122
4.1.2. Состав и структура библиотеки 123
4.1.3. Диаграмма классов ядра 123
4.1.4. Идентификация процессов, объектов и атрибутов 127
4.1.5. Пример работы с библиотекой TerraNet 128 4.1.6. Примеры РСВР, созданных на базе библиотеки TerraNet 130
4.2. Оценка эффективности разработанных средств 131
4.2.1. Методика качественной оценки разработанных механизмов 131
4.2.2. Эксперименты по качественной оценке разработанных механизмов 133
4.2.3. Исследование возможностей масштабирования вычислительной среды 137
4.3. Выводы 140
5. Практическое применение разработанных средств 142
5.1. Применение механизмов обеспечения согласованности в авиационных тренажерных комплексах 142
5.1.1. Основные виды авиационных тренажеров 142
5.1.2. Состав тренажера 145
5.1.3. Постановка задачи 147
5.1.4. Применение высокоуровневого протокола взаимодействия и алгоритмов синхронизации 149
5.1.5. Применение адаптивного метода предсказания состояния объектов
5.2. Внедрение в учебный процесс 153
5.3. Перспективы применения и дальнейшего развития разработанных средств 154
5.4. Выводы 155
Заключение .156
Список использованных источников 158
- Сравнение РСВР с классическими распределенными системами
- Аппаратные ограничения, влияющие на согласованность
- Разработка адаптивного метода репликации и предсказания состояний объектов, учитывающего динамику их движения
- Основные виды авиационных тренажеров
Введение к работе
Актуальность темы. Общеизвестный факт: большую часть информации об окружающем мире человек получает с помощью зрения. Неудивительно, что компьютерная индустрия, выйдя в массы пользователей, стала интенсивно развиваться в сторону реалистичной визуализации всевозможных процессов. В настоящее время машинной графике уделяется самое пристальное внимание — от разработки эффектных и ресурсоемких оболочек операционных систем до реалистичной динамической ЗО-визуализации в научных задачах и поражающих воображение эффектов в новейших компьютерных играх.
Программно-аппаратные средства с каждым годом становятся все более сложными и производительными и позволяют добиваться высокого реализма трехмерных виртуальных миров. Появился отдельный класс интерактивных трехмерных приложений — системы виртуальной реальности, которые позволяют пользователю не просто быть наблюдателем событий, происходящих в виртуальных мирах, но и непосредственно принимать в них участие.
Вместе с повышением реалистичности увеличивается и масштаб создаваемых систем. С ростом пропускной способности вычислительных сетей растет интерес к распределенным системам виртуальной реальности (РСВР). РСВР представляют собой один из наиболее динамично развивающихся классов распределенных систем. Повышенный интерес к таким системам, в первую очередь, связан с качественно новыми возможностями, которые они обеспечивают для человека. Прежде всего, пользователю предоставляется возможность «погружения» в некоторую виртуальную среду, достаточно точно имитирующую реальный мир. Пользователь может взаимодействовать с объектами виртуальной среды, как визуально, так и с помощью различных устройств ввода-вывода. Однако главным свойством РСВР является возможность взаимодействия множества пользователей в общей для них виртуальной среде. РСВР позволяет пользователям работать совместно, невзирая на то, как далеко они друг от друга находятся, что может быть востребовано во многих прикладных областях.
Одна из главных задач при построении РСВР — задача формирования виртуального мира, являющегося интерактивным, единым и согласованным (т.е. непротиворечивым, от англ. consistent) для всех пользователей системы. Данные свойства виртуального мира зависят как от качества визуализации, так и от заложенных в системе сетевых механизмов обеспечения согласованности данных. Если проблема визуализации в таких системах уже достаточно давно известна и хорошо освещена в научной литературе, то проблема обеспечения согласованности данных пока остается открытой и сравнительно малоисследованной.
Существующие в настоящий момент РСВР в основном разрабатываются за рубежом. По сведениям, доступным в открытой печати, в данной области получены обнадеживающие результаты, однако, конкретные данные по многим ключевым вопросам отсутствуют. Кроме того, даже по имеющейся информации можно судить о наличии многих трудностей на пути создания таких систем, среди них:
- аппаратные ограничения, возникающие в сетях передачи данных, не
позволяют пользователям РСВР получать согласованные виды виртуальной реальности, в результате чего сложно гарантировать непротиворечивость и одновременность протекающих в ней процессов для всех пользователей;
применяемые для преодоления аппаратных ограничений методы все еще далеки от совершенства и в большинстве своем не предоставляют средств для динамической балансировки загрузки сети;
фактически отсутствует общий архитектурный подход к созданию РСВР (о чем также косвенно свидетельствует отсутствие в литературе единой терминологии применительно к РСВР).
Для преодоления этих и других трудностей, возникающих при построении РСВР, в данной работе осуществляется разработка и обоснование механизмов обеспечения согласованности данных, направленных на уменьшение влияния сетевых аппаратных ограничений и повышение качества взаимодействия пользователей.
Объектом исследования данной работы являются распределенные системы виртуальной реальности, представляющие собой территориально распределенные программно-аппаратные комплексы, позволяющие множеству удаленных пользователей погружаться в единую для них виртуальную реальность и осуществлять в ней взаимодействие в реальном времени.
Предмет исследования: сетевые механизмы обеспечения согласованности данных в распределенных системах виртуальной реальности.
Цель диссертационной работы заключается в разработке и обосновании сетевых механизмов обеспечения согласованности данных в распределенных системах виртуальной реальности, позволяющих при использовании современных вычислительных средств снизить общую нагрузку на сеть за счет использования гибких способов управления сетевым трафиком.
Для достижения поставленной цели должны быть решены следующие задачи:
анализ существующих РСВР, выявление основных их типов и архитектурных особенностей;
формализация распределенных вычислений в РСВР, разработка подходов к определению понятия согласованности в РСВР и её оценке, выделение факторов, влияющих на согласованность;
анализ базовых технологических принципов построения и разработка общей архитектуры РСВР;
разработка высокоуровневого протокола взаимодействия процессов и других механизмов обеспечения согласованности данных в РСВР;
разработка экспериментальной версии программного обеспечении промежуточного уровня, позволяющего создавать РСВР под конкретные области применения, на её основе — программной реализации опытной версии РСВР;
проведение экспериментальных исследований по оценке эффективности разработанных механизмов на основе разработанной реализации РСВР;
определение области применения разработанных средств и внедрение полученных результатов.
Методы исследования. Системный анализ, теория множеств, элементы теории графов, теория распределенных систем, теория объектно-ориентированного программирования и натурный эксперимент.
Научная новизна работы. Новыми являются следующие полученные в диссертации результаты:
формализован процесс распределенных вычислений в РСВР с использованием событийного подхода, что позволило подойти к формальному определению понятия согласованности в таких системах;
предложены два возможных подхода к определению понятия согласованности: модели наблюдательной и видовой согласованности, последний подход позволяет оценить согласованность численно, на основе введенных оценок;
обоснованы и разработаны сетевые механизмы обеспечения согласованности данных в РСВР, в их числе:
высокоуровневый протокол межпроцессного взаимодействия DVRP со встроенными механизмами управления репликацией данных на основе принципа «избирательной согласованности»;
адаптивный метод репликации и предсказания состояний объектов, учитывающий динамику их движения;
механизм управления совместным доступом многих пользователей к состоянию виртуальной среды;
метод синхронизации часов процессов РСВР;
4) разработана общая архитектура РСВР для случая взаимодействия по
схеме клиент-сервер, позволяющая применить созданные механизмы обеспече
ния согласованности.
Практическая ценность полученных результатов заключается в следующем:
экспериментально подтверждена возможность создания РСВР и определены вероятные области её применения, в их числе: образование и наука, тренажерные комплексы и другие области, требующие удаленного взаимодействия многих участников (пример—территориально-распределенные ситуационные центры);
на базе предложенных механизмов обеспечения согласованности разработана экспериментальная программная библиотека TerraNet, представляющая собой ПО промежуточного уровня {middleware), которая позволяет создавать РСВР для конкретных областей применения, с возможностью их гибкой настройки. В частности, на её основе на кафедре ВМСиС МЭИ (ТУ) была разработана программная среда для модельного воспроизведения группового пилотажа летательных аппаратов над местностью;
предложенные в работе сетевые механизмы нашли применение в опытных версиях комплексных авиационных тренажеров, разрабатываемых ЗАО «Транзас» и ОАО «ОКБ Сухого»;
полученные в диссертационном исследовании результаты были использованы на кафедре ВМСиС МЭИ (ТУ) при выполнении госбюджетной НИР (гос. реп № 01200605949), а также при подготовке курса лекций и лабораторных работ по дисциплине «Компьютерные технологии в науке и образовании»;
исследования, проводимые по теме диссертации, поддержаны программой Рособразования «Развитие научного потенциала высшей школы» (проект 2.1.2/6718), федеральной целевой программой «Научные и научно-педагогические кадры инновационной России» (Государственный контракт
П2227), а также грантом НШ-7239.2010.9 Президента Российской Федерации для государственной поддержки ведущих научных школ Российской Федерации.
Апробация работы. Основные результаты работы докладывались и обсуждались на следующих научно-технических конференциях:
Третья Европейская научно-технической конференция по аэрокосмическим наукам EUCASS-2009 (грант РФФИ 09-07-09229-моб_з). Место проведения: Версаль, Франция. Организаторы: EUCASS и ASTech Paris Region при поддержке Французского национального центра научных исследований (CNRS). 6-9 июля 2009 г.
Третья Всероссийская научно-техническая конференция «Методы и средства обработки информации». Место проведения: Москва. Организатор: МГУ им. М. В. Ломоносова. 6-8 октября 2009 г.
Международная конференция по проблемам надежности вычислительных систем DepCoS-RELCOMEX. Место проведения: Польша. Организатор: Вооцлавский Технологический университет п^и поддержке Института инженеров по электротехнике и электронике (IEEE). 2007,2008,2009 гг.
Международная конференция «Параллельные вычисления и проблемы управления» РАСО. Место проведения: Москва, Организатор: Институт проблем управления им. В.А. Трапезникова РАН. 2006, 2008 гг.
Международная научно-техническая конференция «Информационные средства и технологии». Место проведения: Москва. Организатор: МЭИ (ТУ) и МГТУ «СТАНКИН». 2005, 2006,2007 гг.
Международная научно-техническая конференция студентов и аспирантов «Радиоэлектроника, электротехника и энергетика». Место проведения: Москва. Организатор: МЭИ (ТУ). 2006,2007, 2008 гг.
Публикация. Основные результаты, полученные при выполнении диссертационной работы, опубликованы в 13 печатных работах (4 из них — на английском языке), включая 1 работу в издании, рекомендуемом ВАК.
Структура диссертации. Основная часть диссертации состоит из введения, пяти глав и заключения и содержит 157 страниц машинописного текста, 51 рисунок и 3 таблицы. Список литературы включает 71 наименование. Дополнительная часть содержит 4 приложения. Общий объем диссертации — 187 страниц машинописного текста (51 рисунок, 8 таблиц).
Сравнение РСВР с классическими распределенными системами
Под виртуальной реальностью понимается моделируемый посредством компьютера искусственный мир (называемый также виртуальной средой), позволяющий пользователю «погружаться» в него и непосредственно в нем действовать [2, 19]. При этом в общем случае предполагается, что зрительные, слуховые, осязательные и моторные ощущения пользователя заменяются их имитацией, генерируемой компьютером.
Технической основой ВР служат технологии компьютерного моделирования (симуляции) и компьютерной имитации, которые в сочетании с трехмерной визуализацией позволяют реалистично отображать на экране движение. В минимум аппаратных средств, требуемых для взаимодействия с ВР, входят монитор и указывающие устройства типа мыши или джойстика. В более сложных системах применяются виртуальные шлемы с дисплеями {Head Mounted Display — HMD), в частности, шлемы со стереоскопическими очками, и устройства ЗБ-ввода, например, мышь с пространственно управляемым курсором или «цифровые перчатки», которые обеспечивают тактильную обратную связь с пользователем. Основными свойствами виртуальной реальности являются [2]:
1) иммерсивность (immersibility) — характеризует погружение пользователя системы виртуальной реальности в мир виртуальной реальности, в результате которого пользователь чувствует себя частью этого мира;
2) интерактивность — заключается в том, что пользователь, погруженный в виртуальный мир, может взаимодействовать с виртуальной средой и находящимися в ней объектами;
3) свойство реального времени — означает, что процессы, происходящие в виртуальном мире и имитирующие аналогичные события реального мира, проистекают с той же скоростью, что и в реальном мире, а реакция системы на действия пользователя является мгновенной.
Определение 1.1. Система виртуальной реальности (СВР) — техническая система, обеспечивающая погружение человека (пользователя) в мир виртуальной реальности и возможность его взаимодействия с объектами виртуального мира [2].
Основной особенностью ВР является создаваемая для пользователя иллюзия его присутствия в смоделированном компьютером мире — т. н. эффект «дистанционного присутствия». Ощущение дистанционного присутствия в меньшей степени зависит от того, насколько естественным выглядит изображение мира, чем от того, как реалистично воспроизводятся движения и насколько убедительно и быстро ВР реагирует на управляющие воздействия пользователя. Если пользователь располагает особо чувствительными устройствами ввода, например, такими, как цифровые перчатки и виртуальные шлемы, то модель обеспечивается достаточным количеством данных, чтобы надлежащим образом реагировать даже на такие действия пользователя, как поворот головы или движение глаз.
Технологии ВР непрерывно развиваются и широко применяются во многих областях человеческой деятельности, как то: - проектирование и дизайн; - военные разработки; - создание ситуационных центров; - профессиональная подготовка персонала [10]; - строительство; - тренажеры и симуляторы; - маркетинг и реклама; - индустрия развлечений; - добыча полезных ископаемых и др.
Объем рынка технологий виртуальной реальности оценивается в 15 млрд. долларов в год [13]. СВР рассчитаны на «погружение» и взаимодействие с виртуальной средой только одного пользователя. Однако естественным является желание создания такой виртуальной среды, в которой могло бы находиться сразу несколько пользователей, взаимодействующих не только с самой средой, но и друг с другом.
Первой попыткой создания многопользовательской виртуальной среды было подключение к СВР сразу нескольких устройств отображения и соответствующих им устройств ввода. Данный подход позволял генерировать несколько независимых видов виртуальной среды в рамках одной аппаратной системы и управлять сразу несколькими объектами виртуальной среды. Недостатком подхода являлось то, что пользователи, использующие систему, должны были располагаться в непосредственной близости друг к другу (в одном помещении) из-за ограничений на длину соединительных кабелей мониторов и устройств ввода. Кроме того, такая система обладала плохой масштабируемостью, вследствие использования пользователями общих аппаратных ресурсов.
Очевидное решение для преодоления названных недостатков — объединить две или более СВР с помощью компьютерных сетей и организовать между ними обмен данными для создания и поддержания разделяемой между многими пользователями виртуальной среды. Использование сети снимает большинство ограничений на удаленность пользователей, а также устраняет необходимость в раз делении вычислительных ресурсов одной СВР между несколькими пользователями, так как в рамках сети каждому отдельному пользователю соответствует своя СВР. Введем понятие распределенной системы виртуальной реальности.
Определение 1.2. Распределенная система виртуальной реальности (РСВР) — это территориально-распределенный программно-аппаратный комплекс, позволяющий множеству удаленных пользователей погружаться в единую для них виртуальную реальность и осуществлять в ней взаимодействие в реальном времени (см. рис. 1.1).
Взаимодействие пользователей в РСВР В упрощенном виде РСВР можно представить как множество компьютеров (узлов), объединенных сетью, которые вместе образуют единую информационную среду (рис. 1.2). Каждый пользователь может быть представлен в виртуальной среде некоторым объектом, состояние которого (положение в пространстве, скорость и т. д.) контролируется интерактивным программным приложением с трехмерным интерфейсом (именуемым далее процессом), выполняемым на соответствующем узле. Процесс производит визуализацию трехмерного вида виртуальной среды для отдельного пользователя и информирует о совершенных им действиях процессы других пользователей, посылая им сообщения обновления, а также получает сообщения обновления от других пользователей системы. В результате взаимодействия процессов у всех пользователей появляется ощущение присутствия в общем для них виртуальном мире.
Аппаратные ограничения, влияющие на согласованность
Прежде чем переходить к рассмотрению конкретных аспектов согласованности в РСВР, введем формализацию процесса распределенных вычислений в РСВР.
Предлагаемая модель [20, 44] является расширением событийной модели распределенных вычислений [17, 45], которая является удобным и хорошо зарекомендовавшим себя средством описания вычислений в классических распределенных системах.
На программном уровне РСВР представляет собой множество самостоятельных процессов Р = {р1,р2,...,рп], взаимодействующих между собой по сети (множество Р также принято называть распределенной программой). Без потери общности положим, что каждый процесс запускается на отдельном вычислительном узле. Процессы не имеют общей памяти и взаимодействуют друг с другом исключительно на основе передачи сообщений. Через miy обозначим сообщение, посылаемое процессом pi процессу pj, mtj. є М, где М — множество всех сообщений, переданных в системе. Задержка при передаче сообщения является конечной и заранее неизвестной. Процессы не имеют общих глобальных часов, к которым можно получить мгновенный доступ. Выполнение процессов и передача сообщений является асинхронным: процессы могут производить действия в произвольные моменты времени, а посылка сообщений не блокирует процесс вычислений. В РСВР существует дифференциация процессов по функциям, которая, в том числе, связана с применением определенного типа архитектуры взаимодействия процессов. В зависимости от типа выбранной архитектуры, выделяют клиентские (client), серверные (server) и одноранговые (peer) процессы. Взаимодействие процессов осуществляется с помощью определенного высокоуровневого протокола. Протокол определяет правила взаимодействия процессов, формат пересылаемых между процессами сообщений и опирается на базовые сетевые протоколы транспортного уровня.
Под распределенными вычислениями будем понимать выполнение распределенной программы множеством вычислительных узлов, входящих в распределенную систему [45]. Распределенные вычисления в РСВР ориентированы на моделирование и отображение состояния некоторой виртуальной среды. Выполнение каждого процесса распределенной программы можно рассматривать как последовательность действий, моделируемых как три типа событий: внутренние события, события отправки данных и события приема данных. Обозначим через е\ 1-ое событие в z -ом процессе. Примерами событий в РСВР являются различные действия пользователей, такие как создание объектов виртуальной среды, изменение их состояний и т.п.
Возникновение событий изменяет состояния соответствующих процессов и каналов связи, что, в свою очередь, вызывает переход системы в новое глобальное состояние. Внутренние события изменяют только внутренние состояния процессов, в которых они происходят. События отправки (приема) данных изменяют состояние отправляющего (принимающего) процесса и состояние связанного с ним канала связи, по которому производится отправка (прием) сообщения. Для произвольного процесса pi обозначим события отправки и приема некоторого сообщения т как send,{m) и recv m), соответственно.
Определение 2.1. Локальная история /г, процесса /?, во время вычислений есть последовательность событий hi = е,- et et ... .
Пусть h{ = ЄІ ЄІ ... є,- описывает последовательность событий, содержащую первые к событий (hi обозначает пустую последовательность). Важно заметить, что локальная история процесса отражает порядок последовательного выполнения локальных событий. Определение 2.2. Глобальная история вычисления представляет собой множество Н— h\ VJ ... u hn, включающее произошедшие во всех п процессах события.
В асинхронных распределенных системах, где отсутствуют глобальные часы, события могут быть упорядочены только на основе их причинно-следственных связей. Другими словами, два события следуют друг за другом, если возникновение одного события может повлиять на возникновение и исход другого. В асинхронной системе события следуют друг за другом, либо если они порождены одним процессом (являются внутренними событиями процесса), либо если принадлежат разным процессам и соответствуют одному обмену данными. Определим над множеством событий Н бинарное отношение причинности «— », такое, что: Vefye j eH,ef - е) О (і = у) л (& /), или ef = send) {т)л ej = recvj {т ), или (2.1) Зек єЯ:е,. -»еЛ лек -»e, Для некоторых событий глобальной истории причинно-следственная связь может отсутствовать. Если для двух событий е и е возможно выполненеие как условия е — е , так и е — е, то такие события будем называть параллельными и обозначать е \\ е . Формально распределенное вычисление можно представить как частично упорядоченное множество, заданное парой (Н, — ). На рис. 2.1 приведен пример временной диаграммы распределенных вычислений для трех процессов.
Разработка адаптивного метода репликации и предсказания состояний объектов, учитывающего динамику их движения
Архитектура взаимодействия (communication architecture, [63]) определяет, каким образом процессы взаимодействуют между собой (топологию взаимодействия процессов). Основными видами архитектур взаимодействия являются одно ранговая (peero-peer) и клиент-серверная (client/server) архитектуры (рис. 3.2).
Одноранговая архитектура (рис. 3.2.а) представляет собой несколько процессов, объединенных друг с другом сетью передачи данных. Все узлы являются равноправными и могут передавать свои данные любым другим узлам сети. Одноранговая архитектура широко применялась в ранних РСВР, однако, и поныне она пользуется популярностью. Достоинством данной архитектуры является простота её реализации. Однако с ростом количества процессов, число связей между ними быстро увеличивается, начинает лавинообразно нарастать трафик, и сеть быстро становится узким местом, препятствующим росту числа пользователей. Поэтому такую архитектуру используют, когда число процессов в системе невелико, чаще всего в локальных сетях. а) одноранговая {peero-peer) в) мультисерверная (multi-server) б) клиент-серверная {client/server)
Виды архитектур взаимодействия процессов В клиент-серверной архитектуре (client-server — рис. 3.2.6) выделяется один главный процесс, называемый сервером, через который осуществляются коммуникации между остальными процессами системы, называемыми клиентами. Достоинством данной архитектуры является то, что здесь каждый клиент обращается к другим клиентам через сервер и соединён только с ним, т.е. общее число связей в такой сети меньше по сравнению с одноранговой архитектурой. Также становится возможным централизованный контроль и мониторинг состояния клиентов. Причем клиенты могут располагаться как в пределах локальной сети, так и быть разбросанными в пределах сети Интернет. Однако с ростом числа клиентов един ственный сервер быстро становится узким местом архитектуры и начинает плохо справляться со своими основными задачами — моделированием состояния виртуальной среды и обработкой запросов пользователей. По этой причине клиент-серверная архитектура, в основном, применяется при построении РСВР среднего масштаба (до 100 пользователей).
Для дальнейшего увеличения масштаба системы применяют мулътисервер-ную архитектуру [54] (рис. 3.2.в). Мулътисерверная архитектура позволяет распределить обработку большого числа клиентов между несколькими серверами. Данное распределение может осуществляться различными способами, хороший обзор можно найти, например в [53]. Предлагаемый нами подход заключается в следующем. Все пространство виртуального мира разделяется на зоны определенного размера и формы. За обработку и моделирование состояния виртуальной среды в рамках одной зоны отвечает отдельный сервер. За счет этого нагрузка, приходящаяся на один сервер, снижается, следовательно, сокращается и время обслуживания одного клиента. Кроме того, появляется возможность моделирования больших по протяженности виртуальных миров. Причем для обеспечения взаимодействия серверов предлагается не использовать сложных древовидных архитектур, а располагать все серверы на одном уровне иерархии: каждый сервер соединяется только с серверами, обрабатывающими смежные зоны в виртуальном мире. Распределением нагрузки по серверам (назначением зон) должен заниматься отдельный управляющий сервер.
Исходя из того, что в данной работе основное внимание уделяется разработке РСВР среднего масштаба, в дальнейшем в качестве архитектуры взаимодействия процессов будем рассматривать клиент-серверную архитектуру.
На эффективность использования пропускной способности сети в РСВР может оказывать влияние способ, с помощью которого осуществляется пересылка, данных. Существует три основных способа посылки данных: однонаправленная {unicast — рис. З.З.а), групповая {multicast — рис. 3.3.б) и широковещательная передачи {broadcast — рис. 3.3.в).
Однонаправленная передача организует взаимодействие между одиночным отправителем и одиночным получателем посредством отправки одиночных пакетов, позволяя контролировать и направлять поток данных между ними. Однако, если одно сообщение должно быть доставлено множеству получателей, то посылка его каждому получателю персонально становится неэффективной, поскольку канал заполняется лишними данными. В таких случаях используется групповая передача, которая позволяет группировать получателей. В этом случае отправителю достаточно послать всего одно сообщение, чтобы доставить его всем пользователям группы. Групповая передача обеспечивает эффективный способ распространения информации среди большого числа узлов сети. Однако не всякое сетевое оборудование поддерживает групповую передачу, поэтому область её охвата обычно ограничивается одним сегментом сети.
Широковещательная передача отличается от групповой тем, что сообщение, сгенерированное одним пользователем подсети, доставляется сразу всем другим пользователям этой подсети. Данный вид передачи может приводить к проблемам с ростом числа пользователей сети, поскольку широковещательные сообщения сильно загружает сеть. Обычно сетевое оборудование (коммутаторы) настраивают так, чтобы не выпускать широковещательные сообщения за пределы конкретного сетевого сегмента, поэтому широковещательная передача при всей своей простоте не может применяться в масштабах больших сетей, содержащих множе ство сегментов. Однако широковещательная рассылка хорошо себя зарекомендовала в небольших РСВР, построенных на базе специализированных выделенных сетей (например, в авиатренажерах).
В РСВР в основном используются однонаправленная и многоадресная передачи. Применяемый способ посылки данных определяется классом самой системы, областью её применения и используемыми алгоритмами распределения данных между пользователями. Так, если система рассчитана на использование в рамках одной локальной сети, то довольно часто используют многоадресную рассылку. Её также имеет смысл применять при большом числе одновременно подключаемых к системе пользователей для уменьшения общей загрузки сети, создавая отдельные группы пользователей, например, по принципу их территориальной расположения в рамках виртуального мира. Однако, в случае использования глобально-распределенной системы, состоящей из множества удаленных компьютеров, соединенных через Internet, многоадресная рассылка перестает работать и единственным вариантом остается использование однонаправленной передачи.
Основные виды авиационных тренажеров
В зависимости от типа, а также индивидуальных особенностей объектов виртуальной среды, их состояния могут включать множество различных атрибутов. Так, состояние статического объекта может содержать координаты объекта, его размеры, форму, уровень детализации полигональной сетки и т.д. Состояние динамического объекта дополнительно может включать скорость, ускорение, значения сил и моментов. Соответственно, для обеспечения полностью согласованного взаимодействия пользователей необходима согласованность (видовая) по всем этим параметрам.
Так как взаимодействие пользователей в РСВР происходит в реальном времени, то моделирование и, особенно, визуализация состояния виртуальной среды должно производиться с высокой частотой (по современным требованиям — не ниже 60 Гц). Пересылка полных состояний объектов с такой частотой потребовала бы очень высокой пропускной способности каналов передачи данных — такой подход оказывается накладным. Кроме того, полное состояние объекта часто является избыточным и необходимо лишь на стороне процесса источника данных, непосредственно управляющего объектом, для точного моделирования его состояния. В большинстве случаев для остальных процессов нет необходимости полностью моделировать состояние объекта, достаточно лишь поддерживать некую его упрощенную модель. Соответственно, для них не нужно передавать специфические характеристики объекта. Например, для динамических объектов можно не передавать значения сил и моментов, ограничившись лишь скоростью и ускорением.
Основная идея принципа «избирательной согласованности» — выделить наиболее значимые для конкретной задачи атрибуты состояния объекта и поддерживать согласованность только по ним. Данные атрибуты могут быть выбраны на основе различных соображений, среди которых наиболее важное — человеческое восприятие.
Таким образом, принцип допускает, что между локальными состояниями процессов пользователей могут быть различия, но они являются малозаметными для восприятия. В результате, появляется возможность найти компромисс между согласованностью и аппаратными ограничениями (такими как пропускная способность и латентность сети) [62, 63].
Главные особенности принципа «избирательной согласованности»: а) динамический выбор параметров состояния объектов виртуальной сре ды, подлежащих репликации; б) управление частотой репликации атрибутов на основе задаваемых меха низмов репликации; в) использование «дельта-компрессии» при сериализации объектов; г) применение упрощенных моделей объектов на процессах-приемниках данных при одновременном использовании методов предсказания состояний объ ектов.
Высокоуровневый протокол предоставляет разработчику возможность гибкого управления репликацией атрибутов состояний объектов при изменении их значений. Разработчик (пользователь) может выбирать между четырьмя основными механизмами репликации: - явная репликация (механизм Serialize-Manually — SM) — репликация значения атрибута производится только при явном указании (вызове метода Seri-alizeQ у атрибута); — репликация при каждом локальном изменении значения атрибута (механизм Serialize-on-Every-Change — SEC) —изменение значение атрибута на каком-либо процессе ведет к немедленной репликации нового значения на другие процессы системы; — периодическая репликация с заданной частотой (механизм Serialize-with-Constant-Rate — SCR) — значение атрибута реплицируется с заданной разработчиком частотой; — репликация по условию — с переменной частотой (механизм Serialize-with-Variable-Rate — SVR) — разработчик назначает для атрибута логическое выражение (условие), используемое для определения необходимости репликации его значения.
Механизм SM соответствует положению а) Принципа, предоставляя возможность отключать автоматическую репликацию у нужных атрибутов. Пример использования данного механизма — предлагаемый в данной работе адаптивный метод предсказания состояния объектов (см. пункт 3.3.3), позволяющий отслеживать динамику движения объектов и, в зависимости от этого выбирать параметры, подлежащие репликации. Остальные три механизма соответствуют положению б) Принципа, позволяя в широких пределах варьировать частоту репликации атрибутов состояний объектов виртуальной среды.
Перечисленные механизмы позволяют более эффективно использовать пропускную способность сети и, по сути, задают различные уровни качества обслуживания (Ouality-of-Service, QOS) для пользователей на уровне отдельных атрибутов объектов. Причем в качестве показателя качества обслуживания выступает уровень согласованности взаимодействия.
Среди всех механизмов репликации наивысший уровень качества обслуживания задает механизм SEC Он же характеризуется наибольшей загрузкой сети. Уровень обслуживания, соответствующий механизму SCR, является более низким, поскольку не все изменения значений атрибутов передаются по сети, что ведет к снижению согласованности состояний объектов. Однако данный уровень