Система и способ централизованной обработки данных с использованием генератора случайных чисел

Иллюстрации

Показать все

Заявленное изобретение относится к сетевой игровой системе и способу с центральным истинным генератором случайных чисел ("TRNG") для генерации случайных чисел ("RN"). RN посылаются на электронные игровые автоматы ("EGM") по сети и используются для определения исходов игры. Система и способ настроены на сбор запросов на RN от EGM в пакетах, которые координируются игровым сервисом на базе сервера ("SBG-сервис"), при этом SBG-сервис принимает RN-запросы от EGM и направляет запросы в пакетах на центральный сервис устройства обработки запросов к истинному генератору случайных чисел ("TRNGRH"). Центральный сервис TRNGRH отвечает SBG-сервису пакетом RN, которые затем распределяются по EGM в течение допустимого времени отклика. Таким образом, достигается уменьшение нагрузки трафика данных на сеть, а также повышение эффективности генератора случайных числе при генерации множества случайных числе в один момент времени, при этом время ответа на каждый из собранных запросов не превышает заданного предела. 3 н. и 17 з.п. ф-лы, 11 ил.

Реферат

Информация по родственной заявке

[0001] По настоящей РСТ заявке испрашивается преимущество изобретения по находящейся на рассмотрении обычной заявке на патент США, Серийный номер 13/757767, поданной 2 февраля 2013 года.

Авторское право

[0002] Части настоящего раскрытия содержат материалы, на которые Заявителем заявляется авторское право. Заявитель не возражает против копирования данного материала при воспроизведении копий комплекта материалов заявки или любых патентов, которые могут быть выданы по заявке, но все другие какие бы то ни было права на охраняемые авторским правом материалы защищены.

Предпосылки создания изобретения

[0003] Электронные игровые автоматы ("EGM") предлагают различные виды игр, таких как игры с механическим вращающимся барабаном, видеоигры с вращающимся барабаном, видеоигры в покер, рулетку, игры кено и другие виды игр со ставками, которые обычно устанавливаются в казино для их использования игроками. Игра на EGM обычно требует, чтобы игрок делал ставку на исход игры, при этом исход определяется некоторым случайным механизмом, который на регулируемых рынках должен соответствовать стандартам, публикуемым регуляторным органом.

[0004] Игровые технологии на базе сервера (например, видеолотерея с централизованной генерацией случайных чисел типа, раскрытого в Standard Series entitled Client Server Systems GLI-21 v 2.2 от 18 мая 2007 г., патент США 6409602 и патент США 6749510 от компании Gaming Laboratories International, Inc.) в последние годы приобретают все большее и большее значение, поскольку правительства стремятся получать максимально возможный контроль над операциями в игорной индустрии. Для этого результаты игры и финансовые операции (оплаты и выплаты) должны храниться централизованно в системах, подключенных по сети к отдельным электронным игровым автоматам ("EGM") так, чтобы записи для непрерывного контроля за различными функциями и исходами отдельных игр, а также игровой активностью, были доступными.

[0005] Имеются различные модели генераторов случайных чисел ("RNG"), которые используются с EGM для генерации случайных чисел ("RN") во время проведения игры с целью установления исходов игры. Одной из таких методик является генерация случайных чисел на центральном сервере или вычислительной системе. При таком решении упрощается процесс сохранения записей по результатам проведения игры в одной централизованной базе хранения. Централизованная генерация RN также снижает риск нарушений безопасности, которые могут произойти, если используются локальные RNG. Причина этого заключается в том, что в случаях, когда RN генерируются на каждом отдельном EGM и затем вместе с исходом игры передаются на центральный сервер, на котором хранится история игры и учетные данные, теоретически возможны локальные манипуляции RNG.

[0006] Исторически, первые EGM на базе современной микропроцессорной архитектуры были оборудованы так называемыми псевдо-RNG: программными алгоритмами, которые детерминированно генерируют ряд чисел со статистическими свойствами случайных последовательностей. Исторические данные, связанные с работой псевдо-RNG на базе программного обеспечения, хранились локально на EGM, но поскольку EGM были подключены к сети, стало возможным загружать эти данные на центральный сервер для отслеживания. В лотерейных программах использовались центральные псевдо-RNG и при этом RN передавались через сеть на отдельные EGM, подсоединенные к сети. Данные, связанные с работой псевдо-RNG, обычно хранились в центральной памяти.

