US20070021196A1 - Watermarking downloadable game content in a gaming system - Google Patents

Watermarking downloadable game content in a gaming system Download PDF

Info

Publication number
US20070021196A1
US20070021196A1 US11/458,469 US45846906A US2007021196A1 US 20070021196 A1 US20070021196 A1 US 20070021196A1 US 45846906 A US45846906 A US 45846906A US 2007021196 A1 US2007021196 A1 US 2007021196A1
Authority
US
United States
Prior art keywords
watermark
wagering game
software component
data
gaming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/458,469
Inventor
Steven Campbell
Chad Ryan
Mark Gagner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LNW Gaming Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/458,469 priority Critical patent/US20070021196A1/en
Assigned to WMS GAMING INC. (ASSIGNEE ONLY) reassignment WMS GAMING INC. (ASSIGNEE ONLY) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RYAN, CHAD A., GAGNER, MARK B., CAMPBELL, STEVEN MARK
Publication of US20070021196A1 publication Critical patent/US20070021196A1/en
Assigned to BALLY GAMING, INC. reassignment BALLY GAMING, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: WMS GAMING INC.
Assigned to SG GAMING, INC. reassignment SG GAMING, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: BALLY GAMING, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/323Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the player is informed, e.g. advertisements, odds, instructions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance

Definitions

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • a transactional watermark may be embedded when a software component is downloaded from one system to another.
  • 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.
  • 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.
  • FIG. 1 is a perspective view of a wagering game machine according to an example embodiment.
  • FIG. 2 is a block diagram of processing components of a wagering game machine according to an example embodiment.
  • FIG. 4 is a block diagram of networks of wagering game machines and gaming systems according to various embodiments of the invention.
  • FIG. 5 is a block diagram describing various types of watermarks that may be included in a downloadable software component.
  • FIG. 6 is a flowchart illustrating methods for inserting a watermark into a downloadable software component.
  • FIG. 7 is a flowchart illustrating methods for extracting and using watermark data from a downloadable software component.
  • FIG. 1 illustrates an example wagering game machine 100 in which may be included various embodiments of the invention.
  • 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.
  • 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.
  • CTR cathode ray tube
  • LCD liquid crystal display
  • plasma or other type of video display known in the art.
  • the wagering game machine 100 is an “upright” version in which the display 112 is oriented vertically relative to a player.
  • 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.
  • the wagering game machine may be a “bar-top” version in which the display is mounted horizontally in a bar top or table top.
  • the wagering game machine may be housed in a wall mounted or other vertically mounted cabinet.
  • the wagering game machine may be a portable wagering game machine, such as a handheld wagering game machine.
  • 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.
  • 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.
  • 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 .
  • 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.
  • a processor controls operation of the wagering game machine 100 .
  • 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.
  • 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.
  • 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.
  • 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 .
  • the player may select any variables associated with the wagering game and place his/her wager to purchase 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.
  • RNG random number generator
  • 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.
  • the control system may include one or more additional slave control units for operating the display 112 and any secondary displays.
  • System memory 224 stores control software, operational instructions and data associated with the wagering game machine.
  • the system memory 224 comprises a separate read-only memory (ROM) and battery-backed random-access memory (RAM).
  • ROM read-only memory
  • RAM battery-backed random-access memory
  • 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.
  • memory 224 may comprise multiple banks of memory, including RAM, compact flash, hard drives, CD-ROM drives, DVD-ROM drives and combinations thereof.
  • 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 .
  • 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.
  • 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.
  • the network comprises a gaming establishment network such as a LAN (local area network).
  • the network may be an intranet linking multiple networks, for example, the networks of a gaming enterprise that operates multiple gaming establishments.
  • the network may comprise the Internet.
  • 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 .
  • 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.
  • 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 .
  • 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.
  • 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 .
  • 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.
  • Wagering game application 302 comprises software that controls the execution of a wagering game on wagering game machine 100 .
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the audio content may be part of an audio program played on multiple wagering game machines to produce a surround-sound effect.
  • 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.
  • Episode data 320 provides configuration data regarding episodes for a game.
  • the wagering game may be presented to the user in episodes.
  • 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.
  • 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.
  • 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.
  • a wagering game machine may have other types of configuration components.
  • 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.
  • the security data comprises user identification and/or password data.
  • the security data may comprise public key/private key encryption data.
  • the security data may comprise key ring data for a group of keys.
  • the security data may comprise biometric data.
  • the security data may comprise authentication and/or authorization data.
  • 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.
  • the content may be displayed in a manner such that the content appears to travel from one machine to the next.
  • the content may be one portion of a message that is displayed across multiple wagering game machines.
  • Advertising content 308 comprises advertising video, audio, or text data that may be played or displayed on a wagering game machine.
  • 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.
  • configuration elements may have different versions.
  • 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.
  • a version will have a version identifier associated with it to indicate the software version for the configuration element.
  • 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.
  • 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.
  • network 422 is a gaming establishment local area network.
  • network 422 may be a network that links multiple gaming establishments or facilities.
  • 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 .
  • 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.
  • Operator host system 424 may be used to store downloadable gaming components for downloading onto one or more wagering game machines 100 .
  • 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.
  • 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 .
  • 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.
  • 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.
  • watermark component 404 may extract watermark data from a downloadable software component 300 .
  • 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.
  • download path 410 comprises a set of network connected machines that receive a particular downloadable software component.
  • 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 ).
  • 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 ).
  • a peer to peer delivery mechanism may be used to deliver downloadable content to wagering game machines 100 .
  • 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.
  • 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.
  • 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 .
  • 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 )
  • FIG. 5 is a block diagram illustrating various types of watermarks that may be inserted into a downloadable software component.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Transactional watermark 506 comprises a watermark that is embedded into a component upon the occurrence of a transaction.
  • 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.
  • 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.
  • a transactional watermark may also include data indicating a winning outcome of a wagering game.
  • 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.
  • 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.
  • 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.
  • 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.
  • the first watermark may be an owner watermark providing data regarding the owner of certain rights in the software component.
  • 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.
  • 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.).
  • Other watermarks may be subsequently added to the software component (block 606 ).
  • 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.
  • the software component may be downloaded to an additional gaming system (block 608 ).
  • 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.
  • 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.
  • a transactional watermark may be inserted upon each download.
  • the transactional watermarks may provide an audit trail of download activity maintained in the software component itself.
  • 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.).
  • 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.
  • 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.
  • the watermark data may be used to determine one or more attributes of the software component (block 706 ).
  • 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.
  • 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.
  • 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.

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.

