BC/NW 2006, №2, (9) :8.2

 

ОРГАНИЗАЦИЯ СОГЛАСОВАННОГО СЕТЕВОГО ВЗАИМОДЕЙСТВИЯ УДАЛЕННЫХ ПОЛЬЗОВАТЕЛЕЙ В РАСПРЕДЕЛЁННЫХ СИСТЕМАХ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ

 

В. Ю. Харитонов

 

(Москва, Московский энергетический институт (ТУ), Российская Федерация)

 

В последнее время с ростом пропускной способности вычислительных сетей и расширением графических возможностей ПК растет интерес к рас­пределенным системам виртуальной реальности, позволяющим множеству пользователей, объединенных сетью, осуществлять взаимодействие (в том числе и визуальное) в единой трёхмерной виртуальной среде. Каждый поль­зователь представлен в виртуальной среде некоторым объектом, состояние (положение в пространстве, скорость, ускорение и т. д.) которого контроли­руется с помощью интерактивной программы, устанавливаемой на его ра­бочей станции. Данная программа позволяет пользователю «погружаться» в виртуальную среду за счет динамической визуализации вида, наблюдаемого с его текущей позиции в виртуальной среде. Примерами распределенных систем виртуальной реальности являются различные обучающие симулято­ры и тренажеры, а также сетевые компьютерные игры [1].

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

 

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

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

Если же говорить про латентность, то она определяет время, за которое сообщение доходит от одного узла сети до другого. Окончательно скрыть или замаскировать её невозможно. Например, задержка сигнала при пере­сечении Атлантики, в среднем, составляет 25–30 мс. Более того, маршру­тизация, формирование очередей в каналах и обработка пакетов добавляют еще несколько десятков мс к указанному времени.

Для пользователя латентность становится заметной и осязаемой, начи­ная со значения порядка 200 мс. Распределённые системы виртуальной ре­альности являются особенно чувствительными к значению латентности, поскольку в них производится управление процессами в реальном време­ни. В таких системах при больших значениях латентности пользователь, даже имея канал с большой пропускной способностью, не сможет адекват­но реагировать на изменения состояния виртуальной среды, поскольку ин­формация об этих изменениях будет поступать к нему с задержкой. Кроме того, латентность может изменяться во времени (особенно это заметно в сети Интернет), создавая дополнительные неудобства пользователю.

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

Поскольку полностью преодолеть физические ограничения, возникаю­щие при построении распределённых систем виртуальной реальности, не представляется возможным, появляется необходимость в применении мето­дов, позволяющих сократить объем трафика, передаваемого по сети, а также «замаскировать» задержки передачи данных от узла к узлу. К числу таких методов относятся технологии компенсации (compensatory techniques) [2].

Одной из технологий компенсации является технология компрессии дан­ных и их группировки (message compression and aggregation). С помощью компрессии данных ценой вычислительной мощности узлов можно умень­шить используемую полосу пропускания канала. Группировка данных по­зволяет сократить частоту пересылки данных за счет увеличения размера посылок (вместо нескольких одиночных сообщений посылается одно, включающее все одиночные – экономия на лишних заголовках сообщений).

Другой технологией компенсации является т. н. «взаимодействие по ин­тересам» (interest management), которая позволяет одним пользователям распределенной системы виртуальной реальности взаимодействовать только с теми другими пользователями, которые наиболее важны для них в данный момент. Тем самым экономится пропускная способность каналов передачи данных в сети.

Каждый объект виртуальной среды имеет свою «область интереса», ко­торая определяет подпространство его взаимодействия с другими объекта­ми. До тех пор, пока «области» двух объектов не пересекаются, они не об­мениваются информацией и, в общем случае, «не видят» друг друга. Как только их «области интереса» начинают соприкасаться, объекты попадают в зону видимости друг друга и начинают взаимодействовать. Взаимодей­ствие по интересам всегда симметрично: если «области» пересекаются, то обе стороны начинают получать сообщения друг от друга.

Технология «взаимодействия по интересам» может использоваться вме­сте с сетевой технологией множественной рассылки (multicasting), которая позволяет передавать пакеты в сети от одного отправителя сразу несколь­ким получателям, объединённым в группу с общим адресом.

Существуют два подхода формирования групп [2]. В первом подходе (group-per-object allocation) каждому объекту виртуальной среды назначает­ся своя собственная группа множественной рассылки, состоящая из тех объ­ектов, которые попадают в его «область интереса». Во втором подходе груп­пы создаются по территориальному принципу (group-per-region allocation) — виртуальная среда делится на регионы, каждый из которых имеет собст­венную группу множественной рассылки. В обоих подходах каждый объект при изменении своего состояния сообщает об этом связанной с ним группе.

Еще одной технологией компенсации является технология предсказания перемещения (в общем случае, состояния) объектов [2] (dead reckoning — рисунок 3), которая применяется в распределенных системах виртуальной реальности для предсказания одними объектами состояний других объек­тов. Благодаря этой технологии можно увеличить интервал между после­довательными посылками данных от одного объекта другому и, тем са­мым, скрыть латентность передачи данных по сети.

Рассмотрим работу технологии на примере двух объектов A и B. Когда объект B принимает очередное сообщение обновления от объекта A, он из­меняет свою базу данных о состоянии виртуального мира, занося в нее но­вое состояние объекта A. До прихода следующей порции данных объект B вычисляет новое состояние объекта A, экстраполируя его из последнего принятого. При этом, для определения того, как часто сообщать объекту A об изменении своего состояния, объект B может сам использовать техно­логию предсказания перемещения, посылая объекту A обновления только тогда, когда разница между реальным и расчетным состояниями превысит определенное значение.

Рисунок 1 — Технология предсказания перемещения с применением плавной коррекции траектории.

При использовании технологии предсказания в процессе экстраполяции траектории объектов может накапливаться значительная ошибка. Для того чтобы избежать резких, скачкообразных движений объектов при приеме сообщений обновления, применяется плавная коррекция траектории (convergence technique — рисунок 1). Данная технология позволяет сделать об­новление состояния объекта незаметным с использованием интерполяции, как линейной, так и более высокого порядка.

 

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

ЛИТЕРАТУРА

1.     Juri Munnkki. Design and Implementation of Networked Games. http://www.hut.fi/~jmunkki/netgames.

2.     J. Smed, T. Kaukoranta, and H. Hakonen. Aspects of networking in multiplayer computer games. In L. W. Sing, W. H. Man, and W. Wai, editors, Proceedings of International Conference on Application and Development of Computer Games in the 21st Century, pages 74–81, Hong Kong SAR, China, Nov. 2001.

3.     Харитонов В.Ю. «Сетевая модель воспроизведения группового поле­та над местностью», Труды международной технической конферен­ции «Информационные средства и технологии». Москва, МЭИ, 18-20 октября 2005г., в 3-х т.т. Т3. — М.: Янус-К, 2005. — с. 138 – 141.