United States Patent7168089
Nguyen , ; et al.January 23, 2007

Title

Secured virtual network in a gaming environment

Abstract

A disclosed gaming machine may securely communicate with devices over a public network such as the Internet. The gaming machine utilizes a combination of symmetric and asymmetric encryption that allows a single gaming machine to securely communicate with a remote server using a public network. The secure communication methods may be used to transfer gaming software and gaming information between two gaming devices, such as between a game server and a gaming machine. For regulatory and tracking purposes, the transfer of gaming software between the two gaming devices may be authorized and monitored by a software authorization agent.


Inventors:Nguyen; Binh T. (Reno, NV), Oberberger; Michael M.  (Reno, NV), Parrott; Gregory Hopkins  (Reno, NV)
Assignee:IGT (Reno, NV)
Appl. No.:10/116,424
Filed:April 3, 2002
PCT Pub Date:January 28, 2007

Current U.S. Class:726/4 380/251 463/29 713/168 713/176 
Current International Class:H04L 9/00 (20060101) A63F 9/24 (20060101) G06F 15/16 (20060101) H04K 1/00 (20060101)

U.S. Patent Documents
20020045477April 2002Dabrowski
20020049909April 2002Jackson et al.
20020071557June 2002Nguyen
20020137217September 2002Rowe
20020155887October 2002Criss-Puszkiewicz et al.
20030054880March 2003Lam et al.
20030064771April 2003Morrow et al.
20030188306October 2003Harris et al.
20040002385January 2004Nguyen
3931504January 1976Jacoby
4430728February 1984Beitel et al.
4454594June 1984Heffron et al.
5136644August 1992Audebert et al.
5155837October 1992Liu et al.
5410703April 1995Nilsson et al.
5421009May 1995Platt
5421017May 1995Scholz et al.
5473772December 1995Halliwell et al.
5555418September 1996Nilsson et al.
5643086July 1997Alcorn et al.
5654746August 1997McMullan, Jr. et al.
5671412September 1997Christiano
5682533October 1997Siljestroemer
5715403February 1998Stefik
5715462February 1998Iwamoto et al.
5759102June 1998Pease et al.
5761647June 1998Boushy
5762552June 1998Vuong et al.
5768382June 1998Schneier et al.
5770533June 1998Franchi
5779545July 1998Berg et al.
5836817November 1998Acres et al.
5845077December 1998Fawcett
5845090December 1998Collins et al.
5848064December 1998Cowan
5851149December 1998Xidos et al.
5870723February 1999Pare, Jr. et al.
5885158March 1999Torango et al.
5896566April 1999Averbuch et al.
5905523May 1999Woodfield et al.
5925127July 1999Ahmad
5970143October 1999Schneier et al.
5999808December 1999LaDue
6002772December 1999Saito
6006034December 1999Heath et al.
6029046February 2000Khan et al.
6047128April 2000Zander
6052512April 2000Peterson et al.
6099408August 2000Schneier et al.
6104815August 2000Alcorn et al.
6106396August 2000Alcorn et al.
6125185September 2000Boesch
6149522November 2000Alcorn et al.
6154878November 2000Saboff
6165072December 2000Davis et al.
6169976January 2001Colosso
6178510January 2001O'Connor et al.
6253374June 2001Dresevic et al.
6270410August 2001DeMar et al.
6285868September 2001LaDue
6285886September 2001Kamel et al.
6317827November 2001Cooper
6364769April 2002Weiss et al.
6368219April 2002Szrek et al.
6446257September 2002Pradhan et al.
6449687September 2002Moriya
6453319September 2002Mattis et al.
6454648September 2002Kelly et al.
6508709January 2003Karmarkar
6805634October 2004Wells et al.
Foreign Patent Documents
0 689 325Jun., 1995EP
0 706 275Apr., 1996EP
0 905 614Mar., 1999EP
02/05229Jan., 2002WO
0715245Jun., 1996EP
0744786Nov., 1996EP
0841 615May., 1998EP
1 004 970May., 2000EP
1061430Dec., 2000EP
1074955Feb., 2001EP
WO 01/20424Mar., 2001WO
WO 03/085613Oct., 2003WO
WO 95/24689Sep., 1995WO
WO 96/00950Jan., 1996WO
WO 99/01188Jan., 1999WO
Other References
Hiroaki Higaki, 8 page document entitled "Group Communication Algorithm for Dynamically Updating in Distributed Systems" Copyright 1994 IEEE International Conference On Parallel and Distributed Systems (pp. 56-62) 08-8186-655-Jun. 1994, higaki@sdesun.slab.ntt.jp. cited by other .
Steffen Hauptmann, et al., 12 page document entitled "On-line Maintenance With On-The-Fly Software Replacement" Copyright 1996 IEEE Proceedings, Third International Conference On Configurable Distributed Systems, (pp. 70-80) 0-8186-7395-Aug. 1996. cited by other .
Hiroaki Higaki, 9 page document entitled "Extended Group Communication Algorithm For Updating Distributed Programs" Copyright 1996, IEEE, International Conference ON Parallel and Distributed Systems, 0-8186-7267-Jun. 1996, , hig@takilab.k.dendai.as.jp. cited by other .
International Search Report and Written Opinion dated Jul. 19, 2006 from corresponding PCT Application No. PCT/US2006/008785 (11 pages). cited by other.~
Primary Examiner: Revak; Christopher
Attorney, Agent or Firm:Beyer Weaver & Thomas LLP

Parent Case Text



CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 09/732,650 entitled "SECURED VIRTUAL NETWORK IN A GAMING ENVIRONMENT", filed Dec. 7, 2000, naming Binh Nguyen as inventor, which is incorporated herein by reference in its entirety for all purposes.

Claims


What is claimed is:
1. In a software authorization agent, a method of generating a gaming software transaction record used to facilitate a transfer of gaming software between two gaming devices, the method comprising: receiving a gaming software transaction request from a first gaming device; authenticating an identity of the first gaming device; generating a gaming software transaction record comprising gaming software transaction information that is used to approve or reject the transfer of gaming software from a second gaming device to the first gaming device sending an authorization message to the first gaming device wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to the second gaming device and wherein the first gaming device and the second gaming device are separate from the software authorization agent; wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine, d) a player tracking service on a gaming machine and e) an operating system installed on the gaming machine.

2. The method of claim 1, wherein the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video blackjack game, a video lottery game, and a video pachinko game.

3. The method of claim 1, wherein the first gaming device is at least one of a gaming machine, game server and combinations thereof.

4. The method of claim 1, wherein the gaming software transaction request comprises access information and gaming software identification information.

5. The method of claim 4, wherein the access information is one or more of operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and machine identification information for the second gaming device.

6. The method of claim 4, wherein the gaming software identification information is one or more of a gaming software title, a gaming software provider identifier, a gaming software version number and a gaming software identification number.

7. The method of claim 1, further comprising: comparing access information in the gaming software transaction request with access information stored in a database.

8. The method of claim 7, when the compared access information does not match the access information stored in the database, denying the gaming software transaction request.

9. The method of claim 1, further comprising: comparing gaming software identification information in the gaming software transaction request with gaming software identification information stored in a database.

10. The method of claim 9, when the gaming software identification information does not match the access information stored in the database, denying the gaming software transaction request.

11. The method of claim 1, further comprising: generating an identification sequence; encrypting the identification sequence with a public encryption key for the first gaming device wherein information encrypted with the public encryption key is decrypted with a private encryption key used by the first gaming device; sending the encrypted identification sequence to the first gaming device.

12. The method of claim 11, wherein the identification sequence is a symmetric encryption key used to encrypt gaming software transferred between the first gaming device and the second gaming device.

13. The method of claim 11, further comprising: receiving from the first gaming device a second identification sequence encrypted with a public encryption key used by the software authorization agent, decrypting the second identification sequence with a private encryption key corresponding to the public encryption key used by the software authorization agent; comparing the second identification sequence to the identification sequence sent to the first gaming device to authenticate the identity of the first gaming device.

14. The method of claim 13, wherein the second identification sequence is a symmetric encryption key used to transfer gaming software between the first gaming device and the second gaming device.