Description

    RELATED APPLICATIONS
  • 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.
  • LIMITED COPYRIGHT WAIVER
  • 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.
  • BACKGROUND
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • FIG. 1 is a perspective view of a wagering game machine according to an example embodiment.
  • FIG. 2 is a block diagram of processing components of a wagering game machine according to an example embodiment.
  • FIG. 3 is a block diagram of major software components of a wagering game machine according to an example embodiment.
  • FIG. 4 is a block diagram of networks of wagering game machines and gaming systems according to various embodiments of the invention.
  • FIG. 5 is a block diagram describing various types of watermarks that may be included in a downloadable software component.
  • FIG. 6 is a flowchart illustrating methods for inserting a watermark into a downloadable software component.
  • FIG. 7 is a flowchart illustrating methods for extracting and using watermark data from a downloadable software component.
  • DETAILED DESCRIPTION
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Advertising content 308 comprises advertising video, audio, or text data that may be played or displayed on a wagering game machine.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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)
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.).
  • 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.
  • 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.
  • 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.).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • The Abstract is provided to comply with 37 C.F.R. §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.

Claims (20)

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.
US11/458,469 2005-07-19 2006-07-19 Watermarking downloadable game content in a gaming system Abandoned US20070021196A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/458,469 US20070021196A1 (en) 2005-07-19 2006-07-19 Watermarking downloadable game content in a gaming system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70058205P 2005-07-19 2005-07-19
US11/458,469 US20070021196A1 (en) 2005-07-19 2006-07-19 Watermarking downloadable game content in a gaming system

Publications (1)

Publication Number Publication Date
US20070021196A1 true US20070021196A1 (en) 2007-01-25

