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

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

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

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

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

Вторую тематическую статью — «Second Life и новое поколение виртуальных миров» (Second Life and the New Generation of Virtual Worlds) — представили Санджив Кумар, Джатин Чхугани, Чанг Кью Ким, Дей Хьюн Ким, Энтони Нгуен, Прадид Дюбей, Кристиман Байниа и Янг Мин Ким.

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

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

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

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

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

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

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

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

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

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

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

Однако основная часть метавселенных открыта для всех желающих и служит средством поддержки социальных сетей, коммерции, образования и развлечений с некоторыми элементами фэнтези. Первая метавселенная, CitySpace, была представлена на конференции SIGGRAPH в 1993 году и поддерживалась до 1996 года. С тех пор появилось множество метавселенных, к числу которых относятся Active Worlds и There.

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

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

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

Физические лица, коммерческие компании и госучреждения совместно используют гигантские объемы данных с применением самых разнообразных технологий: Web-сервисов, хранилищ данных, порталов, каналов RSS и одноранговых систем разделения файлов. Совместное использование данных в науке привело к появлению новой дисциплины — науки, управляемой данными (data-driven science), в которой исследователи используют крупные массивы данных, такие как базы данных геномов и цифровые обсерватории, для генерации и проверки новых гипотез. Среды совместного использования данных значительно расширяются. Например, спустя три года после образования одноранговой сети Gnutella в ней присутствовало 100 тыс. узлов с 20 млн файлов.

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

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

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

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

Олав Лисне, Свен-Арне Рейнемо, Тор Скейе, Осхильд Гронстад Солхейм, Томас Содринг, Ларс Пауль Хьюзе, Бьорн Даг Йонсен представили статью «Сети межсоединений: архитектурные проблемы центров обработки данных, предоставляющих коммунальные компьютерные услуги» (Interconnection Networks: Architectural Challenges for Utility Computing Data Centers).

Рис. 1. Сцены из Second LifeНесколько лет назад внимание ИТ-сообщества привлекла концепция grid-сред. Идея, что вычислительная мощность должна стать доступной в Internet так же, как электрическая энергия доступна в электрических сетях, побудила исследователей во всем мире к выполнению новых проектов. Хотя, как кажется, академический интерес к grid ослаб, эта идея привела к осознанию нового режима использования центров обработки данных, часто называемого режимом предоставления «коммунальных компьютерных услуг» (Utility Computing). В этом режиме система предоставляет ресурсы потребителям по требованию, и обычно потребители платят только за те ресурсы, которые они запросили, и за время, в течение которого эти ресурсы использовались. Для капитализации этой модели поставщики обеспечивают различные решения коммунальных услуг, такие как N1 компании Sun Microsystems, HP Adaptive Enterprise и IBM E-Business On Demand. К числу последних примеров систем коммунальных компьютерных услуг относятся Sun Grid Compute Utility и Amazon Elastic Compute Cloud.

ЦОД, предоставляющий коммунальные компьютерные ресурсы (Utility Computing Data Center, UCDC), динамически создает виртуальные серверы, обладающие набором доступных ресурсов в соответствии с требованиями пользователей. Сервисы, поддерживаемые UCDC, обычно обладают разными характеристиками: разные потребности в ресурсах, время работы, качество программного обеспечения, требования к безопасности и т.д. Кроме предоставления классических высокопроизводительных приложений, сервис может заключаться, например, в создании и поддержке специального сайта футбольного чемпионата в течение двух месяцев.

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

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

Последняя большая статья номера называется «Синтаксический разбор XML-документов: рабочие характеристики» (XML Document Parsing: Operational and Performance Characteristics). Статью написали Тэк Чеун Лэм, Джианксим Джэсон Динг и Джих-Чарн Лиу.

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

Как показано на рис. 2, при обработке 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 — хороший кандидат на аппаратное ускорение из-за использования симметричной структуры данных в виде массива, однако вопрос эффективности использования коммерческих аппаратных ускорителей в приложениях реального мира открыт.

Следует также обратить внимание на заметку «Навстречу Семантической Глубокой Всемирной Паутине» (Toward the Semantic Deep Web), которую написали Джеймс Геллер, Сун Эй Чун и Ю Джанг Энн.

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

Для решения проблем обеспечения доступа к изобильным внутренним данным Deep Web, а также конструирования и использования онтологий авторы предлагают концепцию Семантической Глубокой Всемирной Паутины (Semantic Deep Web). Semantic Deep Web состоит из элементов Deep Web и Semantic Web, в частности, скрытых внутренних источников данных, интерфейса или сервисов Deep 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 (swoogle.umbc.edu).

Приближается конец года, и я хочу напомнить, что пора позаботиться о членстве в IEEE Computer Society в 2009 году (подробности на http://www.computer.org/portal/site/ieeecs/index.jsp). До следующей встречи, Сергей Кузнецов (kuzloc@ispras.ru).


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