15. The method of claim 13, when the second identification sequence received from the first gaming device does not match the identification sequence sent to the first gaming device; denying the gaming software transaction request.

16. The method of claim 1, wherein the gaming transaction information is one or more of a transaction encryption key, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number, a gaming software identification number, a gaming software provider identifier, a transaction number, a number of allowable downloads and combinations thereof.

17. The method of claim 1, further comprising: storing the gaming transaction record information to a transaction database.

18. The meted of claim 1, further comprising: sending gaming software transaction information to the first gaming device.

19. The method of claim 18, wherein the gaming software transaction information is one or more of a one or more of a transaction encryption key, a public encryption key used by the second gaming device, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a destination machine identification number, a gaming software identification number, a gaming software provider identifier, a number of allowable downloads, a transaction number and combinations thereof.

20. The method of claim 1, further comprising: sending a notification message to a gaming software provider identified in the gaming software request of a pending gaming software download request.

21. The method of claim 1, wherein the software authorization agent communicates with the first gaming device using an local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.

22. The method of claim 1, wherein the software authorization agent and the first gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

23. The method of claim 1, wherein the transfer of gaming software is performed at least one of manually and electronically.

24. The method of claim 1, wherein the gaming software comprises one or more gaming software components for the game of chance, the bonus game of chance, the device driver, the player tracking service and the operating system.

25. The method of claim 1, wherein the gaming software is used to upgrade a gaming software component on the first gaming device.

26. The method of claim 1, wherein the gaming software is used to correct an error in a gaming software component on the second gaming device.

27. The method of claim 1, further comprising: requesting a list of gaming software installed an a gaming device.

28. In a software authorization agent, a method of regulating a transfer of gaming software between two gaming devices, the method comprising: receiving a gaming software download request message with gaming software transaction information from a first gaming device; validating the gaming software download request using the gaming software transaction information; sending an authorization message to the first gaming device wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to a second gaming device and wherein the first gaming device and the second gaming device are from the software authorization agent; wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine, d) a player tracking service on a gaming machine and e) an operating system installed on a gaming machine.

29. The method of claim 28, wherein the second gaming device is at least one of a game server and a gaming machine.

30. The method of claim 28, wherein the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video blackjack game, a video lottery game, and a video pachinko game.

31. The method of claim 28, wherein the gaming transaction information is one or more of a transaction encryption key, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and combinations thereof.

32. The method of claim 28, further comprising: comparing the gaming transaction information in the gaming software download request message with gaming transaction information stored in a transaction database to validate the gaming software download request.

33. The method of claim 28, further comprising: sending a message to the first gaming device denying authorization for the first gaming device to transfer gaming software to the second gaming device.

34. The method of claim 28, further comprising: decrypting the download request message.

35. The method of claim 28, further comprising: receiving a first download acknowledgement message from the first gaming device and receiving a second download acknowledgement message from the second gaming device.

36. The method of claim 35, further comprising: comparing gaming software transaction information in the first download acknowledgement message with gaming software transaction information in the second download acknowledgement message to validate that the gaming software has been correctly transferred.

37. The method of claim 36, wherein the gaming software transaction information in the first download acknowledgement message includes at least a first digital signature determined for the gaming software and the gaming software transaction information in the second download acknowledgement message includes at least a second digital signature determined for the gaming software.

38. The method of claim 28, wherein the first gaming device a game server in communication with one or more gaming machines and the second gaming device is a gaming machine.

39. The method of claim 28, wherein the first gaming device is a game server maintained by a gaming software provider and the second gaming device is a game server in communication with one or more gaming machines.

40. The method of claim 28, wherein the first gaming device is a game server maintained by a gaming software provider and the second gaming device is a gaming machine.

41. The method of claim 28, wherein the software authorization agent, the first gaming device and the second gaming device communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.

42. The method of claim 28, wherein the software authorization agent the first gaming device and the second gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

43. The method of claim 28, further comprising: receiving the gaming software from the first gaming device; validating the gaming software; and sending the gaming software to the second gaming device.

44. The method of claim 43, further comprising: determining a digital signature for the gaming software; and comparing the digital signature with an approved digital signature for the gaming software stored in a database to validate the gaming software.

45. The method of claim 28, further comprising: storing gaming software transaction information indicating that a status of the download request.

46. The method of claim 28, wherein the status is at least one of authorized, pending, completed and void.

47. The method of claim 28, wherein the transfer of gaming software is preformed at least one of manually and electronically.

48. The method of claim 28, wherein the gaming software comprises one or more gaming software components for the game of chance, the bonus game of chance, the device driver, the player tracking service and the operating system.

49. The method of claim 28, wherein the gaming software is used to upgrade a gaming software component on the second gaming device.

50. The method of claim 28, wherein the gaming software is used to correct an error in a gaming software component on the second gaming device.

51. The method of claim 28, further comprising: requesting a list of gaming software installed on a gaming device.

52. In a software authorization agent, a method of providing gaming software transaction information, the method comprising: receiving a gaming software transaction information request from a gaming device; authenticating an identity of the gaming device; querying a gaming software transaction database for a set of gaming software transaction information requested by the gaming device, said gaming software transaction database comprising a plurality of records of gaming software transactions wherein each gaming software transaction is related to a request to authorize a transfer of gaming software received by the software authorization agent; and sending the requested gaming software transaction information to the gaming device; sending an authorization message to a first gaming device wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to a second gaming device and wherein the first warning device and the second gaming a device are separate from the software authorization agent; wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine, d) a player tracking service on a gaming machine and e) an operating system installed on a gaming machine.

53. The method of claim 52, wherein each gaming software transaction record includes gaming software transaction information that describes a transfer of gaming software from a first gaming device to a second gaming device.

54. The method of claim 52, wherein the gaming software transaction database includes a record of gaming software installed on one or more gaming devices.

55. The method of claim 52, wherein the gaming software transaction database includes a record of gaming software usage on one or more gaming devices.

56. The method of claim 52, wherein the gaming transaction information is one or more of a transaction number, a time stamp, a transaction expiration on time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and a transaction completion time.

57. The method of claim 52, further comprising: generating a gaming transaction report that presents the set of gaming software transaction requested by the gaming device.

58. The method of claim 52, further comprising: generating a distribution of gaming software on a plurality of gaming machines at a specified time using the gaming software transaction information stored in the gaming software transaction database.

59. The method of claim 52, further comprising: generating a distribution of gaming software on a plurality of gaming machines for a plurality of times using the gaming software transaction information stored in the gaming software transaction database.

60. Tho method of claim 52, further comprising: generating a billing report.

61. The method of claim 60, further comprising: generating a fee for the billing report based upon a number of times a first gaming software has been used on the gaming device.

62. The method of claim 61, wherein a usage fee charged each time the first gaming software is used varies with time.

63. The method of claim 52, further comprising: requesting a list of gaming software installed on the gaming device.

64. The method of claim 63, further comprising: storing the list of gaming software installed on the gaming device to the gaming software transaction database.

65. In a first gaming device, a method of requesting a transfer of gaming software from a second gaming device, said method comprising: generating a gaming software transaction request; sending the gaming software transaction request to a gaming software authorization agent that approves or rejects the transfer of gaming software from the second gaming device; and receiving an authorization message from the gaming software authorization agent wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to the second gaming device and wherein the first gaming device and the second gaming device are separate from the gaming software authorization agent; wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine d) a player tacking service on a gaming machine and e) an operating system installed on a gaming machine.

66. The method of claim 65, wherein the gaming software authorization agent, the first gaming device and the second gaming device communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.

67. The method of claim 65, wherein the gaming software authorization agent, the first gaming device and the second gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

68. The method of claim 65, wherein the gaming software transaction request comprises access information and gaming software identification information.

69. The method of claim 68, wherein the access information is one or more of operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and machine identification information for the second gaming device.

70. The method of claim 68, wherein the gaming software identification information is one or more of a gaming software title, a gaming software provider identifier, a gaming software version number and a gaming software identification number.

