Распределенная сетевая архитектура для введения динамического информационного содержимого в синтезированную среду
Иллюстрации
Показать всеИзобретение относится к компьютерному моделированию и к генерации синтезированных сред. Техническим результатом является расширение функциональных возможностей генерирования синтезированных сред за счет введения динамического информационного содержимого. Варианты осуществления настоящего изобретения относятся, в общем случае, к компьютерному моделированию и к генерации синтезированных сред, и, в частности, к системе, к считываемому посредством компьютера носителю информации, к способу и к устройству для генерации синтезированных сред в распределенной архитектуре, предназначенным, помимо прочего, для введения динамического информационного содержимого. В одном из вариантов осуществления изобретения в компьютерной платформе для генерации синтезированных сред может быть реализована универсальная структура данных и система обмена сообщениями для облегчения генерации синтезированных сред. 7 н. и 56 з.п. ф-лы, 24 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Варианты осуществления настоящего изобретения относятся, в общем случае, к компьютерному моделированию и к генерации синтезированной среды, и, в частности, к системе, к считываемому посредством компьютера носителю информации, к способу и к устройству для генерации синтезированных сред в распределенной архитектуре, предназначенным, помимо прочего, для введения динамического информационного содержимого.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Традиционные способы разработки и моделирования генерируемых посредством компьютера сред, таких как, например, виртуальные миры в глобальных многопользовательских онлайн-играх (massively multiplayer online ("MMO") games), не обеспечивают быстрое обеспечение эффективной разработки и создания новых или видоизмененных виртуальных миров. Кроме того, обычные игровые компьютерные платформы для генерации виртуальных миров являются дополнительной помехой для разработки и создания виртуальных миров, в особенности, применительно к глобальным многопользовательским онлайн-играм. Как правило, обычные игровые компьютерные платформы используют для создания виртуального мира набор игровых серверов, причем каждый дополнительный набор игровых серверов используют для создания копии виртуального мира. Такие копии обычно именуют "шардами" ("shards"). Традиционные игровые компьютерные платформы обычно разделяют географию каждого виртуального мира на разделы и выделяют один игровой сервер для генерации каждого одиночного раздела. Игровой сервер, сконфигурированный для генерации раздела виртуального мира, обычно именуют "сервером области" ("area server"). Кроме того, некоторые обычные игровые серверы являются монолитными, а это означает следующее: установлено, что все игровые процессы для генерации раздела виртуального мира выполняются в одиночном процессе и/или сервере. Несмотря на то, что обычные игровые компьютерные платформы, а также традиционные подходы к разработке создаваемых посредством компьютера миров, являются работоспособными, существует множество недостатков, связанных с ними.
Недостаток некоторых обычных игровых компьютерных платформ состоит в том, что для раздела виртуального мира они выделяют один игровой сервер. По существу, игровой сервер и его функциональные возможности обычно непосредственно связаны с разделом и с его действиями. Следовательно, производительность географически связанного игрового сервера зависит от количества игроков в этом разделе, а также от видов действий, выполняемых в нем. Кроме того, обычные игровые компьютерные платформы, в которых используют монолитные игровые серверы, отчасти ограничены их неспособностью корректировки своих аппаратных возможностей для удовлетворения возросших потребностей. Следовательно, по мере того, как большее количество игроков перемещается в конкретный раздел, нагрузка на игровой сервер, обеспечивающий поддержку этого раздела, становится все более и более высокой. Это, в свою очередь, ограничивает количество игроков, которые могут взаимодействовать с соответствующим разделом виртуального мира. В качестве средства решения этой проблемы некоторые глобальные многопользовательские онлайн-игры функционируют таким образом, что перемещают игроков из перенаселенных игровых серверов в те игровые серверы, которые являются относительно менее населенными. Это может оказывать существенное влияние на восприятие игроков.
Еще один недостаток традиционных игровых компьютерных платформ состоит в том, что каждый игровой сервер обычно имеет отдельное пространство процесса для генерации раздела виртуального мира, иное, чем другие игровые серверы в том же самом виртуальном мире. Часто игроки взаимодействуют через географическую границу, которая разграничивает два участка виртуального мира. Также возникают затруднения вследствие наличия границ разделов, и в обычных игровых компьютерных платформах обычно требуется, чтобы вычислительные ресурсы пытались управлять взаимодействиями между разделами. Например, игровой сервер, связанный с одним игроком в одном разделе, обычно требует наличия некоторых функций отслеживания для отслеживания взаимодействий этого игрока с другими игроками в других разделах виртуального мира. В качестве другого примера, полагают, что обычно требуются вычислительные ресурсы для поддержки игроков как посредников (proxies) в различных пространствах процесса. Реализация игроков как посредников обычно требует преобразования одного представления информации о конкретном игроке для одного раздела виртуального мира, например идентификатор персонажа, в другое представление для использования в отдельном пространстве процесса для другого раздела виртуального мира. Кроме того, игровые серверы обычно производят между собой обмен информацией о взаимодействиях игроков с использованием, например, удаленных вызовов процедур, что увеличивает сложность обмена информацией, а также время задержки для взаимодействий между разделами.
Еще один недостаток игровых компьютерных платформ состоит в том, что игроки (или посредники игроков), которые взаимодействуют через различные разделы виртуального мира, могут легко нарушать транзакции для незаконного обогащения себя. Для иллюстрации этого предположим, что первый игрок в одном разделе виртуального мира предлагает обмен оружия на золото, которым владеет второй игрок в другом разделе виртуального мира. Затем, предположим, что первый игрок получает золото, но прежде, чем сдать оружие, первый игрок разрывает соединение между игровыми серверами в различных разделах виртуального мира. В результате, первый игрок получает золото без обмена оружием.
Один из недостатков использования монолитных игровых серверов состоит в следующем: если один из игровых подпроцессов, например процесс, связанный с физикой, монолитного игрового сервера прерывается или отключается, то весь игровой сервер, в котором находится игровой подпроцесс, также чувствителен к этому прерыванию или отключению.
Имеются и другие недостатки использования существующих в настоящее время вариантов архитектуры "клиент-сервер" для разработки и моделирования создаваемых посредством компьютера сред для глобальных многопользовательских онлайн-игр. Учитывая это наряду с необходимостью проведения разработок для создания нового информационного содержимого для новых или видоизмененных виртуальных миров, проектировщики и разработчики игр также регулярно изменяют исполняемые команды для размещения нового информационного содержимого и его данных. Изменение исполняемых команд обычно увеличивает время разработки, в особенности, во время проверки гарантии качества и надежности для устранения ошибок и других проблем. Кроме того, глобальные многопользовательские онлайн-игры обычно требуют загрузки измененного исполняемого кода в клиентский компьютер до взаимодействия с новым информационным содержимым. Например, в компьютерных платформах для глобальных многопользовательских онлайн-игр весьма часто реализованы загрузки большого объема данных (например, 250 мегабайт), которые могут включать в себя измененный исполняемый код.
С учетом вышеизложенного, было бы желательно создание системы, считываемого посредством компьютера носителя информации, способа и устройства для генерации синтезированных сред в распределенной архитектуре, предназначенных, помимо прочего, для введения динамического информационного содержимого в синтезированные среды и, кроме того, для обеспечения эффективной разработки и создания новых или видоизмененных синтезированных сред.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения относятся, в общем случае, к компьютерному моделированию и к генерации синтезированных сред, и, в частности, к системе, к считываемому посредством компьютера носителю информации, к способу и к устройству для генерации синтезированных сред в распределенной архитектуре, предназначенным, помимо прочего, для введения динамического информационного содержимого. В одном из вариантов осуществления изобретения в компьютерной платформе для генерации синтезированных сред может быть реализована универсальная структура данных и система обмена сообщениями для облегчения генерации синтезированных сред.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Более полное понимание настоящего изобретения будет получено из приведенного ниже подробного описания при его рассмотрении совместно с сопроводительными чертежами, на которых изображено следующее:
на Фиг.1A изображена система для генерации синтезированных сред согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.1B приведена иллюстрация серверов управления игрой, генерирующих, полностью или частично, синтезированную среду, применительно к квази-агрегированному пространству процесса согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.2 изображена схема, на которой показан пример системы обмена сообщениями согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.3 изображена система для генерации синтезированных сред, в которой реализованы интерфейсы обмена универсальными сообщениями, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.4A показан способ введения динамического информационного содержимого в синтезированные среды согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.4B изображена компьютерная платформа для генерации синтезированных сред, сконфигурированная для введения динамического информационного содержимого в синтезированную среду, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.5 приведена иллюстрация квази-агрегированного пространства процесса для использования при генерации синтезированных сред согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.6 изображена схема, на которой показан пример части системы обмена сообщениями, в которой реализовано сжатое универсальное сообщение, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.7 изображена система для генерации синтезированных сред, в которой реализован главный сервер масштабирования, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.8 изображена схема, на которой показан пример главного сервера масштабирования, добавляющего масштабируемые серверы игровых подпроцессов, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.9 приведена иллюстрация компьютерной платформы для генерации синтезированных сред, в которой реализованы конкретные реализации серверов игровых подпроцессов, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.10 изображена схема, на которой показана реализация процессов, связанных с физикой, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.11 изображена схема, на которой показан способ определения видимости, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.12 приведена иллюстрация компьютерной платформы для генерации синтезированных сред, в которой реализованы дополнительные типы серверов игровых подпроцессов, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.13 изображена схема, на которой показан способ предоставления возможности проведения игры во время внесения исправляющих дополнений в программу, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.14 приведена иллюстрация компьютерной платформы для генерации синтезированных сред, в которой реализован сервер событий и редактор событий, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.15 изображена последовательность операций для создания событий для введения динамического информационного содержимого в различной степени, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.16 изображена схема, на которой показана конкретная реализация универсальной структуры данных согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.17 приведена схема, на которой изображены элементы систем классов свойств согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.18 изображена последовательность операций для создания универсального сообщения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.19 проиллюстрированы элементы системы классов свойств для создания универсального сообщения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.20 проиллюстрированы элементы системы классов свойств для создания "вставки" (plug) согласно, по меньшей мере, одному варианту осуществления настоящего изобретения;
на Фиг.21 изображена схема, на которой показан пример части системы обмена сообщениями, в которой реализовано сжатое универсальное сообщение, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения; и
на Фиг.22 приведена иллюстрация нескольких клиентов, в которых реализован интерфейс обмена универсальными сообщениями для взаимодействия с компьютерной платформой для генерации синтезированных сред, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения.
Одинаковые номера позиций относятся к соответствующим элементам на всех чертежах. Следует отметить, что большинство номеров позиций включают в себя одну или две крайние левые цифры, которыми обычно обозначен номер чертежа, на котором впервые был введен этот номер позиции.
ПОДРОБНОЕ ОПИСАНИЕ
На Фиг.1A изображена система для генерации синтезированных сред согласно, по меньшей мере, одному варианту осуществления настоящего изобретения. Одним из примеров такой системы является компьютерная платформа 100 для генерации синтезированных сред, которая включает в себя узлы (и процессы, выполняемые в узлах), объединенные друг с другом в сеть, для генерации синтезированной среды, с которой взаимодействуют клиенты 150. Компьютерная платформа 100 для генерации синтезированных сред представляет собой серверную структуру и/или серверные функциональные возможности в сетевой архитектуре клиент-сервер, а клиенты 150 представляют собой клиентскую структуру и/или клиентские функциональные возможности. Узлы включают в себя серверы 104 игровых подпроцессов, базы 112 данных и серверы 122 управления игрой, причем все они связаны друг с другом посредством сети 115 для надлежащей реализации игровых подпроцессов 102, процессов 110, связанных с базами данных, и процессов 120 управления игрой. Игровые подпроцессы 102 могут включать в себя большее или меньшее количество подпроцессов, чем подпроцессы 102a, 102b и 102c. Как показано на чертеже, серверы 104 игровых подпроцессов скомпонованы в виде распределенной схемы расположения относительно, по меньшей мере, серверов 122 управления игрой, посредством чего обеспечивают обособление игровых подпроцессов 102 от процессов 120 управления игрой. По меньшей мере, в одном варианте осуществления изобретения серверы 104a игровых подпроцессов, серверы 104b игровых подпроцессов и серверы 104c игровых подпроцессов могут быть сконфигурированы таким образом, что способны функционировать, соответственно, как серверы физики, серверы искусственного интеллекта и серверы обработки транзакций, или как любой другой связанный с игрой подпроцесс. Кроме того, согласно различным вариантам осуществления изобретения, компьютерная платформа 100 для генерации синтезированных сред сконфигурирована таким образом, что реализует квази-агрегированное пространство 152 процесса, которое может совместно использоваться либо серверами 122 управления игрой, либо компьютерной платформой 100 для генерации синтезированных сред и другими подобными компьютерными платформами 100 для генерации синтезированных сред (на чертеже не показаны), или обоими из них.
За счет создания распределенной структуры, при которой игровые подпроцессы 102a, 102b и 102c отделены от процессов 120 управления игрой, серверы 122 управления игрой работают независимо, что, тем самым, делает их менее уязвимыми к ухудшениям производительности любого из серверов 104 игровых подпроцессов. Таким образом, неисправности аппаратных средств и программного обеспечения могут быть локализованы в подпроцессе 102 конкретного игрового сервера, что, тем самым, обеспечивает возможность ускоренного распознавания и решения проблемы, часто без прерывания процессов 120 управления игрой. Это позволяет клиентам 150, например клиенту 150a и клиенту 150b, продолжать взаимодействие с синтезированной средой, без перерыва из-за проблем, возникающих в серверах 104 игровых подпроцессов. Кроме того, распределенные игровые подпроцессы 102a, 102b и 102c способствуют независимому наращиванию количества серверов 104 игровых подпроцессов, которое может выполняться в оперативном режиме, для обеспечения надлежащего количества игровых подпроцессов 102a, 102b и 102c в достаточной мере. Например, если синтезированная среда требует дополнительного искусственного интеллекта, то дополнительные серверы искусственного интеллекта могут быть подключены к сети в оперативном режиме вне зависимости от потребностей других игровых подпроцессов 102, например процессов, связанных с физикой. Таким образом, может быть реализовано надлежащее количество аппаратных средств и программного обеспечения для облегчения генерации синтезированных сред для любого количества клиентов 150, взаимодействующих с синтезированной средой, сгенерированной компьютерной платформой 100 для генерации синтезированных сред. Кроме того, квази-агрегированное пространство 152 процесса, совместно используемое также и другими аналогичными компьютерными платформами для генерации синтезированных сред, облегчает взаимодействия между компьютерными платформами (то есть между шардами (shard)), что, помимо прочего, обеспечивает усовершенствованный обмен информацией и более безопасные транзакции.
Каждый из серверов 122 управления игрой сконфигурирован таким образом, что работает совместно с игровыми подпроцессами 102 и с процессами 110, связанными с базами данных, для генерации синтезированной среды, с которой взаимодействует участник. По существу, серверы 122 управления игрой сконфигурированы таким образом, что управляют несколькими участниками, связанными с клиентами 150, при их взаимодействиях с синтезированной средой. Следует отметить, что игровые подпроцессы 102 могут быть соответствующим образом масштабированы для обеспечения поддержки нескольких клиентов 150. В различных вариантах осуществления изобретения клиенты 150 могут быть распределены по множеству серверов 122 управления игрой, а не являться ограниченными одним процессом генерации игры. Для иллюстрации этого предположим, что клиент 150a может взаимодействовать с сервером 122a управления игрой, а клиент 150b может взаимодействовать с сервером 122c управления игрой. Хотя клиенты 150a и 150b взаимодействуют с различными процессами управления игрой, они могут совместно использовать квази-агрегированное пространство 152 процесса, вне зависимости от синтезированной среды, с которой взаимодействуют клиенты 150a и 150b. В одном из вариантов осуществления изобретения клиенты 150a и 150b могут совместно использовать квази-агрегированное пространство 152 процесса как общее пространство процесса. По существу, могут легко происходить взаимодействия между синтезированными средами. В некоторых вариантах осуществления изобретения серверы 122 управления игрой могут функционировать таким образом, что проверяют правильность действия, запрошенного конкретным участником, подтверждая, тем самым, то, что участник имеет право на изменение данных об игре. По меньшей мере, в одном варианте осуществления изобретения серверы 122a-122n управления игрой сохраняют данные об игре, отображающие взаимодействия клиентов 150 с синтезированной средой в виде, предназначенном только для чтения. По существу, с данными об игре не могут производиться какие-либо манипуляции для искажения транзакций, которые в противном случае могли бы привести к незаконному обогащению участника.
В одном из вариантов осуществления изобретения серверами 104a игровых подпроцессов могут являться серверы физики, которые могут быть сконфигурированы таким образом, что выполняют обработку действий, связанных с движением и столкновениями, например, для участника в синтезированной среде. Например, сервер 104a физики может выполнять обработку событий, связанных с процессами, связанными с физикой, таких как, например, обнаружение столкновения, перемещение твердого тела и т.п. Согласно, по меньшей мере, одному варианту осуществления настоящего изобретения, серверы 104b игровых подпроцессов могут представлять собой серверы искусственного интеллекта, которые могут быть сконфигурированы таким образом, что обеспечивают искусственный интеллект для моделирования, например, движения персонажей, не являющихся игроками, ("NPC"), в синтезированной среде.
В различных вариантах осуществления изобретения сервером 104c игрового подпроцесса может являться сервер обработки транзакций, который может быть сконфигурирован таким образом, что управляет транзакциями между участниками для обеспечения гарантии того, что транзакции являются элементарными (атомарными). То есть 104c сервер игрового подпроцесса может функционировать таким образом, что обеспечивает выполнение всех частей транзакции или не выполнение всех частей транзакции, гарантируя, тем самым, то, что данные об игре, запомненные в процессах 110, связанных с базами данных, не будут обновлены, пока все части транзакций не будут успешно выполнены, что, тем самым, сокращает лазейки, через которые участники могут предпринимать попытки незаконного обогащения. Сервер обработки транзакций представляет собой полномочный орган управления игрой, который обеспечивает гарантию того, что действия завершены правильно для обоих участников или выполнены неуспешно обоими участниками. В одном из вариантов осуществления изобретения все серверы в компьютерной платформе 100 для генерации синтезированных сред являются доступными только для чтения, кроме сервера 104c игрового подпроцесса (функционирующего в качестве сервера обработки транзакций). Таким образом, сервер обработки транзакций, в качестве сервера 104c игрового подпроцесса, может функционировать как единственный полномочный орган для обработки транзакций данных об игре (то есть он обладает полномочиями на изменение данных об игре). По меньшей мере, в одном варианте осуществления изобретения сервер обработки транзакций, образующий сервер 104 игрового подпроцесса, может быть сконфигурирован таким образом, что реализует квази-агрегированное пространство 152 процесса как унитарное пространство процесса, предоставляя, тем самым, возможность участникам задействовать серверы управления игрой для различных синтезированных сред при транзакциях в общем эмулированном пространстве процесса, обеспеченном квази-агрегированным пространством 152 процесса.
При работе клиенты 150a и 150b генерируют запросы на вызов представлений участников, например анимационных персонажей, воплощающих участников игры, (именуемых "аватарами") для изменения данных об игре в процессах 120 управления игрой. Используемый здесь термин "сервер управления игрой", по меньшей мере, в одном из вариантов осуществления изобретения, относится к вычислительному устройству и/или к процессу, управляющим взаимодействиями участников с синтезированной средой. Например, сервер управления игрой может принимать введенные данные от клиентов 150 и, в ответ на это, совместно взаимодействовать с игровыми подпроцессами 102 и с процессами 110, связанными с базами данных, для генерации измененных данных об игре, что представляет собой видоизмененную синтезированную среду, основанную на взаимодействии клиентов, для их передачи обратно клиентам 150a и 150b. Используемый здесь термин "сервер игрового подпроцесса", по меньшей мере, в одном из вариантов осуществления изобретения, относится к вычислительному устройству и/или к процессу, выполняющему подмножество игровых процессов, например к серверу физики и к серверу искусственного интеллекта, результаты которого используются сервером управления игрой.
Используемый здесь термин "узел", по меньшей мере, в одном из вариантов осуществления изобретения, относится к вычислительным устройствам и/или к процессам, влияющим на генерацию синтезированной среды, например к серверу, к клиенту, к базе данных и т.п. Используемый здесь термин "данные об игре", по меньшей мере, в одном из вариантов осуществления изобретения, относится, по меньшей мере, к одному подмножеству данных, связанному с генерацией синтезированной среды. Данные об игре могут включать в себя данные о карте, предназначенные, например, для генерации ландшафта синтезированной среды. Данные об игре также могут включать в себя данные о состоянии участника, в том числе, данные о персонаже, инвентаризационные данные (например, данные об оружии), данные о запасах, данные о синтезированном доме, данные о вознаграждениях и т.п. Используемый здесь термин "синтезированная среда", по меньшей мере, в одном из вариантов осуществления изобретения, может относиться к виртуальному миру (или к его участку), представляющему собой смоделированную посредством компьютера среду, предназначенную для того, чтобы ее участники обитали в ней и взаимодействовали посредством, например, анимационных персонажей, воплощающих участников игры (которые именуются "аватарами"). Термин "синтезированная среда" также может относиться к шарду или к персистентному виртуальному миру (или к его части), который представляет собой виртуальный мир, развивающийся без взаимодействия с участником или с наличием этого взаимодействия. Используемый здесь термин "участник", по меньшей мере, в одном из вариантов осуществления изобретения, относится либо к игроку, либо к двумерному или трехмерному графическому представлению (например, к аватару), представляющему игрока, или к обоим из них. Термин "участник" также может относиться к клиенту, с которым взаимодействует игрок. Используемый здесь термин "квази-агрегированное пространство процесса", по меньшей мере, в одном из вариантов осуществления изобретения, относится к пространству памяти, выделенному для прикладной программы и/или реализованному для выполнения команд процессором (например, одним или большим количеством центральных процессоров (ЦП)), в силу чего пространство памяти сконфигурировано таким образом, что действует как агрегированное общее пространство процесса для определенных типов данных, и, кроме того, сконфигурировано таким образом, что действует как отдельные пространства процесса для одного или большего количества других типов данных.
Следует отметить, что согласно другим вариантам осуществления изобретения, серверы 104 игровых подпроцессов и игровые подпроцессы 102 могут быть сконфигурированы таким образом, что реализуют любые другие процессы, связанные с игрой, для облегчения, например, проведения глобальных многопользовательских онлайн-игр ("MMO"). Кроме того, одна или большее количество баз 112a-112c данных могут быть сконфигурированы таким образом, что, помимо прочего, обеспечивают хранение данных, например, для генерации синтезированной среды. По существу, в одной или в большем количестве баз 112a-112c данных могут храниться данные об учетных записях, связанные с учетными записями участников, статистические данные, данные аудита, данные об игре и т.п. В конкретном варианте осуществления изобретения компьютерная платформа 100 для генерации синтезированных сред сконфигурирована таким образом, что производит обмен данными через линию 140 связи, которая может передавать сигналы обмена информацией, например, через любую из нескольких сетей (на чертеже не показаны), в том числе, через сеть Интернет. В одном из вариантов осуществления изобретения линия связи 140 сконфигурирована таким образом, что обеспечивает передачу и/или прием данных со скоростью передачи, по меньшей мере, от приблизительно 5 килобит в секунду до приблизительно 10 килобит в секунду или более. По существу, линия 140 связи поддерживать скоростью передачи 5 килобит в секунду по восходящему каналу и 5 килобит в секунду по нисходящему каналу, в особенности, по существу одновременно. В других вариантах осуществления изобретения линия 140 связи представляет собой линию связи с относительно высокой пропускной способностью, которая может быть реализована как широкополосное соединение, например, с использованием технологий цифровой абонентской линии (DSL), технологий кабельной связи, технологий спутниковой связи и т.п. Линией 140 связи также может являться линия беспроводной связи. В одном из вариантов осуществления изобретения широкополосная линия 140 связи может обеспечивать передачу и/или прием данных со скоростями передачи, превышающими 10 килобит в секунду, и, по существу, линия 140 связи может реализовать скорости передачи данных свыше 10 кбит в секунду. Кроме того, сеть 115 сконфигурирована таким образом, что обеспечивает транспортировку сообщений и/или пакетов со скоростью передачи, по меньшей мере, 1-16 гигабит в секунду, или с более высокой скоростью передачи. В одном из вариантов осуществления изобретения сетью 115 является сеть Ethernet с пропускной способностью 10 гигабит в секунду ("10GbE").
На Фиг.1B приведена иллюстрация серверов управления игрой, генерирующих, полностью или частично, синтезированную среду, применительно к пространству процесса, согласно, по меньшей мере, одному варианту осуществления настоящего изобретения. Компьютерная платформа 160 для генерации синтезированных сред сконфигурирована таким образом, что осуществляет генерацию синтезированной среды 162 для клиентов 150a и 150b. В этом примере синтезированная среда 162 включает в себя четыре области: первую область ("R1") 163, вторую область ("R2") 165, третью область ("R3") 167 и четвертую область ("R4") 169. Затем полагают, что участник 170 и участник 172, соответственно, связаны с клиентами 150a и 150b. Компьютерная платформа 160 для генерации синтезированных сред включает в себя процессы 120 управления игрой, реализованные посредством серверов 122a-122d управления игрой. Компьютерная платформа 160 для генерации синтезированных сред также включает в себя квази-агрегированное пространство 161 процесса, с использованием которого может быть сгенерирована синтезированная среда 162.
Согласно различным вариантам осуществления настоящего изобретения, квази-агрегированное пространство 161 процесса сконфигурировано таким образом, что в некоторых случаях функционирует как общее пространство процесса, а в других случаях - как совокупность отдельных процессов. В частности, квази-агрегированное пространство 161 процесса сконфигурировано таким образом, что функционирует в качестве общего пространства процесса для первого подмножества данных об игре, и сконфигурировано таким образом, что функционирует в качестве отдельных пространств процесса для второго подмножества данных. Например, сервер 190 обработки транзакций сконфигурирован таким образом, что реализует квази-агрегированное пространство 161 процесса как общее пространство процесса, например, для данных, не связанных с геометрической конфигурацией, и данных, связанных с транзакциями, а серверы 122 управления игрой сконфигурированы таким образом, что реализуют квази-агрегированное пространство 161 процесса как отдельные пространства процесса, например, для данных, связанных с геометрической конфигурацией. По меньшей мере, в одном варианте осуществления изобретения компьютерная платформа 160 для генерации синтезированных сред включает в себя сервер 190 обработки транзакций для реализации, полностью или частично, квази-агрегированного пространства 161 процесса. В частности, сервер 190 обработки транзакций имеет общее пространство процесса, с использованием которого он выполняет обработку обоих подмножеств данных: первого подмножества данных 192 для участника 170c и первого подмножества данных 194 для участника 172. Примеры первых подмножеств данных 192 и 194 включают в себя данные, представляющие предметы, которые участники желают обменять. Вторые подмножества данных для участников 170c и 172 могут быть связаны, например, с данными о геометрической конфигурации, которые, например, обрабатывают серверы 122b и 122d управления игрой.
При работе, когда участник 170 входит в систему, компьютерная платформа 160 для генерации синтезированных сред распределяет этого участника серверам 122b управления игрой. В отличие от этого, когда участник 172 входит в систему, компьютерная платформа 160 для генерации синтезированных сред распределяет участника 172 серверам 122d управления игрой. Во время сеанса участники 170 и 172 остаются связанными, соответственно, с серверами 122b и 122d управления игрой. Затем полагают, что оба из них желают участвовать в действиях во второй области 165, как и многие другие участники, которые на чертеже не показаны. Участник 170a входит в синтезированную среду 162 в первой области 163, а затем перемещается во вторую область 165 как участник 170b. Поскольку обе области: первая область 163 и вторая область 165 относятся к квази-агрегированному пространству 161 процесса, то отсутствует необходимость в вычислительных ресурсах, которые, в противном случае, потребовались бы для управления взаимодействиями между разделами, когда, например, доступ к квази-агрегированному пространству 161 процесса осуществляют как к общему пространству процесса. Кроме того, участник 170c может перемещаться в третью область 167, а затем в четвертую область 169 как участник 170d. Следует отметить следующее: по мере того, как большее количество участников входит во вторую область 165, это возросшее количество, соответственно, не затрудняет работу сервера. Это происходит потому, что, согласно различным вариантам осуществления настоящего изобретения, связанные с игрой процессы, которые генерируют синтезированную среду 162, не привязаны к географическим местоположениям. В этом примере ни один сервер 122 управления игрой не несет полную нагрузку, демпфирование которой может быть осуществлено путем распределения по всем процессам 120 управления игрой в целом. Таким образом, в одной области может собираться большое количество участников без существенного снижения производительности одиночного сервера 122 управления игрой.
На Фиг.2 изображена схема, на которой показан пример системы обмена сообщениями согласно, по меньшей мере, одному варианту осуществления настоящего изобретения. На Фиг.2 показана компьютерная платформа 200 для генерации синтезированных сред, в которой реализована, по меньшей мере, часть системы 250 обмена сообщениями, сконфигурированная таким образом, что она соединяет вместе, через сеть 230, процесс 201, связанный с базами данных, серверный процесс 206 и клиентский процесс 240, все из которых являются узлами. Сетью 230 может являться компьютерная сеть или сеть связи любого другого типа. Процесс 201, связанный с базами данных, включает в себя базу 202 данных ("БД") и систему 204 управления базами данных (СУБД), которая управляет организацией, хранением и извлечением данных в базе 202 данных. При работе система 250 обмена сообщениями сконфигурирована таким образом, что передает сообщения, например сообщения 220a и 220b, которые включают в себя универсальную структуру 260 данных для интегрирования данных в узел (или в процесс, выполняемый в узле), например, в серверный процесс 206. В частности, система 250 обмена сообщениями сконфигурирована таким образом, что производит обмен данными между процессом 201, связанным с базами данных, серверным процессом 206 и клиентским процессом 240 в такой компоновке данных, которая является пригодной для использов