CN103365629A - 使用认证检查点哈希使能哈希函数的并行处理的系统和方法 - Google Patents

使用认证检查点哈希使能哈希函数的并行处理的系统和方法 Download PDF

Info

Publication number
CN103365629A
CN103365629A CN2013101020309A CN201310102030A CN103365629A CN 103365629 A CN103365629 A CN 103365629A CN 2013101020309 A CN2013101020309 A CN 2013101020309A CN 201310102030 A CN201310102030 A CN 201310102030A CN 103365629 A CN103365629 A CN 103365629A
Authority
CN
China
Prior art keywords
hash
program code
fragment
result
check point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013101020309A
Other languages
English (en)
Inventor
布赖恩·D·沃尔夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Game Technology
Original Assignee
International Game Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Game Technology filed Critical International Game Technology
Publication of CN103365629A publication Critical patent/CN103365629A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供使能哈希函数的并行处理的系统和方法。使用哈希函数对包括按顺序排列的多个片段的数据字符串进行哈希,以确定与片段相关联的多个认证检查点哈希。为认证数据字符串,将片段分为组,并且将与按顺序跟随在该组所有其他片段之后的片段相关联的认证检查点哈希与该组关联起来。系统同时对每个组实施单独的哈希过程。也就是说,系统使用哈希函数对该组的片段进行哈希以确定结果哈希,并且将该结果哈希和与该组相关联的认证检查点哈希相比较。到用于每个组的哈希过程的哈希函数的初始输入包括片段之一以及默认种子或认证检查点哈希。

Description