71. The method of claim 65, wherein the gaming software transaction information is one or more of a one or more of a transaction encryption key, a public encryption key used by the second gaming device, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a destination machine identification number, a gaming software identification number, a gaming software provider identifier, a number of allowable downloads, a transaction number and combinations thereof.

72. The method of claim 65, wherein the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video blackjack game, a video lottery game, and a video pachinko game.

73. The method of claim 65, further comprising: sending authentication information used to identify the first gaming device to the gaming software authorization agent.

74. The method of claim 65, further comprising: sending a message requesting the gaming software to the second gaming device.

75. The method of claim 65, further comprising: receiving the gaming software from the second gaming device.

76. The method of claim 75, further comprising: determining a digital signature for the gaming software and sending a message with at least the digital signature to the gaming software authorization agent.

77. The method of claim 65, further comprising: authenticating an identity of the second gaming device.

78. The method of claim 65, wherein the first gaming device is a gaming machine and the second gaming device is a game server.

79. The method of claim 65, wherein the first gaming device is a game server in communication with a plurality of gaming machines and the second gaming device is a game server maintained by a gaming software content provider.

80. The method of claim 65, wherein the transfer of gaming software is preformed at least one of manually and electronically.

81. The method of claim 65, wherein the gaming software comprises one or more gaming software components.

82. The method of claim 65, wherein the gaming software is used to upgrade a gaming software component on the gaming machine.

83. The method of claim 65, wherein the gaming software is used to correct an error in a gaming software component on the gaming machine.

84. In a first gaming device, a method of transferring gaming software to a second gaming device, said method comprising: receiving a gaming software transaction request from the second gaming device; sending the gaming software transaction request to a gaming software authorization agent that approves or rejects the transfer of gaming software; receiving an authorization message from the gaming software authorization agent wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to the second gamma device; and transferring the gaming software to the second gaming device; wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine, d) a player tracking service on a gaming machine and e) an operating system installed on a gaming machine.

85. The method of claim 84, further comprising: receiving an approval of the gaming software transaction request from the gaming software authorization agent.

86. The method of claim 84, further comprising: prior to transferring the gaming software, receiving a denial of the gaming software transaction request from the gaming software authorization agent; and terminating the transfer of the gaming software.

87. The method of claim 84, wherein the software authorization agent; the first gaming device and the second gaming device communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.

88. The method of claim 84, wherein the software authorization agent, the first gaming device and the second gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection, an infrared communication connection and combinations thereof.

89. The method of claim 84, wherein the gaming software transaction request comprises access information and gaming software identification information.

90. The method of claim 89, wherein the access information is one or more of operator identification information for the flit gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and machine identification information for the second gaming device.

91. The method of claim 89, wherein the gaming software identification information is one or more of a gaming software title, a gaming software provider identifier, a gaming software version number and a gaming software identification number.

92. The method of claim 84, wherein the gaming software transaction information is one or more of a one or mare of a transaction encryption key, a public encryption key used by the second gaming device, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a destination machine identification number, a gaming software identification number, a gaming software provider identifier, a number of allowable downloads, a transaction number and combinations thereof.

93. The method of claim 84, wherein the game of chance is a video slot gain, a mechanical slot game, a lottery game, a video poker game, a video blackjack game, a video lottery game, and a video panchinko game.

94. The method of claim 84, further comprising: determining a digital signature for the gaming software and sending a message with at least the digital signature to the gaming software authorization agent.

95. The method of claim 84, wherein the first gaming device is a gaming server and the second gaming device is a gaming machine.

96. The method of claim 84, wherein the first gaming device is a gaming machine and the second gaming device is a gaming machine.

97. The method of claim 84, wherein the first gaming device is a game server maintained by a gaming software content provider and the second gaming device is a game server maintained by a gaming entity.

98. The method of claim 84, wherein the first gaming device is a game server maintained by a gaming software content provider and the second gaming device is a gaming machine maintained by a gaming entity.

99. The method of claim 84, wherein the transfer of gaming software is performed at least one of manually and electronically.
100. The method of claim 84, wherein the gaming software comprises one or more gaming software components.
101. The method of claim 84, wherein the gaming software is used to upgrade a gaming software component on to gaming machine.
102. The method of claim 84, wherein the gaming software is used to correct an error in a gaming software component on the gaming machine.
103. A software authorization agent for facilitating the transfer of gaming software between a plurality of gaming devices, the software authorization agent comprising: a network interface allowing the authorization agent to communicate with each of the plurality of gaming devices; and a processor configured at designed to (i) receive gaming software transfer requests via the network interface from a first gaming device for the transfer of gaming software from the first gaming device to a second gaming device (ii) approve or reject the gaming software transaction request; and iii) send an authorization message to the first gaming device wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to a second gamma device; wherein, the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming d) a player tracking service on a gaming machine and e) an operating system installed on a gaming machine.
104. The software authorization agent of claim 103, further comprising: a transaction database containing gaming software transaction information.
105. The software authorization agent of claim 104, wherein the gaming software transaction information is one or more of a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and a transaction completion time.
106. The software authorization agent of claim 105, further comprising a memory containing software allowing the processor to analyze the gaming software transaction information stored in the transaction database and generate gaming software distribution reports based upon the gaming software transaction information.
107. The software authorization agent of claim 105, further comprising: a memory containing software allowing the processor to analyze the gaming software transaction information stored in the transaction database and generate gaming software billing reports based upon the gaming software transaction information.
108. The software authorization agent of claim 103, further comprising: a database storing public encryption keys for one or more of the plurality of gaming devices.
109. The software authorization agent of claim 103, further comprising: a database storing identification information for one or more of the plurality of gaming devices.
110. The software authorization agent of claim 103, further comprising: a database storing identification information for the gaming software that is transferred from the second gaming device to the third gaming device.
111. The software authorization agent of claim 110, wherein the identification information for the gaming software is a digital signature, a title, a manufacturer, an identification number and combinations thereof.
112. The software authorization agent of claim 103, wherein the first gaming device is a hand-held computing device and the second gaming device is a gaming machine.
113. The software authorization agent of claim 103, wherein the first gaming device is a first gaming machine and the second gaming device is a second gaming machine.
114. The software authorization agent of claim 103, wherein the first gaming device is a first game server and the second gaming device is a second game server.
115. The software authorization agent of claim 103, wherein the first gaming device is a first game server and the second gaming device is a gaming machine.
116. The software authorization agent of claim 103, wherein the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game.
117. The software authorization agent of claim 103, wherein the software authorization agent, the first gaming device and, the second gaming device communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.
118. The software authorization agent of claim 103, wherein the software authorization agent the first gaming device and, the second gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.
119. The software authorization agent of claim 103, wherein the transfer of gaming software is performed at least one of manually and electronically.
120. The software authorization agent of claim 103, wherein the gaming software comprises one or more gaming software components.
121. The software authorization agent of claim 103, wherein the gaming software is used to upgrade a gaming software component on one of the gaming devices.
122. The software authorization agent of claim 103, wherein the gaming software is used to correct an error in a gaming software component on one of the gaming devices.
123. A first gaming device comprising: a network interface allowing communications between the first gaming device, a software authorization agent and one or more other gaming devices; and a processor configured or designed to (i) send a request for the transfer of gaming software from the first gaming device to a second gaming device via the network interface to the software authorization agent (ii) receive an authorization message from the software authorization agent wherein the authorization message includes information indicating whether the first gaming device is authorized to transfer the gaming software to the second gaming device and wherein the first gaming device and the second gaming device are separate from the software authorization agent: wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine, d) a player tracking service on a gaming machine and e) an operating system installed on a gaming machine.
124. The first gaming device of claim 123, further comprising: a memory device that stores gaming software.
125. The first gaming device of claim 123, further comprising: a master gaming controller that controls a game of chance played on the first gaming device.
126. The first gaming device of claim 123, further comprising: a memory device that stores public encryption keys for one or more of the plurality of gaming devices and the software authorization agent.
127. The first gaming device of claim 123, wherein the network interface is connected to at least one of a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof.
128. The first gaming device of claim 123, wherein the network interface provides at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.
129. The first gaming device of claim 123, wherein the first gaming device is a portable gaming device.
130. The first gaming device of claim 123, wherein the first gaming device is a first gaming machine and, the second gaming device is a second gaming machine.
131. The first gaming device of claim 123, wherein the first gaming device is a first game server and, the second gaming device is a second game server.
132. The first gaming device of claim 123, wherein the first gaming device is a first game server and, the second gaming device is a gaming machine.
133. The first gaming device of claim 123, wherein the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video blackjack game, a video lottery game, and a video pachinko game.
134. The first gaming device of claim 123, wherein the gaming software comprises one or more gaming software components.
135. The first gaming device of claim 123, wherein the gaming software is used to upgrade a gaming software component on one of the gaming devices.
136. The first gaming device of claim 123, wherein the gaming software is used to correct an error in a gaming software component on one of the gaming devices.