[0007] Проблема с псевдо-RNG на базе программного обеспечения заключается в том, что они генерируют детерминистические ряды чисел, которые только лишь показывают статистические свойства случайных рядов, но которые не являются истинно случайными. Это ограничение означает, что в случаях, когда ключевым требованием является получение истинного случайного ряда, должен использоваться другой тип RNG: истинный RNG ("TRNG"), реализованный аппаратно, в котором случайная генерация основана на физических процессах. Обычно главным ограничением таких TRNG является то, что они не выдают случайные числа по требованию, а вместо этого они предоставляют более или менее непрерывный поток чисел. В случаях, когда временное хранение ранее сгенерированных случайных чисел (требование реального масштаба времени) запрещено, должен быть соответствующим образом организован доступ к потоку TRNG так, чтобы не происходило переполнение сервера запросами. Настоящее изобретение предоставляет средство и способ реализации TRNG, который оптимизирует времена доступа и вычислительные ресурсы с целью достижения рабочих скоростей, которые будут достаточно большими, чтобы можно было предоставлять RN в большую сеть EGM с сохранением записей по всем сгенерированным RN в центральной базе данных, где они могут легко храниться и верифицироваться. Для этого может использоваться любой вид TRNG. Однако настоящее изобретение объясняется в контексте, где TRNG основан на квантовом измерении пространственного разрешения одиночных фотонов так, как это, например, описано в патенте США №7519641, выданном Ribordy и другим и включенном сюда посредством ссылки, которая упоминается как Quantum HW в следующем далее описании. Следует понимать, что настоящее изобретение может использоваться для оптимизации доступа к любому другому виду TRNG, как, например, к такому, который описан в патенте США №6249009, выданном Kim и другим и включенном сюда посредством ссылки, где для генерации случайного потока реализуется квантовое измерение одиночных фотонов относительно временного разрешения.

Краткое описание графических материалов

[0008] Для лучшего понимания настоящего изобретения и более наглядной демонстрации его функционирования, сейчас, в качестве примера, будут даны ссылки на сопроводительные графические материалы. На графических материалах показаны варианты осуществления настоящего изобретения, где

[0009] на ФИГУРЕ 1 показан электронный игровой автомат для проведения игры со случайным исходом;

[0010] на ФИГУРЕ 2 показана блок-схема электронного игрового автомата для проведения игры, при этом он подключен к сети и управляется серверной системой, включающей центральный генератор случайных чисел;

[0011] на ФИГУРЕ 3 показана блок-схема группы электронных игровых автоматов в сети, подключенной к серверной системе, включающей генератор случайных чисел и внешнюю систему;

[0012] на ФИГУРЕ 4А представлена блок-схема, на которой показана интегрированная игровая система на базе сервера, в которой компоненты SBG-системы и RNG-системы работают на одном физическом узле на блок-схеме;

[0013] на ФИГУРЕ 4В представлена блок-схема альтернативного варианта осуществления системы, скомпонованной в виде двух отдельных подсистем, работающих на разных физических узлах, где SBG-система отделена от RNG-системы;

[0014] на ФИГУРЕ 4С представлена блок-схема альтернативного варианта осуществления системы, скомпонованной с множеством отдельных физических узлов для подсистем RNG и SBG, выполненных с горизонтальным масштабированием для того, чтобы сбалансировать загрузку системы и устранить "узкие места";

[0015] на ФИГУРЕ 5 представлена блок-схема истинно аппаратного RNG, основанного на измерении случайного поступления одного фотона на один из двух детекторов;

[0016] на ФИГУРЕ 6 представлен алгоритм, на котором показан процесс обработки RN-запросов в системе с пакетированием запросов с постоянным интервалом времени, когда система имеет множество EGM, один RNG-сервис и один SBG-сервис;

[0017] на ФИГУРЕ 7 представлен алгоритм, на котором показан процесс обработки RN-запросов в системе с переменным интервалом времени, когда система имеет множество EGM, один RNG-сервис и один SBG-сервис;

[0018] на ФИГУРЕ 8 представлена диаграмма, показывающая временные интервалы для RN-запросов на RN, которые предусмотрены в пакетах; и

[0019] на ФИГУРЕ 9 представлена диаграмма, показывающая временные интервалы для RN-запросов на RN в режиме реального времени, которые не предусмотрены в пакетах.

Подробное описание изобретения

[0020] Здесь будет описано настоящее изобретение более подробно со ссылкой на сопроводительные графические материалы. Следует понимать, что изобретение может быть осуществлено во множестве других форм и не должно толковаться как ограниченное представленными здесь вариантами осуществления. На Фигурах 1-9 одинаковые элементы изобретения обозначены одинаковыми ссылочными номерами из соображений единства.

