Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!
2009 г.

Вторая жизнь в виртуальных мирах

Сергей Кузнецов

Обзор сентябрьского 2008 г. номера журнала Computer (IEEE Computer Society, V. 41, No 9, September 2008).

Авторская редакция.
Также обзор опубликован в журнале "Открытые системы"

Объявленной темой сентябрьского номера в этом году являются «виртуальные миры» (Virtual Worlds). Однако этой теме посвящены только две большие статьи, и отсутствуют приглашенные редакторы, а значит, и вводная заметка. Тем не менее, начну обзор с этих двух статей.

Первую статью написал Карл Симборски (Carl Symborski, Science Applications International Corporation). Статья называется «Масштабируемое распределение пользовательского контента для глобальных многопользовательских онлайновых миров» («Scalable User Content Distribution for Massively Multiplayer Online Worlds»).

Глобальные многопользовательские онлайновые игры (Massively Multiplayer Online Game, MMOG) становятся одними из наиболее популярных многопользовательских сетевых приложений. Примерами MMOG являются EverQuest компании Sony и World of Warcraft компании Blizzard. В этих MMOG обеспечивается структурированная виртуальная среда, в которой игроки могут взаимодействовать с другими игроками, преследуя общие цели или конкурируя собой, и достигая, таким образом, развития общественных связей.

Глобальные многопользовательские виртуальные миры (Massively Multiplayer Online World, MMOW) представляют собой отдельный класс многопользовательских сетевых приложений. Примерами существующих MMOW-сервисов являются There компании Makena Technologies и Second Life компании Linden Lab. Отличием MMOW от MMOG является то, что сервис MMOW обеспечивает неструктурированную виртуальную среду, включающую механизмы, которые позволяют не только разработчикам, но и игрокам определять новые оригинальные объекты и поведение персонажей. Пользователи могут создавать свой собственный контент для пристраивания требуемого им виртуального мира.

Однако технические требования, возникающие при поддержке контента, создаваемого пользователями, превосходят требования к пропускной способности сервера, клиента и сети, удовлетворяющие большинство успешных MMOG. Автор анализирует эту проблему путем сравнения нагрузки на пропускную способность сети при использовании MMOG и сервисов MMOW.

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

Предлагается подход, позволяющий сократить уровень требований к пропускной способности сети со стороны серверов и клиентов MMOW при распространении или обновлении контента, созданного пользователями. Предлагаемая архитектура включает три механизма. Первый из них отождествляет пользовательский контент не с индивидуальными сущностями или файлами, а с совокупными коллекциями, идентифицируемыми сводными описателями. Второй механизм – процедура согласования (reconciliation) данных позволяет пользовательскому клиенту управлять передачей требуемого контента от серверов MMOW к этому клиенту. В третьем механизме используется иерархия сервисов загрузки, реализованная на основе сервиса CDN (Content Delivery Network). Сводные описатели обеспечивают инфраструктуру для отображения пользовательского контента в объекты, которыми может управлять CDN. Эти понятия являются основой философии загрузки распределенного пользовательского контента, которая потенциально позволяет масштабировать сервисы MMOW при возрастании числа игроков.

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

Вторая тематическая статья – «Second Life и новое поколение виртуальных миров» («Second Life and the New Generation of Virtual Worlds») – представлена Сандживом Кумаром, Джатином Чхугани, Чангкью Кимом, Дейхьюном Кимом, Энтони Нгуеном, Прадидом Дюбеем, Кристиманом Байниа и Янгмином Кимом (Sanjeev Kumar, Jatin Chhugani, Changkyu Kim, Daehyun Kim, daehyun.kim@intel.com, Anthony Nguyen, Pradeep Dubey, Intel, Christian Bienia, Princeton University, Youngmin Kim, University of Maryland).

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

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

Трехмерные виртуальные миры можно грубо классифицировать на онлайновые игры и метавселенные (metaverse). Онлайновые игры существуют уже более десяти лет. Некоторые из них, например, «стрелялки» типа Quake разрабатывались в расчете на небольшие группы совместно играющих пользователей (до десяти человек). Глобальные многопользовательские онлайновые игры (MMOG) разрабатывались с учетом возможности масштабирования до тысяч одновременных участников игры.

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