Description

BACKGROUND OF THE INVENTION

This invention relates to game playing services for gaming machines such as slot machines and video poker machines. More particularly, the present invention relates to providing methods of communication for game services such as licensing and accounting on gaming machines.

There are a wide variety of associated devices that can be connected to a gaming machine such as a slot machine or video poker machine. Some examples of these devices are lights, ticket printers, card readers, speakers, bill validators, ticket readers, coin acceptors, display panels, key pads, coin hoppers and button pads. Many of these devices are built into the gaming machine or components associated with the gaming machine such as a top box which usually sits on top of the gaming machine.

Typically, utilizing a master gaming controller, the gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, such as bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including key pads and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.

The operations described above may be carried out on the gaming machine when the gaming machine is operating as a "stand alone" unit or linked in a network of some type to a group of gaming machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a remote computer that provides one or more gaming services. As an example, gaming services that may be provided by a remote computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games.

Typically, network gaming services enhance the game playing capabilities of the gaming machine or provide some operational advantage in regards to maintaining the gaming machine. Thus, network gaming services provided to groups of gaming machines linked over a dedicated communication network of some type have become very popular in the gaming industry. In general, the dedicated communication network is not accessible to the public. To justify the costs associated with the infrastructure needed to provide network gaming services on a dedicated communication network, a certain critical number of gaming machines linked in a network of some type must utilize the service. Thus, many of the network gaming services are only provided at larger gaming establishments where a large number of gaming machines are deployed.

A progressive game network offering progressive game services is one example where a group of gaming machines are linked together using a dedicated network to provide a network gaming service. The progressive game services enabled by the progressive game network increase the game playing capabilities of a particular gaming machine by enabling a larger jackpot than would be possible if the gaming machine was operating in a "stand alone" mode. The potential size of the jackpot increases as the number gaming machines connected in the progressive network is increased. The size of the jackpot tends to increase game play on gaming machines offering a progressive jackpot which justifies the costs associated with installing and maintaining the dedicated progressive game network.

Within the gaming industry, a particular gaming entity may desire to provide network gaming services and track the performance of all the gaming machines under the control of the entity. The gaming machines under the control of a particular entity may be globally distributed in many different types of establishments. Casinos, convenience stores, supermarkets, bars and boats are a few examples of establishments where gaming machines may be placed.

FIG. 1 is a block diagram depicting gaming machines distributed in different establishments partially connected by a dedicated communication network for a typical gaming entity currently operating in the gaming industry. In FIG. 1, the gaming entity utilizes a central office 142. The gaming machines, 102, 104, 106, 114, 116, 136 and 138 for the gaming entity are located in two casinos, 110 and 122, and a store 140. A gaming entity may operate hundreds, thousands or ten of thousands of gaming machines. Since gaming is allowed in many locations throughout the world, the two casinos, 110 and 122, the central office 142 and the store may be distributed over a wide geographic area. For instance, the casino 110 may be located in Atlantic City, N.J., the casino 122 may be located in Australia, the central office may be located in Las Vegas, Nev. and the store may be located in Reno, Nev.

Within the casinos, the gaming machines may be connected to one or more database servers via one or more dedicated networks. The database servers are usually located in the backroom of the casino. For instance, in casino 110, gaming machines
102, 104 and 106 are connected to a database server 100 via a dedicated network 108. The dedicated network 108 may be used to send accounting information and player tracking information from the gaming machines to the database server 110. In casino
122, the gaming machines 114, 116, 118 may send accounting information and player tracking information to a database server using the dedicated network 120. Other dedicated networks (not shown) in casinos, 110 and 112, may provide such network gaming services as bonus game play, progressive game play and cashless ticketing.

In casinos 110 and 122, the database servers 100 and 112 may store and process accounting data from the gaming machines in communication with the database servers. For instance, an accounting report detailing the performance of individual and groups of gaming machines may be generated from the data stored on the database servers 100 and 112. In addition, accounting data or reports may be sent to the database server 124 in the central office 142 from each casino. These reports may contain game performance data collected from a number of gaming machines as well as hotel operations data. The data from the casinos may be sent to the central office using an expensive dedicated leased line 132 using a frame relay network.

The database server 124 may be used to generate reports summarizing the performance of all the gaming machines within the gaming entity (e.g. casino 110, casino 122 and store 140). The reports may be accessed locally using the local access points 126 and 128 via the local network. In addition, reports may be remotely accessed using a dial in number for a limited number of users. For instance, an executive travelling on the road might view gaming machine performance data from the remote access point 134 where the remote access point 134 may be a hotel room.

For the store 140, the gaming machines, 136 and 138 may be leased by the store operator. However, the cost of a dedicated communication network for a small number of gaming machines is usually not justified. Thus, the gaming machines operate in a "stand alone" mode. While operating in "stand alone" mode, network gaming services are not available to these gaming machines. To obtain performance data for the gaming machines, 136 and 138, a route operator may regularly extract performance data from the machines and manually transmit the information to the central office 142. A route may consist of a number gaming machines located in various locations such as bars, convenience stores and supermarkets. Usually, the route operator manually extracts performance data for all of the gaming machines located on their route. For a large route, this process may be both time consuming and costly.

Within the gaming industry, there is some desire to provide centralized network gaming services, centralized data access and centralized data acquisition to all of the gaming machines or a larger proportion of gaming machines within a gaming entity. For the casinos, 110 and 122, the gaming machines are connected via local dedicated networks that do not generally allow, for security reasons, the gaming machines to communicate with devices located outside of the casino. For instance, in FIG.
1, the database server 124 may not directly communicate with gaming machine 102 or gaming machine 114. Further, as described above, a dedicated network is usually not cost effective for smaller gaming establishments. Thus, with the communication infrastructure described in FIG. 1 which is representative of the communication infrastructure currently available in the gaming industry, the implementation of centralized network gaming services, such as centralized data acquisition may be difficult.

A current barrier to providing centralized network gaming services and centralized data acquisition for gaming machines diversely distributed throughout a gaming entity is the complexity and costs of the dedicated communication networks currently used in the gaming industry. The costs of installing and maintaining a dedicated communication network typically limit the application of dedicated networks to large establishments with a large number of gaming machines. Further, even in the larger establishments, the dedicated network are usually only implemented locally and centralized network gaming services (e.g. from a central office) are usually not provided. In view of the above, it would be desirable to provide gaming communication methods for gaming machines that reduce the complexity of the gaming network environment, reduce the costs associated with adding new network gaming services and simplify the data acquisition process for gaming machines widely distributed within a gaming entity.

Another desire within the gaming industry is to electronically download gaming software from one or more remote locations to a gaming machine. The capability to electronically download gaming software is desirable because it may enable gaming machines to be quickly reconfigured to account for changes in popularity of various games played on the gaming machines and it may simplify software maintenance issues on the gaming machine such as gaming software updates. Currently, in a time consuming process, gaming software is manually loaded onto each gaming machine by a technician. The software is manually loaded because the gaming software is usually very highly regulated and in most gaming jurisdictions only approved gaming software may be installed on a gaming machine. Further, the gaming software is manually loaded for security reasons to prevent the source code from being obtained by individuals which might use the source code to try to find ways of cheating the gaming machine. In view of the above, it would be desirable to provide gaming software downloading methods for gaming machines that allow gaming software to be transferred electronically to the gaming machines from a remote location in a secure manner that satisfies regulatory requirements of the gaming jurisdiction where the gaming machine is located.