[0021] На ФИГ. 1 показан электронный игровой автомат ("EGM") 100 с рядом компонентов. Основной дисплей 105 используется для отображения прохождения игры и результирующих исходов и может быть в виде видеодисплея (показано) или, альтернативно, в виде механических барабанов. В большинство EGM встроены сенсорные дисплеи, которые предоставляют гибкий интерфейс для работы с EGM 100, включая отображение символов во время прохождения игры. Другим компонентом является купюроприемник (см. Фиг. 2), расположенный внутри EGM 100, в который можно вводить купюры через приемную щель 110. Кнопки 115 снаружи EGM 100 используются игроком совместно с сенсорным дисплеем 105 для инициирования и управления операциями EGM. EGM могут дополнительно содержать второстепенный дисплей 120 для отображения других игровых функций, включая бонусные экраны. Как основной дисплей 105, так и второстепенный дисплей 120 могут использоваться для отображения игроку такой информации, как таблицы оплаты, сообщения, реклама, развлекательные экраны или другие виды информации. Многочисленные счетчики 125 на дисплее 105, используемые для отслеживания доступных для игры кредитов, выигранной суммы на конкретной игре, количества поставленных монет и других величин, как правило, располагаются около нижней части экрана 105. EGM 100 может также принимать монеты. В таких случаях для приема монет по мере того, как они выдаются игроку, используется лоток 130 для монет в нижней части EGM 100.

[0022] Общепринятой практикой для EGM 100 является включение компонента ввода билета, вывода билета ("TITO"), который включает устройство считывания билетов и устройство печати билетов, расположенные внутри EGM 100, который может принимать кредиты со штрихкодом, отпечатанным на билете, через приемную щель 110 и при этом после ввода билета величина кредита отображается на счетчиках 125.

[0023] На ФИГ. 2 представлена блок-схема EGM 100, подключенного к системе 200 на базе центрального сервера, и на ней также показаны некоторые внутренние компоненты EGM 100 и центральный сервер 200. Все операционные функции EGM 100 контролируются контроллером 135, таким как микропроцессор, расположенный внутри EGM 100, размещенный на игровой плате 140. Контроллер выполняет команды, которые включают в себя управление генератором 145 случайных чисел ("RNG") на базе EGM. Внутренние компоненты EGM 100 хорошо известны специалистам в данной области техники. Исходы игры определяются или на основе случайных чисел, выбранных локальным RNG 145, или чисел, выбранных центральным RNG 210. Купюроприемник 155 для приема бумажной валюты показан как одно целое вместе с устройством считывания билетов и устройством печати билетов. Купюроприемник 155 принимает от игрока валюту в виде купюр или билетов и добавляет кредит на счетчики 125 на EGM 100.

[0024] К EGM 100 также может быть подключена внешняя система 205, такая как, например, система сопровождения игрока, система учета монет на монетоприемнике или система бонусов. Как правило, системы такого типа соединены с EGM 100 или через отдельную интерфейсную плату (не показана), или непосредственно с различными компонентами EGM 100, включая игровую плату 140, но не ограничиваясь ею. Система сопровождения игрока может также включать в себя другие компоненты, установленные в EGM 100, такие как дисплей 201 сопровождения игрока, кнопочная панель 202 и устройство 203 считывания карт. Эти компоненты позволяют осуществлять непосредственное взаимодействие между внешней системой 205 и игроком с целью получения информации от игрока через кнопочную панель 202 или через информацию на карте, вставленной в устройство 203 считывания карт, а также с целью отображения информации для игрока на дисплее 201. Сеть между внешней системой 205 и EGM 100 образуется при помощи сетевого соединителя 225. Сеть может быть подключена ко всем EGM 100 в казино или к любому меньшему подмножеству EGM 100.

[0025] Система 200 на базе сервера также подключена к EGM 100 с помощью сетевого соединителя 230, который может быть отдельным соединителем или тем же соединителем, что и сетевой соединитель, соединяющий EGM 100 с внешней системой 205. Система 200 на базе сервера может представлять собой одиночный сервер или может представлять группу взаимосвязанных серверов, которые скомпонованы так, чтобы получилась одна система, взаимодействующая с группой EGM. Центральный сервер 200 также включает в себя центральный генератор 210 случайных чисел ("центральный RNG"), который выдает случайные числа, используемые EGM 100, а также другими EGM, подсоединенными к сетевой системе EGM, как показано на Фиг. 3.

[0026] Следует понимать, что тип сети 230, по которой передаются данные, может быть одним из нескольких различных типов сетей. К их числу относятся Локальная Сеть (LAN), Распределенная Сеть (WAN), Интранет, Интернет или другие классы сетей. Может использоваться любой тип сетевой технологии без выхода за рамки принципов изобретения. Сюда может быть отнесена связь по любому протоколу на любом из слоев модели OSI (ISO/IEC 7498-1) с шифрованием или без шифрования (например, шифрование SSL, VPN и т.д.). Время синхронизируется на всех компонентах системы через сетевой протокол, такой, например, как сетевой временной протокол ("NTP"), с целью обеспечения возможности надежного сравнения отметок времени.