Для реализации сервера, поддерживающего MMOG с тысячами одновременных игроков (например, EVE Online (www.eve-online.com) или World of Warcraft (www.worldofwarcraft.com)), требуется кластер машин. Такой кластер разбивается на шарды (shard), каждый из которых поддерживает конкретный экземпляр данного виртуального мира. В начале каждой своей игровой сессии игрок выбирает шард и в течение данной сессии взаимодействует только с игроками в этом шарде.

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

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

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

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

Метавселенные становятся чрезвычайно популярными среди миллионов активных пользователей по всему миру. Расширяющийся набор метавселенных, применяющихся при организации социальных сетей, в средах коллективной работы (workplace collaboration), розничной торговле, виртуальном туризме, маркетинге, при обучении поведению в чрезвычайных ситуациях и в искусстве, часто называют 3D-Internet.

Доступ в некоторые виртуальные миры предоставляется только отдельным группам пользователей. Например, компания Forterra Systems создает и поддерживает частные виртуальные миры на основе своей платформы On-Line Interactive Virtual Environment. Эти метавселенные ориентированы на обучение персонала или на поддержку коллективного принятия решений и в них обычно воспроизводятся местоположения реального мира.

Однако большая часть метавселенных открыта для всех пользователей и служит средством поддержки социальных сетей, коммерции, образования и развлечений с некоторыми элементами фэнтези. Первая метавселенная, CitySpace, была представлена на конференции SIGGRAPH в 1993 г. и поддерживалась до 1996 г. (http://en.wikipedia.org/wiki/Cityspace). С тех пор появилось множество метавселенных, к числу которых относятся Active Worlds (www.activeworlds.com) и There (www.there.com).

В настоящее время наиболее популярной метавселенной является Second Life компании Linden Lab, в которой в виртуальной форме присутствуют многие корпорации, университеты, города, посольства, творческие работники и простые люди. На рисунке показаны скриншоты трех регионов Second Life: футуристический город Miramare, шведское посольство, созданное Шведским институтом (Swedish Institute) и остров, созданный международной PR-компанией Edelman.


Сцены из Second Life, слева направо:
Miramare; шведское посольство; остров Edelman

Вычислительные и коммуникационные требования метавселенных значительно превосходят требования онлайновых игр. Например, один сервер может обслуживать несколько тысяч клиентов MMOG, но лишь около сорока клиентов Second Life. Для лучшего понимания этого нового вида приложений авторы произвели детальный анализ архитектуры Second Life, а также технических требований этой метавселенной к клиентам, серверам и сети.

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

Авторами статьи «Делятся все: проблема систем с совместным использованием данных» («Everybody Share: The Challenge of Data-Sharing Systems») являются Кен Смит, Лен Селигман и Випин Сварап (Ken Smith, Len Seligman, Vipin Swarup, The Mitre Corporation).

Физические лица, коммерческие предприятия и правительственные учреждения совместно используют гигантские объемы данных с использованием самых разнообразных технологий: Web-сервисов, хранилищ данных, порталов, каналов RSS и пиринговых (peer-to-peer, P2P) систем разделения файлов. Совместное использование данных в науке привело к появлению новой поддисциплины – науки, управляемой данными (data-driven science), в которой исследователи используют крупные массивы данных, такие как геномные базы данных и цифровые обсерватории (digital sky survey) для генерации и проверки новых гипотез. Среды совместного использования данных значительно расширяются. Например, спустя три года после образования пиринговой сети Gnutella в ней присутствовало 100000 узлов с 20000000 файлов.

На фоне успешного совместного использования данных повышается уровень требований. По мнению антитеррористической комиссии правительства США (комиссия 9/11), несовершенное совместное использование данных является ключевой помехой при предотвращении террористических атак. Основной проблемой деятельности по борьбе со вспышками пандемий является обеспечение возможности совместного использования данных «биоконтроля» (biosurveillance) правительственным учреждениям, госпиталям и другим организациям.

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

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

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

Олав Лисне, Свен-Арне Рейнемо, Тор Скейе, Осхильд Гронстад Солхейм, Томас Содринг, Ларс Пауль Хьюзе, Бьорн Даг Йонсен (Olav Lysne, Sven-Arne Reinemo, Tor Skeie, Åshild Grønstad Solheim, Thomas Sødring, University of Oslo, Lars Paul Huse, Bjørn Dag Johnsen, Sun Microsystems, Oslo) представили статью «Сети межсоединений: архитектурные проблемы центров данных, предоставляющих коммунальные вычислительные услуги» («Interconnection Networks: Architectural Challenges for Utility Computing Data Centers»).

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

Хотя, как кажется, академический интерес к вычислительным гридам ослаб, эта идея привела к осознанию нового режима использования вычислительных центров данных, часто называемого режимом предоставления коммунальных вычислительных услуг (utility computing). В этом режиме система предоставляет ресурсы потребителям по требованию, в котором напрашивается поднабор ресурсов центра данных на определенное время. Обычно потребители платят только за те ресурсы, которые они требовали, и за то время, в течение которого эти ресурсы использовались. Для капитализации этой модели поставщики обеспечивают различные решения коммунальных вычислительных услуг, такие как N1 компании Sun Microsystems, Adaptive Enterprise компании Hewlett-Packard и E-Business On Demand компании IBM. К числу последних примеров систем коммунальных вычислительных услуг относятся Grid Compute Utility компании Sun Microsystems и Elastic Compute Cloud компании Amazon.

Центр данных, предоставляющий коммунальные вычислительные ресурсы (utility computing data center, UCDC) динамически создает виртуальные серверы, обладающие набором доступных ресурсов в соответствии с требованиями пользователей. Сервисы, поддерживаемые UCDC, обычно обладают разными характеристиками: разные потребности в ресурсах, время работы, качество программного обеспечения, требования к безопасности и т.д. Кроме классических высокопроизводительных приложений, сервис может заключаться, например, в создании и поддержке специального Web-сайта футбольного чемпионата в течение двух месяцев.

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

В исследованиях сетей межсоединений обычно предполагается, что система одновременно может выполнять только один класс работ, и что задачей сети межсоединений является максимизация общей производительности. Различные требования к UCDC порождают ряд проблем, которые раньше исследовались крайне незначительно. Авторы полагают, что развернутые исследования в области сетей межсоединений позволят поддерживать такую же «бесшовную» виртуализацию, как та, которая обеспечивается, например, в процессорах. Таким образом, развитие технологии сетей межсоединений ставит новые проблемы, но и обеспечивает новые возможности развития UCDC.

Последняя большая статья сентябрьского номера называется «Парсинг XML-документов: рабочие характеристики» («XML Document Parsing: Operational and Performance Characteristics»). Статью написали Тэк Чеунг (Брайан) Лэм, Джианксим Джэсон Динг и Джих-Чарн Лиу (Tak Cheung (Brian) Lam, Jianxun Jason Ding, Cisco Systems, Jyh-Charn Liu, Texas A&M University).

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

Рисунок: фазы обработки XML и шаги парсинга. Трехступенчатый процесс парсинга является наиболее дорогостоящей операцией обработки XML

Как показывает рисунок, при обработке XML имеются четыре фазы: парсинг, доступ, модификация и сериализация. Хотя парсинг является наиболее дорогостоящей операцией, не проводились детальные исследования, в которых бы сравнивались шаги обработки и соответствующие накладные расходы разных моделей парсинга, альтернативные способы доступа к разобранным данным и их модификации, а также требования к доступу и модификации со стороны XML-ориентированных приложений.

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

Чтобы помочь разработчикам сделать разумный выбор модели парсинга для своих целевых приложений, авторы сравнивают представления данных для четырех представительных моделей парсинга: document object model (DOM; www.w3.org/DOM), simple API for XML(SAX; www.saxproject.org), streaming API for XML (StAX; http://jcp.org/en/jsr/detail?id=173) и virtual token descriptor (VTD; http://vtd-xml.sourceforge.net). Эти представления данных приводят к разным рабочим характеристикам.

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

Анализ моделей парсинга позволил авторам придти к следующим выводам. Модели DOM и VTD хорошо подходят для возвратно-поступательного режима обработки XML-документов. Парсинг на основе модели VTD работает быстрее парсинга на основе DOM и потребляет меньше памяти. VTD лучше подходит для приложений с простыми и редкими модификациями XML. Модели SAX и StAX пригодны для приложений с очень ограниченной памятью, не нуждающихся в возвратно-поступательном доступе к XML.

Короче говоря, DOM более всего подходит для приложений баз данных, а SAX и StAX – для потоковых приложений. VTD является хорошим кандидатом на аппаратное ускорение из-за использования симметричной структуры данных в виде массива, но открытым вопросом является эффективность использования коммерческих аппаратных ускорителей в приложениях реального мира.

На мой взгляд, следует также обратить внимание на заметку, опубликованную в колонке «IT Systems Perpectives». Эта заметка называется «Навстречу Семантической Глубокой Всемирной Паутине» («Toward the Semantic Deep Web») и написана Джеймсом Геллером, Суном Эйем Чуном и Ю Джангом Энном (James Geller, New Jersey Institute of Technology, Soon Ae Chun, City University of New York, Yoo Jung An, Fairleigh Dickinson University).

Многие организации генерируют внутренние данные (backend data), которые можно выбрать только динамически через интерфейсы на основе Web-форм, и которые, тем самым, не индексируются традиционными поисковыми машинами. Этот скрытый, невидимый и не индексируемый контент называется Глубокой Паутиной (Deep Web), и его размер в тысячи раз больше размера контента «поверхностной» Всемирной Паутины.

Для решения проблем обеспечения доступа к изобильным внутренним данным Deep Web, а также конструирования и использования онтологий авторы предлагают концепцию Семантической Глубокой Всемирной Паутины (Semantic Deep Web). Semantic Deep Web состоит из элементов Deep Web и Semantic Web, в частности, скрытых внутренних источников данных, интерфейса или сервисов Deep Web для доступа к этим источникам данных, а также программ манипулирования онтологиями.

Важно не путать Semantic Deep Web с Глубокой Семантической Паутиной (Deep Semantic Web), которая является частью исходной концепции Semantic Web. Deep Semantic Web означает более сложные и ориентированные на использование методов искусственного интеллекта слои так называемого «слоистого пирога» Semantic Web. В то же время, в Semantic Deep Web аспекты Semantic Web комбинируются с использованием браузеров, в которых применяются онтологии, для извлечения информации из Deep Web.

Основными целями Semantic Deep Web являются обеспечение доступа к данным Глубокой Паутины на основе различных Web-технологий и реализация концепции Семантической Паутины за счет обогащения отнологий с использованием этих данных. К числу исследовательских направлений Semantic Deep Web относится следующее:

  • извлечение информации из Deep Web, в частности, из сайтов электронной коммерции;
  • семантическое аннотирование и индексация Deep Web;
  • обеспечение понимания схемы Deep Web на основе семантики данных;
  • организация поисковых машин для Semantic Deep Web;
  • интеграция и интероперабельность данных Semantic Deep Web;
  • семантический просмотр и визуализация данных Deep Web;
  • полуавтоматическая генерация онтологий на основе Deep Web;
  • качество онтологий;
  • качество поиска и релевантность результатов.

В Semantic Deep Web для доступа к Deep Web используются два основных подхода, основанных на технологиях Semantic Web. В обоих подходах требуется краулер Semantic Deep Web.

В первом подходе, называемом авторами поиском с подключением онтологий (ontology plug-in search), онтология предметной области обогащается семантикой данных Deep Web, так что ее можно использовать для повышения качества результатов запросов, обрабатываемых традиционными поисковыми машинами типа Google. Второй подход – аннотирование сервисов Deep Web (Deep Web service annotation) – состоит в том, что сервисы Deep Web (сайты, поддерживающие формы для доступа к внутренним данным) аннотируются семантикой данных Deep Web. Получаемые семантически аннотированные документы после этого можно искать с использованием поисковых машин Semantic Web, таких как Swoogle.

Первым шагом на пути создания исследовательского сообщества Semantic Deep Web явился первый международный семинар «The Semantic Web Meets the Deep Web», прошедший в Вашингтоне в июле 2008 г.

Новости мира IT:

Архив новостей

Последние комментарии:

Релиз ядра Linux 4.14  (6)
Пятница 17.11, 16:12
Apple запустила Pay Cash (2)
Четверг 09.11, 21:15
Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...