SUMMARY OF THE INVENTION

This invention addresses the needs indicated above by providing gaming machines that may securely communicate with devices over a public network such as the Internet. The invention provides a combination of symmetric and asymmetric encryption that allows a single gaining machine to securely communicate with a remote server using a public network. The secure communication methods may be used to transfer gaming software and gaming information between two gaming devices such as between a gaming machine and a game server. For regulatory and tracking purposes, the transfer of gaming software between the two gaming devices may be authorized and monitored by a software authorization agent.

One aspect of the present invention describes a software authorization agent capable of generating a gaming software transaction record used to facilitate a transfer of gaming software between two gaming devices. The method may be generally characterized as comprising: 1) receiving a gaming software transaction request from a first gaming device; 2) authenticating an identity of the first gaming device 3) generating a gaming software transaction record comprising gaming software transaction information that is used to approve or reject the transfer of gaming software from a second gaming device to the first gaming device where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine.

In particular embodiments, the gaming software may comprise one or more gaming software components. The gaming software may be used to upgrade a gaming software component on the gaming machine or may be used to correct an error in a gaming software component on the gaming machine. The game of chance may be a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game. The gaming transaction information may be one or more of a transaction encryption key, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number, a gaming software identification number, a gaming software provider identifier, a transaction number, a number of allowable downloads and combinations thereof.

The first gaming device may be at least one of a gaming machine, game server and combinations thereof. The transfer of gaming software may be performed at least one of manually and electronically. The software authorization agent may communicate with the first gaming device using an local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof. Further, the software authorization agent and the first gaming device may communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

In other embodiments, the gaming software transaction request comprises access information and gaming software identification information. The access information may be one or more of operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and machine identification information for the second gaming device. The gaming software identification information may be one or more of a gaming software title, a gaming software provider identifier, a gaming software version number and a gaming software identification number.

In additional embodiments, the method may comprise one or more of the following: a) comparing access information in the gaming software transaction request with access information stored in a database and when the compared access information does not match the access information stored in the database, denying the gaming software transaction request b) comparing gaming software identification information in the gaming software transaction request with gaming software identification information stored in a database and when the gaming software identification information does not match the access information stored in the database, denying the gaming software transaction request, c) generating an identification sequence; encrypting the identification sequence with a public encryption key for the first gaming device wherein information encrypted with the public encryption key is decrypted with a private encryption key used by the first gaming device; sending the encrypted identification sequence to the first gaming device where the identification sequence may a symmetric encryption key used to encrypt gaming software transferred between the first gaming device and the second gaming device, d) receiving from the first gaming device a second identification sequence encrypted with a public encryption key used by the software authorization agent, decrypting the second identification sequence with a private encryption key corresponding to the public encryption key used by the software authorization agent; and comparing the second identification sequence to the identification sequence sent to the first gaming device to authenticate the identity of the first gaming device where the second identification sequence is a symmetric encryption key used to transfer gaming software between the first gaming device and the second gaming device, e) when the second identification sequence received from the first gaming device does not match the identification sequence sent to the first gaming device; denying the gaming software transaction request.

In yet other embodiments, the method may further comprise one or more of the following: i) storing the gaming transaction record information to a transaction database, ii) sending gaming software transaction information to the first gaming device where the gaming software transaction information is one or more of a one or more of a transaction encryption key, a public encryption key used by the second gaming device, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a destination machine identification number, a gaming software identification number, a gaming software provider identifier, a number of allowable downloads, a transaction number and combinations thereof, iii) sending a notification message to a gaming software provider identified in the gaming software request of a pending gaming software download request and iv) requesting a list of gaming software installed on a gaming device.

Another aspect of the present invention provides a method in a software authorization agent of regulating a transfer of gaming software between two gaming devices. The method may be generally characterized as comprising: 1) receiving a gaming software download request message with gaming software transaction information from a first gaming device; 2) validating the gaming software download request using the gaming software transaction information; 3) sending an authorization message to the first gaming device authorizing the first gaming device to transfer gaming software to a second gaming device; where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine. The game of chance may be a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game. The gaming transaction information is one or more of a transaction encryption key, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and combinations thereof.

In particular embodiments, the second gaming device may be at least one of a game server and a gaming machine. Further, the first gaming device may be a game server in communication with one or more gaming machines and the second gaming device may be a gaming machine. Also, the first gaming device may be a game server maintained by a gaming software provider and the second gaming device may be a game server in communication with one or more gaming machines. In addition, the first gaming device may be a game server maintained by a gaming software provider and the second gaming device may be a gaming machine. The software authorization agent, the first gaming device and the second gaming device communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof. The software authorization agent, the first gaming device and the second gaming device communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

The method may also comprise one or more of the following: a) comparing the gaming transaction information in the gaming software download request message with gaming transaction information stored in a transaction database to validate the gaming software download, b) sending a message to the first gaming device denying authorization for the first gaming device to transfer gaming software to the second gaming device, c) decrypting the download request message, d) receiving a first download acknowledgement message from the first gaming device and receiving a second download acknowledgement message from the second gaming device, e) comparing gaming software transaction information in the first download acknowledgement message with gaming software transaction information in the second download acknowledgement message to validate that the gaming software has been correctly transferred where the gaming software transaction information in the first download acknowledgement message includes at least a first digital signature determined for the gaming software and the gaming software transaction information in the second download acknowledgement message includes at least a second digital signature determined for the gaming software, f) receiving the gaming software from the first gaming device; validating the gaming software; and sending the gaming software to the second gaming device, g) determining a digital signature for the gaming software; and comparing the digital signature with an approved digital signature for the gaming software stored in a database to validate the gaming software, h) storing gaming software transaction information indicating that a status of the download request where the status is at least one of authorized, pending, completed and void and i) requesting a list of gaming software installed on a gaming device.

Another aspect of the present invention provides a method in a software authorization agent of distributing gaming software transaction information. The method may be generally characterized as comprising: 1) receiving a gaming software transaction information request from a gaming device; 2) authenticating an identity of the gaming device; 3) querying a gaming software transaction database for a set of gaming software transaction information requested by the gaming device where the gaming software transaction database comprises a plurality of records of gaming software transactions; and 4) sending the requested gaming software transaction information to the gaming device where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine.

In particular embodiments, each gaming software transaction record may includes gaming software transaction information that describes a transfer of gaming software from a first gaming device to a second gaming device. For instance, the gaming transaction information may be one or more of a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and a transaction completion time. The gaming software transaction database may also include a record of gaming software installed on one or more gaming devices.

The method may also comprise one or more of: a) generating a gaming transaction report that presents the set of gaming software transaction requested by the gaming device, b) generating a distribution of gaming software on a plurality of gaming machines at a specified time using the gaming software transaction information stored in the gaming software transaction database, c) generating a distribution of gaming software on a plurality of gaming machines for a plurality of times using the gaming software transaction information stored in the gaming software transaction database, d) generating a billing report and requesting a list of gaming software installed on the gaming device and e) storing the list of gaming software installed on the gaming device to the gaming software transaction database.

Another aspect of the present invention provides a method in a first gaming device of requesting a transfer of gaming software from a second gaming device. The method may be generally characterized as comprising: 1) generating a gaming software transaction request; 2) sending the gaming software transaction request to a gaming software authorization agent that approves or rejects the transfer of gaming software from the second gaming device; and 3) receiving gaming transaction information from the gaming software authorization agent that is used to transfer the gaming software from the second gaming device where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine.

In particular embodiments, the first gaming device may be a gaming machine and the second gaming device may be a game server. Also, the first gaming device may be a game server in communication with a plurality of gaming machines and the second gaming device may be a game server maintained by a gaming software content provider. The software authorization agent, the first gaming device and the second gaming device may communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof. Further, the software authorization agent, the first gaming device and the second gaming device may communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

In other embodiments, the transfer of gaming software may be performed at least one of manually and electronically. The gaming software may comprise one or more gaming software components. The gaming software may be used to upgrade a gaming software component on the gaming machine or may be used to correct an error in a gaming software component on the gaming machine.

