АДМИНИСТРИРОВАНИЕ ЦЕНТРА ОБРАБОТКИ ДАННЫХ МНОГОРЕЖИМНЫХ СЕРВЕРОВ
MULTIMODE SERVER DATA PROCESSING CENTER ADMINISTRATION

УРОВЕНЬ ТЕХНИКИ
[0001] В общем случае, серверы, выбранные для развертывания в центре обработки данных, могут выполнять широкий диапазон вычислительных задач, но не могут очень эффективно выполнять некоторые специализированные вычислительные задачи. Например, производственный сервер может быть способен выполнять некоторое видеокодирование посредством центрального блока («CPU») обработки, однако функционирование может быть неэффективным. С другой стороны, сервер, предназначенный для работы с видео может неэффективно выполнять вычислительные проекты общего характера.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Данный раздел с сущностью изобретения приведен для представления выбора концепций в упрощенной форме, которые дополнительно описаны ниже в разделе подробного описания. Данная сущность изобретения не предназначена для идентификации главных признаков или существенных признаков заявляемого объекта изобретения, а также не предназначена для использования отдельно в качестве помощи в определении объема заявляемого объекта изобретения.
[0003] В одном аспекте обеспечен способ администрирования многорежимных игровых серверов внутри центра обработки данных. Способ включает в себя этап, на котором устанавливают более 50% из множества многорежимных игровых серверов в режим игры, при этом каждый многорежимный игровой сервер имеет центральный блок («CPU») обработки, блок («GPU») графической обработки и видеокодер. Способ также включает в себя этап, на котором наблюдают за спросом на игровой процесс в блоке центра обработки данных, содержащем упомянутое множество многорежимных игровых серверов. Способ дополнительно включает в себя этап, на котором определяют, в вычислительном устройстве, когда спрос на игровой процесс падает ниже пороговой величины, посредством анализа частоты запросов на новые сеансы игры. Способ дополнительно включает в себя этап, на котором, после упомянутого этапа определения, переводят поднабор упомянутого множества многорежимных игровых серверов из режима игры в режим визуализации видео. Способ также включает в себя этап, на котором назначают задание на визуализацию видео многорежимному игровому серверу в упомянутом поднаборе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0004] Аспекты настоящего изобретения описаны подробно ниже со ссылкой на прилагаемые чертежи с фигурами, на которых:
[0005] На Фиг.1 показана блок-схема примерного вычислительного окружения, подходящего для реализации аспектов настоящего изобретения;
[0006] На Фиг.2 показана схема, изображающая игровое окружение, в соответствии с одним аспектом настоящего изобретения;
[0007] На Фиг.3 показана схема, изображающая удаленное игровое окружение, имеющее один или более центров обработки данных с многорежимными игровыми серверами, в соответствии с одним аспектом настоящего изобретения;
[0008] На Фиг.4 показана схема, изображающая компоновку многорежимных игровых серверов в различных режимах, в соответствии с одним аспектом настоящего изобретения;
[0009] На Фиг.5 показана схема, изображающая компоновку многорежимных игровых серверов в различных режимах, в соответствии с одним аспектом настоящего изобретения;
[0010] На Фиг.6 показана схема, изображающая системную плату, показывающую использование мощности с активными игровыми ресурсами, в соответствии с одним аспектом настоящего изобретения;
[0011] На Фиг.7 показана схема, изображающая системную плату, показывающую использование мощности с активными ресурсами для визуализации видео, в соответствии с одним аспектом настоящего изобретения;
[0012] На Фиг.8 показана схема, изображающая системную плату, показывающую использование мощности с активным режимом игровых фрагментов, в соответствии с одним аспектом настоящего изобретения;
[0013] На Фиг.9 показана схема, изображающая способ администрирования рабочих нагрузок внутри центра обработки данных, в соответствии с одним аспектом настоящего изобретения; и
[0014] На Фиг.10 показана схема, изображающая способ администрирования многорежимных игровых серверов внутри центра обработки данных, в соответствии с одним аспектом настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0015] Сущность изобретения согласно аспектам настоящего изобретения описана в подробностях в данном документе для удовлетворения законодательным требованиям. Однако, само описание не предназначено для ограничения объема данного патента. Вместо этого авторы изобретения допускают, что заявляемый объект изобретения может также быть воплощен по-другому, включая другие этапы или сочетания этапов, подобных описанным в данном документе, совместно с другими имеющимися или будущими технологиями. Кроме того, несмотря на то, что термины «этап» и/или «блок» могут быть использованы в данном документе для обозначения различных элементов используемых способов, эти термины не следует толковать в качестве предписывающих какой-либо конкретный порядок среди или между различными этапами, раскрытыми в данном документе, пока и кроме тех случаев, когда порядок отдельных ступеней не описан однозначно.
[0016] Аспекты настоящего изобретения относятся к администрированию многорежимного игрового сервера (также известного в качестве «сервера игрового процесса» или «игрового сервера»), который способен функционировать в режиме игры и режиме видеокодирования. В общем случае, контроллер центра обработки данных может переводить игровые серверы в режим игры в течение пикового спроса на игровой процесс и в режим визуализации видео в течение внепиковых часов. Для содействия визуализации видео во внепиковые часы центр обработки данных может использовать очередь для накопления заданий на визуализацию видео. Очередь может задавать приоритеты заданиям на визуализацию видео для назначения самых срочных проектов первым игровым серверам, которые станут доступными.
[0017] В аспектах настоящего изобретения осуществляется наблюдение за характеристиками игры для определения того, следует ли переводить игровые серверы в режим игры или из него. В аспектах настоящего изобретения может осуществляться наблюдение за экземплярами игры по названию конкретной игры. Например, в аспектах настоящего изобретения может осуществляться прогнозирование того, что спрос на конкретную игру внутри центра обработки данных составит 400 экземпляров игры. В одном аспекте на игровой сервер предварительно загружается одна конкретная игра или только несколько конкретных игр. В данном случае отдельные игровые серверы могут быть переведены из режима игры при спаде спроса на упомянутую игру или игры, и игровой сервер устанавливается для осуществления функционирования.
[0018] К используемому в данном документе «игровому серверу» относится вычислительное устройство, содержащее CPU, GPU и аппаратный видеокодер наряду с программным обеспечением, которое предоставляет игровому серверу возможность исполнять видеоигру и создавать визуализируемый видеопоток видеоигры для передачи в клиентское устройство. Таким образом, сервер общего назначения не может быть «игровым сервером». Дополнительно, сервер, который не создает визуализируемого изображения видеоигры для клиента, не является игровым сервером, используемым в данном документе.
TM
[0019] Игровой сервер содержит аппаратное и программное обеспечение для функционирования в центре обработки данных. В частности, игровому серверу предписывается выполнение различных вычислительных задач контроллером центра обработки данных, также упоминаемым в качестве матричной среды центра обработки данных. В одном аспекте игровой сервер имеет одни и те же CPU и GPU, которые могут быть найдены в коммерчески доступной игровой видеоприставке, такой как Xbox 360 компании Microsoft, семейство PlayStation компании Sony, Xbox One и Wii компании Nintendo и тому подобные.
[0020] В аспектах настоящего изобретения может осуществляться администрирование серверными режимами на основе потребностей в охлаждении отдельных серверов и групп серверов внутри центра обработки данных. В одном аспекте тепло, выделяемое игровым сервером, отличается в этих двух режимах. В аспектах настоящего изобретения может осуществляться изменение режима игрового сервера для соответствия доступному охлаждению внутри блока центра обработки данных. Например, вентиляционная стенка может обслуживать группу серверов внутри стойки.
[0021] Используемый в данном документе «оптимизированный под игровой процесс вычислительный ресурс» выполнен с возможностью вывода визуализируемого изображения видеоигры в клиентское устройство, такое как игровая приставка. Данное изображение видеоигры может быть визуализировано в качестве потокового видео, передаваемого клиенту. Для визуализации высококачественного изображения видеоигры оптимизированный под игровой процесс вычислительный ресурс может иметь блок графической обработки, который является более мощным по сравнению с блоком графической обработки, если таковой вообще имеется, находящимся в вычислительном ресурсе общего назначения. Оптимизированный под игровой процесс вычислительный ресурс может также иметь выделенные функциональные возможности для видеокодирования.
[0022] Потребление мощности может использоваться в качестве некоторого показателя для функциональных возможностей процессора. В одном аспекте «игровой сервер» может быть задан включением в себя GPU, который потребляет больше порогового процентного значения мощности, используемой игровым сервером в течение пикового потребления мощности. В одном аспекте пороговое процентное значение мощности больше 40% пиковой мощности, например больше 50%, например больше 60%, например больше 70% или например больше 80%. Например, GPU в игровом сервере может использовать 100 Вт, с совокупным пиковым использованием мощности (например, GPU, CPU и видеокодирование) 150 Вт в оптимизированном под игровой процесс вычислительном ресурсе.
[0023] В аспектах настоящего изобретения может осуществляться перевод различных типов вычислительных ресурсов между различными режимами или состояниями мощности. Используемый в данном документе термин «режим малой мощностью» означает, что некоторый ресурс в настоящий момент времени функционирует при менее чем 20% от максимальной интенсивности потребления мощности ресурсом. В качестве примера ресурс в режиме малой мощности может быть выключен в процессоре системной платы, но может отвечать на команду подачи питания.
[0024] Используемая в данном документе фраза «активный режим обработки» означает, что вычислительный ресурс активно обрабатывает вычислительную рабочую нагрузку. Вычислительный ресурс в активном режиме обработки может использовать более 20% максимальной интенсивности потребления мощности ресурсом.
[0025] После представленного вкратце обзора аспектов настоящего изобретения ниже будет описано примерное функциональное окружение, подходящее для использования в реализации аспектов настоящего изобретения.
Примерное функциональное окружение
[0026] Как показано на чертежах в целом, и первоначально на Фиг.1 в частности, примерное функциональное окружение для реализации аспектов настоящего изобретения изображено и обозначено в целом в качестве вычислительного устройства 100. Вычислительное устройство 100 является всего лишь одним примером подходящего вычислительного окружения и не предназначено для накладывания каких-либо ограничений в отношении объема использования или функциональности настоящего изобретения. Также вычислительное устройство 100 не следует истолковывать в качестве имеющего какую-либо зависимость или требование, относящиеся к любому одному или сочетанию изображенных компонентов.
[0027] Настоящее изобретение может быть описано в общем контексте компьютерного кода или используемых машиной команд, включающих в себя исполняемые компьютером команды, такие как программные компоненты, при исполнении компьютером или другой машиной, такой как секретарь персональных данных или другое карманное устройство. В целом, программные компоненты, включающие в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., относятся к коду, который выполняет конкретные задачи или реализует конкретные абстрактные типы данных. Аспекты настоящего изобретения могут быть применены на практике во множестве конфигураций систем, включающих в себя карманные устройства, бытовую электронику, вычислительные устройства общего назначения, вычислительные устройства специального назначения и т.д. Аспекты настоящего изобретения могут также быть применены на практике в распределенных вычислительных окружениях, в которых задачи выполняются устройствами удаленной обработки, которые соединены через сеть связи.
[0028] Далее на Фиг.1 показано, что вычислительное устройство 100 включает в себя шину 110, которая прямо или косвенно соединяет следующие устройства: запоминающее устройство 112, один или более процессоров 114, один или более компонентов 116 представления, порты 118 ввода-вывода (I/O), компоненты 120 ввода-вывода и иллюстративный источник 122 питания. Шина 110 представляет собой то, чем может быть одна или более шин (таких как адресная шина, шина данных или их сочетание). Несмотря на то, что различные блоки на Фиг.1 изображены с помощью линий ради ясности, в действительности очертание различных компонентов не является настолько четким, и, метафорически, эти линии могут более точно быть серыми и нечеткими. Например, можно рассматривать компонент представления, такой как устройство отображения, в качестве компонента 120 ввода-вывода. Кроме того, процессоры обладают запоминающим устройством. Авторы настоящего изобретения понимают, что таков характер уровня техники, и повторяют, что схема на Фиг.1 всего лишь является иллюстрацией примерного вычислительного устройства, которое может использоваться совместно с одним или несколькими аспектами настоящего изобретения. Между такими категориями, как «рабочая станция», «сервер», «переносной компьютер», «карманное устройство» и т.д. различий не проводится, так как все они предполагаются в рамках Фиг.1 и относятся к «компьютеру» или «вычислительному устройству».
[0029] Вычислительное устройство 100 обычно включает в себя множество считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми доступными носителями, к которым может осуществлять доступ вычислительное устройство 100 и которые включают в себя носители как кратковременного хранения, так и долговременного хранения, съемные и несъемные носители. В качестве примера, а не ограничения, считываемый компьютером носитель может содержать компьютерный носитель хранения и среду связи. Компьютерный носитель хранения включает в себя съемные и несъемные носители как кратковременного, так и долговременного хранения, реализованные согласно любому способу или технологии для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные.
[0030] Компьютерный носитель хранения включает в себя RAM, ROM, EEPROM, флэш-память или другую технологию запоминающего устройства, CD-ROM, цифровые универсальные диски (DVD) или другое устройство хранения на оптических дисках, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные устройства хранения. Компьютерный носитель хранения не содержит распространяемый сигнал данных.
[0031] Среда связи обычно воплощает считываемые компьютером команды, структуры данных, программные модули или другие данные в модулируемом сигнале данных, таком как несущая волна или другой транспортный механизм, и включает в себя любые среды доставки информации. Термин «модулируемый сигнал данных» означает сигнал, у которого одна или более из его характеристик устанавливается или изменяется таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, RF, инфракрасная и другие беспроводные среды. Сочетания любого из вышеупомянутого должны также быть включены в объем считываемого компьютером носителя.
[0032] Запоминающее устройство 112 включает в себя компьютерный носитель хранения в виде запоминающего устройства кратковременного и/или долговременного хранения. Запоминающее устройство 112 может быть съемным, несъемным или их сочетанием. Примерное запоминающее устройство включает в себя твердотельное запоминающее устройство, накопители на жестких дисках, накопители на оптических дисках и т.д. Вычислительное устройство 100 включает в себя один или более процессоров 114, которые считывают данные из различных объектов, таких как шина 110, запоминающее устройство 112 или компоненты 120 ввода-вывода. Компонент(ы) 116 представления предоставляют указания с данными пользователю или другому устройству. Примерные компоненты 116 представления включают в себя устройство отображения, громкоговоритель, печатающий компонент, вибрирующий компонент и т.д. Порты 118 ввода-вывода позволяют вычислительному устройству 100 быть логически соединенным с другими устройствами, включающими в себя компоненты 120 ввода-вывода, некоторые из которых могут быть встроены. Иллюстративные компоненты 120 ввода-вывода включают в себя микрофон, ручку управления, игровой планшет, спутниковую параболическую антенну, сканирующее устройство, печатающее устройство, беспроводное устройство и т.д.
Примерное игровое окружение через сеть в режиме реального времени
[0033] На Фиг.2 показано игровое окружение 200 через сеть в режиме реального времени, в котором многорежимные игровые серверы могут быть развернуты внутри центра обработки данных, в соответствии с одним аспектом настоящего изобретения. Игровое окружение 200 через сеть в режиме реального времени содержит различные игровые клиенты, соединенные через сеть 220 с игровой службой 230. Примерные игровые клиенты включают в себя игровую приставку 210, планшет 212 и персональный компьютер 214. Использование других игровых клиентов, таких как смартфоны, также возможно. Игровая приставка 210 может иметь один или более игровых контроллеров, соединенных с возможностью осуществления связи с ней. В одном аспекте планшет 212 может действовать в качестве устройства ввода для игровой приставки 210 или персонального компьютера 214. В другом аспекте планшет 212 является самостоятельным игровым клиентом. Сеть 220 может быть глобальной сетью, такой как Интернет.
[0034] Игровая служба 230 содержит множество вычислительных устройств, соединенных с возможностью осуществления связи друг с другом. В одном аспекте игровая служба 230 реализована с использованием одного или более центров обработки данных, которые содержат многорежимные игровые серверы. Центры обработки данных могут быть распределены по различным географическим областям, включающим в себя города по всему миру. В данном сценарии игровые клиенты могут подключаться к самым близким центрам обработки данных. Аспекты настоящего изобретения не ограничиваются данной установкой.
[0035] Игровая служба 230 позволяет исполнять игру внутри вычислительных устройств, предоставляемых игровой службой 230. Сеанс связи между игровой службой и игровыми клиентами переносит трафик ввода в игровую службу 230 и возвращает визуализируемое игровое изображение. В данном аспекте вычислительное устройство, которое является частью игровой службы, исполняет код видеоигры с использованием потока управления, создаваемого устройствами ввода, связанными с различными игровыми клиентами. Визуализируемая видеоигра затем передается по сети игровому клиенту, в котором визуализируемая игра выводится для отображения.
[0036] Игровая служба 230 может быть предоставлена центром обработки данных, который использует сочетание немногорежимных игровых серверов и многорежимных игровых серверов для исполнения игр и визуализации изображения видеоигры. В одном аспекте немногорежимные игровые серверы могут быть включены для соответствия минимальному или основному спросу на игровой процесс. Немногорежимные игровые серверы могут не включать в себя программное обеспечение для визуализации видео в различных форматах. С другой стороны, многорежимные игровые серверы могут включать в себя программное обеспечение для кодирования видео в один или более форматов.
Примерная игровая служба
[0037] На Фиг.3 показано примерное удаленное игровое окружение 300, в соответствии с одним аспектом настоящего изобретения. Игровое окружение 300 включает в себя игрового клиента 310, который изображен соединенным с возможностью осуществления связи с игровой службой 340 через сеть 330. Упомянутая игровая служба может использовать один или более многорежимных игровых серверов для размещения в себе пикового спроса на игровой процесс.
[0038] В одном аспекте сеть может быть Интернетом. Устройства на Фиг.3 и программы, запущенные на этих устройствах, могут осуществлять связь друг с другом с использованием одного или более протоколов связи, включающих в себя: протокол (HTTP) передачи гипертекста, транспортный протокол (RTP) реального времени, протокол (RTSP) потоковой передачи в реальном времени, протокол (RTMP) обмена сообщениями в реальном времени, простой протокол (SOAP) доступа к объектам, передача (REST) состояния представления, протокол (UDP) пользовательских дейтаграмм и/или протокол (TCP) управления передачей.
[0039] Игровой клиент 310 соединен с первым игровым устройством 312 ввода, вторым игровым устройством 314 ввода и устройством 316 отображения. Примерные игровые устройства ввода включают в себя игровые планшеты, кнопочные панели, координатный манипулятор типа «мышь», сенсорную панель, сенсорный экран, микрофон для приема голосовых команд, камеру глубины, видеокамеру, клавиатуру и шаровой манипулятор. Аспекты настоящего изобретения не ограничены этими устройствами ввода. Устройство 316 отображения выполнено с возможностью отображения содержимого видеоигры. Например, устройство 316 отображения может быть экраном телевизора или компьютера. В другом аспекте устройство 316 отображения является сенсорным экраном, объединенным с игровым клиентом 310.
[0040] Игровой клиент 310 является вычислительным устройством, которое способно исполнять видеоигры. Игровой клиент 310 может быть планшетом или переносным компьютером типа «ноутбук». В другом аспекте игровой клиент 310 является игровой приставкой, а устройство 316 отображения является удаленным устройством отображения, соединенным с возможностью осуществления связи с игровой приставкой. Игровой клиент 310 включает в себя функциональное окружение 320, окружение 322 для исполнения игры, хранилище 324 данных игры, клиента 326 игровой службы и хранилище 328 данных профилей игроков.
[0041] Функциональное окружение 320 может быть предоставлено операционной системой, которая осуществляет администрирование аппаратным обеспечением и предоставляет службы приложению, запущенному на игровом клиенте 310. Функциональное окружение может выделять клиентские ресурсы различным приложениям в качестве части миграции игры. Например, функциональное окружение может предоставить управление устройства отображения окружению 322 для исполнения игры, как только игровой процесс мигрировал в игровой клиент 310.
[0042] Окружение 322 для исполнения игры содержит игровые ресурсы в клиенте 310, необходимые для исполнения экземпляров игры или предварительного просмотра игры. Окружение 322 для исполнения игры содержит активное запоминающее устройство наряду с вычислениями и видеообработкой. Окружение 322 для исполнения игры принимает сигналы управления игровым процессом и предписывает манипулирование и развитие игры согласно составленной для нее программы. В одном аспекте окружение 322 для исполнения игры выводит визуализируемый видеопоток, который передается в устройство 316 отображения.
[0043] Хранилище 324 данных игры хранит загруженные игры, предварительные просмотры игр и частично загруженные игры.
[0044] Клиент 326 игровой службы является приложением-клиентом, которое отображает визуализируемые изображения видеоигры, принятые от игровой службы 340. Клиент 326 игровой службы может также обрабатывать игровой ввод и изменять его в легко выгружаемый формат, который передается игровой службе 340. Клиент 326 игровой службы может также масштабировать визуализируемые изображения видеоигры, принятые от службы 340, до размера, оптимизированного для устройства 316 отображения.
[0045] Хранилище 328 данных профилей игроков хранит информацию профилей игроков для отдельных игр. Информация профиля игрока может также хранить краткие сведения или сохраненные для игры данные для отдельных игр, включающие в себя предварительные просмотры. Как и в сохраненном для игры файле, так и в кратких сведениях записано развитие игры. Окружение 322 для исполнения игры затем считывает сохраненные для игры данные для начала игры с того места, в котором игрок закончил на сервере. Также возможен и противоположный сценарий, при котором информация сохраненных для игры данных и профиля игрока выгружается с игрового клиента 310 в игровую службу 340 для запуска игры.
[0046] Игровая служба 340 содержит диспетчера 342 соединений, хранилище 344 данных профилей игроков, окружение 348 для исполнения игры и хранилище 350 данных игры. Хотя и изображена в качестве одного блока игровая служба 340 может быть реализована в центре обработки данных, который содержит множество машин, включающих в себя многорежимные игровые серверы, или даже в нескольких центрах обработки данных.
[0047] Диспетчер 342 соединений осуществляет построение соединения между клиентом 310 и службой 340. Диспетчер 342 соединений может также предоставлять различные механизмы аутентификации в целях уверенности в том, что пользователь авторизован на осуществление доступа к игровой службе 340. Диспетчер 342 соединений может также анализировать ширину полосы пропускания, доступную внутри соединения, и регулировать загрузку игры в течение игрового процесса для уверенности в том, что игровой процесс не ухудшается.
[0048] Хранилище 344 данных профилей игроков может функционировать совместно с диспетчером 342 соединений для построения и хранения информации об игроках. Часть профиля игрока может содержать демографическую и финансовую информацию, такую как имя, адрес и информацию кредитной карточки игрока или другой механизм для оплаты или покупки игр и навыков, предоставляемых игровой службой.
[0049] Кроме того, хранилище 344 данных профилей игроков может хранить достижения игрока внутри отдельной игры. С продвижением игрока в игре или предварительном просмотре игры, счет игрока и доступ к игровым уровням могут быть сохранены. Дополнительно, хранилище 344 данных профилей игроков может хранить информацию о предпочтении отдельного игрока, такую как предпочтения языка. Информация относительно игрового клиента игрока и скорости сетевого соединения может также быть сохранена и использована для оптимизации использования игрового процесса. Например, в одном аспекте, когда географически ближайший центр обработки данных занят, игроки с Интернет-соединениями с более высокой задержкой могут быть избирательно подсоединены к ближайшим центрам обработки данных, в то время как игроки с соединениями с малой задержкой могут быть подсоединены к центрам обработки данных, которые находятся подальше. По такому принципу, игроки с сетевыми соединениями, которые лучше всего могут справляться с дополнительной задержкой, подсоединяются к центрам обработки данных, которые создают дополнительную задержку вследствие своего местоположения.
[0050] Хранилище 344 данных профилей игроков может также хранить относящиеся к прошлому сведения пользования для отдельного игрока. Могут быть сохранены относящиеся к прошлому сведения игрока о покупке игр, об опробовании игр или игре в игры через игровую службу, которая не требует покупки игр. Данная информация о пользовании может быть проанализирована для предложения отдельному игроку игр по интересам. В одном аспекте относящиеся к прошлому сведения о покупках могут включать в себя игры, которые не были куплены через игровую службу. Например, относящиеся к прошлому сведения о покупках могут быть пополнены игроком посредством ввода игроком кодовой комбинации из игры, купленной в розничном магазине. В некоторых аспектах игрок затем может обрести доступ к такой игре как на своем игровом клиенте 310, так и через игровую службу, когда он больше не находится в своем игровом клиенте.
[0051] Окружение 348 для исполнения игры содержит игровые ресурсы, необходимые для исполнения экземпляров игры. Они являются описанными ранее ресурсами, администрирование которыми осуществляет диспетчер 352 игрового процесса и другие компоненты. Окружение 348 для исполнения игры содержит активное запоминающее устройство наряду с вычислениями и видеообработкой. Окружение 348 для исполнения игры принимает сигналы управления игровым процессом через канал ввода-вывода и предписывает манипулирование и развитие игры согласно составленной для нее программы. В одном аспекте окружение 348 для исполнения игры выводит визуализируемый видеопоток, который передается игровому клиенту. В других аспектах окружение 348 для исполнения игры выводит геометрию игры или другие представления, которые могут быть объединены с локальными объектами на игровом клиенте с целью визуализации видео игрового процесса.
[0052] Хранилище 350 данных игры хранит доступные игры. Игры могут быть извлечены из хранилища данных и активированы через активное запоминающее устройство. Хранилище 350 данных игры может быть описано в качестве пассивного или вторичного запоминающего устройства. В общем случае, отсутствует возможность игры в игру в хранилище 350 данных игры. Однако в некоторых аспектах вторичное запоминающее устройство может быть использовано в качестве виртуального запоминающего устройства, в случае чего части хранилища 350 данных игры могут также служить в качестве активного запоминающего устройства. Это показывает, что активное запоминающее устройство не обязательно задано конкретным компонентом аппаратного обеспечения, а задано возможностью игровых ресурсов активно манипулировать и осуществлять доступ к объектам внутри запоминающего устройства для исполнения игры.
[0053] На Фиг.4 показана компоновка многорежимных игровых серверов внутри центра 400 обработки данных, в соответствии с одним аспектом настоящего изобретения. Данная компоновка содержит стойку 410, стойку 412, стойку 414 и стойку 416. Четыре стойки изображены в целях простоты; фактический вариант реализации может включать в себя десятки, сотни или тысячи стоек, развернутых внутри центра обработки данных. Каждая стойка может содержать некоторое количество серверов, оборудование для распределения мощности и сетевое оборудование. В одной компоновке сетевой кабель проложен к маршрутизатору/коммутатору внутри стойки. Каждый сервер в стойке затем соединен с маршрутизатором. Схожим образом мощность может быть проложена к подстанции распределительной сети мощности, связанной со стойкой. Каждый сервер затем соединен с подстанцией распределительной сети мощности.
[0054] Дополнительно, каждая стойка может включать в себя охлаждающее оборудование, такое как вентиляторы. В одной компоновке вентиляционная стенка выполнена позади серверов для продувания воздуха через серверы. Данная вентиляционная стенка может иметь ряды вентиляторов, причем каждый ряд обслуживает группу серверов. В компоновке с вертикальным охлаждением один или более вентиляторов расположены выше или ниже стойки для содействия воздушному потоку к серверам внутри стойки. Охлаждающее оборудование может также включать в себя термопары и другие датчики, которые измеряют температуру, давление и воздушный поток в стойке. Стойка может включать в себя одну или более фиксированных или регулируемых перегородок для распределения воздуха там, где это необходимо для охлаждения.
[0055] Управляющая матричная среда 402, альтернативно описанная в качестве контроллера центра обработки данных, соединена с возможностью осуществления связи со стойками и многорежимными игровыми серверами внутри стоек. Управляющая матричная среда 402 осуществляет администрирование состоянием каждого многорежимного игрового сервера. Например, управляющая матричная среда 402 может переводить многорежимный игровой сервер между режимом видеокодирования и режимом игры. Управляющая матричная среда 402 может распределять рабочие нагрузки среди вычислительных устройств, включающие в себя начало сеансы игры и задания на видеокодирование. Управляющая матричная среда 402 может также осуществлять администрирование охлаждающим оборудованием внутри стоек. Например, управляющая матричная среда 402 может понизить скорость вентилятора внутри стойки, когда серверы внутри стойки находятся в режиме малой мощности.
[0056] Диспетчер 404 заданий на видеокодирование накапливает и распределяет задания на видеокодирование. В одном аспекте диспетчер 404 заданий принимает задания на видеокодирование, которые требуют, чтобы одиночное видео было закодировано во множество различных видеоформатов. Примерные форматы включают в себя: кодеры Экспертной Группы по Движущимся Изображениям (Moving Pictures Experts Group, MPEG), H.261, H.262, H.263, H.264, и H.265, SMPTE («Общество инженеров кино и телевидения» («Society of Motion Picture and Television Engineers»)) 421M, неофициально известный в качестве VC-1, и Dirac или VC-2.
[0057] Управляющая матричная среда 402 анализирует данные использования для определения, среди прочего, сколько находящихся в ожидании экземпляров конкретной игры должно быть доступно и сколько игровых серверов должно находиться в режиме игры для размещения находящихся в ожидании экземпляров. В общем случае, игры с более высоким спросом должны иметь большее количество доступных находящихся в ожидании экземпляров игры. Загрузка игры в активное запоминающее устройство для создания находящегося в ожидании экземпляра может занять минуту или две; таким образом, играм с более высокой массовостью на входе и на выходе может также потребоваться, чтобы было доступно больше находящихся в ожидании экземпляров игр. Также, следует учитывать время, необходимое для создания находящегося в ожидании экземпляра конкретной игры. Играм, которые загружаются сравнительно быстро, может потребоваться меньше находящихся в ожидании экземпляров, потому что дополнительные экземпляры игры могут создаваться быстрее с изменением спроса. Другими словами, играм с более долгим временем загрузки может потребоваться больше доступных находящихся в ожидании экземпляров игр. Количество экземпляров игры, обрабатываемых каждым игровым сервером, также является некоторым параметром. В одном аспекте отдельный игровой сервер может создавать два экземпляра игры. Экземпляры игры могут быть многопользовательскими экземплярами.
[0058] Управляющая матричная среда 402 может также выделять ресурсы игрового сервера конкретному игровому объединению. Серверные ресурсы, выделенные конкретному игровому объединению, включают в себя ресурсы, необходимые для исполнения активных экземпляров игры, а также находящихся в ожидании экземпляров игры, к которым пока еще не подсоединены игроки. С изменением во времени спроса на различные игры может регулироваться выделение ресурсов игровым объединениям. Дополнительно, относящиеся к прошлому использованию данные могут быть использованы для предвидения изменений. Например, если игра в первую игру происходит более интенсивно между 22:00 и полночью по сравнению со второй игрой, игра в которую происходит более интенсивно в течение дня, то ресурсы могут быть переключены между второй и первой игрой в течение периода с 22:00 до полуночи.
[0059] На различных игровых серверах в центре обработки данных может быть установлено различное программное обеспечение для видеокодирования. Например, каждый игровой сервер может быть выполнен с возможностью кодирования видео только в одном или двух различных форматах. Распределение программного обеспечения для кодирования внутри центра обработки данных может равномерно распределять наиболее часто используемые форматы кодирования. Равномерное распределение программного обеспечения для кодирования избегает появления «перегруженных зон» внутри центра обработки данных. Перегруженная зона представляет собой группу серверов, функционирующих тогда, когда другие группы серверов не функционируют или функционируют на уровнях низкого потребления мощности. Избегание появления перегруженных зон может уменьшить объем охлаждения, необходимого для центра обработки данных или части центра обработки данных.
[0060] Администрирование сетевыми ресурсами также может осуществляться управляющей матричной средой 402 для содействия связи между клиентскими устройствами и сеансом игры. Таким образом, поскольку дополнительные вычислительные устройства выделяются игровой службе, то сетевые ресурсы могут быть обновлены для надлежащей маршрутизации связи к вычислительным устройствам, на которых функционирует игровая служба.
[0061] На стойках 414 и 416 изображены многорежимные игровые серверы в перемешенных режимах. Аспекты настоящего изобретения не ограничены перемешиванием режимов внутри блока центра обработки данных, такого как каркас стойки. В одном аспекте все многорежимные игровые серверы внутри блока центра обработки данных функционируют в одном и том же режиме, подобно стойке 416. Как показано на Фиг.4, также возможно и перемешивание режимов внутри стойки, подобно стойке 414.
[0062] Иллюстративно, стойка 416 включает в себя многорежимный игровой сервер 420 в режиме игры, многорежимный игровой сервер 422 в режиме игры и многорежимный игровой сервер 424 в режиме игры. Следует заметить, что все игровые серверы в стойке 416 находятся в режиме игры.
[0063] Иллюстративно, стойка 414 включает в себя многорежимный игровой сервер 430 в режиме видеокодирования, многорежимный игровой сервер 432 в режиме игры и многорежимный игровой сервер 434 в режиме игры. Следует заметить, что приблизительно один из трех игровых серверов находится в режиме видеокодирования, а остальные в режиме игры. Дополнительно, игровые серверы в режиме видеокодирования равномерно распределены по всей стойке 414. Любой другой сервер, каждый третий сервер или каждый N-ый сервер, где N является целым числом, являются примерами равномерного распределения режимов серверов по всему блоку центра обработки данных. В одном аспекте вычислительные устройства внутри стойки имеют однородную конфигурацию аппаратного обеспечения, которая позволяет им переключаться между оптимизированным под игровой процесс режимом и не оптимизированным под игровой процесс режимом.
[0064] Многорежимные игровые серверы могут переводиться между оптимизацией игрового процесса и режимом видеокодирования. В одном аспекте центр обработки данных может включать в себя смесь однорежимных серверов. Количество однорежимных серверов может быть задано таким, чтобы размещать основной спрос на вычислительную службу, предоставляемую оптимизированным сервером. Развертывание однорежимных серверов для удовлетворения основному спросу позволяет однорежимным серверам быть активными сверх порогового количества времени в среднем. Например, количество развернутых однорежимных серверов может быть ограничено серверами, способными быть активными, в среднем, 80% ото дня. Многорежимные игровые серверы могут использоваться в течение периодов пикового использования для размещения спроса на игру совместно с однорежимными серверами, оптимизированными для рабочей нагрузки, такой как игровой процесс. В течение внепиковых часов игровые серверы могут быть переведены в режим видеокодирования.
[0065] На Фиг.5 показано размещение многорежимных игровых серверов внутри центра 400 обработки данных, в соответствии с одним аспектом настоящего изобретения. Компоненты аппаратного обеспечения на Фиг.5 были описаны ранее со ссылкой на Фиг.4. На Фиг.5, при сравнении с Фиг.4, показан перевод игровых серверов из режима игры в режим видеокодирования в течение внепикового использование игрового процесса.
[0066] Иллюстративно стойка 416 включает в себя многорежимный игровой сервер 420 в режиме игры, многорежимный игровой сервер 422 в режиме видеокодирования и многорежимный игровой сервер 424 в режиме игры. Следует заметить, что игровые серверы в режиме видеокодирования равномерно распределены по стойке 416.
[0067] Иллюстративно стойка 414 включает в себя многорежимный игровой сервер 430 в режиме видеокодирования, многорежимный игровой сервер 432 в режиме игры и многорежимный игровой сервер 434 в режиме видеокодирования. Следует заметить, что приблизительно два из трех игровых серверов находятся в режиме видеокодирования, а остальные в режиме игры. Дополнительно, игровые серверы в режиме видеокодирования равномерно распределены по стойке 414.
[0068] На Фиг.6 показаны различные типы ресурсов внутри игрового сервера наряду с его соответствующим использованием мощности в режиме игры, в соответствии с одним аспектом настоящего изобретения. Многоцелевой сервер включает в себя системную плату 600. Системная плата 600 содержит оптимизированный под игру CPU 610, оптимизированный под игру GPU 612 и видеокодер 614. Кроме того, хотя и не изображено, системная плата 600 включает в себя запоминающее устройство и другие компоненты, которые поддерживают функционирование игрового сервера. Например, CPU может иметь выделенное DRAM.
TM
[0069] В одном аспекте оптимизированный под игру CPU 610 и оптимизированный под игру GPU 612 являются одними и теми же микросхемами, которые могут быть найдены в коммерчески доступной игровой приставке. Примерные игровые приставки включают в себя Xbox 360, семейство PlayStation компании Sony, Xbox One и Wii компании Nintendo и тому подобные. Конфигурация аппаратного обеспечения игрового сервера, включающая в себя использование наборов идентичных микросхем, может быть выполнена с возможностью запуска игр, написанных для коммерчески доступной игровой приставки, на многорежимном игровом сервере без видоизменений в игровом коде. Никаких видоизменений в игровом коде не нужно, когда игровой код взаимодействует с аппаратным обеспечением таким же образом, когда игры взаимодействуют с аппаратным обеспечением в игровой приставке. Например, процесс, выполняемый GPU игровой приставки, может быть выполнен GPU игрового сервера для получения того же самого результата.
[0070] В режиме игры, как показано на Фиг.6, оптимизированный под игру CPU 610 потребляет 50 Вт. Напротив, оптимизированный под игру GPU 612 потребляет 90 Вт, а видеокодер 514 потребляет 10 Вт с общим использованием 150 Вт в режиме игры.
[0071] На Фиг.7 показано использование мощности в режиме визуализации видео, в соответствии с одним аспектом настоящего изобретения. В режиме визуализации видео оптимизированный под игру CPU 610 потребляет только 1 Вт, оптимизированный под игру GPU 612 потребляет 50 Вт, а видеокодер 614 потребляет 10 Вт с общим потреблением 61 Вт. При сравнении с режимом игры видеокодирование является менее интенсивным в отношении CPU и также менее интенсивным в отношении GPU. Поскольку использование мощности и теплообразование соотносятся между собой, то игровой сервер произведет меньше тепла при нахождении в режиме визуализации видео.
[0072] На Фиг.8 показано использование мощности в режиме игровых фрагментов, в соответствии с одним аспектом настоящего изобретения. Режим игровых фрагментов является специальным типом режима визуализации видео. Игровые фрагменты являются видео пользователя, играющего в видеоигру. Игровые фрагменты иногда описываются в качестве хвастливых видео. Например, фрагмент может быть 30-секундной записью игрока, использующего ложку для уничтожения злого мастера. Пользователь может записать, воспроизвести и поделиться видео о достижениях с друзьями. В одном аспекте пользователь может запросить видео более высокого качества по сравнению с созданным посредством родного разрешения видеоигры.
[0073] Эти запросы могут быть пакетированы и затем подвержены видеокодированию с использованием игровых серверов в течение внепиковых часов игрового процесса. В одном аспекте геометрия игры является частью запроса наряду с информацией о состоянии игры для части проигрывания, используемой для фрагмента. Используемая в данном документе геометрия игры является описанием видимости игрового мира, включающей в себя местоположение, перемещение и видимость игроков в этом мире. В данном случае, игровой сервер исполняет видеоигру с использованием записанной геометрии и игрового кода на игровом сервере для создания игрового фрагмента, имеющего более высокое разрешение. Данный процесс является менее интенсивным в отношении CPU по сравнению с игрой в фактическую игру, потому что не нужно создавать геометрию.
[0074] В режиме игровых фрагментов оптимизированный под игру CPU 610 потребляет 25 Вт, оптимизированный под игру GPU 612 потребляет 90 Вт, а видеокодер 614 потребляет 10 Вт с общим потреблением в 125 Вт. При сравнении с режимом игры режим игровых фрагментов является менее интенсивным по отношению к CPU, а также менее интенсивным по отношению к GPU. Поскольку использование мощности и теплообразование соотносятся друг с другом, то игровой сервер выделит меньше тепла при нахождении в режиме игровых фрагментов по сравнению с нахождением в режиме игры. Напротив, игровой сервер выделит больше тепла при нахождении в режиме игровых фрагментов по сравнению с нахождением в режиме визуализации видео.
[0075] На Фиг.9 описан способ 900 администрирования многорежимными игровыми серверами внутри центра обработки данных, в соответствии с одним аспектом настоящего изобретения. В одном аспекте способ 900 выполняется контроллером центра обработки данных, таким как описанный ранее контроллер 402 центра обработки данных. Многорежимные игровые серверы имеют центральный блок («CPU») обработки, блок («GPU») графической обработки и видеокодер. Дополнительно, игровые серверы содержат программное обеспечение, которое предоставляет игровому серверу возможность исполнения видеоигры и создания визуализируемого видеопотока видеоигры для передачи в клиентское устройство. Таким образом, сервер общего назначения не может быть «игровым сервером». Дополнительно, сервер, который не создает визуализируемого изображения видеоигры для клиента, не является игровым сервером, который используется в данном документе.
[0076] На этапе 910 более 50% из множества многорежимных игровых серверов устанавливаются в режим игры. Например, 60% или более, в частности 80% или 100%, многорежимных игровых серверов могут быть установлены в режим игры. В одном аспекте 100% многорежимных игровых серверов устанавливаются в режим игры для размещения максимального спроса.
[0077] На этапе 920 осуществляется наблюдение за спросом на игровой процесс в блоке центра обработки данных, содержащем множество многорежимных игровых серверов. В аспектах настоящего изобретения осуществляется наблюдение за спросом, его прогнозирование и динамическое администрирование режимом сервера внутри удаленной игровой службы для размещения спроса. Игровая служба предоставляет удаленное игровое окружение, к которому пользователи подсоединяются по глобальной сети, такой как Интернет. Например, игровая служба может использовать последовательность серверов или последовательность центров обработки данных, расположенных по всему миру, для ведения видеоигр. Игроки затем подсоединяются к службе игрового процесса с использованием множества различных клиентских устройств, включающих в себя игровые приставки, смартфоны, планшеты, персональные компьютеры и другие вычислительные устройства.
[0078] В аспектах настоящего изобретения осуществляется наблюдение за характеристиками игрового процесса для определения того, следует ли переводить игровые серверы в режим игры или из него. В аспектах настоящего изобретения может осуществляться наблюдение за экземплярами игры по названию конкретной игрой. Например, в аспектах настоящего изобретения может осуществляться прогнозирование того, что спрос на конкретную игру внутри центра обработки данных составит 400 экземпляров игры. В одном аспекте в игровой сервер предварительно загружается одна конкретная игра или только несколько конкретных игр. В данном случае, игровые серверы могут быть переведены из режима игры при спаде спроса на упомянутую игру или игры, и игровой сервер устанавливается для осуществления функционирования.
[0079] Прогноз спроса используется для определения пикового спроса на игру, времени суток для пикового спроса и определения пороговой частоты запросов на игру, которая указывает то, что пиковый спрос пройден. Игры с более высоким спросом могут иметь больше находящихся в ожидании экземпляров игры, готовых для того, чтобы игроки к ним присоединились. Игры с меньшим спросом могут иметь меньше активных экземпляров игры, функционирующих в ожидании присоединения к ним игроков. Количество находящихся в ожидании экземпляров различных игр может отличаться на основе местоположения конкретного сервера и игроков, обслуживаемых сервером.
[0080] В режиме ожидания игровые объекты в активном запоминающем устройстве доступны и подвергаются манипулированию игровым сервером, который исполняет игру. Активное запоминающее устройство резко отличается от вторичного запоминающего устройства, в котором игровые объекты могут храниться пассивно, в то время как они не подвергаются манипулированию в игровом действии. Находящиеся в ожидании экземпляры игры, функционирующее в активном запоминающем устройстве, не закреплены за профилем игрока или каналом ввода-вывода от игрового клиента. Как только игрок запросил игру, профиль игрока может быть загружен в функционирующий экземпляр игры, и канал ввода-вывода увязывается от игрового клиента с экземпляром игры. Таким образом, находящийся в ожидании экземпляр игры может функционировать без профиля игрока или канала ввода-вывода. Как только игрок или игроки добавлены к находящемуся в ожидании экземпляру, то такой экземпляр игры становится активным экземпляром.
[0081] За различными характеристиками игровой службы может осуществляться наблюдение, и они могут использоваться для прогнозирования спроса и определения оптимального количества экземпляров игры, которые необходимо иметь в находящемся в ожидании устройстве. Например, осуществляется наблюдение за количеством активных сеансов игры, функционирующих для конкретной игры, наряду с запросами на новые игровые сеансы и временем, которое требуется для создания нового сеанса игры для данной конкретной игры. Эти характеристики могут использоваться для вычисления оптимального количества игровых серверов в режиме игры, необходимых для удовлетворения спроса при увеличении или уменьшении количества сеансов игры.
[0082] На этапе 930 осуществляется определение того, что спрос на игровой процесс упал ниже пороговой величины посредством анализа частоты запросов на новые сеансы игры. Запрос на новый сеанс игры может быть запросом пользователя поиграть в конкретную игру через игровую службу. Могут анализироваться как абсолютная частота запросов, так и изменение частоты запросов. Например, пороговая величина может быть меньше 5 запросов в минуту и уменьшением частоты, в частности, на 1 запрос меньше в минуту. Частота может быть вычислена в качестве скользящего среднего значения для выравнивания временных выбросов частоты.
[0083] Как уже упомянуто, пороговая частота может быть вычислена на основе анализа относящегося к прошлому использованию. Пороговая частота может отражать коэффициент достоверности, такой как 90%-ая вероятность, что игровой сервер не нужно будет переводить обратно в режим игры для размещения спроса на игру в течение следующих двенадцати часов.
[0084] На этапе 940, после упомянутого определения, поднабор множества многорежимных игровых серверов переводится из режима игры в режим визуализации видео. Игровые серверы могут быть переведены из режима игры в режим видеокодирования посредством передачи команды на игровой сервер. В ответ на команду игровой сервер может удалить функции игрового процесса, включающие в себя игровой код для конкретной видеоигры, из активного запоминающего устройства. Затем игровой сервер может загрузить программное обеспечение, необходимое для выполнения видеокодирования и осуществления администрирования заданиями на видеокодирование, в активное запоминающее устройство.
[0085] Игровые серверы в таком поднаборе могут быть выбраны для равномерного распределения серверов в режиме игры с серверами в режиме видеокодирования. Как уже упомянуто, серверы в режиме видеокодирования могут выделять меньше тепла по сравнению с серверами в режиме игры. Равномерное распределение серверов может предусмотреть уменьшение охлаждения по всему центру обработки данных, тем самым сохраняя энергию. Неравномерному распределению может потребоваться поддержание охлаждения на высоком уровне для охвата самых горячих частей центра обработки данных. Когда охлаждение может предоставляться на гранулированном уровне к частям центра обработки данных, тогда внутри части центра обработки данных может возникнуть равномерное распределение.
[0086] На этапе 950 осуществляется назначение задания на визуализацию видео многорежимному игровому серверу в упомянутом поднаборе. В одном аспекте задание на визуализацию видео является игровым фрагментом. Как уже упомянуто, игровой фрагмент может быть «записью» или представлением видеоигры, проигранной пользователем. В одном аспекте игровой фрагмент визуализируется посредством исполнения игрового кода на многорежимном игровом сервере для повторного создания видеоизображения записанного игрового действия и затем кодировки видеоизображения. Игровой фрагмент, созданный данным способом, дублирует визуальный вывод, наблюдаемый пользователем в течение игры за исключением того, что он будет представлен в улучшенном разрешении и/или другом формате.
[0087] В одном аспекте задание на визуализацию видео принимается от игровой видеоприставки, расположенной отдельно от центра обработки данных, в котором расположен упомянутый поднабор множества многорежимных игровых серверов. Например, игрок, использующий игровую видеоприставку для игры в игру, предоставляемой игровым сервером в центре обработки данных, может запросить игровой фрагмент. Данный запрос может быть сохранен матричной средой центра обработки данных или диспетчером видеокодирования, пока игровые серверы не станут доступными для перевода в режим видеокодирования. Когда игровые серверы становятся доступными для видеокодирования, упомянутое задание может быть передано в доступный игровой сервер. В одном аспекте запрос может быть отправлен непосредственно от игрового сервера в любом режиме к игровому серверу в режиме видеокодирования.
[0088] На Фиг.10 приведен способ 1000 администрирования рабочими нагрузками внутри центра обработки данных, в соответствии с одним аспектом настоящего изобретения. Способ 1000 может быть выполнен контроллером центра обработки данных. На этапе 1010, в течение первого периода времени, по существу все множество многорежимных игровых серверов в центре обработки данных устанавливается в режим игры. Многорежимный игровой сервер имеет центральный блок («CPU») обработки, блок («GPU») графической обработки и видеокодер.
[0089] На этапе 1020, в течение второго периода времени, по меньшей мере 50% из множества многорежимных игровых серверов установлены в режим видеокодирования. Второй период времени по существу не перекрывает первый период времени. Первый и второй периоды времени могут быть вычислены на основе относящегося к прошлому спроса на игровой процесс, как уже описано ранее.
[0090] Аспекты настоящего изобретения были описаны в качестве иллюстративных, а не ограничительных. Следует понимать, что конкретные признаки и подобъединения обладают полезностью и могут быть использованы независимо от других признаков и подобъединений. Что рассматривается и охватывается объемом формулы изобретения.