[0027] На ФИГ. 3 представлена блок-схема, показывающая группу EGM 100 от а до x на сетевом соединителе 230 между системой 200 на базе центрального сервера и каждым из EGM 100 от а до х. Следует понимать, что сеть может быть образована с любым количеством EGM, которое может составлять тысячи машин. Каждый из EGM 100 а-х также подключается к внешней системе 205, которая может быть системой сопровождения игрока, системой учета на монетоприемнике, системой бонусов или другим типом системы. В системе по ФИГ. 3 центральный RNG 210 генерирует RN для всех EGM от 100а до 100х в сети 230.

[0028] На ФИГ. 4А представлена блок-схема, на которой показана интегрированная система 200 на базе центрального сервера с одним RNG-сервисом 405 в виде блок-схемы. Аппаратный компонент истинного RNG 400 ("Quantum HW") используется для генерации RN, и эти RN передаются в устройство обработки запросов/("RNG") 405, которое координирует запросы к RNG, поступающие от одного или более SBG-сервисов 410. SBG-сервис 410 является обработчиком запросов для прямых RN-запросов от EGM 100 в сети 230. SBG-сервис 410 может выполняться на том же самом узле, что и RNG-сервис 405 или на одном или более отдельных удаленных узлах в зависимости от количества EGM, подсоединенных к сети 230. Конфигурация системы, при которой RNG-сервис 405 и SBG-сервис 410 выполняются на одном и том же вычислительном устройстве, является предпочтительной там, где RN выдаются малому количеству игровых автоматов, управляемому одним оператором. В такой конфигурации система будет работать быстрее, поскольку связь между RNG-сервисом 405 и SBG-сервисом 410 может осуществляться на уровне связи между процессами на одной и той же машине. Однако имеется два случая, когда составной SBG-сервис 410 должен выполняться на разных машинах: 1) система содержит количество EGM 100, превышающее максимальное количество, которое может быть обслужено одним узлом SBG-сервиса 410; и 2) различным игровым операторам на базе сервера, которые хотят иметь строго разделенную историю игры и учетные данные, приходится делить между собой один и тот же центральный RNG-сервис 405. Если максимальное количество EGM превышается, к системе могут быть добавлены узлы SBG-сервисов, и могут быть скомпонованы фактически составные SBG-сервисы 410 для оптимизации скорости доставки большого количества RN, когда имеется большое количество EGM в сети 230. Один или более SBG-сервисов 410, имеющих доступ к RN, генерируемым центральным RNG-сервисом 405, могут быть расположены в том же месте, что и центральный RNG-сервис 405 или в помещении удаленного сервера, отделенном от RNG-сервиса 405. На ФИГ. 4В показана система, скомпонованная с отдельным SBG-сервисом 410 и работающая на узле удаленно от узла центрального RNG-сервиса 405.

[0029] Следует понимать, что использование уровня абстракции (SBG-сервис 410) между потребителем (EGM 100) RN и генератором RN (RNG-сервис 405) является не обязательным требованием, а просто хорошей практикой с точки зрения архитектуры программного обеспечения. Таким образом, гарантируется масштабируемость системы в случаях, когда к серверной игровой системе добавляются EGM 100. К тому же, уровень абстракции позволяет использовать разные RNG-сервисы, которые собирают случайные данные от других видов устройств TRNG или сами генерируют такие данные при помощи программных алгоритмов (псевдо-RNG). Такая гибкость является одним из преимуществ следования парадигме "разделения задач", что также гарантируется таким уровнем абстракции.

[0030] В альтернативном варианте осуществления системы с большим количеством EGM, требующим большое количество случайных чисел, или там, где различные серверные игровые операторы работают со строго разделенными SBG-системами 220, на ФИГ. 4С показаны две центральные RNG-системы 210 с множеством устройств 400 ввода для TRNG ("Quantum HW"). Следует понимать, что конкретная конфигурация, представленная на ФИГ. 4С, где один RNG-сервис 405 подключен к двум компонентам 400 Quantum HW в то время как другой - только к одному компоненту 400 Quantum HW, является просто визуализацией более общей взаимосвязи "n к m" между RNG-сервисами 405 и компонентами 400 Quantum HW. В целом, модель конкретного развертывания должна быть приспособлена к конкретной установке так, чтобы выполнялись все нормативные требования и требования к качеству программного обеспечения (как, например, производительность, доступность, безопасность и т.д.).