The gaming software transaction information in the method may be one or more of a one or more of a transaction encryption key, a public encryption key used by the second gaming device, a transaction number, a time stamp, a transaction expiration time, a destination identifier, a destination machine identification number, a gaming software identification number, a gaming software provider identifier, a number of allowable downloads, a transaction number and combinations thereof. The gaming software transaction request may comprise access information and gaming software identification information. The access information may be one or more of operator identification information for the first gaming device, machine identification information for the first gaming device, operator identification information for the second gaming device and machine identification information for the second gaming device. The gaming software identification information may be one or more of a gaming software title, a gaming software provider identifier, a gaming software version number and a gaming software identification number.

The method may also comprise one or more of the following: a) sending authentication information used to identify the first gaming device to the gaming software authorization agent, b) sending a message requesting the gaming software to the second gaming device, c) receiving the gaming software from the second gaming device, d) determining a digital signature for the gaming software and sending a message with at least the digital signature to the gaming software authorization agent and e) authenticating an identity of the second gaming device.

Another aspect of the present invention provides a method in a first gaming device of transferring gaming software to a second gaming device. The method may be characterized as comprising: 1) receiving a gaming software transaction request; 2) sending the gaming software transaction request to a gaming software authorization agent that approves or rejects the transfer of gaming software; and 3) transferring the gaming software to the second gaming device; where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine.

In particular embodiments, the method may also comprise one or more of the following: i) receiving an approval of the gaming software transaction request from the gaming software authorization agent, ii) prior to transferring the gaming software, receiving a denial of the gaming software transaction request from the gaming software authorization agent; and terminating the transfer of the gaming software and iii) determining a digital signature for the gaming software and sending a message with at least the digital signature to the gaming software authorization agent.

In other embodiments, the first gaming device may be a gaming server and the second gaming device may be a gaming machine. Also, the first gaming device may be a gaming machine and the second gaming device may be a gaming machine. In addition, the first gaming device may be a game server maintained by a gaming software content provider and the second gaming device may be a game server maintained by a gaming entity. Further, the first gaming device may be a game server maintained by a gaming software content provider and the second gaming device may be a gaming machine maintained by a gaming entity. The software authorization agent, the first gaming device and the second gaming device may communicate with one another a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof. The software authorization agent, the first gaming device and the second gaming device may be communicate with another using at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

Another aspect of the present invention provides a software authorization agent for facilitating the transfer of gaming software between a plurality of gaming devices. The software authorization agent may be generally characterized as comprising: 1) a network interface allowing the authorization agent to communicate with each of the plurality of gaming devices; and 2) a processor configured or designed to (i) receive gaming software transfer requests via the network interface from a first gaming device for the transfer of gaming software from a second gaming device to a third gaming device (ii) approve or reject the gaming software transaction request wherein the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine. The game of chance may be a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game.

In particular embodiments, the software authorization agent may further comprise one or more of the following: a) a transaction database containing gaming software transaction information where the gaming software transaction information is one or more of a transaction number, a time stamp, a transaction expiration time, a destination identifier, a machine identification number for the first gaming device, a machine identification number for the second gaming device, a gaming software identification number, operator information for the first gaming device, operator information for the second gaming device, a transaction number and a transaction completion time, b) a memory containing software allowing the processor to analyze the gaming software transaction information stored in the transaction database and generate gaming software distribution reports based upon the gaming software transaction information, c) a memory containing software allowing the processor to analyze the gaming software transaction information stored in the transaction database and generate gaming software billing reports based upon the gaming software transaction information, d) a database storing public encryption keys for one or more of the plurality of gaming devices, e) a database storing identification information for one or more of the plurality of gaming devices and f) a database storing identification information for the gaming software that is transferred from the second gaming device to the third gaming device where the identification information for the gaming software is a digital signature, a title, a manufacturer, an identification number and combinations thereof.

In other embodiments, the first gaming device may be a hand-held computing device, the second gaming device may be a portable memory device storing the gaming software and the third gaming device may be a gaming machine. Also, the first gaming device may be a first gaming machine, the second gaming device may be a second gaming machine and the third gaming device may be the first gaming machine. In addition, the first gaming device may be a first game server, the second gaming device may be a second game server and the third gaming device may be a first gaming machine. Further, the first gaming device may be a first game server, the second gaming device may be a second game server and the third gaming device may be the first game server.

Another aspect of the present invention may provide a first gaming device. The first gaming device may be generally characterized as comprising: 1) a network interface allowing communications between the first gaming device, a software authorization agent and one or more other gaming devices; and 2) a processor configured or designed to (i) send a request for the transfer of gaming software from a second gaming device to a third gaming device via the network interface to the software authorization agent (ii) receive from the software authorization agent a reply approving or rejecting the request for the transfer of the gaming software where the gaming software is for at least one of a) a game of chance played on a gaming machine, b) a bonus game of chance played on a gaming machine, c) a device driver for a for a device installed on a gaming machine and d) a player tracking service on a gaming machine. The gaming software may comprise one or more gaming software components. The gaming software may be used to upgrade a gaming software component on one of the gaming devices and may be used to correct an error in a gaming software component on one of the gaming devices.

In particular embodiments, the first gaming device may further comprise one or more of the following: 1) a memory device that stores gaming software, 2) a master gaming controller that controls a game of chance played on the first gaming device where the game of chance is a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game and 3) a memory device that stores public encryption keys for one or more of the plurality of gaming devices and the software authorization agent. The network interface may be connected to at least one of a local area network, a wide area network, a private network, a virtual private network, the Internet and combinations thereof and the network interface may provide at least one of a satellite communication connection, a RF communication connection and an infrared communication connection.

In other embodiments, the first gaming device may be a portable gaming device. The first gaming device may be a first gaming machine, the second gaming device may be a second gaming machine and the third gaming device may be the first gaming machine. Alternatively, the first gaming device may be a first game server, the second gaming device may be a second game server and the third gaming device may be a first gaming machine. Further, the first gaming device may be a first game server, the second gaming device may be a second game server and the third gaming device may be the first game server.

Another aspect of the invention pertains to computer program products including a machine-readable medium on which is stored program instructions for implementing any of the methods described above. Any of the methods of this invention may be represented as program instructions and/or data structures, databases, etc. that can be provided on such computer readable media.

These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram depicting gaming machines distributed in different establishments partially connected by a dedicated communication network for a typical gaming entity currently operating in the gaming industry.

FIG. 2 is a perspective drawing of a gaming machine having a top box and other devices.

FIG. 3 is a block diagram depicting gaming machines distributed in different establishments connected using a secure virtual network.

FIG. 4 is an interaction diagram showing communications between a gaming machine, local server, local ISP and remote server over a public network.

FIG. 5A is a flow chart depicting a method of sending transaction data between a gaming machine and one or more remote servers.

FIG. 5B is a flow chart depicting a method of receiving transaction data between a gaming machine and one or more remote servers.

FIG. 6 is a flow chart depicting a method of obtaining a game license on a gaming machine.

FIG. 7 is a flow chart depicting a method of providing a game license to one or more gaming machines using a remote server.

FIG. 8 is a block diagram of gaming software distribution network that uses a secure virtual network.

FIG. 9 is a block diagram depicting software transactions in a gaming software distribution network controlled by a software authorization agent.

FIG. 10 is an interaction diagram between a gaming software distributor, gaming software provider and a software authorization agent depicting an initialization of a gaming software transaction.

FIG. 11 is an interaction diagram between a gaming software distributor, a gaming software provider and a software authorization agent depicting a gaming software transaction.

FIG. 12 is an interaction diagram between a gaming software distributor, a gaming machine and a software authorization agent depicting a gaming software transaction.

FIG. 13 is flow chart depicting a method in a software authorization agent initializing a gaming software transaction.

FIG. 14 is flow chart depicting a method in a software authorization agent of authorizing a gaming software transaction.

