U.S. patent application number 11/458469 was filed with the patent office on 2007-01-25 for watermarking downloadable game content in a gaming system.
Invention is credited to Steven Mark Campbell, Mark B. Gagner, Chad A. Ryan.
Application Number | 20070021196 11/458469 |
Document ID | / |
Family ID | 37679758 |
Filed Date | 2007-01-25 |
United States Patent
Application |
20070021196 |
Kind Code |
A1 |
Campbell; Steven Mark ; et
al. |
January 25, 2007 |
WATERMARKING DOWNLOADABLE GAME CONTENT IN A GAMING SYSTEM
Abstract
Systems and methods embed watermark data into downloadable
software components. The watermarks may be used to indicate who
created or who owns the software components. In addition, a
watermark may be inserted to indicate certain transactions have
taken place with respect to the software component. For example, a
transactional watermark may be embedded when a software component
is downloaded from one system to another. The downloadable software
components may include banner content, advertising content,
denomination data, pay table, language data, video content, audio
content, episodic game data, wagering game software, operating
system software, device driver software and device firmware.
Inventors: |
Campbell; Steven Mark; (Las
Vegas, NV) ; Ryan; Chad A.; (Henderson, NV) ;
Gagner; Mark B.; (West Chicago, IL) |
Correspondence
Address: |
SCHWEGMAN, LUNDBERG, WOESSNER & KLUTH, P.A.
P.O. BOX 2938
MINNEAPOLIS
MN
55402
US
|
Family ID: |
37679758 |
Appl. No.: |
11/458469 |
Filed: |
July 19, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60700582 |
Jul 19, 2005 |
|
|
|
Current U.S.
Class: |
463/29 |
Current CPC
Class: |
G07F 17/323 20130101;
G07F 17/32 20130101; G07F 17/3241 20130101 |
Class at
Publication: |
463/029 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Goverment Interests
LIMITED COPYRIGHT WAIVER
[0002] A portion of the disclosure of this patent document contains
material to which the claim of copyright protection is made. The
copyright owner has no objection to the facsimile reproduction by
any person of the patent document or the patent disclosure, as it
appears in the U.S. Patent and Trademark Office file or records,
but reserves all other rights whatsoever. Copyright 2005, 2006, WMS
Gaming, Inc.
Claims
1. A method comprising: providing a network communicably coupling a
plurality of gaming systems, the gaming systems including a
wagering game machine operable to present a wagering game on which
monetary value may be wagered; inserting a first watermark into a
software component; and downloading the software component to a
first gaming system.
2. The method of claim 1, wherein the first watermark includes a
creator identification.
3. The method of claim 1, wherein the first watermark includes an
owner identification.
4. The method of claim 1, wherein the first watermark includes
transaction data.
5. The method of claim 1, further comprising inserting a second
watermark into the software component.
6. The method of claim 5, wherein the second watermark includes
transaction data.
7. The method of claim 6, further comprising downloading the
software component to a second wagering game machine.
8. A method comprising: providing a network communicably coupling a
plurality of gaming systems, the gaming systems including a
wagering game machine operable to present a wagering game on which
monetary value may be wagered; reading a downloadable software
component for a gaming system of the plurality of gaming systems;
extracting watermark data from the downloadable software component;
and determining an attribute of the downloadable software component
using the watermark data.
9. The method of claim 8, wherein the attribute comprises ownership
data for the downloadable software component.
10. The method of claim 8, wherein the attribute comprises
transaction data for the downloadable software component.
11. The method of claim 10, wherein the transaction data includes
identification data identifying one or more systems in a download
path.
12. The method of claim 10, wherein the transaction data includes a
result of a wagering game executed on the gaming system.
13. The method of claim 8, further comprising determining if the
downloadable software component is valid utilizing the
attribute.
14. A system comprising: a first gaming system operable to store a
downloadable software component; a first watermarking component
executable by the first gaming system and operable to insert a
first watermark into the downloadable software component; and a
second gaming system operable to receive the downloadable software
component having the first watermark.
15. The system of claim 14, wherein the first watermark includes an
owner identification.
16. The system of claim 14, wherein the second gaming system
comprises a wagering game machine operable to present the
downloadable gaming software component.
17. The system of claim 14, further comprising: a second
watermarking component executable by the second gaming system and
operable to insert a second watermark into the downloadable
software component having the first watermark; and a third gaming
system operable to receive the downloadable software component
having the first watermark and the second watermark.
18. The system of claim 17, wherein the second watermark includes
transaction data.
19. A machine-readable media having machine executable instructions
for performing a method, the method comprising: providing a network
communicably coupling a plurality of gaming systems, the gaming
systems including a wagering game machine operable to present a
wagering game on which monetary value may be wagered; inserting a
first watermark into a software component; and downloading the
software component to a first gaming system.
20. A machine-readable having machine executable instructions for
performing a method, the method comprising: providing a network
communicably coupling a plurality of gaming systems, the gaming
systems including a wagering game machine operable to present a
wagering game on which monetary value may be wagered; reading a
downloadable software component for a gaming system of the
plurality of gaming systems; extracting watermark data from the
downloadable software component; and determining an attribute of
the downloadable software component using the watermark data.
Description
RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. 119(e) from
U.S. Provisional Application Ser. No. 60/700,582 filed Jul. 19,
2005, which application is incorporated herein by reference.
BACKGROUND
[0003] Wagering game machines may be operated as a stand alone
unit, or linked in a network of some type to a group of wagering
game machines. As technology in the gaming industry progresses,
more and more gaming services are being provided to wagering game
machines via communication networks that link groups of wagering
game machines to a remote central server computer that provides one
or more gaming services. As an example, gaming services that may be
provided by the remote computer to a wagering game machine via a
communication network of some type include player tracking,
accounting, cashless award ticketing, lottery, progressive games
and bonus games. In addition, wagering game machines are evolving
into gaming platforms where the gaming services and game play
options provided on the wagering game machines may be dynamically
configured. Thus, the number and type of game services and game
play options offered on a particular wagering game machine may vary
with time.
[0004] A gaming entity may operate hundreds, thousands or ten of
thousands of wagering game machines. Since gaming is allowed in
many locations throughout the world, casinos may have games
distributed over a wide geographic area. Within casinos, the
wagering game machines may be connected via one or more dedicated
networks. Servers are usually located in a backroom of the casino
away from the casino floor.
[0005] Current techniques for initially loading, modifying or
replacing game software in wagering game machines are generally
inconvenient, time-consuming, and expensive. In one technique, the
entire wagering game machine is disconnected from the central
server and replaced with a new machine. This involves the shipment
of machines to and from a gaming establishment and requires the
services of an appreciable number of skilled and semi-skilled
service personnel. The service personnel must identify the machines
to be replaced, locate the machines on the gaming establishment
floor, and then replace the existing machines with the new
machines. In another technique, the media containing the software
is replaced with new media containing the new software. Again, the
service personnel must identify the machines to receive the new
software media, locate the machines on the gaming establishment
floor, and then replace the existing media with the new media. In
this case, media may be a hard disk, flash, various non-volatile
media such as EEPROM, EPROM, etc.
[0006] In yet another technique, the new software can be downloaded
to the wagering game machine from the central server linked to the
wagering game machine. This downloading technique facilitates
modifications to the game software in that it does not require
removal of the wagering game machine and does not require service
personnel to visit the wagering game machine site or the wagering
game machine itself.
[0007] While providing software in a downloadable form may be
convenient for gaming establishment operators, providing the
ability to download game content can create several issues. For
example, software that is in a format that is convenient to
download to authorized machines may also be easily downloaded or
otherwise transported to unauthorized machines. Similarly, it may
be possible for unauthorized downloadable game content to be
introduced onto a gaming system. Additionally, it may be difficult
to determine a source or sources for software that has been
downloaded.
SUMMARY
[0008] Systems and methods embed watermark data into downloadable
software components. A first aspect of the systems and methods
includes embedding watermarks that may be used to indicate who
created or who owns the software components.
[0009] A further aspect of the systems and methods includes
inserting a watermark to indicate certain transactions have taken
place with respect to the software component. For example, a
transactional watermark may be embedded when a software component
is downloaded from one system to another.
[0010] A still further aspect of the systems and methods includes
extracting watermark data from a downloadable software component to
determine an attribute of the component.
[0011] The downloadable software components may include banner
content, advertising content, denomination data, pay table,
language data, video content, audio content, episodic game data,
wagering game software, operating system software, device driver
software and device firmware.
[0012] The present invention describes systems, methods, and
computer-readable media of varying scope. In addition to the
aspects and advantages of the present invention described in this
summary, further aspects and advantages of the invention will
become apparent by reference to the drawings and by reading the
detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a perspective view of a wagering game machine
according to an example embodiment.
[0014] FIG. 2 is a block diagram of processing components of a
wagering game machine according to an example embodiment.
[0015] FIG. 3 is a block diagram of major software components of a
wagering game machine according to an example embodiment.
[0016] FIG. 4 is a block diagram of networks of wagering game
machines and gaming systems according to various embodiments of the
invention.
[0017] FIG. 5 is a block diagram describing various types of
watermarks that may be included in a downloadable software
component.
[0018] FIG. 6 is a flowchart illustrating methods for inserting a
watermark into a downloadable software component.
[0019] FIG. 7 is a flowchart illustrating methods for extracting
and using watermark data from a downloadable software
component.
DETAILED DESCRIPTION
[0020] In the following detailed description of exemplary
embodiments of the invention, reference is made to the accompanying
drawings which form a part hereof, and in which is shown by way of
illustration specific exemplary embodiments in which the invention
may be practiced. These embodiments are described in sufficient
detail to enable those skilled in the art to practice the
invention, and it is to be understood that other embodiments may be
utilized and that logical, mechanical, electrical and other changes
may be made without departing from the scope of the present
invention.
[0021] Some portions of the detailed descriptions which follow are
presented in terms of algorithms and symbolic representations of
operations on data bits within a computer memory. These algorithmic
descriptions and representations are the ways used by those skilled
in the data processing arts to most effectively convey the
substance of their work to others skilled in the art. An algorithm
is here, and generally, conceived to be a self-consistent sequence
of steps leading to a desired result. The steps are those requiring
physical manipulations of physical quantities. Usually, though not
necessarily, these quantities take the form of electrical or
magnetic signals capable of being stored, transferred, combined,
compared, and otherwise manipulated. It has proven convenient at
times, principally for reasons of common usage, to refer to these
signals as bits, values, elements, symbols, characters, terms,
numbers, or the like. It should be borne in mind, however, that all
of these and similar terms are to be associated with the
appropriate physical quantities and are merely convenient labels
applied to these quantities. Unless specifically stated otherwise
as apparent from the following discussions, terms such as
"processing" or "computing" or "calculating" or "determining" or
"displaying" or the like, refer to the action and processes of a
computer system, or similar computing device, that manipulates and
transforms data represented as physical (e.g., electronic)
quantities within the computer system's registers and memories into
other data similarly represented as physical quantities within the
computer system memories or registers or other such information
storage, transmission or display devices.
[0022] In the Figures, the same reference number is used throughout
to refer to an identical component which appears in multiple
Figures. Signals and connections may be referred to by the same
reference number or label, and the actual meaning will be clear
from its use in the context of the description.
[0023] The description of the various embodiments is to be
construed as exemplary only and does not describe every possible
instance of the invention. Numerous alternatives could be
implemented, using combinations of current or future technologies,
which would still fall within the scope of the claims. The
following detailed description is, therefore, not to be taken in a
limiting sense, and the scope of the present invention is defined
only by the appended claims.
[0024] FIG. 1 illustrates an example wagering game machine 100 in
which may be included various embodiments of the invention. In some
embodiments, wagering game machine 100 is operable to conduct a
wagering game on which monetary value may be wagered. These
wagering games may include reel based wagering games such as
mechanical or video slots, card based games such as video poker, or
other types of wagering games such as video keno, video bingo or a
video dice game. If based in video, the wagering game machine 100
includes a video display 112 such as a cathode ray tube (CRT),
liquid crystal display (LCD), plasma, or other type of video
display known in the art. In the illustrated embodiment, the
wagering game machine 100 is an "upright" version in which the
display 112 is oriented vertically relative to a player.
Alternatively, the wagering game machine may be a "slant-top"
version in which the display 112 is slanted at about a
thirty-degree angle toward the player. Further, the wagering game
machine may be a "bar-top" version in which the display is mounted
horizontally in a bar top or table top. Still further, the wagering
game machine may be housed in a wall mounted or other vertically
mounted cabinet. Additionally, in some embodiments, the wagering
game machine may be a portable wagering game machine, such as a
handheld wagering game machine.
[0025] The wagering game machine 100 includes a plurality of
possible credit receiving mechanisms 114 for receiving credits to
be used for placing wagers in the game. The credit receiving
mechanisms 114 may, for example, include a coin acceptor, a bill
acceptor, a ticket reader, and a card reader. The bill acceptor and
the ticket reader may be combined into a single unit. The card
reader may, for example, accept magnetic cards and smart (chip)
cards coded with money or designating an account containing
money.
[0026] In some embodiments, the wagering game machine 100 includes
a user interface comprising a plurality of push-buttons 116, and
other possible devices. The plurality of push-buttons 116 may, for
example, include one or more "bet" buttons for wagering, a "play"
button for commencing play, a "collect" button for cashing out, a
help" button for viewing a help screen, a "pay table" button for
viewing the pay table(s), and a "call attendant" button for calling
an attendant. Additional game specific buttons may be provided to
facilitate play of the specific game executed on the machine. A
touch screen overlaying video display 112 may define touch keys for
implementing many of the same functions as the push-buttons.
Additionally, in the case of video poker, the touch screen may
implement a card identification function to indicate which cards a
player desires to keep for the next round. Other possible user
interface devices include a keyboard and a pointing device such as
a mouse or trackball.
[0027] In some embodiments, wagering game machine 100 includes a
top box 140. Top box 140 may contain a video display, a mechanical
display, or a diorama display that supplements display 112. For
example, the display in top box 140 may be a wheel such as a
rotating wheel, mechanical dice, a board for a board game, or other
such display.
[0028] A processor controls operation of the wagering game machine
100. In response to receiving a wager and a command to initiate
play, the processor randomly selects a game outcome from a
plurality of possible outcomes and causes the display 112 to depict
indicia representative of the selected game outcome. In the case of
slots for example mechanical or simulated slot reels are rotated
and stopped to place symbols on the reels in visual association
with one or more pay lines. If the selected outcome is one of the
winning outcomes defined by a pay table, the CPU awards the player
with a number of credits associated with the winning outcome.
[0029] In some embodiments, wagering game machine 100 may include
signage 120. Signage 120 may be a display device capable of
displaying advertising, gaming information (e.g. type of game,
denomination of game etc.) or other information to a player or
potential player.
[0030] FIG. 2 is a block diagram of a control system 200 suitable
for operating the wagering game machine 100. Money/credit detector
114 signals a processor 220 when a player has inserted money,
tickets, tokens, cards or other mechanism for obtaining credits for
plays on the wagering game machine through credit mechanisms 114.
Using a button panel 116 and/or a touch screen 118, the player may
select any variables associated with the wagering game and place
his/her wager to purchase a play of the game. In a play of the
game, the processor 220 generates at least one random event using a
random number generator (RNG) and provides an award to the player
for a winning outcome of the random event. Alternatively, the
random event may be generated by a remote computer using an RNG or
pooling schema and then transmitted to the wagering game machine.
The processor 220 operates the display 112 to represent the random
event(s) and outcome(s) in a visual form that can be understood by
the player. In addition to the processor 220, the control system
may include one or more additional slave control units for
operating the display 112 and any secondary displays.
[0031] System memory 224 stores control software, operational
instructions and data associated with the wagering game machine. In
some embodiments, the system memory 224 comprises a separate
read-only memory (ROM) and battery-backed random-access memory
(RAM). However, it will be appreciated that the system memory 224
may be implemented on any of several alternative types of memory
structures or may be implemented on a single memory structure. For
example, memory 224 may comprise multiple banks of memory,
including RAM, compact flash, hard drives, CD-ROM drives, DVD-ROM
drives and combinations thereof.
[0032] A payoff mechanism 226 is operable in response to
instructions from the processor 220 to award a payoff to the
player. The payoff may, for example, be in the form of a number of
credits. The number of credits is determined by one or more math
tables stored in the system memory 224. As noted above with respect
to FIG. 1, the payoff mechanism may be a coin hopper, a ticket
printer, a magnetic card writer, or a database update mechanism
that updates a database maintaining account information.
[0033] Network interface 228 operates to communicably couple system
200 in wagering game machine 100 to a network. The network may be
any type of wired or wireless network and the network interface 228
may vary based on the type of network. In some embodiments, the
network comprises a gaming establishment network such as a LAN
(local area network). In alternative embodiments, the network may
be an intranet linking multiple networks, for example, the networks
of a gaming enterprise that operates multiple gaming
establishments. In further alternative embodiments, the network may
comprise the Internet.
[0034] FIG. 3 illustrates various software executable and data
components 300 that may operate or be stored on a wagering game
machine 100. Some or all of the various components may be
downloadable to the wagering game machine 100. These components may
comprise configuration elements for the wagering game machine. In
some embodiments, these components include wagering game
application 302, game content and data 304-320, operating system
340, device driver 342 and device firmware 350.
[0035] Operating system 340 controls the execution of tasks,
processes and applications (e.g. wagering game application 302)
running on a wagering game machine, and provides interfaces between
applications and the hardware present on a wagering game machine.
The operating system may be proprietary to the wagering game
machine manufacturer or owner, or the operating system may be
provided by a third party. Examples of operating systems that may
run within the wagering game machine environment include the
Microsoft Windows family of operating systems, variants of the UNIX
operating system, Linux, and real-time operating systems such as
VRTX and QNX. The embodiments are not limited to any particular
operating system.
[0036] Device driver 342 provides a software interface to hardware
that may be present on a wagering game machine and software that
desires to utilize such hardware, such as a wagering game
application 302. Typically a device driver is a software component
that is added to the operating system software, and must be
designed to provide interfaces expected by the operating system. A
different device driver 342 typically exists for each type of
hardware present on a wagering game machine. For example, a ticket
printer may have a device driver, a credit acceptor may have a
different device driver etc.
[0037] Device firmware 350 comprises software that may be
downloaded onto a persistent memory resident on a device that may
be a component of wagering game machine 100. For example, a ticket
printer may include an embedded processor that executes software or
reads data from firmware on a flash memory resident on the ticket
printer. Other devices that are part of wagering game machine 100
may also have firmware to control the operation and interface to
the device.
[0038] Wagering game application 302 comprises software that
controls the execution of a wagering game on wagering game machine
100. For example, the wagering game application may provide a slot
machine application (video or mechanical), keno, card based
wagering games (e.g. poker), dice based wagering games or other
types of wagering games. The embodiments are not limited to a
particular wagering game application.
[0039] Wagering game 302 may include one or more data or executable
components. These components include denomination data 310, pay
table 312, language data 314, video content 316, audio content 318,
episode data 320, and configuration data 322. Denomination data 310
includes data that determines the denomination or denominations
that the wagering game machine uses to determine the amount of a
wager. For example, a wagering game machine may accept payment for
credits in units of $0.25, $0.50, $1.00, $5.00 or other amounts. In
addition, denomination data 310 also determines the currency for
the wagered amount. For example, the currency may be United States
dollars, French francs, Euros or other currency.
[0040] Pay table 312 may be used to determine which outcomes are
winning outcomes and the amount to be credited or paid out for the
various winning outcomes. Pay table 312 may be a single table in
some embodiments. In alternative embodiments, multiple pay tables
may be present on a wagering game machine and vary depending on
which game or game version is currently in use.
[0041] Language data 314 comprises one or more data sets or files
that contain text to be displayed on the wagering game machine. The
use of language data 314 allows a wagering game application to
display text in languages commonly used in the location where the
wagering game machine is used without requiring customization of
the wagering game application.
[0042] Video content 316 comprises video data that may be displayed
by a wagering game application during the course of wagering game
play or in an attract mode of the wagering game machine. For
example, video content may comprise video clips that are displayed
to the user during game play, during a bonus round, or while the
wagering game machine is in attract mode.
[0043] Audio content 318 comprises audio data that may be played by
the wagering game application during the course of wagering game
play, bonus round play, or in an attract mode of the wagering game
machine. In some embodiments, the audio content may be part of an
audio program played on multiple wagering game machines to produce
a surround-sound effect.
[0044] In some embodiments, a portion of video content 316 or audio
content 318 may be provided by a gaming establishment and played
during game play or in attract mode. This allows the gaming
establishment to tailor a wagering game machine for their
environment. For example, the gaming establishment may desire to
provide video or audio content having a theme that is consistent
with a theme within the gaming establishment as a whole.
[0045] Episode data 320 provides configuration data regarding
episodes for a game. In some embodiments, the wagering game may be
presented to the user in episodes. For example, bonus rounds may
vary depending on the episode, or symbols and characters displayed
during game play or game play rules may vary with each episode.
Additionally, in some embodiments, some or all of video content 316
and audio content 318 may vary depending on the current episode.
Episode data 320 may be used to determine which episode is
currently presented to the user.
[0046] Configuration data 322 represents other types of
configuration data related to the operation of a wagering game
machine or a group of wagering game machines. Examples of such data
include the uses for buttons present on the wagering game
machine.
[0047] In addition to wagering game application related
configuration elements, a wagering game machine may have other
types of configuration components. In some embodiments, these
components include security data 304, banner content 306 and
advertising content 308. Security data 304 may be any type of
security data related to the operation of a wagering game machine
or group of wagering game machines. In some embodiments, the
security data comprises user identification and/or password data.
In alternative embodiments, the security data may comprise public
key/private key encryption data. In further alternative
embodiments, the security data may comprise key ring data for a
group of keys. In still further embodiments, the security data may
comprise biometric data. Additionally, the security data may
comprise authentication and/or authorization data.
[0048] Banner content 306 comprises content intended to be
displayed on a secondary display or overhead sign for a wagering
game machine. The banner content may be displayed on a single
wagering game machine, or it may be content designed to be
displayed as part of the content for multiple wagering game
machines. For example, the content may be displayed in a manner
such that the content appears to travel from one machine to the
next. Alternatively, the content may be one portion of a message
that is displayed across multiple wagering game machines.
[0049] Advertising content 308 comprises advertising video, audio,
or text data that may be played or displayed on a wagering game
machine.
[0050] Various combinations of the above-described configuration
elements may be downloaded onto a wagering game machine. It should
be noted that no embodiment requires that all of the
above-described configuration elements be downloadable, rather
varying embodiments will provide for the download of varying
combinations of one or more of the above-described configuration
elements.
[0051] Further, the above described configuration elements may be
downloaded at different times. For example, it may be desirable to
download wagering game applications components, operating system
components, device driver components and the like when the machine
is idle (i.e. not in use). However, other configuration elements
such as episode data, banner content and advertising content may be
downloaded at any time, including during wagering game play.
[0052] Additionally, some or all of the above-described
configuration elements may have different versions. For example,
the operating system 340, device driver 342, device firmware 350,
or wagering game application 302 may exist in differing versions,
with each version having differing combinations of features and/or
updates to fix problems with previous versions. Typically a version
will have a version identifier associated with it to indicate the
software version for the configuration element.
[0053] FIG. 4 is a block diagram illustrating various components of
a system 400 including networks of wagering game machines and other
gaming systems according to embodiments of the invention. In some
embodiments, system 400 includes one or more wagering game machines
100 communicably coupled to an operator host system 424 via a
network 422. Network 422 may be a wired or wireless network, or a
combination of wired and wireless networks. In some embodiments,
network 422 is a gaming establishment local area network. In
alternative embodiments, network 422 may be a network that links
multiple gaming establishments or facilities. In further
alternative embodiments, network 422 may include the Internet. The
wagering game machines 100 and operator host system 424
communicably coupled via network 422 are included in a network
domain 420. In general, domain 420 includes any machine
communicably coupled to other machines in a casino-wide or
corporate-wide network 422 that are controlled and administered by
a gaming establishment or corporation.
[0054] Operator host system 424 may be used to store downloadable
gaming components for downloading onto one or more wagering game
machines 100. As an example, operator host system 424 may be a
server system maintained on behalf of a gaming entity that operates
wagering game machines 100 within a domain. In some embodiments,
operator host system 424 is operable to store downloadable wagering
game components 300 that have been purchased or licensed for use on
one or more wagering game machines 100.
[0055] In some embodiments, system 400 further includes a software
creator/distributor system 402. System 402 may serve as a source
for downloadable game components 300 that are purchased or licensed
by a gaming establishment. After purchase or license, game
components 300 may be downloaded from system 402 to operator host
system 424 over a network 412. Network 412 may be any type of wired
or wireless network capable of communicably coupling system 402
with operator host system 424. In some embodiments, network 412 may
be the Internet.
[0056] Any or all of software creator/distributor system 402,
operator host system 424 and wagering game machines 100 may include
a watermark component 404. Watermark component 404 operates to
insert a digital watermark into a downloadable software component.
In some embodiments, watermark component 404 may extract watermark
data from a downloadable software component 300.
[0057] Digital watermark data may be inserted into a downloadable
software component at multiple points in a download path 410, where
download path 410 comprises a set of network connected machines
that receive a particular downloadable software component. For
example, a watermark may be inserted when a software
creator/distributor system sends a downloadable software component
to an operator host system 424 via network 412 (download path
segment 410.1). In addition, a watermark may be inserted when the
downloadable software component is subsequently sent to a wagering
game machine 100.3 over network 422 (download path segment
410.2).
[0058] In some embodiments, a peer to peer delivery mechanism may
be used to deliver downloadable content to wagering game machines
100. In these embodiments, a wagering game machine 100 receives all
or a portion of the desired software components from one or more
other peer systems that have previously downloaded all or a portion
of the software component. For example, the other peer systems may
be other wagering game machines 100 within domain 420. Various peer
to peer delivery methods are possible. Examples of such peer to
peer delivery methods include the Gnutella protocol, the BitTorrent
protocol, Morpheus software, or Grokster software. For example,
wagering game machine 100.3 may participate in a peer to peer
network with wagering game machines 100.1 and 100.2 and operator
host system 424. In some embodiments, a watermark component 404 on
a wagering game machine may insert a watermark onto downloadable
software component 300 before sending it to peer wagering game
machine 100.2 over network 422 (download path segment 410.3)
[0059] FIG. 5 is a block diagram illustrating various types of
watermarks that may be inserted into a downloadable software
component. In general, a digital watermark comprises data that is
inserted into a pre-existing component in a manner that does not
perceptibly alter the functioning of the component. For example, in
the case of image data or audio data, watermark data may be
embedded in the component in a manner such that it is unlikely that
a viewer or listener will notice a difference between the
unwatermarked image or audio data and the watermarked image or
audio data. An ideal watermarking system embeds data into a
component such that the watermark data cannot be removed or altered
without making the component entirely unusable. The watermark data
itself may comprise text strings, data blocks, image data (e.g. an
image indicating copyright ownership), or audio data.
[0060] Various methods exist to embed watermark data into image
and/or audio data. A first technique involves altering the least
significant of the image or audio data. Another technique is to
provide a key or seed to a random number generator, whose output is
then used to select bits in the image or audio data to be used to
hold the watermark data. A watermark extracting component on a
receiving system must then use the same key or seed in order to
determine which bits comprise the watermark data. A further
technique comprises using correlation data between a
pseudo-randomly generated noise pattern and the image or audio data
to determine watermark data. A still further technique is to alter
selected bits of a DCT (Discrete Cosine Transformation) block used
in processing many types of image and audio data. Further
techniques exist and may be developed in the future. The
embodiments of the invention are not limited to any particular
technique for embedding watermark data into a downloadable software
component.
[0061] In some embodiments, the watermark data may comprise a
creator watermark 502, an owner watermark 504 or a transactional
watermark 506. Creator watermark 502 comprises watermark data that
identifies the creator of the software component 300. Such data may
include the name of the creator, the date the component was created
or modified, a version identification for the component, or any
other data regarding the creation of the component.
[0062] Owner watermark 504 comprises watermark data that identifies
the owner or other rights holder for the component. The owner
watermark data may include the name of the owner, the particular
ownership rights (e.g. right to display, copy, alter, use, transfer
etc.), the date that the rights are valid (e.g. a rights expiration
date) or any other data relevant to ownership of rights in the
software component.
[0063] Transactional watermark 506 comprises a watermark that is
embedded into a component upon the occurrence of a transaction. For
example, in some embodiments, a transactional watermark is inserted
into a software component 300 each time it is downloaded to a
system. The watermark may be inserted by the sending system prior
to initiating the download. Thus multiple transactional watermarks
may exist depending on how many times the software component has
been downloaded. The transactional watermark data may include the
type of transaction, the date and/or time of the transaction, or
any other data relevant to the transaction.
[0064] A transactional watermark may also include data indicating a
winning outcome of a wagering game. For example, a transactional
watermark may be embedded in an image that is displayed on a
wagering game machine. The transaction watermark may be used to
determine that the winning outcome was generated by the machine,
rather than a third party downloading a counterfeit winning image
onto a wagering game machine in order to falsely claim that a
winning outcome was obtained.
[0065] It should be noted that a software component 300 may include
multiple watermarks as described above, and that the watermarks in
a particular software component 300 may be generated using
differing techniques.
[0066] FIGS. 6 and 7 are flowcharts illustrating methods for
inserting and extracting watermark data into a downloadable
software component. The methods to be performed by the operating
environment constitute computer programs made up of
computer-executable instructions. Describing the methods by
reference to a flowchart enables one skilled in the art to develop
such programs including such instructions to carry out the method
on suitable processors for wagering game machines (the processor or
processors of the computer executing the instructions from
computer-readable media). The methods illustrated in FIGS. 6 and 7
are inclusive of acts that may be taken by an operating environment
executing an exemplary embodiment of the invention.
[0067] FIG. 6 is a flowchart illustrating methods 600 for inserting
a watermark into a downloadable software component (block 602). The
method begins by inserting a first watermark into a software
component 300. The watermark may be a creator watermark providing
data regarding the creator of the software component. Further, the
first watermark may be an owner watermark providing data regarding
the owner of certain rights in the software component. Additionally
the first watermark may be a transactional watermark. Other types
of watermarks may be used and are within the scope of the inventive
subject matter.
[0068] Next, in some embodiments, the software component is
downloaded to a gaming system (block 602). The gaming system may be
a wagering game machine 100, and operator host system 424, or other
gaming related system (e.g. back office server, progressive server,
banner content server etc.).
[0069] Other watermarks may be subsequently added to the software
component (block 606). As described above, an owner watermark may
be added after a creator watermark has been added, or a
transactional watermark may be added after an owner or creator
watermark has been added.
[0070] In some embodiments, the software component may be
downloaded to an additional gaming system (block 608). For example,
a software component may be initially downloaded from a
creator/distributor system to an operator host system, and then
further downloaded from the operator host system to one or more
wagering game machines. A transactional watermark containing data
regarding each download may be inserted at each download step. As
an additional example, the wagering game machines in a gaming
establishment may participate in a peer to peer network in which
software components may be exchanged between arbitrary pairs of
wagering game machines or gaming systems. In these embodiments, a
transactional watermark may be inserted upon each download. Thus
the transactional watermarks may provide an audit trail of download
activity maintained in the software component itself.
[0071] FIG. 7 is a flowchart illustrating a method 700 for
extracting and using watermark data from a downloadable software
component 300. The method begins by reading a software component
(block 702). The software component may be read from a wagering
game machine, an operator host system, or any other gaming related
system (back-office server, progressive server, banner server
etc.).
[0072] Next, the software component is analyzed to determine
whether or not a watermark is present (block 704). The method or
methods used to analyze whether or not a watermark is present will
depend on the technique expected to be used to embed the watermark
data. If a watermark is not present, the method ends in some
embodiments. However, it should be noted that lack of a watermark
may be used to determine that the component is not authorized or
valid. For example, a malicious user may download an image to a
wagering game machine that would seem to indicate that the user has
won a large amount of money or credit. A subsequent test for a
watermark on the image that determines a watermark is not present
may be used to indicate the image is not valid and that the user
has falsified the results.
[0073] If a watermark is detected at block 704, the system then
proceeds to extract the watermark data (block 706). The method used
to extract the watermark data will depend upon the method
originally used to embed the watermark data into the component.
[0074] Finally, the watermark data may be used to determine one or
more attributes of the software component (block 706). For example,
the watermark data may be used to determine the creator identity,
creation date, download date, ownership rights, ownership dates, or
other attributes for the component.
[0075] In addition, the watermark may be used to resolve ownership
disputes. For example, assume that someone purchases (legitimately
or illegitimately) a wagering game machine having downloadable
components. The downloadable components may be improperly
transferred to other wagering game machines. The presence of a
watermark in the components may be used to establish that the
components have been improperly transferred, and to prove ownership
of the improperly transferred components.
[0076] It should be noted that inventive concepts may exist in
subsets of the actions illustrated within FIGS. 6 and 7 and that no
embodiment of the invention need include each and every action
illustrated in FIGS. 6 and 7. Further, it should be noted that
actions may be performed in a different order than that described
above, and that such different orderings are within the scope of
the inventive subject matter.
CONCLUSION
[0077] Systems and methods for embedding and extracting watermarks
in software components that may be downloaded to wagering game
machines have been described. Although specific embodiments have
been illustrated and described herein, it will be appreciated by
those of ordinary skill in the art that any arrangement which is
calculated to achieve the same purpose may be substituted for the
specific embodiments shown. This application is intended to cover
any adaptations or variations of the inventive subject matter.
[0078] The terminology used in this application is meant to include
all of these environments. It is to be understood that the above
description is intended to be illustrative, and not restrictive.
Many other embodiments will be apparent to those of skill in the
art upon reviewing the above description. Therefore, it is
manifestly intended that this invention be limited only by the
following claims and equivalents thereof.
[0079] The Abstract is provided to comply with 37 C.F.R.
.sctn.1.72(b) to allow the reader to quickly ascertain the nature
and gist of the technical disclosure. The Abstract is submitted
with the understanding that it will not be used to interpret or
limit the scope or meaning of the claims.
* * * * *