Family

ID=37679758

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/458,469 Abandoned US20070021196A1 (en) 2005-07-19 2006-07-19 Watermarking downloadable game content in a gaming system

Country Status (1)

Country Link
US (1) US20070021196A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070087832A1 (en) * 2005-09-09 2007-04-19 Abbott Eric L Method and apparatus for peer-to-peer wagering game
US20070087804A1 (en) * 2005-09-09 2007-04-19 Knowles Brandon D Method and apparatus for wagering on event outcomes of a game
US20070149267A1 (en) * 2005-12-23 2007-06-28 Mark Ross Gaming device having destructive chain reaction events
US20080096624A1 (en) * 2006-09-20 2008-04-24 Matthias Rydberg Electronic game card
US20080214271A1 (en) * 2006-09-20 2008-09-04 Mattias Rydberg Electronic game card
US20090124372A1 (en) * 2005-04-29 2009-05-14 Gagner Mark B Asset management of downloadable gaming components in a gaming system
US20140173024A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Content-acquisition source selection and management
US8968084B2 (en) 2006-06-07 2015-03-03 Wms Gaming Inc. Processing metadata in wagering game systems
US10129334B2 (en) 2012-12-14 2018-11-13 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US10592060B2 (en) 2008-10-09 2020-03-17 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
CN113934991A (en) * 2021-12-17 2022-01-14 山东青揽电子有限公司 Character confusion marking algorithm
US11287939B2 (en) 2008-10-09 2022-03-29 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11385758B2 (en) 2008-10-09 2022-07-12 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980782A (en) * 1985-06-03 1990-12-25 Peter Ginkel Software protection and identification system
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US6038288A (en) * 1997-12-31 2000-03-14 Thomas; Gene Gilles System and method for maintenance arbitration at a switching node
US20010049788A1 (en) * 1997-12-03 2001-12-06 David Hilton Shur Method and apparatus for watermarking digital bitstreams
US20010051996A1 (en) * 2000-02-18 2001-12-13 Cooper Robin Ross Network-based content distribution system
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US6508709B1 (en) * 1999-06-18 2003-01-21 Jayant S. Karmarkar Virtual distributed multimedia gaming method and system based on actual regulated casino games
US20030037075A1 (en) * 1999-08-30 2003-02-20 Hannigan Brett T. Digital watermarking methods and related toy and game applications
US20030069071A1 (en) * 2001-09-28 2003-04-10 Tim Britt Entertainment monitoring system and method
US6595856B1 (en) * 2000-01-04 2003-07-22 Sigma Game, Inc. Electronic security technique for gaming software
US20030195033A1 (en) * 2002-04-10 2003-10-16 Gazdic Daniel J. Gaming software authentication
US20030204727A1 (en) * 2000-10-25 2003-10-30 Minoru Sasaki Method and apparatus for embedding information in content, method and apparatus for reconstructing content, and method and apparatus for extracting information
US6685567B2 (en) * 2001-08-08 2004-02-03 Igt Process verification
US20040048668A1 (en) * 2002-09-10 2004-03-11 Bill Brosnan Apparatus and method for copying gaming machine configuration settings
US20040242322A1 (en) * 2002-12-13 2004-12-02 Michael Montagna Flexible user interface
US20040248646A1 (en) * 2003-06-09 2004-12-09 Canterbury Stephen A. Gaming machine having hardware-accelerated software authentication
US20040259643A1 (en) * 2003-06-17 2004-12-23 Gentles Thomas A. Gaming machine having reduced-read software authentication
US20050009599A1 (en) * 2003-07-09 2005-01-13 Ryan Chad A. Gaming machine having targeted run-time software authentication
US20050107163A1 (en) * 2003-11-13 2005-05-19 Nguyen Binh T. Methods and apparatus for providing an electronic operational event trail for a gaming apparatus
US20050143171A1 (en) * 2003-12-30 2005-06-30 Loose Timothy C. Gaming machine having sampled software verification
US20050192099A1 (en) * 2000-12-07 2005-09-01 Igt Secured virtual network in a gaming environment
US20050261062A1 (en) * 2004-05-20 2005-11-24 Turner Broadcasting System, Inc. (Tbs, Inc.) Systems and methods for delivering content over a network
US7007166B1 (en) * 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
US7058813B2 (en) * 1999-05-27 2006-06-06 Microsoft Corporation Method for watermarking computer programs
US7162036B2 (en) * 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980782A (en) * 1985-06-03 1990-12-25 Peter Ginkel Software protection and identification system
US7007166B1 (en) * 1994-12-28 2006-02-28 Wistaria Trading, Inc. Method and system for digital watermarking
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US6411725B1 (en) * 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US20010049788A1 (en) * 1997-12-03 2001-12-06 David Hilton Shur Method and apparatus for watermarking digital bitstreams
US6038288A (en) * 1997-12-31 2000-03-14 Thomas; Gene Gilles System and method for maintenance arbitration at a switching node
US7058813B2 (en) * 1999-05-27 2006-06-06 Microsoft Corporation Method for watermarking computer programs
US6508709B1 (en) * 1999-06-18 2003-01-21 Jayant S. Karmarkar Virtual distributed multimedia gaming method and system based on actual regulated casino games
US7285048B2 (en) * 1999-06-18 2007-10-23 Karmarkar Jayant S Restricted multimedia episode distribution with synthetically generated random outcomes to players with intra-episode biometric image based authentication
US20030037075A1 (en) * 1999-08-30 2003-02-20 Hannigan Brett T. Digital watermarking methods and related toy and game applications
US6595856B1 (en) * 2000-01-04 2003-07-22 Sigma Game, Inc. Electronic security technique for gaming software
US20010051996A1 (en) * 2000-02-18 2001-12-13 Cooper Robin Ross Network-based content distribution system
US20030204727A1 (en) * 2000-10-25 2003-10-30 Minoru Sasaki Method and apparatus for embedding information in content, method and apparatus for reconstructing content, and method and apparatus for extracting information
US20050192099A1 (en) * 2000-12-07 2005-09-01 Igt Secured virtual network in a gaming environment
US7162036B2 (en) * 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) * 2001-08-08 2004-02-03 Igt Process verification
US20030069071A1 (en) * 2001-09-28 2003-04-10 Tim Britt Entertainment monitoring system and method
US20030195033A1 (en) * 2002-04-10 2003-10-16 Gazdic Daniel J. Gaming software authentication
US20040048668A1 (en) * 2002-09-10 2004-03-11 Bill Brosnan Apparatus and method for copying gaming machine configuration settings
US20040242322A1 (en) * 2002-12-13 2004-12-02 Michael Montagna Flexible user interface
US20040248646A1 (en) * 2003-06-09 2004-12-09 Canterbury Stephen A. Gaming machine having hardware-accelerated software authentication
US20040259643A1 (en) * 2003-06-17 2004-12-23 Gentles Thomas A. Gaming machine having reduced-read software authentication
US20050009599A1 (en) * 2003-07-09 2005-01-13 Ryan Chad A. Gaming machine having targeted run-time software authentication
US20050107163A1 (en) * 2003-11-13 2005-05-19 Nguyen Binh T. Methods and apparatus for providing an electronic operational event trail for a gaming apparatus
US20050143171A1 (en) * 2003-12-30 2005-06-30 Loose Timothy C. Gaming machine having sampled software verification
US20050261062A1 (en) * 2004-05-20 2005-11-24 Turner Broadcasting System, Inc. (Tbs, Inc.) Systems and methods for delivering content over a network

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090124372A1 (en) * 2005-04-29 2009-05-14 Gagner Mark B Asset management of downloadable gaming components in a gaming system
US20070087804A1 (en) * 2005-09-09 2007-04-19 Knowles Brandon D Method and apparatus for wagering on event outcomes of a game
US8052526B2 (en) 2005-09-09 2011-11-08 Igt Method and apparatus for peer-to-peer wagering game
US20070087832A1 (en) * 2005-09-09 2007-04-19 Abbott Eric L Method and apparatus for peer-to-peer wagering game
US20070149267A1 (en) * 2005-12-23 2007-06-28 Mark Ross Gaming device having destructive chain reaction events
US8043153B2 (en) 2005-12-23 2011-10-25 Igt Gaming device having destructive chain reaction events
US8968084B2 (en) 2006-06-07 2015-03-03 Wms Gaming Inc. Processing metadata in wagering game systems
US20080096624A1 (en) * 2006-09-20 2008-04-24 Matthias Rydberg Electronic game card
US20080214271A1 (en) * 2006-09-20 2008-09-04 Mattias Rydberg Electronic game card
US10592060B2 (en) 2008-10-09 2020-03-17 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11249612B2 (en) 2008-10-09 2022-02-15 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11662873B2 (en) 2008-10-09 2023-05-30 Aristocrat Technologies Australia Pty. Limited Gaming system and gaming system processor module
US11385758B2 (en) 2008-10-09 2022-07-12 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11287939B2 (en) 2008-10-09 2022-03-29 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US11281350B2 (en) 2008-10-09 2022-03-22 Aristocrat Technologies Australia Pty Limited Gaming system and gaming system processor module
US10284641B2 (en) * 2012-12-14 2019-05-07 Microsoft Technology Licensing, Llc Content distribution storage management
CN104904183A (en) * 2012-12-14 2015-09-09 微软技术许可有限责任公司 Content-acquisition source selection and management
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US20140173024A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Content-acquisition source selection and management
US10129334B2 (en) 2012-12-14 2018-11-13 Microsoft Technology Licensing, Llc Centralized management of a P2P network
RU2656794C2 (en) * 2012-12-14 2018-06-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Content-acquisition source selection and management
US20170230450A1 (en) * 2012-12-14 2017-08-10 Microsoft Technology Licensing, Llc Content distribution storage management
US9661072B2 (en) * 2012-12-14 2017-05-23 Microsoft Technology Licensing, Llc Content-acquisition source selection and management
US9413846B2 (en) * 2012-12-14 2016-08-09 Microsoft Technology Licensing, Llc Content-acquisition source selection and management
CN113934991A (en) * 2021-12-17 2022-01-14 山东青揽电子有限公司 Character confusion marking algorithm