FIG. 15 is a block diagram of an interface used to provide information about gaming software transactions generated by a software authorization agent.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Turning first to FIG. 2, a video gaming machine 2 of the present invention is shown. Machine 2 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes a main door
8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. The information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, a game denomination (e.g. $0.25 or $1). The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the game machine 2. The devices are controlled by circuitry (e.g. the master gaming controller) housed inside the main cabinet 4 of the machine 2. Many possible games, including mechanical slot games, video slot games, video poker, video black jack, video pachinko and lottery, may be provided with gaming machines of this invention.

The gaming machine 2 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming machine 2, including speakers 10, 12, 14, a ticket printer 18 which prints bar-coded tickets 20, a key pad 22 for entering player tracking information, a florescent display 16 for displaying player tracking information, a card reader 24 for entering a magnetic striped card containing player tracking information, and a video display screen 42. The ticket printer 18 may be used to print tickets for a cashless ticketing system. Further, the top box 6 may house different or additional devices than shown in the FIGS. 1. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. As another example, the top box may contain a display for a progressive jackpot offered on the gaming machine. During a game, these devices are controlled and powered, in part, by circuitry (e.g. a master gaming controller) housed within the main cabinet 4 of the machine 2.

Understand that gaming machine 2 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. Further, some gaming machines have two or more game displays--mechanical and/or video. And, some gaming machines are designed for bar tables and have displays that face upwards. As another example, a game may be generated in on a host computer and may be displayed on a remote terminal or a remote gaming device. The remote gaming device may be connected to the host computer via a network of some type such as a local area network, a wide area network, an intranet or the Internet. The remote gaming device may be a portable gaming device such as but not limited to a cell phone, a personal digital assistant, and a wireless game player. Those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming machine now available or hereafter developed.

Returning to the example of FIG. 1, when a user wishes to play the gaming machine 2, he or she inserts cash through the coin acceptor 28 or bill validator 30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by the bill validator 30 as an indicia of credit when a cashless ticketing system is used. At the start of the game, the player may enter playing tracking information using the card reader 24, the keypad 22, and the florescent display 16. Further, other game preferences of the player playing the game may be read from a card inserted into the card reader. During the game, the player views game information using the video display 34. Other game and prize information may also be displayed in the video display screen 42 located in the top box.

During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game selected from a prize server, or make game decisions which affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device which enables a player to input information into the gaming machine. In some embodiments, the player may be able to access various game services such as concierge services and entertainment content services using the video display screen 34 and one more input devices.

During certain game events, the gaming machine 2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 2 or from lights behind the belly glass 40. After the player has completed a game, the player may receive game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18.

FIG. 3 is a block diagram depicting gaming machines distributed in different establishments connected using a secure virtual network. Using the secure virtual network, network gaming services, data acquisition and data access may be provided to a large number of gaming machines distributed throughout a gaming entity 350 from a central location such as the central office 142. These services may be provided to gaming machines that have traditionally operated in a "stand alone" mode such as gaming machine 336 and 138 in the store 140. In FIG. 3, some of the communication infrastructure necessary to implement a secure virtual network for one embodiment of the present invention are described.

In one embodiment, the secured virtual network may be an IP based Virtual Private Networks (VPNs). An Internet-based virtual private network (VPN) uses the open, distributed infrastructure of the Internet to transmit data between corporate sites. A VPN may emulate a private IP network over public or shared infrastructures. A VPN that supports only IP traffic is called an IP-VPN. Virtual Private Networks provide advantages to both the service provider and its customers. For its customers, a VPN can extend the IP capabilities of a corporate site to remote offices and/or users with intranet, extranet, and dial-up services. This connectivity may be achieved at a lower cost to the gaming entity with savings in capital equipment, operations, and services. Details of VPN methods that may be used with the present invention are described in the reference, "Virtual Private Networks-Technologies and Solutions," by R. Yueh and T. Strayer, Addison-Wesley, 2001, ISBN#0-201-70209-6, which is incorporated herein by reference and for all purposes.