[0031] Следует понимать, что описанная здесь архитектура программного обеспечения обеспечивает полную гибкость по отношению к выбору шаблона обмена данными между отдельными компонентами. Конкретный выбор всегда производится в зависимости от данного развертывания таким образом, чтобы учитывались все необходимые регуляторные требования и требования к качеству программного обеспечения.

[0032] Например, связь между SBG-сервисом и RNG-сервисом может следовать либо шаблону Запрос-Ответ (SBG-сервис извлекает случайные числа из RNG-сервиса), либо шаблону Публикация-Подписка(RNG-сервис продвигает RN на SBG-сервис). Шаблон Публикация-Подписка обеспечивает улучшенную производительность на узле SBG-сервиса, поскольку в этом случае RN всегда доступны в момент, когда они необходимы, и SBG-сервис не должен запрашивать их явным образом. Однако такой вид связи может быть нежелательным в некоторых законодательных системах, в которых временное хранение случайных чисел на узле SBG-сервиса может быть запрещено. В таком случае должен использоваться шаблон Запрос-Ответ и каждое RN, которое поступает на SBG-сервис, будет использоваться для ответа на конкретный запрос от EGM.

[0033] Выбор коммуникационного протокола между отдельными компонентами такой системы должен также производиться с учетом различных требований для конкретного развертывания. В целом, для того чтобы уменьшить потери на служебные сигналы при связи и увеличить производительность, могут использоваться двоичные протоколы. Если производительность не является целевой задачей, могут использоваться удобочитаемые протоколы типа XML или JSON.

[0034] Следует понимать, что запись RN, сгенерированных центральным RNG-сервисом 405 в конфигурациях по Фиг. 4А, 4В и 4С, может храниться для верификации в памяти 415. Для хранения всех RN, выдаваемых каждым SBG-сервисом 410 на EGM 100, может использоваться дополнительная память 420 узла SBG-сервиса, чтобы гарантировалась полная прослеживаемость игры, проводимой на EGM 100. Такой памятью может быть либо единственная память для всех SBG-сервисов 410, либо множество блоков памяти, когда каждый SBG-сервис 410 имеет свою собственную соответствующую память.

[0035] Quantum HW 400 показан более подробно на ФИГ. 5. Quantum HW 400 - это блок-схема аппаратного истинного генератора случайных чисел, состоящего из трех подсистем. Первая подсистема 505 является главным элементом TRNG 400 и включает в себя оптические элементы, используемые для реализации случайного процесса и нормализации случайных чисел для исходов игры. Часы 510 используются для выдачи импульсов, которые запускают работу светодиода 515 для выдачи фотонов, которые являются базой передающего элемента, где происходит случайное событие. Фотоны, произведенные источником 515 одиночных фотонов, проходят по оптическому пути 520, который может содержать (но не обязательно) такие оптические элементы, как зеркала и разделители пучка до того, как они достигнут одного из двух детекторов фотонов 525а, 525b, каждый из которых имеет разрешение в один фотон. Они скомпонованы так, чтобы регистрировать фотоны и записывать исходы событий в виде битового потока, являющегося последовательностью нулей и единиц, в зависимости от того, на каком детекторе появился сигнал.

[0036] Вторая подсистема представляет собой оптическую подсистему 530, которая управляется электрической цепью 535 синхронизации и сбора данных. Данная подсистема включает в себя часы и запускающую электронику 510 для источника 515 одиночных фотонов, а также электрическую цепь 535 синхронизации и сбора данных, подключенную к детекторам 525 одиночных фотонов.

[0037] Подсистема 540 обработки и интерфейса осуществляет статистические и аппаратные проверки в контрольной цепи 545, а также устранение смещения последовательности в цепи 550. Подсистема 540 также формирует выходные электронные сигналы в интерфейсной цепи 555 перед тем, как выдавать RN для его использования системой 200.

[0038] Преимущество описанного квантового генератора 400 случайных чисел заключается в том, что он базируется на простом и случайном по своему принципу процессе, который легко моделировать и контролировать. Процессорный блок 540 осуществляет оперативную проверку в процессе своего функционирования. Он непрерывно контролирует корректную работу источника света и двух детекторов, а также контролирует, чтобы статистика исходного выходного потока была в определенных заранее установленных границах. Процессорный блок 540 выдает бит статуса. Если все условия выполняются, этот бит может быть равен 1. Если одно из условий не выполняется, бит статуса может быть установлен на 0 и битовый поток блокируется. Это свойство дает в результате высокий уровень точности и обеспечивает надежность процесса генерации случайных чисел.