Similar Documents

Publication Publication Date Title
US20070021196A1 (en) Watermarking downloadable game content in a gaming system
US10417865B2 (en) System and method for augmented reality gaming using a mobile device
US11568709B2 (en) Systems and methods for game state retention and continuation at electronic gaming machines
US20090215528A1 (en) Gaming network with remote file system for storing game content
AU2004260994B2 (en) Methods and apparatus for remote gaming
US9135777B2 (en) Management of downloadable game components in a gaming system
US20060264256A1 (en) Gaming system with administrative interfaces for managing downloadable game components
US20070191111A1 (en) Systems and methods for mining data from a game history for a gaming system
US8075395B2 (en) Wagering game machine having image copied file system
US20090029767A1 (en) Verifying and auditing game content in a gaming system
US20090124372A1 (en) Asset management of downloadable gaming components in a gaming system
US20070021191A1 (en) Method and apparatus for storing information on a wager gaming voucher
US10068358B2 (en) Modifying wagering game graphics
AU2024201254A1 (en) Game state retention and continuation at gaming machines
US9159191B2 (en) Mash-up wagering game system
WO2010096864A1 (en) A system and method for allowing a ticket to be used at a plurality of venues

Legal Events

Date Code Title Description
AS Assignment

Owner name: WMS GAMING INC. (ASSIGNEE ONLY), ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAMPBELL, STEVEN MARK;RYAN, CHAD A.;GAGNER, MARK B.;REEL/FRAME:018335/0946;SIGNING DATES FROM 20060803 TO 20060814

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BALLY GAMING, INC., NEVADA

Free format text: MERGER;ASSIGNOR:WMS GAMING INC.;REEL/FRAME:036225/0201

Effective date: 20150629

AS Assignment

Owner name: SG GAMING, INC., NEVADA

Free format text: CHANGE OF NAME;ASSIGNOR:BALLY GAMING, INC.;REEL/FRAME:051642/0103

Effective date: 20200103