使用认证检查点哈希使能哈希函数的并行处理的系统和方法
背景技术
在当今的数字化时代,庞大的信息量,诸如可执行程序代码、文档、银行对账单、保险信息等作为数据存储在各种计算设备上,诸如服务器、个人计算机、平板计算设备和智能手机。这类数字化存储数据的性质致使其特别容易受到用肉眼极难检测的未授权修改的影响。例如,个人可以改变一百页合同的几行中的几个字以使该合同对该个人更有利。在另一个示例中,个人可以将几行代码插入包括数万或数十万或数百万行代码的程序代码中。当执行该程序代码时,附加行的代码使得所执行程序的一个或多个函数与预期不同地进行操作。在诸如视频游戏的一个实例中,其中在程序代码存储在电子游戏机(EGM)上并可由EGM执行以运行游戏,这类未授权修改可以为个人提供没有其他玩家将接收的视频游戏中的优势。这类示例概述认证存储在计算设备上的某些数据字符串以确保这类数据字符串尚未被以未授权方式修改的必要性,该数据字符串诸如机密文档和程序代码。例如,在执行存储在EGM上的程序代码之前,EGM认证所存储的程序代码以确定其是否已经被以未授权方式修改。
虽然存在许多方法来认证数据字符串,但是使用单向哈希函数(本文称为“哈希函数”)来确定数据字符串的拷贝是否相对于原始数据字符串已被修改(即认证数据字符串的拷贝)是司空见惯的。一般地,哈希函数是将可变长度的输入字符串转换为通常称为结果哈希的不同的、静态长度的输出字符串的函数(诸如数学函数)。换句话说,使用哈希函数对输入字符串进行哈希(即输入哈希函数)以获得结果哈希。输入字符串和输出字符串二者通常包括字母、数字和/或其他字符。对于给定的输入字符串和给定的哈希函数,当使用该哈希函数对该输入字符串进行哈希时,总是获得相同的结果哈希。因为对于给定的输入字符串使用哈希函数来获得结果哈希(即通过使用哈希函数对输入字符串进行哈希)是相对容易的,但是对于给定的结果哈希获得输入字符串是极其困难的并且在某些情况下是在计算机上不可行的,所以哈希函数称为“单向”哈希函数。换言之,给定输入字符串,容易使用哈希函数来获得相应的输出字符串,但是给定输出字符串,几乎不可能使用哈希函数来获得相应的输入字符串。某些哈希函数是抗碰撞的。对于这类哈希函数,确定当使用哈希函数进行哈希时(即当输入哈希函数时)产生相同结果哈希的两个不同输入字符串是极其困难的并且在某些情况下是在计算机上不可行的。因此,在这类抗碰撞哈希函数中,每个输入字符串与唯一的相应结果哈希相关联。
因为当使用给定的哈希函数对给定的输入字符串进行哈希时总是获得相同的结果哈希,所以哈希函数可以用于通过确定从对原始数据字符串进行哈希所获得的结果哈希是否与从对数据字符串的拷贝进行哈希所获得的结果哈希相同来认证数据字符串的拷贝。更具体地,哈希函数通常用于以以下方式认证数据字符串的拷贝:(a)使用哈希函数对原始数据字符串进行哈希(诸如在第一时间点)以获得第一结果哈希,(b)使用相同的哈希函数对数据字符串的拷贝进行哈希(诸如在第二后续时间点)以获得第二结果哈希,以及(c)将第一结果哈希和第二结果哈希作比较以确定第一结果哈希和第二结果哈希是否相同。如果第一结果哈希和第二结果哈希是相同的,则原始数据字符串和数据字符串的拷贝是相同的,并且因此数据字符串的拷贝是可信的(即其相对于原始数据字符串尚未被修改)。如果第一结果哈希和第二结果哈希是不同的,则数据字符串和数据字符串的拷贝不是相同的,并且因此数据字符串的拷贝不是可信的(即其相对于原始数据字符串已经被修改)。
在一个示例中,Joe创建其打算电邮给Eileen的文档。在将文档的拷贝电邮给Eileen之前,Joe指示其计算机使用哈希函数对文档(在该示例中其为输入字符串)进行哈希以获得第一结果哈希。Joe将文档的拷贝和第一结果哈希电邮给Eileen。在接收到文档的拷贝和第一结果哈希之后,Eileen指示其计算机使用相同的哈希函数对文档的拷贝进行哈希以获得第二结果哈希。Eileen将第一结果哈希与第二结果哈希作比较。如果两个结果哈希是相同的,则Eileen知道文档的拷贝与Joe所创建的文档相同。如果两个结果哈希是不同的,则Eileen知道文档的拷贝与Joe所创建的文档不相同。
在另一个示例中,Dan创建文档并将文档保存在其计算机的硬盘驱动器上。Dan将去度假并且想确信当其离开时文档没有被其室友Joey所改动。Dan指示其计算机使用哈希函数对文档(在该示例中其为输入字符串)进行哈希以获得第一结果哈希,并将第一结果哈希存储在安全位置。在度假回来之后,Dan再次指示其计算机使用相同的哈希函数对文档进行哈希以获得第二结果哈希。Dan将第一结果哈希与第二结果哈希作比较。如果两个结果哈希是相同的,则Dan知道自从其第一次对文档进行哈希以来文档未被改动。如果两个结果哈希是不同的,则Dan知道自从其第一次对文档进行哈希以来文档已被改动。
在大多数情况下,数据字符串太大不能一次性地进行哈希。在这类情况下,通常将数据字符串分成按指定顺序排列的多个数据字符串片段,并且按指定顺序依次对该数据字符串片段进行哈希。在这些情况下,使用哈希函数对按照指定顺序的第一数据字符串片段和默认种子进行哈希(即将其输入哈希函数)以获得第一结果哈希。对于按照指定顺序的每个随后数据字符串片段:(a)该数据字符串片段以及(b)从对按照指定顺序紧接在该数据字符串片段之前的数据字符串片段进行哈希所获得的结果哈希,使用哈希函数对其进行哈希(即将其输入哈希函数)以获得结果哈希。因此,应该理解在这些情况下,因为当对第N个数据字符串片段进行哈希时使用从对第N-1个数据字符串片段进行哈希所获得结果哈希作为哈希函数的输入之一,所以直到已经对第N-1个数据字符串片段进行哈希,才能对第N个数据字符串片段进行哈希。当已经对每个数据字符串片段进行哈希时,最终结果哈希代表对整个数据字符串进行哈希的结果。
通常基于用于对数据字符串进行哈希的哈希函数来确定数据字符串所分成的数据字符串片段的数量。也就是说,某些哈希函数仅对特定大小的数据字符串片段进行操作。例如,MD5哈希对128位数据字符串片段进行哈希。因此,在该示例中,将数据字符串分成多个128位数据字符串片段,并且之后按照上述方式使用MD5哈希对该片段进行哈希。具体地,在该示例中,数据字符串片段的数量等于以字节为单位的数据字符串的大小除以十六并四舍五入。
图1是示出了太大不能一次性地进行哈希的程序代码(即数据字符串)的示范性哈希的框图。在该示例中,将程序代码分成按照以下指定顺序使用哈希函数105进行哈希的以下四个片段:程序代码的第一片段120、程序代码的第二片段220、程序代码的第三片段320以及程序代码的第四片段420。首先使用哈希函数105对程序代码的第一片段120和默认种子110进行哈希以获得第一结果哈希130。也就是说,将程序代码的第一片段120和默认种子110输入哈希函数105,以及作为哈希函数105的输出获得第一结果哈希130。接下来,使用哈希函数105对程序代码的第二片段220和第一结果哈希130(即从对按照指定顺序紧接在程序代码的第二片段220之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得第二结果哈希230。也就是说,将程序代码的第二片段220和第一结果哈希130输入哈希函数105,以及作为哈希函数105的输出获得第二结果哈希230。
接下来,使用哈希函数105对程序代码的第三片段320和第二结果哈希230(即从对按照指定顺序紧接在程序代码的第三片段320之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得第三结果哈希330。也就是说,将程序代码的第三片段320和第二结果哈希230输入哈希函数105,以及作为哈希函数105的输出获得第三结果哈希330。接下来,使用哈希函数105对程序代码的第四片段420和第三结果哈希330(即从对按照指定顺序紧接在程序代码的第四片段420之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得最终结果哈希430。也就是说,将程序代码的第四片段420和第三结果哈希330输入哈希函数105,以及作为哈希函数105的输出获得第四结果哈希430。因为程序代码的第四片段420是按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段,所以从对程序代码的第四片段420进行哈希所获得的结果哈希是最终结果哈希。从以上示例应该理解该对数据字符串的多个片段(以上示例中的程序代码的多个片段)进行哈希的过程是内在循序的。
哈希函数通常用于在计算设备执行存储在其上的程序代码的拷贝之前认证该程序代码的拷贝。换句话说,哈希函数通常用于确保将由计算设备所执行的程序代码的拷贝与原始程序代码是相同的。例如,由一组程序员在第一时间点创建代表将由EGM所运行的视频扑克游戏的程序代码。在将程序代码的拷贝存储在EGM上之前,使用哈希函数对程序代码进行哈希以获得被称为认证最终结果哈希的结果哈希。加密认证最终结果哈希并将其与程序代码的拷贝关联地存储在EGM上。例如,由服务器通过数据网络将程序代码的拷贝和经加密的认证最终结果哈希发送到EGM并将其存储在EGM的存储器设备上。当EGM接收执行程序代码的拷贝的指令时,诸如当EGM启动时,EGM在执行程序代码的拷贝之前认证程序代码的拷贝。具体地,EGM通过以下方式认证程序代码的拷贝:(a)使用哈希函数(即用于获得认证最终结果哈希的相同哈希函数)对存储在EGM上的程序代码的拷贝进行哈希以获得最终结果哈希;(b)解密与程序代码的拷贝关联地存储的认证最终结果哈希;以及(c)将认证最终结果哈希与最终结果哈希相比较。如果认证最终结果哈希和最终结果哈希是相同的,则EGM确定存储在EGM上的程序代码的拷贝是可信的(即与经哈希以获得认证最终结果哈希的程序代码是相同的)并且执行程序代码的拷贝。如果认证最终结果哈希和最终结果哈希不是相同的,则EGM确定存储在EGM上的程序代码的拷贝不是可信的(即与经哈希以获得认证最终结果哈希的程序代码不相同)并且不执行程序代码的拷贝。
如上所述,在大多数情况下,将要进行哈希的数据字符串太大不能一次性地进行哈希,所以将数据字符串分成片段并按照指定顺序依次对其进行哈希以获得最终结果哈希。转而将最终结果哈希与认证最终结果哈希进行比较以认证数据字符串。更具体地,对于按照指定顺序跟随在第一数据字符串片段之后的每个数据字符串片段(如果存在的话),对该数据字符串片段与从对按照指定顺序紧接在前面的数据字符串片段进行哈希所获得的结果哈希一起进行哈希以获得结果哈希,其随后被用作到按照指定顺序的随后的数据字符串片段的哈希的输入。也就是说,对于按照指定顺序跟随在第一数据字符串片段之后的每个数据字符串片段,直到已经对按照指定顺序紧接在前面的数据字符串片段进行哈希,才能对该数据字符串片段进行哈希。
随着将要使用哈希函数进行认证的数据字符串的大小增大,必须分别进行哈希的数据字符串片段的数量增大。因为必须对每个数据字符串片段依次地实施这类哈希,所以随着数据字符串的大小增大对数据字符串片段进行哈希所花费的时间也增大。例如,以这类方式对单个程序代码进行哈希和认证典型EGM需要花费多达30秒。对其他数据进行哈希和认证该典型EGM还需要花费附加的时间,该其他数据诸如支付表数据、声音数据、图像数据、文本数据和视频数据。在包括多个程序代码的EGM上(例如配置为运行多个游戏的EGM),时间量增大等于程序代码的数量的倍数。例如,包括将要进行认证的10个程序代码的EGM花费超过300秒来对程序代码进行哈希和认证。
该相对长的认证周期增加EGM进行初始化所花费的时间,并且因此直接减少EGM可用来由玩家进行游戏的时间量并且直接增加游戏厅(或其他游戏设施)员工必须监督EGM初始化过程以确保没有问题的时间量。进一步地,因为这类认证仅确定单个最终结果哈希是否与单个认证最终结果哈希相同,所以当认证失败时游戏厅员工没有办法定位未授权修改位于何处。因此,依然需要提供通过使用哈希函数对数据字符串的多个片段同时进行哈希来加速认证过程的系统和方法,并且需要提供使得数据字符串中的未授权修改能够被定位的系统和方法。
发明内容
本公开的各实施例提供使用认证检查点哈希使能哈希函数的并行处理的系统和方法。一般地,本公开的系统配置为通过采用所存储的认证检查点哈希同时对数据字符串片段的多个组进行哈希来认证分为多个数据字符串片段的所存储的数据字符串。更具体地,在各实施例中,本公开的系统配置为通过采用所存储的认证检查点哈希同时对多组程序代码片段进行哈希来认证存储在EGM上并分为多个程序代码片段的程序代码的拷贝,以大致减少EGM认证程序代码的拷贝所花费的时间。
在第一时间点,处理器使用指定哈希函数来对分为按照指定顺序排列的多个数据字符串片段的数据字符串进行哈希,以确定与数据字符串片段相关联的多个认证检查点哈希。更具体地,使用指定哈希函数对按照指定顺序的第一数据字符串片段和默认种子进行哈希以获得第一结果哈希,其与第一数据字符串片段关联地存储为第一认证检查点哈希。对于按照指定顺序的每个随后数据字符串片段:(a)该数据字符串片段,以及(b)从对按照指定顺序紧接在该数据字符串片段之前的数据字段串片段进行哈希所获得的结果哈希,使用指定哈希函数进行哈希以获得结果哈希,结果哈希与该数据字符串片段关联地存储为认证检查点哈希。
在各实施例中,本公开的系统通过使用指定哈希函数和认证检查点哈希同时对多组数据字符串片段的每个组进行哈希来在第二随后时间点认证数据字符串。应该理解在某些实施例中,系统包括用于确定认证检查点哈希的处理器,而在其他实施例中系统不包括用于确定认证检查点哈希的处理器。系统将数据字符串片段分为多个组。每个组包括至少一个数据字符串片段。对于每个组,系统将与如果存在该组的所有其他数据字符串片段则按照指定顺序跟随其后的数据字符串片段相关联的认证检查点哈希和该组关联起来。系统同时或大致同时使用指定哈希函数对每个组实施单独的哈希过程。更具体地,对于每个组,系统使用指定哈希函数对该组的数据字符串片段进行哈希以确定结果哈希,并且将该结果哈希和与该组相关联的认证检查点哈希相比较,以确定该组的数据字符串片段是否是可信的。对于每个组,到用于该组的哈希过程的指定哈希函数的初始输入包括:(a)数据字符串片段之一,以及(b)默认种子(如果该组包括按照指定顺序的第一数据字符串片段)或者认证检查点哈希之一(如果该组不包括按照指定顺序的第一数据字符串片段)。因为由系统在第二随后时间点将数据字符串片段、默认种子和认证检查点哈希全部存储,所以到用于每个组的哈希过程的指定哈希函数的初始输入是已知值。因此,因为哈希过程不要求基于从任意其他组的任意其他哈希过程所获得任意结果哈希的初始输入,所以可以同时或大致同时实施用于每个组的每个哈希过程。
应该理解本公开的系统通过采用认证检查点哈希同时对多组数据字符串片段进行哈希来使能包括大量待认证的数据字符串片段的数据字符串。当应用于存储在EGM上的程序代码的认证时,这类同时的哈希使得程序代码得以更快地执行,其减少加载或停机时间并增大EGM可用于由玩家玩的时间量。
本文描述附加的特征和优势,并且其将从以下详细的说明和附图明显得到。
附图说明
图1是示出了太大不能一次性地进行哈希的程序代码的示范性哈希的框图,其中根据指定顺序依次对多个程序代码的片段中的每一个进行哈希。
图2是示出了包括四个片段的程序代码的示范性初始哈希的框图,其结果用于确定与程序代码的四个片段相关联的认证检查点哈希。
图3是示出了对于图2的两组程序代码的拷贝的两个片段同时实施两个哈希过程的示例的框图,其中哈希过程采用认证检查点哈希。
图4是示出了对于图2的两组程序代码的拷贝的一个或多个片段同时实施两个哈希过程的示例的框图,其中哈希过程采用认证检查点哈希。
图5是示出了对于图2的四组程序代码的拷贝的一个片段同时实施四个哈希过程的示例的框图,其中哈希过程采用认证检查点哈希。
图6A是本公开的系统的一个实施例的网络配置的示例的示意性框图。
图6B是本公开的系统的一个实施例的电子配置的示意性框图。
图7A和7B是本公开的系统的示范性替代实施例的透视图。
具体实施方式
使用认证检查点哈希使能哈希函数的并行处理
本公开的各实施例提供使用认证检查点哈希使能哈希函数的并行处理的系统和方法。一般地,本公开的系统配置为通过采用所存储的认证检查点哈希同时对多组数据字符串片段进行哈希来认证分为多个数据字符串片段的所存储的数据字符串。应该理解本公开可以用在任意合适的数据字符串,诸如(但不限于):(a)代表可执行程序代码的数据字符串;(b)代表诸如图像或视频的图像元素的数据字符串;(c)代表诸如声音效果或音乐的音频元素的数据字符串;(d)代表用于游戏的支付表元素的数据字符串;代表文本元素的数据字符串;以及(e)代表任意其他合适数据的数据字符串。虽然本公开可以用在任意合适的数据字符串,但是在以下所述的本公开的实施例和示例中数据字符串为可执行程序代码。
程序代码分为按照指定顺序排列的多个片段。在各实施例中,在本公开的系统可以认证程序代码之前,必须以以上关于图1所一般性描述的方式对程序代码进行哈希来为程序代码的每个片段确定认证检查点哈希。更具体地,对于程序代码的每个片段,将作为对程序代码的该片段与以下内容进行哈希的结果的所获得的结果哈希存储为与程序代码的该片段相关联的认证检查点哈希:(a)默认种子,或(b)从对按照指定顺序紧接在程序代码的该片段之前的程序代码的片段进行哈希所获得结果哈希。与按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段相关联的认证检查点哈希在本文被称为认证最终结果哈希。
在一个示例中,程序代码包括按照以下指定顺序排列的三个片段:程序代码的第一片段、程序代码的第二片段和程序代码的第三片段。在该示例中,程序代码的第一片段与第一认证检查点哈希(其与从对程序代码的第一片段和默认种子进行哈希所获得的结果哈希相同)相关联,程序代码的第二片段与第二认证检查点哈希(其与从对程序代码的第二片段和从对程序代码的第一片段进行哈希所获得的结果哈希进行哈希所获得的结果哈希相同)相关联,以及程序代码的第三片段与第三认证检查点哈希(其与从对程序代码的第三片段和从对程序代码的第二片段进行哈希所获得的结果哈希进行哈希所获得的结果哈希相同)相关联。因为程序代码的第三片段是按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段,所以第三认证检查点哈希是认证最终结果哈希。
应该理解在某些实施例中,本公开的系统确定认证检查点哈希,而在其他实施例中,本公开的系统不确定认证检查点哈希。
在已经为程序代码的每个片段确定认证检查点哈希之后,系统根据指定顺序将程序代码的片段分组为至少两组程序代码的至少一个片段。也就是说,每个组包括程序代码的一个或多个片段,并且如果组包括程序代码的多个片段,则根据指定顺序排列组中的程序代码的那些片段。应该理解可以采用任意合适数量的组,并且每组可以包括任意合适数量的程序代码的片段。
在对数据字符串进行初始哈希时确定组的数量。在某些实施例中,基于处理器能力或基于系统的处理器的数目确定组的数量。在系统包括两个处理器的一个示例中,组的数量是两个(即等于处理器的数目)。在系统包括四个处理器的一个示例中,组的数量是四个(即等于处理器的数目)。应该理解可以以任意其他合适的方式以及基于任意其他合适的因素确定将采用的组的数量。
继续参考以上示例,系统确定包括程序代码的第一片段的第一组程序代码的片段以及包括程序代码的第二和第三片段的第二组程序代码的片段。
在各实施例中,系统将认证检查点哈希之一与每个组关联起来。更具体地,对于每个组:(a)如果该组包括按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段,则系统将认证最终结果哈希与该组关联起来;以及(b)如果该组不包括按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段,则系统将与如果存在该组的程序代码的所有其他片段则跟随其后的程序代码的片段相关联的认证检查点哈希与该组关联起来。
继续参考以上示例,系统:(a)将第一组与第一认证检查点哈希关联起来,因为包括在第一组中的程序代码的仅有片段是程序代码的第一片段,其与第一认证检查点哈希相关联;以及(b)将第二组与认证最终结果哈希关联起来,因为第二组包括按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段(即包括程序代码的第三片段)。
在将认证检查点哈希之一与每个组关联起来之后,在各实施例中,为认证程序代码,系统使用指定的哈希函数同时地或大致同时地对每组实施单独的哈希过程。更具体地,对于每个组,系统使用哈希函数对该组的程序代码的片段进行哈希以确定结果哈希,并将结果哈希和与该组相关联的认证检查点哈希相比较以确定该组的程序代码的片段是否是可信的。对于每个组,用于该组的哈希过程的指定哈希函数的初始输入包括:(a)程序代码的片段之一,以及(b)默认种子或者认证检查点哈希之一。应该理解因为由系统存储:(a)程序代码的片段、(b)默认种子以及(c)认证检查点哈希,所以用于每个哈希过程的指定哈希函数的初始输入是已知值。也就是说,因为哈希过程不要求基于从任意其他组的任意其他哈希过程所获得的任意结果哈希的初始输入,所以可以同时实施用于每个组的每个哈希过程。
继续参考以上示例,系统:(a)使用指定哈希函数对第一组的程序代码的第一片段进行哈希以获得结果哈希并将该结果哈希与第一认证检查点哈希作比较;以及同时(b)使用指定哈希函数对第二组的程序代码的第二和第三片段进行哈希以获得结果哈希并将该结果哈希与认证最终结果哈希作比较。进一步地,在该示例中,到第一组的哈希过程的初始输入包括:(a)程序代码的第一片段;以及(b)默认种子,其中每个为已知值,以及到第二组的哈希过程的初始输入包括:(a)程序代码的第二片段;以及(b)第一认证检查点哈希,其中每个为已知值。
更具体地,对于包括按照指定顺序在程序代码的所有其他片段之前的程序代码的片段的组,系统:(a)使用指定哈希函数来对以下内容进行哈希以获得结果哈希:(ⅰ)按照指定顺序在程序代码的所有其他片段之前的程序代码的片段,以及(ⅱ)默认种子;(b)对于该组的程序代码的任意剩余片段的每一个,使用指定哈希函数来对以下内容进行哈希以获得结果哈希:(ⅰ)程序代码的该片段,以及(ⅱ)从对按照指定顺序紧接在程序代码的该片段之前的程序代码的片段进行哈希所获得的结果哈希;以及(c)确定从对如果存在该组的程序代码的所有其他片段则按照指定顺序跟随其后的该组的程序代码的片段进行哈希所获得的结果哈希是否和与该组相关联的认证检查点哈希相同。如果从对如果存在该组的程序代码的所有其他片段则按照指定顺序跟随其后的该组的程序代码的片段进行哈希所获得的结果哈希和与该组相关联的认证检查点哈希相同,则系统认证该组的程序代码的片段。如果不相同,则系统不认证该组的程序代码的片段。
继续参考以上示例,第一组包括按照指定顺序在程序代码的所有其他片段之前的程序代码的片段(即程序代码的第一片段)。因此,系统:使用指定哈希函数来对程序代码的第一片段和默认种子进行哈希以获得第一结果哈希,并且将第一结果哈希与第一认证检查点哈希作比较。如果第一结果哈希与第一认证检查点哈希相同,则程序代码的第一片段是可信的。如果第一结果哈希与第一认证检查点哈希不同,则程序代码的第一片段不是可信的。
对于每个剩余组,系统:(a)使用指定哈希函数来对以下内容进行哈希以获得结果哈希:(ⅰ)如果存在该组的程序代码的所有其他片段则按照指定顺序在其之前的该组的程序代码的片段,以及(ⅱ)与包括按照指定顺序紧接在程序代码的该片段之前的程序代码的片段的组相关联的认证检查点哈希;(b)对于该组的程序代码的任意剩余片段的每一个,使用指定哈希函数对以下内容进行哈希以获得结果哈希:(ⅰ)程序代码的该片段;以及(ⅱ)从对按照指定顺序紧接在程序代码的该片段之前的程序代码的片段进行哈希所获得的结果哈希;以及(c)确定从对如果存在该组的程序代码的所有其他片段则按照指定顺序跟随其后的该组的程序代码的片段进行哈希所获得的结果哈希是否和与该组相关联的认证检查点哈希相同。对于每个剩余组,如果从对如果存在该组的程序代码的所有其他片段则按照指定顺序跟随其后的该组的程序代码的片段进行哈希所获得的结果哈希和与该组相关联的认证检查点哈希相同,则系统认证该组的程序代码的片段。如果不相同,则系统不认证该组的程序代码的片段。
继续参考以上示例,系统:(a)使用指定哈希函数对第一认证检查点哈希和程序代码的第二片段进行哈希以获得第二结果哈希,(b)对第二结果哈希和程序代码的第三片段进行哈希以获得第三结果哈希,以及(c)将第三结果哈希与认证最终结果哈希相比较。如果第三结果哈希与认证最终结果哈希相同,则程序代码的第二和第三片段是可信的。如果第三结果哈希与认证最终结果哈希不同,则程序代码的第二和第三片段不是可信的。
应该理解系统可以以任意合适的方式同时实施这类哈希过程。在系统包括多于或等于组数量的处理器数量的某些实施例中,系统将每个哈希过程分配到处理器的不同的一个加以实施。在系统包括少于组数量的处理器数量的实施例中,系统为每个处理器分配某一数目的哈希过程以实施。例如,在系统包括两个处理器和四个待实施的哈希过程时,系统将哈希过程中的两个分配到每一个处理器加以实施。在进一步的实施例中,系统动态分配哈希过程到处理器。在这类实施例中,系统初始为每个处理器分配一个或多个哈希过程以实施。系统随后分配尚未被实施的至少一个哈希过程到无论哪个首先完成该处理器的所分配的哈希过程的处理器。例如,在包括两个处理器和三个待实施的哈希过程的系统中,系统初始为每一个处理器分配哈希过程之一以实施。系统随后将剩余哈希过程分配到无论哪个首先结束实施该处理器的所分配的哈希过程的处理器。在其他实施例中,系统利用超线程来使得一个或多个处理器能够每个起多个处理器的作用。
在各实施例中,对于每个组,当从对如果存在该组的程序代码的所有其他片段则按照指定顺序跟随其后的该组的程序代码的片段进行哈希所获得的结果哈希和与该组相关联的认证检查点哈希不相同时,则系统生成错误消息,以及在某些实施例中,存储错误消息、显示错误消息和/或将错误消息传送到第三方。因此应该理解在这类实施例中,系统识别组中的哪一个包括不可信的程序代码的片段。
如以上所一般性解释的,哈希函数通常用于在执行程序代码的拷贝之前认证程序代码的拷贝。以下图2到5是示出了本公开的示范性系统如何采用认证检查点哈希来同时对存储在EGM中的多组程序代码的拷贝的一个或多个片段进行哈希的框图。在该示例中,由一组程序员在第一时间点创建由代表将由EGM运行的视频游戏的程序代码。在将程序代码的拷贝存储在EGM上之前,将程序代码分为多个片段并使用指定哈希函数对其进行哈希以获得多个认证检查点哈希。图2是示出该程序代码的初始哈希的框图,其用于确定与程序代码的每个片段相关联的认证检查点哈希。在该示例中,程序代码分为将按照以下指定顺序使用哈希函数1105进行哈希的以下四个片段:程序代码的第一片段1120、程序代码的第二片段1220、程序代码的第三片段1320和程序代码的第四片段1420。
首先使用哈希函数1105对程序代码的第一片段1120和默认种子1110进行哈希以获得第一结果哈希1130。也就是说,将程序代码的第一片段1120和默认种子1110输入哈希函数1105,以及作为哈希函数1105的输出获得第一结果哈希1130。将第一结果哈希1130与程序代码的第一片段1120关联地存储为第一认证检查点哈希1140。接下来,使用哈希函数1105对程序代码的第二片段1220和第一结果哈希1130(即从对按照指定顺序紧接在程序代码的第二片段1220之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得第二结果哈希1230。也就是说,将程序代码的第二片段1220和第一结果哈希1130输入哈希函数1105,以及作为哈希函数1105的输出获得第二结果哈希1230。将第二结果哈希1230与程序代码的第二片段1220关联地存储为第二认证检查点哈希1240。
接下来,使用哈希函数1105对程序代码的第三片段1320和第二结果哈希1230(即从对按照指定顺序紧接在程序代码的第三片段1320之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得第三结果哈希1330。也就是说,将程序代码的第三片段1320和第二结果哈希1230输入哈希函数1105,以及作为哈希函数1105的输出获得第三结果哈希1330。将第三结果哈希1330与程序代码的第三片段1320关联地存储为第三认证检查点哈希1340。接下来,使用哈希函数1105对程序代码的第四片段1420和第三结果哈希1330(即从对按照指定顺序紧接在程序代码的第四片段1420之前的程序代码的片段进行哈希所获得的结果哈希)进行哈希以获得第四结果哈希1430。也就是说,将程序代码的第四片段1420和第三结果哈希1330输入哈希函数1105,以及作为哈希函数1105的输出获得第四结果哈希1430。因为程序代码的第四片段1420是按照指定顺序跟随在程序代码的所有其他片段之后的程序代码的片段,所以将第四结果哈希1430与程序代码的第四片段1420关联地存储为认证最终结果哈希1440。
加密认证检查点哈希并将其与程序代码的拷贝关联地存储在EGM上。例如,由服务器通过数据网络将程序代码的拷贝和经加密的认证检查点哈希发送到EGM并将其存储在EGM的存储器设备上。当EGM接收初始化程序代码的拷贝的指令时,诸如当EGM启动时,EGM在执行程序代码的拷贝之前通过采用认证检查点哈希同时对多组程序代码的一个或多个片段的每个组进行哈希来认证程序代码的拷贝。(以下所述的)图3到5示出了经由采用认证检查点哈希的哈希函数的并行处理的认证程序代码的拷贝的不同示例。
图3是示出了如何经由采用认证检查点哈希的哈希函数的并行处理认证程序代码的拷贝的一个示例的框图。更具体地,在该示例中,同时对每个包括程序代码的拷贝的两个片段的两个组进行哈希。在该示例中程序代码的拷贝分为按照以下指定顺序进行排列的以下四个片段:程序代码的拷贝的第一片段1120、程序代码的拷贝的第二片段1220、程序代码的拷贝的第三片段1320和程序代码的拷贝的第四片段1420。在该示例中,将程序代码的拷贝的片段分组为以下两组:(a)第一组包括程序代码的拷贝的第一片段1120和程序代码的拷贝的第二片段1220,以及(b)第二组包括程序代码的拷贝的第三片段1320和程序代码的拷贝的第四片段1420。系统将第二认证检查点哈希1240(即与按照指定顺序跟随在第一组的程序代码的拷贝的所有其他片段之后的程序代码的拷贝的片段相关联的认证检查点哈希)与第一组关联起来,并且因为第二组包括按照指定顺序跟随在程序代码的拷贝的所有其他片段之后的程序代码的拷贝的片段,所以将认证最终结果哈希1440与第二组关联起来。
在该示例中,系统的第一处理器对第一组实施(以下所述的)第一哈希过程100并且系统的第二处理器同时对第二组实施(以下所述的)第二哈希过程200。更具体地,第一处理器首先通过使用哈希函数1105对程序代码的拷贝的第一片段1120和默认种子1110进行哈希以获得第一结果哈希1130来实施第一哈希过程100。也就是说,第一处理器将程序代码的拷贝的第一片段1120和默认种子1110输入哈希函数1105,以及获得作为哈希函数1105的输出的第一结果哈希1130。接下来,第一处理器使用哈希函数1105对程序代码的拷贝的第二片段1220和第一结果哈希1130进行哈希以获得第二结果哈希1230。也就是说,第一处理器将程序代码的拷贝的第二片段1220和第一结果哈希1130输入哈希函数1105,以及获得作为哈希函数1105的输出的第二结果哈希1230。
同时,第二处理器首先通过使用哈希函数1105对程序代码的拷贝的第三片段1320和第二认证检查点哈希1240进行哈希以获得第三结果哈希1330来实施第二哈希过程200。也就是说,第二处理器将程序代码的拷贝的第三片段1320和第二认证检查点哈希1240输入哈希函数1105,以及获得作为哈希函数1105的输出的第三结果哈希1330。因为将由系统所存储的第二认证检查点哈希1240而不是第二结果哈希1230输入哈希函数1105,所以可以同时实施第二哈希过程200和第一哈希过程100。因此,第二哈希过程200不需要等待直到确定第二结果哈希1230才开始。接下来,第二处理器使用哈希函数1105对程序代码的拷贝的第四片段1420和第三结果哈希1330进行哈希以获得第四结果哈希1430。也就是说,第二处理器将程序代码的拷贝的第四片段1420和第三结果哈希1330输入哈希函数1105,以及获得作为哈希函数1105的输出的第四结果哈希1430。
在确定第二结果哈希1230和第四结果哈希1430之后,系统通过将第二结果哈希1230与第二认证检查点哈希1240相比较以及通过将第四结果哈希1430与认证最终结果哈希1440相比较来确定是否授权程序代码的拷贝执行。如果以下二者都满足:(a)第二结果哈希1230与第二认证检查点哈希1240相同,以及(b)第四结果哈希1430与认证最终结果哈希1440相同,则系统确定程序代码的拷贝是可信的(即与对其进行哈希以获得认证检查点哈希的程序代码相同),授权程序代码的拷贝执行,以及执行程序代码的拷贝。如果,在另一方面:(a)第二结果哈希1230与第二认证检查点哈希1240不相同,和/或(b)第四结果哈希1430与认证最终结果哈希1440不相同,则系统确定程序代码的拷贝不是可信的(即与对其进行哈希以获得认证检查点哈希的程序代码不相同),并且不授权程序代码的拷贝执行。
图4是示出了如何经由采用认证检查点哈希的哈希函数的并行处理认证程序代码的拷贝的另一个示例的框图。更具体地,在该示例中,同时对一组程序代码的一个片段的和一组程序代码的三个片段进行哈希。在该示例中程序代码的拷贝分为与上述关于图3所述的片段相同的片段。在该示例中,将程序代码的拷贝的片段分为以下两组:(a)第一组包括程序代码的拷贝的第一片段1120;以及(b)第二组包括程序代码的拷贝的第二片段1220、程序代码的拷贝的第三片段1320和程序代码的拷贝的第四片段1420。系统将第一检查点哈希1140(即与该组的程序代码的拷贝的仅有片段相关联的认证检查点哈希)与第一组关联起来,并且因为第二组包括按照指定顺序跟随在程序代码的拷贝的所有其他片段之后的程序代码的拷贝的片段,所以将认证最终结果哈希1440与第二组关联起来。
在该示例中,系统的第一处理器对第一组实施(以下所述的)第一哈希过程300并且系统的第二处理器同时对第二组实施(以下所述的)第二哈希过程400。更具体地,第一处理器通过使用哈希函数1105对程序代码的拷贝的第一片段1120和默认种子1110进行哈希以获得第一结果哈希1130来实施第一哈希过程300。也就是说,第一处理器将程序代码的拷贝的第一片段1120和默认种子1110输入哈希函数1105,以及获得作为哈希函数1105的输出的第一结果哈希1130。
同时,第二处理器首先通过使用哈希函数1105对程序代码的拷贝的第二片段1220和第一认证检查点哈希1140进行哈希以获得第二结果哈希1230来实施第二哈希过程400。也就是说,第二处理器将程序代码的拷贝的第二片段1220和第一认证检查点哈希1140输入哈希函数1105,以及获得作为哈希函数1105的输出的第二结果哈希1230。因为将由系统所存储的第一认证检查点哈希1140而不是第一结果哈希1130输入哈希函数1105,所以可以同时实施第二哈希过程400和第一哈希过程300。因此,第二哈希过程400不需要等待直到确定第一结果哈希1130才开始。接下来,第二处理器使用哈希函数1105对程序代码的拷贝的第三片段1320和第二检查点哈希1240进行哈希以获得第三结果哈希1330。也就是说,第二处理器将程序代码的拷贝的第三片段1320和第二检查点哈希1240输入哈希函数1105,以及获得作为哈希函数1105的输出的第三结果哈希1330。接下来,第二处理器使用哈希函数1105对程序代码的拷贝的第四片段1420和第三结果哈希1330进行哈希以获得第四结果哈希1430。也就是说,第二处理器将程序代码的拷贝的第四片段1420和第三结果哈希1330输入哈希函数1105,以及获得作为哈希函数1105的输出的第四结果哈希1430。
在确定第一结果哈希1130和第四结果哈希1430之后,系统通过将第一结果哈希1130与第一认证检查点哈希1140相比较以及通过将第四结果哈希1430与认证最终结果哈希1440相比较来确定是否授权程序代码的拷贝执行。如果以下二者都满足:(a)第一结果哈希1130与第一认证检查点哈希1140相同,以及(b)第四结果哈希1430与认证最终结果哈希1440相同,则系统确定程序代码的拷贝是可信的(即与对其进行哈希以确定认证检查点哈希的程序代码相同),授权程序代码的拷贝执行,以及执行程序代码的拷贝。如果,在另一方面:(a)第一结果哈希1130与第一认证检查点哈希1140不相同,和/或(b)第四结果哈希1430与认证最终结果哈希1440不相同,则系统确定程序代码的拷贝不是可信的(即与对其进行哈希以确定认证检查点哈希的程序代码不相同),并且不授权程序代码的拷贝执行。
图5是示出了如何经由采用检查点哈希的哈希函数的并行处理认证程序代码的拷贝的另一个示例的框图。更具体地,在该示例中,同时对每组仅包括程序代码的拷贝的一个片段的四个组进行哈希。在该示例中程序代码的拷贝分为与上述关于图3和图4所述的片段相同的片段。在该示例中,将程序代码的拷贝的片段分为以下四组程序代码的拷贝的片段:(a)第一组包括程序代码的拷贝的第一片段1120,(b)第二组包括程序代码的拷贝的第二片段1220,(c)第三组包括程序代码的拷贝的第三片段1320,以及(d)第四组包括程序代码的拷贝的第四片段1420。系统将第一检查点哈希1140(即与该组的程序代码的拷贝的仅有片段相关联的认证检查点哈希)与第一组关联起来,将第二检查点哈希1240(即与该组的程序代码的拷贝的仅有片段相关联的认证检查点哈希)与第二组关联起来,第三检查点哈希1340(即与该组的程序代码的拷贝的仅有片段相关联的认证检查点哈希)与第三组关联起来,并且因为第四组包括按照指定顺序跟随在程序代码的拷贝的每个其他片段之后的程序代码的拷贝的片段,所以将认证最终结果哈希1440与第四组关联起来。
在该示例中,系统的第一处理器对第一组实施(以下所述的)第一哈希过程500,系统的第二处理器同时对第二组实施(以下所述的)第二哈希过程600,系统的第三处理器同时对第三组实施(以下所述的)第三哈希过程700,以及系统的第四处理器同时对第四组实施(以下所述的)第四哈希过程800。更具体地,第一处理器通过使用哈希函数1105对程序代码的拷贝的第一片段1120和默认种子1110进行哈希以获得第一结果哈希1130来实施第一哈希过程500。也就是说,第一处理器将程序代码的拷贝的第一片段1120和默认种子1110输入哈希函数1105,以及获得作为哈希函数1105的输出的第一结果哈希1130。
同时,第二处理器通过使用哈希函数1105对程序代码的拷贝的第二片段1220和第一认证检查点哈希1140进行哈希以获得第二结果哈希1230来实施第二哈希过程600。也就是说,第二处理器将程序代码的拷贝的第二片段1220和第一认证检查点哈希1140输入哈希函数1105,以及获得作为哈希函数1105的输出的第二结果哈希1230。因为将由系统所存储的第一认证检查点哈希1140而不是第一结果哈希1130输入哈希函数1105,所以可以同时实施第二哈希过程600和第一哈希过程500。因此,第二哈希过程600不需要等待直到确定第一结果哈希1130才开始。
同时,第三处理器通过使用哈希函数1105对程序代码的拷贝的第三片段1320和第二认证检查点哈希1240进行哈希以获得第三结果哈希1330来实施第三哈希过程700。也就是说,第三处理器将程序代码的拷贝的第三片段1320和第二认证检查点哈希1240输入哈希函数1105,以及获得作为哈希函数1105的输出的第三结果哈希1330。因为将由系统所存储的第二认证检查点哈希1240而不是第二结果哈希1230输入哈希函数1105,所以可以同时实施第三哈希过程700和第二哈希过程600。因此,第三哈希过程700不需要等待直到确定第二结果哈希1230才开始。
同时,第四处理器通过使用哈希函数1105对程序代码的拷贝的第四片段1420和第三认证检查点哈希1340进行哈希以获得第四结果哈希1430来实施第四哈希过程800。也就是说,第四处理器将程序代码的拷贝的第四片段1420和第三认证检查点哈希1340输入哈希函数1105,以及获得作为哈希函数1105的输出的第四结果哈希1430。因为将由系统所存储的第三认证检查点哈希1340而不是第三结果哈希1330输入哈希函数1105,所以可以同时实施第四哈希过程800和第三哈希过程700。因此,第四哈希过程800不需要等待直到确定第三结果哈希1330才开始。
在确定第一结果哈希1130、第二结果哈希1230、第三结果哈希1330和第四结果哈希1430之后,系统通过将第一结果哈希1130与第一认证检查点哈希1140相比较、将第二结果哈希1230与第二认证检查点哈希1240相比较、将第三结果哈希1330与第三认证检查点哈希1340相比较以及将第四结果哈希1430与认证最终结果哈希1440相比较来确定是否授权程序代码的拷贝执行。如果:(a)第一结果哈希1130与第一认证检查点哈希1140相同,(b)第二结果哈希1230与第二认证检查点哈希1240相同,(c)第三结果哈希1330与第三认证检查点哈希1340相同,以及(d)第四结果哈希1430与认证最终结果哈希1440相同,则系统确定程序代码的拷贝是可信的(即与对其进行哈希以确定认证检查点哈希的程序代码相同),授权程序代码的拷贝执行,以及执行程序代码的拷贝。如果,在另一方面:(a)第一结果哈希1130与第一认证检查点哈希1140不相同,(b)第二结果哈希1230与第二认证检查点哈希1240不相同,(c)第三结果哈希1330与第三认证检查点哈希1340不相同,和/或(d)第四结果哈希1430与认证最终结果哈希1440不相同,则系统确定程序代码的拷贝不是可信的(即与对其进行哈希以确定认证检查点哈希的程序代码不相同),并且不授权程序代码的拷贝执行。
系统
应该理解上述本公开的实施例可以根据或结合各种不同类型的系统中的一个或多个实现,诸如但不限于以下所描述的系统。
本公开考虑各种不同的系统,每个系统具有多个不同的特征、属性或特性中的一个或多个。应该理解本文所使用的“系统”是指以下的各种配置:(a)一个或多个中央服务器、中央控制器或远程主机;(b)一个或多个电子游戏机(EGM);和/或(c)一个或多个个人设备,诸如台式计算机、便携式计算机、平板计算机或计算设备、个人数码助理(PDA)、诸如智能手机的移动电话以及其他移动计算设备。
因此,在各实施例中,本公开的系统包括:(a)与一个或多个中央服务器、中央控制器或远程主机相组合的一个或多个EGM;(b)与一个或多个中央服务器、中央控制器或远程主机相组合的一个或多个个人设备;(c)与一个或多个EGM相组合的一个或多个个人设备;(d)彼此组合的一个或多个个人设备、一个或多个EGM以及一个或多个中央服务器、中央控制器或远程主机;(e)单个EGM;(f)彼此组合的多个EGM;(g)单个个人设备;(h)彼此组合的多个个人设备;(i)单个中央服务器、中央控制器或远程主机;和/或(j)彼此组合的多个中央服务器、中央控制器或远程主机。
为了简洁和清楚,本公开的每个EGM和每个个人设备在本文统称为“EGM”。此外,为了简洁和清楚,除非特别声明否则本文所使用的“EGM”代表一个EGM或多个EGM,并且本文所使用的“中央服务器、中央控制器或远程主机”代表一个中央服务器、中央控制器或远程主机或者多个中央服务器、中央控制器或远程主机。
如上所述,在各实施例中,系统包括与中央服务器、中央控制器或远程主机相组合的EGM。在这类实施例中,EGM配置为通过数据网络或远程通信链路与中央服务器、中央控制器或远程主机通信。在某些这类实施例中,EGM配置为通过相同的数据网络或远程通信链路或者通过不同的数据网络或远程通信链路与另一个EGM通信。例如,图6A所示的系统包括每个配置为通过数据网络2058与中央服务器、中央控制器或远程主机2056通信的多个EGM2010。
在系统包括与中央服务器、中央控制器或远程主机相组合的EGM的某些实施例中,中央服务器、中央控制器或远程主机是包括至少一个处理器和至少一个存储器设备或存储设备的任意合适的计算设备(诸如服务器)。如以下所进一步描述的,EGM包括至少一个EGM处理器,其配置为在EGM和中央服务器、中央控制器或远程主机之间传输和接收代表事件、消息、命令或任意其他合适信息的数据或信号。该EGM的至少一个处理器配置为结合EGM的操作来执行由这类数据或信号所代表的事件、消息或命令。此外,中央服务器、中央控制器或远程主机的至少一个处理器配置为在EGM和中央服务器、中央控制器或远程主机之间传输和接收代表事件、消息、命令或任意其他合适信息的数据或信号。中央服务器、中央控制器或远程主机的至少一个处理器配置为结合中央服务器、中央控制器或远程主机的操作来执行由这类数据或信号所代表的事件、消息或命令。应该理解可以由EGM的至少一个处理器实施中央服务器、中央控制器或远程主机的功能中的一个、多个或每一个。进一步应该理解可以由中央服务器、中央控制器或远程主机的至少一个处理器实施EGM的至少一个处理器的功能中的一个、多个或每一个。
在某些这类实施例中,由中央服务器、中央控制器或远程主机执行用于控制由EGM所显示的任意游戏(诸如任意初级或基础游戏和/或任意中级或奖金游戏)的计算机化指令。在这类“瘦客户端”实施例中,中央服务器、中央控制器或远程主机远程地控制由EGM所显示的任意游戏(或其他合适的界面),并且利用EGM来显示这类游戏(或合适的界面)并且接收一个或多个输入或命令。在其他这类实施例中,将用于控制由EGM所显示的任意游戏的计算机化指令从中央服务器、中央控制器或远程主机传送到EGM并将其存储在EGM的至少一个存储器设备中。在这类“胖客户端”实施例中,EGM的至少一个处理器执行计算机化指令以控制由EGM所显示的任意游戏(或其他合适的界面)。
在系统包括多个EGM的各实施例中,EGM中的一个或多个是瘦客户端以及EGM中的一个或多个是胖客户端。在系统包括一个或多个EGM的其他实施例中,在瘦客户端环境下实现EGM中的一个或多个的某些功能,以及在胖客户端环境下实现EGM中的一个或多个的某些其他功能。在系统包括EGM和中央服务器、中央控制器或远程主机的一个这类实施例中,在胖客户端配置中,将用于控制由EGM所显示的任意初级或基础游戏的计算机化指令从中央服务器、中央控制器或远程主机传送到EGM,以及在瘦客户端配置中,由中央服务器、中央控制器或远程主机执行用于控制由EGM所显示的任意中级或奖金游戏或其他功能的计算机化指令。
在系统包括以下组件的某些实施例中:(a)配置为通过数据网络与中央服务器、中央控制器或远程主机通信的EGM;和/或(b)配置为通过数据网络彼此通信的多个EGM,数据网络是EGM大致彼此靠近地和/或靠近中央服务器、中央控制器或远程主机地位于其中的局域网(LAN)。在一个示例中,EGM和中央服务器、中央控制器或远程主机位于游戏设施或游戏设施的一部分中。
在系统包括以下组件的其他实施例中:(a)配置为通过数据网络与中央服务器、中央控制器或远程主机通信的EGM;和/或(b)配置为通过数据网络彼此通信的多个EGM,数据网络是EGM中的一个或多个不一定大致彼此靠近地和/或靠近中央服务器、中央控制器或远程主机地位于其中的广域网(WAN)。例如,EGM中的一个或多个位于:(a)与中央服务器、中央控制器或远程主机所位于的游戏设施区域不同的游戏设施区域;或(b)与中央服务器、中央控制器或远程主机所位于的游戏设施不同的游戏设施。在另一个示例中,中央服务器、中央控制器或远程主机不位于EGM所位于的游戏设施内。应该理解在数据网络是WAN的某些实施例中,系统包括中央服务器、中央控制器或远程主机以及EGM,其中的每个位于诸如相同城市或相同国家的相同地理区域内的不同游戏设施中的EGM。应该理解数据网络是WAN的系统大致与数据网络是LAN的系统一样,尽管在这类系统中的EGM的数量可能相对于彼此发生变化。
在系统包括以下组件的进一步实施例中:(a)配置为通过数据网络与中央服务器、中央控制器或远程主机通信的EGM;和/或(b)配置为通过数据网络彼此通信的多个EGM,数据网络是互联网或内联网。在某些这类实施例中,EGM的互联网浏览器可用来访问来自可获得互联网连接的任意位置的互联网游戏页面。在一个这类实施例中,在访问互联网游戏页面之后,中央服务器、中央控制器或远程主机在使得玩家能够在任意游戏的任意进行时放置任意信贷值之前识别玩家。在一个示例中,中央服务器、中央控制器或远程主机通过要求经由输入分配给该玩家的唯一的用户名和密码组合登录进玩家的玩家账户来识别玩家。然而,应该理解中央服务器、中央控制器或远程主机可以以任意其他合适的方式识别玩家,诸如通过验证与玩家相关联的玩家追踪识别号码;通过读插入到读卡器的玩家追踪卡或其他智能卡(如下所述);通过由中央服务器、中央控制器或远程主机验证与玩家相关联的唯一玩家识别号码;或通过识别EGM,诸如通过识别互联网服务商的MAC地址或IP地址。在各实施例中,一旦中央服务器、中央控制器或远程主机识别玩家,则中央服务器、中央控制器或远程主机使能在一个或多个初级或基础游戏和/或一个或多个中级或奖金游戏的一次或多次进行时放置一个或多个信贷值,并经由EGM的互联网浏览器显示该游戏进行。
应该理解中央服务器、中央控制器或远程主机以及EGM配置为以任意合适的方式连接到数据网络或远程通信链路。在各实施例中,这类连接经由以下介质来完成:常规电话线或其他数据传输线、数字用户线路(DSL)、T-1线、同轴电缆、光纤电缆、无线或有线路由设备、移动通信网络连接(诸如蜂窝网络或移动互联网络)或任意其他合适的介质。应该理解近年来在计算设备的数量和互联网连接的数量和速度方面的扩展增大了玩家使用各种EGM进行来自数量不断增加的远程站点的游戏的机会。还应该理解数字无线通信的所增加的带宽可以呈现适用于一些或所有通信的这类技术,特别是如果对这类通信进行加密。较高的数据传输速度对于增加显示的精密和响应以及与玩家的交互可能是有用的。
EGM组件
在各实施例中,EGM包括配置为与至少一个存储器设备、至少一个输入设备和至少一个输出设备合作的至少一个处理器。至少一个处理器可以是任意合适的处理设备或处理设备组,诸如微处理器、基于微控制器的平台、合适的集成电路或者一个或多个专用集成电路(ASIC)。图6B示出了包括处理器2012的示范性EGM。
如以上所一般性描述的,EGM的至少一个处理器配置为与至少一个存储器设备或数据存储设备通信,配置为访问至少一个存储器设备或数据存储设备,以及配置为与至少一个存储器设备或数据存储设备交换信号。在各实施例中,EGM的至少一个存储器设备包括随机存取存储器(RAM),其可以包括非易失性RAM(NVRAM)、磁性RAM(MRAM)、铁电RAM(FeRAM)和游戏产业中所普遍理解的其他形式。在其他实施例中,至少一个存储器设备包括只读存储器(ROM)。在某些实施例中,EGM的至少一个存储器设备包括闪存和/或EEPROM(电可擦除可编程只读存储器)。图6B所示的示范性EGM包括存储器设备2014。应该理解任意其他合适的磁性、光学和/或半导体存储器可以结合本文所公开的EGM运行。在某些实施例中,EGM的至少一个处理器和EGM的至少一个存储器设备二者都驻留在EGM的机箱内(如下所述)。在其他实施例中,EGM的至少一个处理器和EGM的至少一个存储器设备中的至少一个驻留在EGM的机箱外(如下所述)。
在某些实施例中,如以上所一般性描述的,EGM的至少一个存储器设备存储由EGM的至少一个处理器可执行以控制EGM的指令和程序代码。EGM的至少一个存储器设备还存储其他操作数据,诸如图像数据、事件数据、输入数据、随机数发生器(RNG)或伪RNG、支付表数据或信息和/或与EGM上进行一个或多个游戏(诸如以下所述的初级或基础游戏和/或中级或奖金游戏)有关的适用游戏规则。在各实施例中,将程序代码的一部分或所有和/或上述操作数据存储在至少一个可拆卸或可移除的存储器设备中,包括但不限于磁片盒、磁盘、CD ROM、DVD、USB存储器设备或任意其他合适的非暂时性计算机可读介质。在某些这类实施例中,操作者(诸如游戏设施操作者)和/或玩家使用EGM中的这类可移除存储器设备来实现本公开的至少一部分。在其他实施例中,通过上述任意合适的数据网络(诸如互联网或内联网)将程序代码的一部分或所有和/或操作数据下载到EGM的至少一个存储器设备。
在各实施例中,EGM包括一个或多个输入设备。输入设备可以包括使得输入信号能产生并由EGM的至少一个处理器所接收的任意合适设备。图6B所示的示范性EGM包括至少一个输入设备2030。EGM的一个输入设备是配置为与EGM的至少一个处理器通信以为EGM投入资金的支付设备。在某些实施例中,支付设备包括以下的一个或多个:(a)纸币插入到其中以为EGM投入资金的纸币接收器;(b)票据或代金券插入到其中以为EGM投入资金的票据接收器;(c)硬币或代币插入其中以为EGM投入资金的硬币插槽;(d)信贷卡、借记卡或信贷传票插入其中以为EGM投入资金的阅读器或验证器;(e)玩家识别卡插入其中以为EGM投入资金的玩家识别卡阅读器;或者(f)其任意合适的组合。图7A和图7B示出每个包括以下支付设备的示范性EGM:(a)经组合的纸币和票据接收器2128以及(b)硬币插槽2126。
在一个实施例中,EGM包括配置为使得EGM能够经由电子资金转账诸如来自银行账户的资金转账而被投入资金的支付设备。在另一个实施例中,EGM包括配置为与玩家的移动设备通信以检索与该玩家相关联的有关信息以为EGM投入资金的支付设备,玩家的移动设备诸如手机、射频识别标签或任意其他合适的有线或无线设备。应该理解当为EGM投入资金时,至少一个处理器确定所投入的资金量并在如下所述的信贷显示器或任意其他合适的显示器上显示相应的量。
在各实施例中,EGM的一个或多个输入设备是一个或多个游戏激活设备,其每个用于创始在EGM上的游戏的进行或与跟随在为EGM投入适当资金之后的与EGM相关联的事件的序列。图7A和7B所示的示范性EGM每个包括形式为游戏创始按钮2032的游戏激活设备。应该理解在其他实施例中,当投入适当资金时而不是当利用游戏激活设备时EGM自动开始游戏。
在某些实施例中,EGM的一个或多个输入设备是一个或多个游戏或下注设备。一个这类游戏或下注设备作为当被利用时使得放置最大信贷值的最大游戏或下注设备。另一个这类游戏或下注设备是当被利用时使得放置先前所放置的信贷值的重复下注设备。进一步的这类游戏或下注设备是下一个注设备。当利用下一个注设备时,下注。每次利用下一个注设备时,下注增加一个信贷。当利用下一个注设备时,信贷显示器(如下所述)所示的信贷的数量减少一个,并且下注显示器(如下所述)所示的信贷的数目增加一个。
在其他实施例中,EGM的一个输入设备是提取现金设备。利用提取现金设备来接收现金支付或与信贷显示器(如下所述)的剩余信贷的数量相对应的任意其他合适形式的支付。图7A和7B所示的示范性EGM每个包括提取现金按钮2134形式的提取现金设备。
在某些实施例中,EGM的一个输入设备是耦连到触摸屏控制器的触摸屏或覆盖以使能与在显示设备(如下所述)上所显示的任意图像交互的其他触摸敏感显示器。一个这类的输入设备是常规触摸屏按钮面板。触摸屏和触摸屏控制器连接到视频控制器。在这些实施例中,通过在适当的位置触摸触摸屏来将信号输入到EGM。
在各实施例中,EGM的一个输入设备是与EGM的至少一个处理器通信(并且在一些实施例中由EGM的至少一个处理器所控制)并配置为使用EGM获得玩家的图像或视频和/或获得EGM周围区域的图像或视频的传感器,诸如摄像头。
在包括玩家追踪系统的实施例中,如以下所进一步描述的,EGM的一个输入设备是与EGM的至少一个处理器通信的读卡器。图7A和7B所示的示范性EGM每个包括读卡器2138。读卡器配置为读插入到读卡器的玩家识别卡。
在各实施例中,EGM包括一个或多个输出设备。图7B所示的示范性EGM包括至少一个输出设备2060。EGM的一个或多个输出设备是配置为显示由EGM所显示的任意游戏以及与这类游戏相关联的任意合适信息的一个或多个显示设备。在某些实施例中,显示设备连接到或安装在EGM的机箱上(如下所述)。在各实施例中,显示设备用作配置为宣传EGM所位于的游戏设施的某些游戏或其他方面的数字玻璃(digital glass)。在各实施例中,EGM包括以下显示设备的一个或多个:(a)中央显示设备;(b)配置为显示关于玩家的玩家追踪状态的各种信息的玩家追踪显示器(如下所述);(c)除中央显示设备和玩家追踪显示器之外的中级或上级显示设备;(d)配置为显示当前的信贷数量、现金量、账户结余或等价物的信贷显示器;以及(e)配置为显示为一个或多个游戏的一次或多次进行所信贷的量的下注显示器。图7A所示的示范性EGM包括中央显示设备2116、玩家追踪显示器2140、信贷显示器2120和下注显示器2122。图7B所示的示范性EGM包括中央显示设备2116、上级显示设备2118、玩家追踪显示器2140、信贷显示器2120和下注显示器2122。
在各实施例中,显示设备包括但不限于:监视器、电视显示器、等离子体显示器、液晶显示器(LCD)、基于发光二极管(LED)的显示器、基于多个有机发光二极管(OLED)的显示器、基于高分子发光二极管(PLED)的显示器、基于多个表面传导电子发射器(SED)的显示器、包括投影和/或反射图像的显示器或者任意其他合适的电子设备或显示器机制。在某些实施例中,如上所述,显示设备包括具有关联触摸屏控制器的触摸屏。应该理解显示设备可以具有任意合适的大小、形状和配置。
EGM的显示设备配置为显示一个或多个游戏和/或非游戏图像、符号和标记。在某些实施例中,EGM的显示设备配置为显示对象的移动,动态照明,视频图像,人、角色、地点、事物和卡面的图像等等的任意合适的视觉表示或展示。在某些实施例中,EGM的显示设备配置为显示一个或多个视频轮盘(video reel)、一个或多个视频转轮(video wheel)和/或一个或多个视频骰子(video dice)。在其他实施例中,所显示图像、符号和标记中的某些为机械形式。也就是说,在这些实施例中,显示设备包括配置为显示游戏或其他合适的图像、符号或标记中的至少一个或多个的任意机电设备,诸如一个或多个可旋转的转轮、一个或多个轮盘和/或一个或多个骰子。
在各实施例中,EGM的一个输出设备是支出设备。在这些实施例中,当如上所述利用提取现金设备时,支出设备使得支出被提供给玩家。在一个实施例中,支出设备是以下的一个或多个:(a)配置为生成并提供代表支出的票据或信贷传票的票据生成器,其中可以经由收银员、报亭或其他合适的赎回系统赎回票据或信贷传票;(b)配置为提供纸钞的钞票生成器;(c)配置为在硬币支出盘中提供硬币或代币的硬币生成器;以及(d)其任意合适的组合。图7A和7B所示的示范性EGM每个包括票据生成器2136。在一个实施例中,EGM包括配置为经由电子资金转账为可电子记录的识别卡或智能卡或银行账户投入资金。
在某些实施例中,EGM的一个输出设备是由一个或多个声卡所控制的声音生成设备。在一个这类实施例中,声音生成设备包括一个或多个扬声器或用于生成声音的其他声音生成硬件和/或软件,诸如通过为任意游戏播放音乐或通过为EGM的其他模式,诸如观赏模式播放音乐。图7A和7B所示的示范性EGM每个包括多个扬声器2105。在另一个这类实施例中,EGM提供与显示在一个或多个显示设备上的具有吸引力的多媒体图像相耦连的动态声音,以提供音频-视觉表示或者另外显示具有声音的全动态视频以将玩家吸引到EGM。在某些实施例中,EGM在空闲期间显示音频和/或视觉吸引消息的序列以将潜在的玩家吸引到EGM。视频可以进行定制以提供任意适当的信息。
在各实施例中,EGM包括配置为使得EGM的至少一个处理器能够与外围设备通信并与其合作的多个通信端口,该外围设备诸如:加速计、街机操作杆、条形码阅读器、验钞机、生物识别输入设备、奖金设备、按钮面板、读卡器、投币售货机、退币器、显示屏幕或其他显示器或视频资源、扩展总线、信息面板、键盘、灯、大容量存储设备、麦克风、运动传感器、监视器、打印机、轮盘、SCSI端口、螺线管、扬声器、操纵杆、票据阅读器、触摸屏、轨迹球、触摸板、转轮以及无线通信设备。至少申请号为2004/0254014的美国专利申请描述了包括使得EGM能够与一个或多个外围设备通信并与其合作的一个或多个通信端口的各种EGM。
如以上所一般性描述的,在某些实施例中,诸如图7A和7B所示的示范性EGM,EGM具有为EGM的多个输入设备和输出设备提供支持的支撑结构、外壳或机箱。进一步地,配置EGM以使得玩家可以在站立或坐着时对其进行操作。在各实施例中,EGM定位在底座或支架上,或者配置为玩家通常可以在坐着时进行操作的酒吧风格的桌面游戏(未示出)。如图7A和7B所示的不同示范性EGM所示出的,EGM可以具有变化的机箱和显示配置。
应该理解在某些实施例中,EGM是已经从游戏监督委员会获得批准的设备,而在其他实施例中,EGM是尚未从游戏监督委员会获得批准的设备。
如上所述,为了简洁和清楚,本公开的EGM和个人设备在本文统称为“EGM”。因此,应该理解上述示范性EGM中的某些包括可能不包括在所有EGM中的某些元件。例如,诸如移动电话的个人设备的支付设备可能不包括硬币接收器,而在某些情况下,位于游戏设施中的EGM的支付设备可能包括硬币接收器。
初级或基础游戏和/或中级或奖金游戏的运行
在各实施例中,EGM可以实现在各种不同配置之一中。在各实施例中,EGM可以实现为以下之一:(a)专用EGM,其中由EGM可执行用于控制由EGM所显示的任意初级或基础游戏(本文称为“初级游戏”)和/或任意中级或奖金游戏或其他功能(本文称为“中级游戏”)的计算机化游戏程序,在传递到游戏设施之前或在提供给玩家之前被装备在EGM上;以及(b)可变EGM,其中由EGM可执行用于控制由EGM所显示的任意初级游戏和/或任意中级游戏的计算机化游戏程序,在EGM物理地位于游戏设施中之后或在将EGM提供给玩家之后通过数据网络或远程通信链路可下载到EGM上。
如以上所一般性解释的,在系统包括中央服务器、中央控制器或远程主机以及可变EGM的各实施例中,中央服务器、中央控制器或远程主机的至少一个存储器设备存储由可变EGM的至少一个处理器可执行以控制由可变EGM所显示的一个或多个初级游戏和/或中级游戏的不同的游戏程序和指令。更具体地,每个这类可执行游戏程序代表至少一个可变EGM配置为对其进行运行的不同的游戏或不同类型的游戏。在一个示例中,某些游戏程序可由可变EGM执行以运行具有相同或大致相同的游戏玩法但不同的支付表的游戏。在不同的实施例中,每个可执行游戏程序与初级游戏、中级游戏或二者相关联。在某些实施例中,可执行游戏程序可由至少一个可变EGM的至少一个处理器执行为将与初级游戏(其可以下载到或以其他方式存储在至少一个可变EGM上)的进行而同时进行的中级游戏,反之亦然。
在这类实施例的操作中,中央服务器、中央控制器或远程主机配置为将一个或多个所存储的可执行游戏程序传送到可变EGM的至少一个处理器。在不同的实施例中,通过以下方式将所存储的可执行游戏程序传送或传递到可变EGM的至少一个处理器:(a)将可执行游戏程序嵌入设备或组件(诸如待插入可变EGM的微芯片);(b)将可执行游戏程序写到磁盘或其他介质上;或者(c)通过数据网络(诸如专用数据网络)上传或流传输可执行游戏程序。在将可执行游戏程序从中央服务器、中央控制器或远程主机传送到可变EGM之后,可变EGM的至少一个处理器执行可执行游戏程序以使得与该可执行游戏程序相关联的初级游戏和/或中级游戏能够使用可变EGM的显示设备和/或输入设备得以进行。也就是说,当将可执行游戏程序传送到可变EGM的至少一个处理器时,可变EGM的至少一个处理器改变可使用可变EGM进行的游戏或游戏的类型。
在某些实施例中,系统基于概率数据为初级游戏的进行或中级游戏的进行随机确定任意游戏结局(诸如获胜结局)和/或奖励(诸如为获胜结局而奖励的信贷的数量)。在某些这类实施例中,通过利用RNG,诸如真正的RNG或伪RNG或任意其他合适的随机化过程来提供该随机确定。在一个这类的实施例中,每个游戏结局或奖励与概率相关联,并且系统基于关联概率生成待提供的游戏结局或奖励。在这些实施例中,因为系统随机地或基于一个或多个概率计算生成游戏结局和/或奖励,所以系统将会提供任意具体的游戏结局和/或奖励是具有不确定性的。
在某些实施例中,系统维持预定游戏结局和/或奖励的一个或多个预定池或组。在某些这类实施例中,当生成或收到游戏结局和/或奖励请求时,系统独立地从一个或多个池或组中选择预定游戏结局和/或奖励之一。系统将所选择的游戏结局和/或奖励标记或标出为已使用。一旦游戏结局或奖励被标记为已使用,就防止从其各自的池或组中进一步进行选择;也就是说,当另一个游戏结局或奖励请求时系统不选择该游戏结局和/或奖励。系统提供经选择的游戏结局和/或奖励。至少专利号为7470183、7563163和7833092的美国专利以及公开号为2005/0148382、2006/0094509和2009/0181743的美国专利申请描述了该类型的奖励确定的各种示例。
在某些实施例中,系统基于宾果、基诺或抽奖游戏的结果来确定预定游戏结局和/或奖励。在某些这类实施例中,系统利用一个或多个宾果、基诺或抽奖游戏来确定为初级游戏和/或中级游戏所提供的预定游戏结局和/或奖励。系统被提供或与宾果卡相关联。每个宾果卡包括元素的矩阵或阵列,其中为每个元素指定单独的标记。在提供宾果卡之后,系统随机选择或拉出多个元素。随着每个元素被选择,确定经选择元素是否存在于宾果卡。如果经选择元素存在于宾果卡上,则标出或标记所提供的宾果卡上的该经选择元素。选择元素并标出所提供的宾果卡上的任意经选择元素的这一过程继续直到将一个或多个预定图案标出在所提供的宾果卡的一个或多个上为止。在将一个或多个预定图案标出在所提供的宾果卡的一个或多个上之后,至少部分基于所提供的宾果卡上的经选择元素来确定游戏结局和/或奖励。至少专利号为7753774、7731581、7955170和8070579的美国专利以及公开号为2011/0028201的美国专利申请描述了该类型的奖励确定的各种示例。
在系统包括中央服务器、中央控制器或远程主机以及EGM的某些实施例中,EGM配置为仅出于监视的目的而与中央服务器、中央控制器或远程主机通信。在这类实施例中,EGM以任意上述方式确定待提供的游戏结局和/或奖励,并且中央服务器、中央控制器或远程主机监视发生在EGM上的活动和事件。在一个这类实施例中,系统包括配置为与中央服务器、中央控制器或远程主机通信的实时或在线结算和游戏信息系统。在该实施例中,结算和游戏信息系统包括:(a)用于存储玩家简档的玩家数据库,(b)用于追踪玩家的玩家追踪模块(如下所述),以及(c)用于提供自动交易的信贷系统。至少专利号为6913534的美国专利以及公开号为2006/0281541的美国专利申请描述了这类结算系统的各种示例。
如上所述,在各实施例中,系统包括可由系统的至少一个处理器执行以提供一个或多个初级游戏以及一个或多个中级游戏的一个或多个可执行游戏程序。初级游戏和中级游戏可以包括任意合适的游戏,诸如但不限于:机电或视频或旋轮盘类游戏,视频卡游戏,诸如视频扑克、多方视频扑克、其他视频扑克游戏、视频二十一点游戏和视频百家乐游戏,视频基诺游戏,视频宾果游戏以及视频选择游戏。
在初级游戏是视频或旋轮盘类游戏的某些实施例中,系统包括形式为具有机械旋转轮盘的机电形式或者具有模拟轮盘及其移动的视频形式的一个或多个轮盘。每个轮盘显示多个标记或符号,诸如铃铛、心、水果、数字、字母、条或其他图像,其通常和与系统相关联的主题相对应。在某些这类实施例中,系统包括与轮盘相关联的一个或多个中奖线。图7A和7B所示的示范性EGM每个包括中奖线2152和多个轮盘2154。在某些实施例中,轮盘中的一个或多个是独立轮盘或单符号(unisymbol)轮盘。在这类实施例中,每个独立轮盘生成并显示一个符号。
在各实施例中,中奖线中的一个或多个是水平的、垂直的、圆的、斜的、成角度的或其任意合适的组合。在其他实施例中,中奖线的一个或多个中的每一个与必要数目的相邻轮盘上的多个相邻符号显示区域相关联。在一个这类实施例中,在通过共享公共边或共享公共角而彼此相邻的至少两个符号显示区域之间形成一个或多个中奖线(即这类中奖线是相连中奖线)。系统使得信贷值能够放置在一个或多个这类中奖线上以激活这类中奖线。在一个或多个中奖线形成在至少两个相邻符号显示区域之间的其他实施例中,系统使得信贷值能够放置在多个符号显示区域,其激活那些符号显示区域。
在各实施例中,在轮盘旋转之后当轮盘上的规定类型和/或配置的标记或符号发生在活动中奖线或以其他方式发生在获胜图案中、发生在必要数目的相邻轮盘上和/或发生在分散支付排列中时,系统提供一个或多个奖励。
在某些实施例中,系统采用赢得奖励确定的方法。在这些实施例中,基于在必要数目的相邻轮盘上的活动符号显示区域中(即不在穿过任意所显示的获胜符号组合的中奖线上)生成的若干关联符号来确定待提供的任意结局。如果在轮盘上生成获胜符号组合,则提供用于所生成的获胜符号组合的发生的一个奖励。至少专利号为8012011的美国专利以及申请号为2008/0108408和2008/0132320的美国专利申请描述了赢得奖励确定的方法的各种示例。
在各实施例中,系统包括渐进奖励。通常,渐进奖励包括通过放置每个信贷值的一部分以创始进行初级游戏所投入资金的初始量和附加量。当一个或多个触发事件发生时,系统提供渐进奖励的至少一部分。在系统提供渐进奖励之后,将渐进奖励的量重置到初始量并且将每个随后信贷值的一部分分配到下一个渐进奖励。至少专利号为5766079、7585223、7651392、7666093、7780523和7905778的美国专利以及公开号为2008/0020846、2009/0123364、2009/0123363和2010/0227677的美国专利申请描述了不同渐进系统的各种示例。
如以上所一般性描述的,除了为初级游戏的一次或多次进行提供获胜信贷或其他奖励之外,在各实施例中,系统为一个或多个中级游戏的一次或多次进行提供信贷或其他奖励。中级游戏通常使得除通过进行初级游戏所获得的任意奖品或支出之外能够获得奖品和支出。中级游戏通常产生比初级游戏更高水平的玩家兴奋,因为中级游戏提供比初级游戏更大的获胜期望并且伴随比初级游戏更大的吸引力或不寻常的特征。应该理解中级游戏可以是任意类型的合适游戏,或者与初级游戏相似或者与初级游戏完全不同。
在各实施例中,当触发事件发生或资格条件满足时,系统自动提供或创始中级游戏。在其他实施例中,当触发事件发生或资格条件满足时以及当收到创始输入时,系统创始中级游戏。在某些实施例中,触发事件或资格条件是初级游戏中的经选择结局或用于初级游戏的进行的显示设备上的一个或多个标记的排列,诸如用于初级游戏的进行的跟随在轮盘旋转之后与中奖线一起显现在三个相邻轮盘上的“BONUS”符号。在其他实施例中,基于超出某游戏进行的量(诸如游戏数目、信贷数目、时间量)或者基于在游戏进行期间所赚取的规定点数,发生触发事件或资格条件。应该理解可以采用任意合适的触发事件或资格条件或多个不同触发事件或资格条件的任意合适的组合。
在其他实施例中,系统的至少一个处理器随机确定何时提供一个或多个中级游戏的一次或多次进行。在一个这类实施例中,不为中级游戏的提供提供明显的原因。在该实施例中,具有中级游戏的资格不由任意初级游戏中的事件的发生或具体基于任意初级游戏的任意一次进行而触发。也就是说,提供资格而没有任何解释或者,可替代地,具有简单的解释。在另一个这类实施例中,系统至少部分基于游戏触发或符号触发事件,诸如至少部分基于初级游戏的进行,来确定具有中级游戏的资格。
在各实施例中,在已经确定具有中级游戏的资格之后,可以通过在初级游戏上继续进行来增强中级游戏参与。因此,在某些实施例中,对于所获得的每个中级游戏资格事件,诸如中级游戏符号,将给定数目的中级游戏游戏点或信贷累计在“中级游戏计”中,其配置为向最终参与中级游戏累积中级游戏游戏信贷或条目。在一个这类实施例中,在初级游戏中多个这类中级游戏资格事件的发生引起所奖励的中级游戏游戏信贷的数目算术地或指数地增大。在另一个这类实施例中,在中级游戏期间可以赎回任意额外的中级游戏游戏信贷以扩展中级游戏的进行。
在某些实施例中,中级游戏不要求单独的入场费或买进。也就是说,中级游戏的进入不能购买;相反,在这些实施例中必须通过初级游戏的进行来赢得或赚取进入,从而鼓励初级游戏的进行。在其他实施例中,通过简单的“买入”来完成具有中级游戏的资格。例如,通过其他规定活动的资格是不成功的,费用的支付或附加信贷值的放置“买入”到中级游戏。在某些实施例中,必须放置单边信贷值(side wager)在中级游戏上,或必须放置指定量的信贷值在初级游戏上以使能具有中级游戏的资格。在这些实施例中,中级游戏触发事件必须发生并且边信贷值(或指定初级游戏信贷值量)必须已经放置好用于中级游戏触发。
在系统包括多个EGM的各实施例中,EGM配置为彼此通信以提供群体游戏环境。在某些这类实施例中,EGM使得EGM的玩家能够彼此协作,诸如通过使得玩家能够作为团队或群体一起玩,以赢得一个或多个奖励。在其他这类实施例中,EGM使得EGM的玩家能够为一个或多个奖励彼此竞争。在一个这类实施例中,EGM使得EGM的玩家能够为一个或多个奖励参与一个或多个游戏比赛。至少公开号为2007/0123341、2008/0070680、2008/0176650和2009/0124363的美国专利申请描述了不同群体系统的各种示例。
在各实施例中,系统包括一个或多个玩家追踪系统。这类玩家追踪系统使得系统(诸如游戏厅或其他游戏设施)的操作者能够通过识别频繁客户和针对他们的光顾进行报答来认可客户忠诚度的价值。这类玩家追踪系统配置为追踪玩家的游戏活动。在一个这类实施例中,玩家追踪系统通过使用玩家追踪卡来这样做。在该实施例中,为玩家发具有唯一识别玩家的经编码的玩家识别号码的玩家识别卡。当将玩家的玩家追踪卡插入系统的读卡器以开始游戏会话时,读卡器从玩家追踪卡读出玩家识别号码以识别玩家。系统及时追踪与所识别的玩家的游戏会话有关的任意合适的信息或数据。系统还及时追踪玩家追踪卡何时被移除以结束该游戏会话的进行。在另一个实施例中,不需要将玩家追踪卡插入读卡器,而是系统利用一个或多个便携式设备,诸如手机、射频识别标签或任意其他合适的无线设备,来追踪游戏会话何时开始和结束。在另一个实施例中,系统利用任意合适的生物识别技术或票据技术来追踪游戏会话何时开始和结束。
在这类实施例中,在一个或多个游戏会话期间,系统追踪任意合适的信息或数据,诸如所下注的任意量、平均信贷量和/或这些信贷值何时被放置。在不同的实施例中,对于一个或多个玩家,玩家追踪系统包括玩家的账户号码、玩家的卡号、玩家的第一名字、玩家的姓氏、玩家的首选名字、玩家的玩家追踪排名、与玩家的玩家追踪卡相关联的任意促销状态、玩家的地址、玩家的生日、玩家的纪念日、玩家的最近游戏会话或任意其他合适的数据。在各实施例中,将这类所追踪的信息和/或与玩家追踪系统相关联的任意合适的特征显示在玩家追踪显示器上。在各实施例中,这类所追踪的信息和/或与玩家追踪系统相关联的任意合适的特征经由显示在中央显示设备和/或上级显示设备上的一个或多个服务窗口进行显示。至少专利号为6722985、6908387、7311605、7611411、7617151和8057298的美国专利描述了玩家追踪系统的各种示例。
应该理解本文所述实施例的各种改变和修改对本领域技术人员是显而易见的。可以在不脱离本主题的精神和范围的情况下并且在不削弱其预期优势的情况下做出这类改变和修改。因此其意图由所附权利要求覆盖这类改变和修改。

Claims (17)

1.一种系统,包括:
至少一个处理器;
至少一个显示设备;以及
至少一个存储器设备,其存储多个指令,该多个指令当由该至少一个处理器执行时使得该至少一个处理器与该至少一个显示设备合作以:
(a)对于程序代码的第一片段,该程序代码包括多个片段:
(ⅰ)对该程序代码的该第一片段和默认种子进行哈希以获得第一结果哈希;
(ⅱ)确定该第一结果哈希是否和第一认证检查点哈希相同;
(ⅲ)如果该第一结果哈希和该第一认证检查点哈希相同,则授权该程序代码的该第一片段执行;并且
(ⅳ)如果该第一结果哈希和该第一认证检查点哈希不相同,则不授权该程序代码的该第一片段执行;
(b)对于该程序代码的不同第二片段:
(ⅰ)对该程序代码的该第二片段和该第一认证检查点哈希进行哈希以获得第二结果哈希;
(ⅱ)确定该第二结果哈希是否和第二认证检查点哈希相同;
(ⅲ)如果该第二结果哈希和该第二认证检查点哈希相同,则授权该程序代码的该第二片段执行;并且
(ⅳ)如果该第二结果哈希和该第二认证检查点哈希不相同,则不授权该程序代码的该第二片段执行;并且
(c)如果授权该程序代码的每个片段执行,则执行该程序代码并显示由所执行的程序代码所生成的图像。
2.根据权利要求1所述的系统,其中(a)和(b)接近同时实施。
3.根据权利要求2所述的系统,其包括多个处理器,该多个处理器包括第一处理器和第二处理器,并且其中该第一处理器实施(a)并且该第二处理器实施(b)。
4.根据权利要求1所述的系统,其中在(a)完成之前完成(b)。
5.根据权利要求1所述的系统,其中该多个指令当由该至少一个处理器执行时使得该至少一个处理器:
(1)如果该第一结果哈希和该第一认证检查点哈希不相同,则生成识别该程序代码的该第一片段的第一错误消息;并且
(2)如果该第二结果哈希和该第二认证检查点哈希不相同,则生成识别该程序代码的该第二片段的第二错误消息。
6.一种系统,包括:
至少一个处理器;
至少一个显示设备;以及
至少一个存储器设备,其存储多个指令,该多个指令当由该至少一个处理器执行时使得该至少一个处理器与该至少一个显示设备合作以:
(a)对于程序代码的多个片段中一片段,该程序代码的所述片段按照指定顺序在该程序代码的所有其他片段之前:
(ⅰ)对该程序代码的所述片段和默认种子进行哈希以获得第一结果哈希;
(ⅱ)确定该第一结果哈希是否和与该程序代码的该片段相关联的认证检查点哈希相同,所述认证检查点哈希是多个不同的认证检查点哈希之一,该认证检查点哈希的每一个与该程序代码的不同片段相关联;
(ⅲ)如果该第一结果哈希和与该程序代码的所述片段相关联的所述认证检查点哈希相同,则授权该程序代码的所述片段执行;并且
(ⅳ)如果该第一结果哈希和与该程序代码的所述片段相关联的所述认证检查点哈希不相同,则不授权该程序代码的所述片段执行;
(b)对于该程序代码的每个剩余片段:
(ⅰ)对该程序代码的所述片段和与按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段相关联的该认证检查点哈希进行哈希以获得结果哈希;
(ⅱ)确定该结果哈希是否和与该程序代码的所述片段相关联的该认证检查点哈希相同;并且
(ⅲ)如果该结果哈希和与该程序代码的所述片段相关联的该认证检查点哈希相同,则授权该程序代码的所述片段执行;并且
(ⅳ)如果该结果哈希和与该程序代码的所述片段相关联的该认证检查点哈希不相同,则不授权该程序代码的所述片段执行;并且
(c)如果授权该程序代码的每个片段执行,则执行该程序代码并显示由所执行的程序代码所生成的图像。
7.根据权利要求6所述的系统,其中对于该程序代码的至少两个片段,(a)和(b)接近同时实施。
8.根据权利要求7所述的系统,其包括多个处理器,该多个处理器包括第一处理器和第二处理器,并且其中该第一处理器实施(a),并且对于该程序代码的至少一个剩余片段,该第二处理器接近同时实施(b)。
9.根据权利要求6所述的系统,其中该多个指令当由该至少一个处理器执行时使得该至少一个处理器:
(1)如果该第一结果哈希和该第一认证检查点哈希不相同,则生成识别该程序代码的第一片段的第一错误消息;并且
(2)对于该程序代码的每个剩余片段,如果该结果哈希和与该程序代码的所述片段相关联的该认证检查点哈希不相同,则生成识别该程序代码的所述片段的第二错误消息。
10.一种系统,包括:
至少一个处理器;
至少一个显示设备;以及
至少一个存储器设备,其存储多个指令,该多个指令当由该至少一个处理器执行时使得该至少一个处理器与该至少一个显示设备合作以:
(a)对于多组程序代码的多个片段的至少一个中的每个组:
(ⅰ)如果所述组包括按照指定顺序在该程序代码的所有其他片段之前的该程序代码的该片段:
(A)对该程序代码的所述片段和默认种子进行哈希以获得结果哈希;
(B)对于所述组的该程序代码的任意剩余片段中的每一个,对该程序代码的所述片段和从对按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段进行哈希所获得的该结果哈希进行哈希以获得结果哈希;
(C)确定从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随在其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希是否和与所述组相关联的认证检查点哈希相同,所述认证检查点哈希是多个不同的认证检查点哈希之一,每个组与该认证检查点哈希的不同的一个相关联;
(D)如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随在其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希相同,则授权所述组的该程序代码的该片段执行;并且
(E)如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随在其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则不授权所述组的该程序代码的该片段执行;并且
(ⅱ)如果所述组不包括按照该指定顺序在该程序代码的所有其他片段之前的该程序代码的该片段:
(A)对于如果存在所述组的该程序代码的所有其他片段则按照该指定顺序在其之前的所述组的该程序代码的该片段,对该程序代码的所述片段和与包括按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段的该组相关联的该认证检查点哈希进行哈希以获得结果哈希;
(B)对于所述组的该程序代码的任意剩余片段的每一个,对该程序代码的所述片段和从对按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段进行哈希所获得的该结果哈希进行哈希以获得结果哈希;
(C)确定从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希是否和与所述组相关联的该认证检查点哈希相同;
(D)如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希相同,则授权所述组的该程序代码的该片段执行;并且
(E)如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则不授权所述组的该程序代码的该片段执行;并且
(b)如果授权该程序代码的每个片段执行,则执行该程序代码并显示由所执行的程序代码所生成的图像。
11.根据权利要求10所述的系统,其中对于该组中的至少两个,(a)接近同时实施。
12.根据权利要求11所述的系统,其包括多个处理器,该多个处理器包括第一处理器和第二处理器,并且其中对于该组中的一个,该第一处理器实施(a),并且对于该组中的不同的一个,该第二处理器接近同时实施(a)。
13.根据权利要求10所述的系统,其中该多个指令当由该至少一个处理器执行时使得该至少一个处理器:对于每个组,如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则生成识别该所述组的第一错误消息。
14.一种系统,包括:
至少一个处理器;
至少一个显示设备;以及
至少一个存储器设备,其存储多个指令,该多个指令当由该至少一个处理器执行时使得该至少一个处理器与该至少一个显示设备合作以:
(a)对于多组程序代码的多个片段的至少两个中的每个组:
(ⅰ)如果所述组包括按照指定顺序在该程序代码的所有其他片段之前的该程序代码的该片段:
(A)对该程序代码的所述片段和默认种子进行哈希以获得结果哈希;
(B)对于所述组的该程序代码的每个任意剩余片段,对该程序代码的所述片段和从对按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段进行哈希所获得的该结果哈希进行哈希以获得结果哈希;
(C)确定按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段的该结果哈希是否和与所述组相关联的认证检查点哈希相同,所述认证检查点哈希是多个不同的认证检查点哈希之一,每个组与该认证检查点哈希的不同的一个相关联;
(D)如果从对按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希相同,则授权所述组的该程序代码的该片段执行;并且
(E)如果从对按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则不授权所述组的该程序代码的该片段执行;并且
(ⅱ)如果所述组不包括按照该指定顺序在该程序代码的所有其他片段之前的该程序代码的该片段:
(A)对于按照该指定顺序在所述组的该程序代码的所有其他片段之前的所述组的该程序代码的该片段,对该程序代码的所述片段和与包括按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段的该组相关联的该认证检查点哈希进行哈希以获得结果哈希;
(B)对于所述组的该程序代码的该剩余片段的每一个,对该程序代码的所述片段和从对按照该指定顺序紧接在该程序代码的所述片段之前的该程序代码的该片段进行哈希所获得的该结果哈希进行哈希以获得结果哈希;
(C)确定通过对按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希是否和与所述组相关联的该认证检查点哈希相同;
(D)如果从对按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希相同,则授权所述组的该程序代码的该片段执行;并且
(E)如果从对按照该指定顺序跟随在所述组的该程序代码的所有其他片段之后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则不授权所述组的该程序代码的该片段执行;并且
(b)如果授权每组的该程序代码的每一个片段执行,则执行该程序代码并显示由所执行的程序代码所生成的图像。
15.根据权利要求14所述的系统,其中对于该组中的至少两个,(a)接近同时实施。
16.根据权利要求15所述的系统,其包括多个处理器,该多个处理器包括第一处理器和第二处理器,并且其中对于该组中的一个,该第一处理器实施(a),并且对于该组中的不同的一个,该第二处理器接近同时实施(a)。
17.根据权利要求14所述的系统,其中该多个指令当由该至少一个处理器执行时使得该至少一个处理器:对于每个组,如果从对如果存在所述组的该程序代码的所有其他片段则按照该指定顺序跟随其后的所述组的该程序代码的该片段进行哈希所获得的该结果哈希和所述认证检查点哈希不相同,则生成识别该所述组的错误消息。
CN2013101020309A 2012-03-27 2013-03-27 使用认证检查点哈希使能哈希函数的并行处理的系统和方法 Pending CN103365629A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/431,696 2012-03-27
US13/431,696 US8627097B2 (en) 2012-03-27 2012-03-27 System and method enabling parallel processing of hash functions using authentication checkpoint hashes

Publications (1)

Publication Number Publication Date
CN103365629A true CN103365629A (zh) 2013-10-23

Family

ID=48044590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013101020309A Pending CN103365629A (zh) 2012-03-27 2013-03-27 使用认证检查点哈希使能哈希函数的并行处理的系统和方法

Country Status (6)

Country Link
US (2) US8627097B2 (zh)
EP (1) EP2645291A1 (zh)
CN (1) CN103365629A (zh)
AU (1) AU2013201971B2 (zh)
CA (1) CA2809992A1 (zh)
SG (1) SG193759A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375276A (zh) * 2015-07-23 2017-02-01 谷歌公司 认证通信
CN113536059A (zh) * 2020-04-21 2021-10-22 德国邮政股份公司 用于标识文件的检验方法和设备
US11416621B2 (en) 2020-06-18 2022-08-16 Micron Technology, Inc. Authenticating software images

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972715B2 (en) * 2012-07-13 2015-03-03 Securerf Corporation Cryptographic hash function
EP3152652A1 (en) 2014-05-27 2017-04-12 TSX Inc. Parallel processing of hash functions
US20160261412A1 (en) * 2015-03-04 2016-09-08 Avaya Inc. Two-Step Authentication And Activation of Quad Small Form Factor Pluggable (QFSP+) Transceivers
US10255761B2 (en) 2015-03-17 2019-04-09 Igt Gaming system and method for converting primary game outcomes to secondary game outcomes
CN105641930B (zh) * 2015-12-28 2019-05-14 网易(杭州)网络有限公司 游戏数据的校验方法及装置
US10163302B2 (en) 2016-08-08 2018-12-25 Double Down Interactive Llc Gaming system and method for providing a variable award in association with a virtual currency purchase
US10572245B1 (en) * 2016-08-30 2020-02-25 Amazon Technologies, Inc. Identifying versions of running programs using signatures derived from object files
KR102538096B1 (ko) * 2016-09-13 2023-05-31 삼성전자주식회사 어플리케이션을 검증하는 디바이스 및 방법
GB2564878B (en) * 2017-07-25 2020-02-26 Advanced Risc Mach Ltd Parallel processing of fetch blocks of data
US10460130B1 (en) * 2017-09-18 2019-10-29 Amazon Technologies, Inc. Mechanism to protect a distributed replicated state machine
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
CN113474772A (zh) * 2019-02-22 2021-10-01 美光科技公司 用于改进运行固件或有限状态机的组件或系统的安全性的方法
US11120138B2 (en) 2019-03-21 2021-09-14 Aristocrat Technologies Australia Pty Limited Secure bootloader for electronic gaming machines and other computing devices
US11113401B2 (en) 2019-03-21 2021-09-07 Aristocrat Technologies Australia Pty Limited Secure bootloader for electronic gaming machines and other computing devices
US11100758B2 (en) * 2019-05-22 2021-08-24 Igt System and method for implementing a lottery game
US11854348B2 (en) 2019-11-21 2023-12-26 Igt System and method for lottery and skill games
US20210334257A1 (en) * 2020-04-27 2021-10-28 Sap Se Pageable hash index for document store

Family Cites Families (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4218582A (en) 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4193131A (en) 1977-12-05 1980-03-11 International Business Machines Corporation Cryptographic verification of operational keys used in communication networks
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
DE2939461C2 (de) 1979-09-28 1989-07-20 Siemens AG, 1000 Berlin und 8000 München Verfahren zum Feststellen von Datenstörungen in Speichern
US4467424A (en) 1979-12-17 1984-08-21 Hedges Richard A Remote gaming system
US4458315A (en) 1982-02-25 1984-07-03 Penta, Inc. Apparatus and method for preventing unauthorized use of computer programs
US4525599A (en) 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4462076A (en) 1982-06-04 1984-07-24 Smith Engineering Video game cartridge recognition and security system
US4519077A (en) 1982-08-30 1985-05-21 Amin Pravin T Digital processing system with self-test capability
US4658093A (en) 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4494114B1 (en) 1983-12-05 1996-10-15 Int Electronic Tech Security arrangement for and method of rendering microprocessor-controlled electronic equipment inoperative after occurrence of disabling event
US4845715A (en) 1984-10-29 1989-07-04 Francisco Michael H Method for maintaining data processing system securing
AU571119B2 (en) 1984-12-13 1988-03-31 Ainsworth Nominees Pty Ltd A poker machine with improved security after power failure
JPH074449B2 (ja) 1985-10-04 1995-01-25 任天堂株式会社 ゲ−ム機用カ−トリツジとそれを用いるゲ−ム機
US4926255A (en) 1986-03-10 1990-05-15 Kohorn H Von System for evaluation of response to broadcast transmissions
US4727544A (en) 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device
US5146575A (en) 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4817140A (en) 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US5224160A (en) 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US4930073A (en) 1987-06-26 1990-05-29 International Business Machines Corporation Method to prevent use of incorrect program version in a computer system
US4944008A (en) 1988-02-18 1990-07-24 Motorola, Inc. Electronic keying scheme for locking data
US5179517A (en) 1988-09-22 1993-01-12 Bally Manufacturing Corporation Game machine data transfer system utilizing portable data units
KR0149503B1 (ko) 1989-04-20 1999-05-15 야마우찌 히로시 메모리 카트리지
US5715398A (en) 1989-06-16 1998-02-03 R.R. Donnelley & Sons Company System for distributing items from an origin to a plurality of destinations
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
EP0419064A3 (en) 1989-09-22 1992-08-05 International Business Machines Corporation Computer system having apparatus for providing pointing device independent support in an operating environment
US5004232A (en) 1989-10-13 1991-04-02 Macronix, Inc. Computer game cartridge security circuit
FR2653578B1 (fr) 1989-10-24 1992-01-17 Adventure Dispositif portable electronique pour fideliser un public a un media ou similaire.
GB2239810B (en) 1990-01-10 1994-06-22 Leung Yiu Choi Computer game control apparatus
JP2560124B2 (ja) 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス ビデオゲームシステム及び情報処理装置
US5103081A (en) 1990-05-23 1992-04-07 Games Of Nevada Apparatus and method for reading data encoded on circular objects, such as gaming chips
US5050212A (en) 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
US5161193A (en) 1990-06-29 1992-11-03 Digital Equipment Corporation Pipelined cryptography processor and method for its use in communication networks
US5261069A (en) 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
JPH04143881A (ja) 1990-10-05 1992-05-18 Toshiba Corp 相互認証方式
US5577209A (en) 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
US5231668A (en) 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5291585A (en) 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5404505A (en) 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
US5326104A (en) 1992-02-07 1994-07-05 Igt Secure automated electronic casino gaming system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5489095A (en) 1992-07-01 1996-02-06 U.S. Philips Corporation Device for protecting the validity of time sensitive information
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5555388A (en) 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
ZA943336B (en) 1993-05-19 1995-08-11 Menashe Julian Interactive computerised gaming system with remote terminals
US5590199A (en) 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
US5343527A (en) 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
GB2283341A (en) 1993-10-29 1995-05-03 Sophos Plc Central virus checker for computer network.
US5528513A (en) 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
US5398932A (en) 1993-12-21 1995-03-21 Video Lottery Technologies, Inc. Video lottery system with improved site controller and validation unit
ATE202439T1 (de) 1994-01-13 2001-07-15 Certco Inc Verschlüsselungseinrichtung und verfahren mit möglichkeit zur gesicherten zentralen schlüsselablage
US5668878A (en) 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
JP3653709B2 (ja) 1994-02-28 2005-06-02 株式会社セガ データセキュリティ装置
RU95103479A (ru) 1994-03-11 1996-12-27 Уолкер Эссет Мэнеджмент Лимитед Партнершип (US) Игровая система, игровой компьютер, способ проведения игры, лотереи с участием игрока
US5488702A (en) 1994-04-26 1996-01-30 Unisys Corporation Data block check sequence generation and validation in a file cache system
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5610839A (en) 1994-10-07 1997-03-11 Itt Corporation Communications management system architecture
US5599231A (en) 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US5644704A (en) 1994-11-30 1997-07-01 International Game Technology Method and apparatus for verifying the contents of a storage device
US5654746A (en) 1994-12-01 1997-08-05 Scientific-Atlanta, Inc. Secure authorization and control method and apparatus for a game delivery service
DE69500346T2 (de) 1995-01-23 1997-12-11 Ibm Verbesserte Speicherselbstprüfung
US5604801A (en) 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
CN101303717B (zh) 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5737418A (en) 1995-05-30 1998-04-07 International Game Technology Encryption of bill validation data
US7063615B2 (en) 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US6620047B1 (en) 1995-06-29 2003-09-16 Igt Electronic gaming apparatus having authentication data sets
EP0882339B1 (en) 1995-06-29 2011-01-19 Igt Electronic casino gaming system with improved play capacity, authentication and security
US5768382A (en) 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
US5815662A (en) 1995-08-15 1998-09-29 Ong; Lance Predictive memory caching for media-on-demand systems
US5765152A (en) 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
US5903723A (en) 1995-12-21 1999-05-11 Intel Corporation Method and apparatus for transmitting electronic mail attachments with attachment references
US5781901A (en) 1995-12-21 1998-07-14 Intel Corporation Transmitting electronic mail attachment over a network using a e-mail page
CA2242596C (en) 1996-01-11 2012-06-19 Mrj, Inc. System for controlling access and distribution of digital property
JPH09261617A (ja) 1996-01-19 1997-10-03 Matsushita Electric Ind Co Ltd オンデマンド通信システム
DE69729495T2 (de) 1996-03-08 2004-10-28 Matsushita Electric Industrial Co., Ltd., Kadoma Bildinformationsverarbeitungssystem und Mikroprozessor für die geschützte Reproduktion von audiovisuellen Daten
US5905860A (en) 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
EP1441464A1 (en) 1996-06-17 2004-07-28 Igt Electronic casino gaming system with authentication and security
US5928327A (en) 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
US6032200A (en) 1996-09-30 2000-02-29 Apple Computer, Inc. Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US5909491A (en) 1996-11-06 1999-06-01 Nokia Mobile Phones Limited Method for sending a secure message in a telecommunications system
US6016348A (en) 1996-11-27 2000-01-18 Thomson Consumer Electronics, Inc. Decoding system and data format for processing and storing encrypted broadcast, cable or satellite video data
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6185625B1 (en) 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6099408A (en) 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
CA2287379C (en) 1997-01-10 2005-10-04 Silicon Gaming-Nevada Method and apparatus for providing authenticated, secure on-line communication between remote locations
US6049821A (en) 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
ATE345645T1 (de) 1997-03-21 2006-12-15 Canal Plus Technologies Rundfunk- und empfangssystem und bedingtes zugangssystem dafür
FR2762118B1 (fr) 1997-04-11 1999-07-16 Gemplus Card Int Procedure securisee de controle de transfert d'unites de valeur dans un systeme de jeu a carte a puce
US6557104B2 (en) 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6071190A (en) 1997-05-21 2000-06-06 Casino Data Systems Gaming device security system: apparatus and method
US5993627A (en) 1997-06-24 1999-11-30 Large Scale Biology Corporation Automated system for two-dimensional electrophoresis
US6203427B1 (en) 1997-07-03 2001-03-20 Walker Digital, Llc Method and apparatus for securing a computer-based game of chance
JP3613936B2 (ja) 1997-07-07 2005-01-26 富士ゼロックス株式会社 アクセス資格認証装置
US6038601A (en) 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6278782B1 (en) 1997-09-16 2001-08-21 Safenet, Inc. Method of implementing a key recovery system
US6085193A (en) 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
JPH11120048A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd クライアント/サーバ分散システムにおけるデータキャッシング装置及び方法並びにデータキャッシングプログラムを記録した媒体
US6594682B2 (en) 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6289452B1 (en) 1997-11-07 2001-09-11 Cybersource Corporation Method and system for delivering digital products electronically
US5991399A (en) 1997-12-18 1999-11-23 Intel Corporation Method for securely distributing a conditional use private key to a trusted entity on a remote system
AUPP149998A0 (en) 1998-01-27 1998-02-19 Aristocrat Leisure Industries Pty Ltd Multi-platform gaming architecture
EP0944256A1 (en) 1998-03-19 1999-09-22 Hitachi Europe Limited Copy protection apparatus and method
US6170014B1 (en) 1998-03-25 2001-01-02 Community Learning And Information Network Computer architecture for managing courseware in a shared use operating environment
US6141756A (en) 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6195433B1 (en) 1998-05-08 2001-02-27 Certicom Corp. Private key validity and validation
US6389460B1 (en) 1998-05-13 2002-05-14 Compaq Computer Corporation Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
US6052720A (en) 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
WO1999059058A1 (fr) 1998-05-14 1999-11-18 Sega Enterprises, Ltd. Processeur d'informations, procede de traitement d'informations, support d'enregistrement d'informations et systeme de traitement d'informations
US6427238B1 (en) 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
NZ509018A (en) 1998-06-17 2002-06-28 Aristocrat Technologies Au Software verification and authentication
US6330566B1 (en) 1998-06-22 2001-12-11 Microsoft Corporation Apparatus and method for optimizing client-state data storage
JP4634547B2 (ja) 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
US6751729B1 (en) 1998-07-24 2004-06-15 Spatial Adventures, Inc. Automated operation and security system for virtual private networks
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6826593B1 (en) 1998-09-01 2004-11-30 Lucent Technologies Inc. Computer implemented method and apparatus for fulfilling a request for information content with a user-selectable version of a file containing that information content
GB2341523B (en) 1998-09-12 2003-10-29 Ibm Apparatus and method for establishing communication in a computer network
US6412011B1 (en) 1998-09-14 2002-06-25 At&T Corp. Method and apparatus to enhance a multicast information stream in a communication network
US6292899B1 (en) 1998-09-23 2001-09-18 Mcbride Randall C. Volatile key apparatus for safeguarding confidential data stored in a computer system memory
CN1224909C (zh) 1998-10-16 2005-10-26 松下电器产业株式会社 数字作品保护系统
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6338050B1 (en) 1998-11-16 2002-01-08 Trade Access, Inc. System and method for providing and updating user supplied context for a negotiations system
US6574605B1 (en) 1998-11-17 2003-06-03 Citibank, N.A. Method and system for strategic services enterprise workload management
AUPP734298A0 (en) 1998-11-26 1998-12-24 Aristocrat Leisure Industries Pty Ltd Electronic casino gaming with authentication and improved security
US6694434B1 (en) 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
US6014558A (en) 1998-12-28 2000-01-11 Northern Telecom Limited Variable rate optional security measures method and apparatus for wireless communications network
US6892238B2 (en) 1999-01-27 2005-05-10 International Business Machines Corporation Aggregating and analyzing information about content requested in an e-commerce web environment to determine conversion rates
US6412008B1 (en) 1999-01-28 2002-06-25 International Business Machines Corporation System and method for cooperative client/server customization of web pages
US7225333B2 (en) 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6470378B1 (en) 1999-03-31 2002-10-22 Intel Corporation Dynamic content customization in a clientserver environment
JP3471654B2 (ja) 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
US6920567B1 (en) 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6697948B1 (en) 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6654388B1 (en) 1999-05-26 2003-11-25 Larscom Incorporated Method and apparatus for automatically determining allocation of voice and data channels on T1/E1 line
US6500070B1 (en) 1999-05-28 2002-12-31 Nintendo Co., Ltd. Combined game system of portable and video game machines
US6704797B1 (en) 1999-06-10 2004-03-09 International Business Machines Corporation Method and system for distributing image-based content on the internet
US6446113B1 (en) 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US6526581B1 (en) 1999-08-03 2003-02-25 Ucentric Holdings, Llc Multi-service in-home network with an open interface
EP1124350A1 (en) 1999-08-20 2001-08-16 Sony Corporation Information transmission system and method, drive device and access method, information recording medium, device and method for producing recording medium
CN1296846C (zh) 1999-08-27 2007-01-24 索尼公司 信息发送系统、发送装置和发送方法与信息接收系统、接收装置和接收方法
US6760324B1 (en) 1999-09-10 2004-07-06 Array Telecom Corporation Method, system, and computer program product for providing voice over the internet communication
US6565443B1 (en) 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
AUPQ321699A0 (en) 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US6993557B1 (en) 1999-10-25 2006-01-31 Broadon Communications Corp. Creation of customized web pages for use in a system of dynamic trading of knowledge, goods and services
US6928551B1 (en) 1999-10-29 2005-08-09 Lockheed Martin Corporation Method and apparatus for selectively denying access to encoded data
US6675350B1 (en) 1999-11-04 2004-01-06 International Business Machines Corporation System for collecting and displaying summary information from disparate sources
US6595856B1 (en) 2000-01-04 2003-07-22 Sigma Game, Inc. Electronic security technique for gaming software
JP2001209586A (ja) 2000-01-26 2001-08-03 Toshiba Corp コンピュータにおけるコンテンツ管理装置及びコンテンツ管理方法
US6606644B1 (en) 2000-02-24 2003-08-12 International Business Machines Corporation System and technique for dynamic information gathering and targeted advertising in a web based model using a live information selection and analysis tool
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7080257B1 (en) 2000-03-27 2006-07-18 Microsoft Corporation Protecting digital goods using oblivious checking
US6901386B1 (en) 2000-03-31 2005-05-31 Intel Corporation Electronic asset lending library method and apparatus
US20020016818A1 (en) 2000-05-11 2002-02-07 Shekhar Kirani System and methodology for optimizing delivery of email attachments for disparate devices
US7024394B1 (en) 2000-07-07 2006-04-04 International Business Machines Corporation System and method for protecting user logoff from web business transactions
US20020059384A1 (en) 2000-07-13 2002-05-16 Koninklijke Philips Electronics N.V. Substituting URL for attachment in forwarding electronic content
AU2001285125B2 (en) 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
US7052396B2 (en) 2000-09-11 2006-05-30 Nintendo Co., Ltd. Communication system and method using pictorial characters
US6805629B1 (en) 2000-09-13 2004-10-19 Casino Data System Gaming device and method
US6785712B1 (en) 2000-09-21 2004-08-31 Rockwell Collins, Inc. Airborne e-mail data transfer protocol
JP4470312B2 (ja) 2000-10-10 2010-06-02 ソニー株式会社 サーバ装置、再生装置、データ配信方法、データ再生方法、記憶媒体
WO2002064228A2 (en) 2000-10-25 2002-08-22 Ngame Limited Adapting a game state to be compatible with a new version of a game
US6889209B1 (en) 2000-11-03 2005-05-03 Shieldip, Inc. Method and apparatus for protecting information and privacy
JP2002169620A (ja) 2000-12-01 2002-06-14 Konami Co Ltd ゲーム装置の管理システム、ゲーム装置、制御方法、ソフトウェア記録媒体
US7127069B2 (en) 2000-12-07 2006-10-24 Igt Secured virtual network in a gaming environment
US7168089B2 (en) 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US6811486B1 (en) 2000-12-20 2004-11-02 Sierra Design Group Method and apparatus for enhancing game play through savable game play state
CA2432589C (en) 2000-12-22 2008-12-02 Research In Motion Limited Wireless router system and method
CN100428751C (zh) 2000-12-25 2008-10-22 松下电器产业株式会社 安全通信包处理装置及其方法
US7092953B1 (en) 2000-12-28 2006-08-15 Rightlsline, Inc. Apparatus and methods for intellectual property database navigation
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
JP2004530185A (ja) 2001-02-01 2004-09-30 エイビーエヌ アムロ サービスィズ カンパニー,インコーポレイテッド 自動ライセンス設備のためのシステムおよび方法
US7330717B2 (en) 2001-02-23 2008-02-12 Lucent Technologies Inc. Rule-based system and method for managing the provisioning of user applications on limited-resource and/or wireless devices
US7134144B2 (en) 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
PL373366A1 (en) 2001-03-12 2005-08-22 Koninklijke Philips Electronics N.V. Receiving device for securely storing a content item, and playback device
JP3392120B2 (ja) 2001-03-23 2003-03-31 任天堂株式会社 ゲーム装置及びそのプログラム
JP2002358460A (ja) 2001-03-27 2002-12-13 Art Connection:Kk ウェブサイト付加システム
US7584491B2 (en) 2001-04-25 2009-09-01 Sony Corporation System and method for managing interactive programming and advertisements in interactive broadcast systems
JP4691268B2 (ja) 2001-05-02 2011-06-01 任天堂株式会社 ゲームシステムおよびゲームプログラム
US6466048B1 (en) 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
US6976009B2 (en) 2001-05-31 2005-12-13 Contentguard Holdings, Inc. Method and apparatus for assigning consequential rights to documents and documents having such rights
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US20020187828A1 (en) 2001-06-12 2002-12-12 Jamal Benbrahim Method and apparatus for securing gaming machine operating data
US7421411B2 (en) 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20030023427A1 (en) 2001-07-26 2003-01-30 Lionel Cassin Devices, methods and a system for implementing a media content delivery and playback scheme
EP1433037A2 (en) 2001-08-06 2004-06-30 Matsushita Electric Industrial Co., Ltd. License management server, terminal device, license management system and usage restriction control method
US6685567B2 (en) 2001-08-08 2004-02-03 Igt Process verification
US20040054952A1 (en) 2002-09-13 2004-03-18 Morrow James W. Device verification system and method
US6811490B2 (en) 2001-10-10 2004-11-02 Sony Computer Entertainment America Inc. System and method for saving game data
US7558759B2 (en) 2001-11-20 2009-07-07 Contentguard Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
WO2003045519A1 (en) 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
US20030120541A1 (en) 2001-12-21 2003-06-26 Siann Jonathan I. Storage and delivery of electronic media content with advertising
US20030157985A1 (en) 2002-02-19 2003-08-21 Koninklijke Philips Electronics N.V. Virtual IPR system in electronic game environment
US7197301B2 (en) 2002-03-04 2007-03-27 Telespree Communications Method and apparatus for secure immediate wireless access in a telecommunications network
JP3863447B2 (ja) 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
CN103150492A (zh) 2002-03-14 2013-06-12 康坦夹德控股股份有限公司 用于处理使用权利表达的方法和装置
JP4250089B2 (ja) 2002-03-29 2009-04-08 パナソニック株式会社 コンテンツ再生装置およびコンテンツ再生制御方法
US7228426B2 (en) 2002-04-03 2007-06-05 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
US8226473B2 (en) 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication
US20030196108A1 (en) 2002-04-12 2003-10-16 Kung Kenneth C. System and techniques to bind information objects to security labels
US20030220142A1 (en) 2002-05-21 2003-11-27 Mark Siegel Video Game controller with display screen
US7322044B2 (en) 2002-06-03 2008-01-22 Airdefense, Inc. Systems and methods for automated network policy exception detection and correction
AUPS324802A0 (en) 2002-06-27 2002-07-18 Borthwick, Frederick Kevin Graphical user interface for data acquisition, retrieval and communication
US7509683B2 (en) 2002-08-26 2009-03-24 Hewlett-Packard Development Company, L.P. System and method for authenticating digital content
US7401352B2 (en) 2002-08-30 2008-07-15 International Business Machines Corporation Secure system and method for enforcement of privacy policy and protection of confidentiality
US20040054923A1 (en) 2002-08-30 2004-03-18 Seago Tom E. Digital rights and content management system and method for enhanced wireless provisioning
US7228567B2 (en) 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US7108605B2 (en) 2002-09-30 2006-09-19 Igt EPROM file system in a gaming apparatus
US20040083388A1 (en) 2002-10-25 2004-04-29 Nguyen The Vinh Method and apparatus for monitoring data packets in a packet-switched network
US7757075B2 (en) 2002-11-15 2010-07-13 Microsoft Corporation State reference
US8140824B2 (en) 2002-11-21 2012-03-20 International Business Machines Corporation Secure code authentication
AU2003298320A1 (en) 2002-12-19 2004-07-14 International Business Machines Corporation A method for providing of content data to a client
US8131649B2 (en) 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US7322042B2 (en) 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20100062844A1 (en) 2003-03-05 2010-03-11 Bally Gaming, Inc. Authentication and validation systems for gaming devices
JP4240297B2 (ja) 2003-04-21 2009-03-18 ソニー株式会社 端末機器、認証端末プログラム、機器認証サーバ、機器認証プログラム
US7367889B2 (en) 2003-06-09 2008-05-06 Wms Gaming Inc. Gaming machine having hardware-accelerated software authentication
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7600108B2 (en) 2003-06-17 2009-10-06 Wms Gaming Inc. Gaming machine having reduced-read software authentication
US7491122B2 (en) 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
US20050071640A1 (en) 2003-09-25 2005-03-31 General Instrument Corporation Method and apparatus for authenticating data
US9131272B2 (en) 2003-11-04 2015-09-08 Universal Electronics Inc. System and method for saving and recalling state data for media and home appliances
US20050122977A1 (en) 2003-12-05 2005-06-09 Microsoft Corporation Efficient download mechanism for devices with limited local storage
US20050143171A1 (en) 2003-12-30 2005-06-30 Loose Timothy C. Gaming machine having sampled software verification
US7940932B2 (en) 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US8908699B2 (en) 2004-04-16 2014-12-09 Broadcom Corporation Providing automatic format conversion via an access gateway in a home
JP4208776B2 (ja) * 2004-06-25 2009-01-14 キヤノン株式会社 印刷クライアント、ネットワークプリンタ及び印刷システム
KR100636169B1 (ko) 2004-07-29 2006-10-18 삼성전자주식회사 서로 다른 drm이 적용된 콘텐츠의 전송 및 재생 방법
KR100694064B1 (ko) 2004-10-08 2007-03-12 삼성전자주식회사 Drm 변환 방법 및 장치
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US20060253702A1 (en) 2004-11-30 2006-11-09 Gametech International, Inc. Secure gaming server
US7966485B2 (en) 2004-12-01 2011-06-21 Igt Universal operating system to hardware platform interface for gaming machines
US7869593B2 (en) 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7993202B2 (en) 2005-01-18 2011-08-09 Igt Server based meter model softcount and audit processing for gaming machines
US20060236122A1 (en) 2005-04-15 2006-10-19 Microsoft Corporation Secure boot
US7337147B2 (en) 2005-06-30 2008-02-26 Microsoft Corporation Dynamic digital content licensing
WO2007004219A2 (en) 2005-07-04 2007-01-11 Discretix Technologies Ltd. System, device and method of verifying that a code is executed by a processor
SG129309A1 (en) 2005-07-14 2007-02-26 Matsushista Electric Ind Co Lt Method and system of wireless communication between devices
US20070067826A1 (en) 2005-09-19 2007-03-22 Texas Instruments Incorporated Method and system for preventing unsecure memory accesses
US8055970B1 (en) 2005-11-14 2011-11-08 Raytheon Company System and method for parallel processing of data integrity algorithms
US8959339B2 (en) 2005-12-23 2015-02-17 Texas Instruments Incorporated Method and system for preventing unauthorized processor mode switches
US7827397B2 (en) 2006-07-13 2010-11-02 Aristocrat Technologies Australia Pty, Ltd. Gaming machine having a secure boot chain and method of use
AU2007276673B2 (en) 2006-07-18 2013-01-17 Blackberry Limited System and method for authenticating a gaming device
US7624276B2 (en) 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
EP1916598A1 (fr) 2006-10-23 2008-04-30 Nagravision S.A. Méthode de chargement et de gestion d'une application dans un équipement mobile
US20080275750A1 (en) 2007-05-04 2008-11-06 Credit Suisse Securities (Usa) Llc Method and system for processing and communicating corporate action events
US20090193211A1 (en) * 2008-01-24 2009-07-30 Broadcom Corporation Software authentication for computer systems
US20090280906A1 (en) 2008-04-30 2009-11-12 Bally Gaming, Inc. Server client network throttling method for download content
US8788841B2 (en) 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems
KR101267227B1 (ko) 2009-12-02 2013-05-23 한국전자통신연구원 게임 패킷 데이터 가시화 장치 및 그 방법
US20130053137A1 (en) 2011-08-25 2013-02-28 Dwayne Nelson Authenticating gaming machine content
US20130059655A1 (en) 2011-09-06 2013-03-07 Multimedia Games, Inc. Game authentication method for gaming machines and game platform with authentication capability

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375276A (zh) * 2015-07-23 2017-02-01 谷歌公司 认证通信
CN106375276B (zh) * 2015-07-23 2020-02-07 谷歌有限责任公司 认证通信
CN113536059A (zh) * 2020-04-21 2021-10-22 德国邮政股份公司 用于标识文件的检验方法和设备
US11416621B2 (en) 2020-06-18 2022-08-16 Micron Technology, Inc. Authenticating software images
TWI782546B (zh) * 2020-06-18 2022-11-01 美商美光科技公司 用於驗證軟體影像之方法、系統及電腦可讀媒體
US11783045B2 (en) 2020-06-18 2023-10-10 Micron Technology, Inc. Authenticating software images
TWI823596B (zh) * 2020-06-18 2023-11-21 美商美光科技公司 用於驗證軟體影像之方法、系統及電腦可讀媒體

Also Published As

Publication number Publication date
EP2645291A1 (en) 2013-10-02
US8966278B2 (en) 2015-02-24
US8627097B2 (en) 2014-01-07
SG193759A1 (en) 2013-10-30
CA2809992A1 (en) 2013-09-27
US20140108812A1 (en) 2014-04-17
US20130263255A1 (en) 2013-10-03
AU2013201971B2 (en) 2014-11-20
AU2013201971A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
CN103365629A (zh) 使用认证检查点哈希使能哈希函数的并行处理的系统和方法
US10885740B2 (en) System and method for providing access to cryptocurrency from a gaming establishment account
US11983992B2 (en) System and method for incentivizing the maintenance of funds in a gaming establishment account
US20220262204A1 (en) System and method for providing awards for utilizing a mobile device in association with a gaming establishment retail account
US11842605B2 (en) System and method for centralizing funds to a primary gaming establishment account
US8449378B2 (en) Gaming system, gaming device and method for utilizing bitcoins
US8523657B2 (en) Gaming system, gaming device and method for utilizing bitcoins
US20190188962A1 (en) System and method for providing a master gaming establishment account and a subsidiary gaming establishment account
US20190188960A1 (en) System and method for invoking commands utilizing a mobile device and a gaming establishment device
US11430296B2 (en) System and method for incentivizing transfer of funds to a gaming establishment account
US20240046753A1 (en) Non-fungible tokens in gaming
US10204487B2 (en) System and method for gaming
US20200265676A1 (en) System and method for providing mobile device facilitated electronic cash checking to fund a gaming establishment account
US20200043277A1 (en) System and method for incentivizing social media activity in association with a gaming establishment
US20220028219A1 (en) Gaming system and method for offering social media activity in association with wagering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131023