There are many ways in which IP VPN services may be implemented, such as, for example, Virtual Leased Lines, Virtual Private Routed Networks, Virtual Private Dial Networks, Virtual Private LAN Segments, etc. Additionally VPNs may be implemented using a variety of protocols, such as, for example, IP Security (IPSec) Protocol, Layer 2 Tunneling Protocol, Multiprotocol Label Switching (MPLS) Protocol, etc. Details of these protocols including RFC reports may be found from the VPN Consortium an industry trade group (http://www.vpnc.com, VPNC, Santa Cruz, Calif.).

In FIG. 3, a number of embodiments of IP VPN services are implemented to allow connectivity between the various gaming machines and database servers in the gaming entity. For instance, the gaming machine 336 in the store 140 may directly communicate with the database server 124 in the central office 142 via the internet 304. The communication path between the gaming machine 336 and the database server 124 may be the local ISP 314, a number of routers on the Internet 304, a local ISP 313
accessed by the central office 142, the router 302 and the firewall 300. The firewall may be hardware, software or combinations of both that prevent illegal access of the gaming machine by an outside entity connected to the gaming machine. For instance, an illegal access may be an attempt to plant a program in the database server that alters the operation of the database server or allows someone to steal data. The internal firewall is designed to prevent someone such as a hacker from gaining illegal access to the gaming machine and tampering with it in some manner. Firewalls and routers used in FIG. 3 may be provided by CISCO Systems (San Jose, Calif.).

The network interface between the gaming machine 336 and the local ISP may be a wireline interface, such as a wired Ethernet connection, a wired ATM connection, or a wired frame relay connection, or a wireless interface, such as a wireless cellular interface. For instance, the gaming machine 336 may include a wireless modem and an antenna that allows the gaming machine to connect with the local ISP 314. As another example, the gaming machine may contain a dial-in modem, a DSL modem or a cable modem that allows that gaming machine 336 to connect with the local ISP 314 via a coaxial cable or phone line 337. The gaming machine 336 may also contain an internal firewall to prevent illegal access to the gaming machine. Other gaming machines, such as 338 and 340, located at various locations throughout the gaming entity 350 may also include the hardware described above and transmit information via a local ISP, such as 315 and 320, and the Internet 304, to a remote server such as the database server 124 in the central office 142.

Using the network interface, the gaming machine 336 may send game performance data, game usage information and gaming machine status information or any other information of interest generated on the gaming machine from one or more gaming transactions to the database server 124 located in the central office or some other remote server. Using this method, the need to manually gather data from the gaming machine using a route operator may be eliminated, which may reduce gaming machine operating costs and may provide better tracking of the performance of gaming machines, such as 336, that have traditionally operated in a "stand alone" mode.

For security purposes, any information transmitted from the gaming machine 336 over a public network to a remote server may be encrypted. The encryption may be performed by the master gaming controller or by another logic device located on the gaming machine. In one embodiment, the information from the gaming machine may be symmetrically encrypted using a symmetric encryption key where the symmetric encryption key is asymmetrically encrypted using a private key. The public key may be obtained by the gaming machine 336 from a remote public key server. The encryption algorithm may reside in processor logic stored on the gaming machine. When a remote server receives a message containing the encrypted data, the symmetric encryption key is decrypted with a private key residing on the remote server and the symmetrically encrypted information sent from the gaming machine is decrypted using the symmetric encryption key. In addition, a different symmetric encryption key is used for each transaction where the key is randomly generated. Symmetric encryption and decryption is applied to most of the information because symmetric encryption algorithms tend to be 100 10,000 faster than asymmetric encryption algorithms.

Information needed to apply the encryption algorithm such as private keys and public keys may be stored on a memory residing in the gaming machine 336 where the memory may be a flash memory, an EPROM, a non-volatile memory, a ROM, a RAM, a CD, a DVD, a tape drive, a hard drive or other memory storage device. Typically, the public keys are stored on a writeable media such as a hard drive while the private keys are stored on a read only memory such as an EPROM or a CD-ROM. The same or a different memory residing on the gaming machine 336 may also include information used to authenticate communications between the gaming machine 336 and a remote server, such as 124. For instance, a serial number or some other identification numbers may be used by the firewall 300 or the database server 124 to authenticate the sender of a message.

The encrypted communications from the gaming machine 336 to a remote server may be implemented using a TCP/IP communication protocol. Thus, the encrypted information from the gaming machine may be encapsulated in multiple information packets and sent to the IP address and/or an unique ID (UID) of a remote server. The gaming machine 336 may contain a memory storing a number of IP addresses and/or unique IDs (UIDs) of remote servers or other devices where the gaming machine may send information. Prior to sending a message, the gaming machine may look up the IP address and/or the UID of the remote server or destination device.

For each information packet, the gaming machine may generate one or more signatures and may append them to the information packet. The signature may allow the recipient of the packet to unambiguously identify the sender of the packet as well as to determine if the correct amount of data was received. For instance, the signature may include a checksum of the data that was sent. Further, the information packet may contain routing information allowing subsequent communication with the gaming machine, such as an IP address and/or an UID of the gaming machine. General details of these types of processes, such as TCP/IP implementation and data authentication, are described in the text "Mobile IP Unplugged" by J. Solomon, Prentice Hall and the text "Computer Networks", A. S. Tanenbaum, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.

Using the communication infrastructure and methods described above a gaming machine or other device connected to a remote server may request one or more gaming services from a remote server. For instance, a gaming machine may send a game license request to the remote server 124. A gaming machine may store code to play one or more games controlled by the master gaming controller such as a video slot game, a mechanical slot game, a lottery game, a video poker game, a video black jack game, a video lottery game, and a video pachinko game. Traditionally, installing a new game has involved manually exchanging (e.g., by hand) an EPROM (e.g. a read-only memory) containing the game on the gaming machine. Using the communication infrastructure described above, the gaming machine 336 may request a game license for one or more games stored in the gaming machine from a remote server acting as a game license server such as 124. The game license server may send a game license reply message containing a game license which allows the gaming machine to present the one or more games stored on the gaming machine. These game license requests may be performed prior to each game or the license may allow game play for some finite time period. For instance, the game license may be an annual license, a monthly license, a daily license, a per-use license or a site license. Details of the game license request and reply process between a gaming machine and a remote server are described with reference to FIGS. 6 and 7.

In another example, the gaming machine 336 may send a maintenance request message to a remote server when the gaming machine malfunctions. After receiving the maintenance request message, the remote server may perform one or more remote diagnostics on the gaming machine 336 via one or more diagnostic request messages. The remote diagnostics may include both software and hardware diagnostics. In addition, the remote server may develop service priority list based upon a plurality of maintenance requests received from a group of gaming machines in communication with the remote server. In yet another example, a remote server may obtain software version information or gaming configuration information, from gaming machine 336, by sending a software version request message or a gaming configuration request message to the machine. Information contained in these messages may be used to provide software updates and gaming configuration updates to the gaming machine 336.

In a further example, the gaming machine 336 may generate a digital signature or some other type of unique identification information and may send a digital signature verification request or an identification verification request to a remote server. The verification request may be part of an electronic fund transfer. After receiving authorization from the remote server in an authorization reply, the gaming machine 336 may send a fund transfer request with fund transfer information to the remote server and may receive a fund transfer reply authorizing the gaming transaction.

A remote server may also provide performance reports or other services for the gaming machine 336. For instance, the gaming machine 336 may send a report request message to the remote server 124 requesting a performance report for the gaming machine over some prior time period. After remote server generates the report, it may be sent back to the gaming machine 336 or some other access point for display. For instance, the report may be displayed on a display screen of the gaming machine
336, a computer 316 located in the store 140 or on a portable network access point 134 located outside of the store.

An advantage of the virtual network described above is that it allows gaming services such as data acquisition, game licensing and report generation to be provided a single gaming machine without the use of a dedicated network which are typically expensive. This advantage may potentially increase the utility of a gaming machine while reducing the costs associated with operating and maintaining a machine. In particular, for gaming establishments with a small number of gaming machines operating in a "stand alone" mode, a virtual network may be the only viable way to provide cost effective gaming services via a network. The virtual network is enabled by an encryption scheme which utilizes multiple key encryption and symmetric encryption keys to provide secure communication of sensitive gaming data. For each session, the symmetric encryption keys may be randomly generated or may be rotated by selecting from a pool of keys.

The methods described above may be applied and may be advantageous to any gaming machine in the gaming entity 350. Also, many different embodiments of the methods are possible. For instance, using a wireless network interface, gaming machine
338 in Casino 110 may send game license requests or other requests to the database server via the router 308, the dedicated line 322, router 302 and the firewall 300. As another example, using a wireline network interface, such as a wired Ethernet connection, a wired ATM connection or a wired frame relay connection, gaming machine 340 in casino 122 may send may send a gaming report request to the database server 100 in casino 110 via the database server 112, the firewall 310, the router 312, the local ISP 320, the internet 304, the local ISP 315, the router 308 and the firewall 306. When a dedicated communication network is used, encryption may be optional over the dedicated network, e.g. if a dedicated network was used between the gaming machine 340 and the database server 112, the gaming machine 340 may not use encryption to send information to the database server 112. However, the database server would apply an encryption scheme such as the one described above before sending out information over a public network. Returning to the example, the database server 100 may serve as a regional report server. After generating a gaming report reply message to the gaming report request message from gaming machine 340, the database server
100 may send a message to the database server 124 in the central office 142 acknowledging that a report was generated.

The virtual network may also allow remote access to gaming information such as gaming performance information at various gaming establishments in the gaming entity from mobile access points. For example, the remote access point 134 may be a portable computer with a wireless modem. Typically, the remote access point 134 will have a high level of security such as special access software. Using the remote access point 134, a user such as a travelling employee of the game entity may access gaming information at casino 110 or casino 122 via the local ISP 314. The access may be routed through the central office 142 or may be routed directly to one of the casinos bypassing the central office. In addition, different access privileges may be accorded to different remote users. For instance, one remote user may be able to access information from any establishment in the gaming entity while another may only be able to access information from a particular establishment.

FIG. 4 is an interaction diagram showing communications between a gaming machine, local server, local ISP and remote server over a public network. The diagram provides some details of a communication process between a gaming machine 340 in casino 122 and the database server 122 in the central office 142 as described with reference to FIG. 3 for one embodiment of the present invention. In 400, the gaming machine 340 may perform a gaming transaction such as a coin-in, initiating a game play or a coin-out. In 402, the gaming machine 340 symmetrically encrypts gaming transaction data from one or more gaming transactions using a symmetric encryption key. In 404, the symmetric encryption key may be encrypted using an asymmetric encryption key such as public key in a public-private encryption scheme which may only be decrypted using a matching private key at the message destination. For each gaming transaction, a symmetric encryption key is selected from a pool of symmetric encryption keys or randomly generated. Thus, the symmetric encryption key varies from gaming transaction to gaming transaction. When a dedicated or private communication network is used and extra security is desired, the symmetric key may also be asymmetrically encrypted with an asymmetric encryption key which is non-public. In 406, a message may be generated and the encrypted data and key may be sent to a local server 112.

As previously described with reference to FIG. 3, the encrypted information may be encapsulated in multiple information packets using a TCP/IP communication protocol. In addition other communication protocols such as a frame relay communication protocol, an ATM communication protocol or combination of protocols may also be utilized. Prior to sending the data, the gaming machine may look up the IP address and/or the UID of the remote server which may be stored in a memory on the gaming machine. When a dedicated communication network is used between the gaming machine and the remote server, such as local server 112, the encryption process performed by the gaming machine may be optional. Prior to sending the message, the gaming machine 340 may generate one or more signatures that allow the receiver of the message to authenticate the sender of the message as well as the accuracy of the data contained in the message. These signatures may be appended to the message or incorporated in the message in some manner.

In one embodiment, the gaming machine 340 may by-pass the local server and may send a message to the remote server 124 via the local ISP 320. In some embodiments, a local server may not be available to the gaming machine, such as gaming machine
336 in the store 140 in FIG. 3. In 438, when communications are not established between the local ISP 320 and the gaming machine 340, the gaming machine may contact the local ISP 320 using a network interface and establish communications with the local ISP 320. In 440, the gaming machine 340 may send a message with the encrypted gaming transaction data and the encrypted symmetric key to the IP address and/or the UID of the remote server 124 via the local ISP 320.

In 408, the local server 112 receives a message from the