[0039] Система 400 может быть смонтирована на печатных платах (РСВ) и заключена в компактный металлический или пластмассовый корпус. Она может быть выполнена в виде USB-устройства, карты PCI, карты PCI Express (PCIe) или в других интерфейсных форматах, которые могут быть установлены в компьютере или вместе с компьютером. При этом могут выдаваться высококачественные случайные числа со скоростями около 16 Мбит/сек.

[0040] Следует понимать, что источник 515 одиночных фотонов для генерации одиночного фотона может базироваться на точечной квантовой структуре. Реализация такой структуры позволяет упростить обрабатывающую подсистему 540 благодаря изъятию элементов 545 проверки статуса и цепи 550 устранения смещения.

[0041] Есть два способа предоставления случайных чисел, сгенерированных RNG-сервисом 405, каждому отдельному EGM 100. Первый из них заключается в том, чтобы хранить все генерируемые RN (или их подмножество) во временной памяти (например, в оперативной памяти) или в постоянной памяти (например, в памяти HDD или SDD) 420 до момента, когда RN потребуются для их использования при установлении исхода игры запрашивающим EGM 100. Согласно описанию со ссылкой на Фиг. 4В, эта память связана с SBG-сервером 410. Каждый запрос из какого-либо EGM, поступивший на SBG-сервер 410, мгновенно удовлетворяется путем доступа к постоянной памяти 420. При таком варианте решения рекомендуется строить связь между RNG-сервисом 405 и SBG-сервисом 410 в соответствии с шаблоном связи Публикация-Подписка, при использовании которого случайные числа продвигаются RNG-сервисом 405 на SBG-сервис 410 по мере их доступности. Такой подход уменьшает загрузку системы на узле, на котором выполняется SBG-сервис 410, поскольку он не должен выдавать RN-запросы и может игнорировать сообщения, публикуемые RNG-сервисом 405, если он имеет достаточное количество RN в памяти 420.

[0042] Второй способ предоставления RN, сгенерированных RNG-сервисом 405, каждому отдельному EGM 100 представляет собой подход, который удовлетворяет ограничения, налагаемые некоторыми учреждениями и заключающиеся в том, что случайные числа должны предоставляться EGM в режиме реального времени. При таком подходе не разрешается хранить RN постоянно (хранение RN в энергозависимой памяти, например, в оперативной памяти в течение периода более длительного, чем тот, который необходим для обработки запроса, также считается хранением в постоянной памяти) в любом месте на пути между RNG 400 и EGM 100. Это является мерой предосторожности, предпринимаемой для того, чтобы сделать невозможной манипуляцию случайными числами на пути между RNG 400 и EGM 100 с целью влияния на результаты или изменения результатов игры. В этом случае связь между RNG-сервисом 405 и SBG-сервисом 410 должна быть построена в соответствии с шаблоном связи Запрос-Ответ, при котором случайные числа извлекаются SBG-сервисом 410 из RNG-сервиса 405 по мере того, как они требуются.

[0043] Данный подход ведет к задержке при доставке RN на EGM 100, которая обозначается как ΔT, между моментом, когда сгенерирован RN-запрос на EGM 100 (например, когда игрок нажимает кнопку start), и моментом, когда RN получено для игры на EGM 100. Наличие такой задержки является недостатком, а минимизация ΔT может рассматриваться в большинстве случаев, как важное требование для игровых систем на базе сервера.

[0044] Обычно регуляторные органы устанавливают максимальное значение для ΔT. Однако разработчик системы может быть дополнительно ограничен величиной ΔT, меньшей той, которая установлена регуляторными органами, в ситуации, когда оператор системы требует более быстрое проведение игры. В этом случае оператор системы может установить меньшее значение (ΔTop для того, чтобы улучшить равномерность прохождения игры. В результате, величина ΔT может быть определена как меньшая из двух величин (т.е. ΔT=min(ΔTreg, ΔTop)), где ΔTreg - максимальная величина, установленная для учреждения регуляторными органами. Именно в этой ситуации, когда требуется передача RN в режиме реального времени, настоящее изобретение используется для минимизации ΔT и для обеспечения работы системы в виде, приемлемом для оператора системы и игрока, и соответствия регуляторным требованиям.

[0045] Здесь будет описана работа системы с использованием данного изобретения. С целью упрощения описания будет использоваться система по Фиг. 4В, которая включает в себя единственный RNG-сервис 405 и единственный SBG-сервис 410, которые работают на разных узлах: узел 210 RNG-системы и узел 220 SBG-системы. За описанием системы по Фиг. 4В будет идти описание Фиг. 4С. Будет ясно, что основные концепции одинаково применимы к системе, которая включает в себя множество RNG-сервисов 405 и множество SBG-сервисов 410, как, например, система по Фиг. 4С.

[0046] На Фиг. 4В представлена конфигурация, в которой единственный RNG-сервис 405 и единственный SBG-сервис 410 работают на разных узлах, подсоединенных через сети LAN или WAN, представленные сетью 230. Каждый RN-запрос, который передается от SBG-сервиса 410 на RNG-сервис 405, потребляет вычислительные ресурсы на SBG-сервисе 410 до тех пор, пока RNG-сервисом 405 не будет предоставлено случайное число в качестве ответа.

[0047] При таком сценарии RN-запросы от SBG-сервиса 410 на RNG-сервис 405 накапливаются в памяти, что может привести к переполнению памяти на узле 220 SBG-сервиса. Кроме того, каждый RN-запрос, инициированный SBG-сервисом 410, вызывает потерю пропускной способности, которая зависит от используемого протокола, что естественно уменьшает полосу пропускания, доступную для передачи RN от RNG-системы 210 на SBG-систему 220.

[0048] В настоящем изобретении SBG-сервис 410 передает пакет n RN-запросов на RNG-сервис 405, на который RNG-сервис 405 отвечает пакетом n ответов. Выдача RN пакетами уменьшает потерю пропускной способности, которая пропорциональна количеству единичных запросов, и таким образом увеличивает производительность системы без изменения какого-либо параметра системы. В то же время, уменьшается риск переполнения памяти на узле 220 SBG-сервиса, поскольку в любой момент времени меньше запросов будут ждать обработки.

[0049] Проблема, возникающая при передаче RN пакетами от RNG-сервиса 405 на SBG-сервис 410, заключается в том, что количество случайных чисел (n) в пакете увеличивается, задержка между запросом на RN от EGM 100 и соответствующим ответом увеличивается. Это может привести к тому, что т (время отклика для отдельного запроса от EGM 100) превысит величину ΔTreg, которая может превысить допустимую задержку, установленную для игровых систем в режиме реального времени для конкретного учреждения. Для решения этой проблемы существует оптимальный размер пакета, nopt, где 1<nopt≤nmax такое, чтобы ресурсы, выделяемые на узел 220 SBG-сервиса, были минимальными, но в то же время все еще выполняли требование передачи в режиме реального времени. nmax здесь представляет собой максимальный размер пакета, такой, что гарантируется т≤ΔTreg.

[0050] Согласно изобретению, предоставляется адаптивный алгоритм, который учитывает постоянные параметры и отслеживает переменные параметры в системе для расчета оптимального размера пакета, nopt, что минимизирует общие ресурсы, выделяемые на узел 220 SBG-сервиса. Постоянные параметры в сервисной системе RNG-SBG 1:1 будут такими:

- ΔT, максимально допустимое время задержки между запросом и получением RN на EGM;

- Rmax, максимальное количество RN-запросов от SBG-сервиса 410, которые могут одновременно (т.е. в любой данный момент времени) ожидать обработки на SBG-сервисе 410; эта величина непосредственно коррелируется с общим количеством имеющихся ресурсов, разделенным на ресурсы, требующиеся для одного незавершенного пакетного RN-запроса;

- Hmax, максимальное количество запросов в секунду от RNG-сервиса 405 к Quantum HW 400, на которые может быть получен ответ;

- Hmaxbit, количество случайных битов в секунду, которое может быть сгенерировано генератором Quantum HW 400.

[0051] Следует отметить, что Quantum HW 400 может обрабатывать запросы только последовательно, поскольку случайные биты генерируются на одном единственном физическом устройстве.

[0052] Динамические параметры могут зависеть от того, как используется система (например, как часто генерируются RN-запросы на EGM) и не могут быть изменены логикой системы. Их влияние является важным при оптимизации алгоритма, и они должны постоянно отслеживаться. Данные динамические параметры являются следующими:

- ri, количество случайных битов, затребованных в i-ом RN-запросе от EGM 100 к SBG-сервису 410;

- tEi, момент времени, когда i-й RN-запрос от EGM 100 отправлен на SBG-сервис 410;

- ti, самое последнее допустимое время поступления RN для i-го RN-запроса от EGM 100;

- тi, интервал ожидаемого времени ответа для такого запроса.

[0053] Следует отметить, что ti вычисляется путем добавления ΔT ко времени tEi, когда посылается соответствующий запрос. Величина тi, с другой стороны, может быть измерена только после получения RN игровым автоматом EGM 100. Величина тi не может быть вычислена точно до завершения операции, а может только быть оценена приблизительно на основе предшествовавших измерений и текущей загрузки системы.

[0054] В системе существуют также другие динамические параметры, величины которых не зависят от загрузки системы и на которые невозможно повлиять. Эти параметры могут, например, относиться к качеству связи при передаче данных. В частности, пропускная способность сети между EGM 100 с номером j и узлом 220 SBG-сервиса является динамическим параметром, который будет обозначаться как CERj(t). Пропускная способность сети между узлом 220 SBG-сервиса и RNG-сервисом 410 будет обозначаться как CRQ(t). Значения обеих величин CERj(t) и CRQ(t) колеблются во времени и имеют зависимость от времени, выраженную своим аргументом t. Поскольку они могут быть измерены, в одном из вариантов осуществления настоящего изобретения величины CERj(t) и CRQ(t) контролируются и учитываются с целью последующей оптимизации. С целью упрощения данного описания будет предполагаться, что пропускная способность сети достаточно велика, так что действием этого ограничения можно пренебречь, т.е. можно предположить, что CERj(t)=CRQ(t)=∞.

[0055] Первичные параметры, которые влияют на производительность системы и которыми можно управлять, это размер пакета nk для запроса k на SBG-сервисе 410 и соответствующее время Tk, когда отправляется запрос. В любой данный момент времени существует вероятность того, что будет несколько параллельных ждущих обработку запросов от одного или более SBG-сервисов 410 к RNG-сервису 405. Количество открытых запросов от SBG-сервисов 410 будет представлено как R(t). Для того чтобы система работала надлежащим образом (т.е. без переполнения и без блокировок из-за исчерпания лимита времени), R(t)≤Rmax и fEii≤ti должны выполняться в любой момент времени.

[0056] Когда все относящиеся к данному случаю параметры определены, оптимальное решение может быть сведено к следующей задаче ограниченной оптимизации:

где вектор P(t) содержит все статические и динамические параметры в системе.

[0057] Теперь рассмотрим ФИГ. 6, где представлен алгоритм, который обеспечивает решение для пакета RN-запросов с постоянным интервалом времени, когда размер пакета nk зависит только от заранее установленного интервала Δt между пакетами в системе с одним RNG-сервисом и одним SBG-сервисом. Это означает, что все запросы, посланные от EGM 100 на этапе 600 и поступившие на SBG-сервис 410, регистрируются в списке 610 запросов, представленных в виде r1, r2 … rn на этапе 605, в течение интервала Δt. Пакет запросов в списке 610 запросов передается как один запрос на RNG-сервис 405 на этапе 615. После отправки список 610 запросов очищается и сбрасывается в начальное состояние для сбора следующего пакета запросов, получаемых от EGM на этапе 620, представленном пустым списком 625. Следует понимать, что для номера пакета k количество запросов от EGM в списке 610 запросов является размером пакета nk, который может варьироваться от пакетного запроса к пакетному запросу, инициированному SBG-сервисом 410 в адрес RNG-сервиса 405. Величина Δt должна быть выбрана такой, что Δt≤ΔT-δΤ, где δΤ (630) - это ожидаемое время, необходимое для ответа на запрос от игрового автомата EGM, если он передается на RNG-сервис 405 немедленно без какой-либо задержки со стороны SBG-сервиса 410.

[0058] В завершение процесса, как только пакет 610 запросов будет отправлен SBG-сервисом 410 и получен на RNG-сервисе 405 на этапе 615, в качестве ответа будет сгенерирован пакет RN на этапе 635 и отослан обратно из RNG-сервиса на SBG-сервис на этапе 640. SBG-сервис, в свою очередь, посылает отдельные ответы обратно на EGM для проведения игры на этапе 645. RN могут быть сохранены в RNG-системе 210 в памяти 415, как часть этапа 635, когда они генерируются. Они могут также быть сохранены в SBG-системе 220 в памяти 420 (этап 650) для того, чтобы обеспечить полную прослеживаемость всех проведенных игр на EGM 100. Как только RN получено, процесс проведения игры на EGM 100 на этапе 655 завершается.

[0059] Общесистемное время ожидания δΤ можно определить измерением времени отклика ri для статистически значимого количества непосредственно переданных от EGM запросов таким образом, чтобы можно было гарантировать, что только некоторому очень малому заранее установленному проценту ε времен отклика ri понадобится для ответа более длительное время ожидания, чем δΤ. В качестве примера того, как этого можно достичь, рассмотрим следующий случай: при измерении ri было обнаружено, что ri является случайной переменной с нормальным распределением (т.е. Гауссовым распределением). Выбрав δΤ=