IP Library Granted Patent US 8,449,394
Granted Patent B2
US 8,449,394 · App. 12/665,162 · Granted May 28, 2013

Plug-in architecture for a wagering game network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,449,394
App. No.
12/665,162
Granted
May 28, 2013
Kind
B2
Abstract

A plug-in architecture for a wagering game network is described. Plug-in modules may provide various functions for services related to wagering games. Such functions may include random number generation, user interface functions, player tracking functions, central determinant functions etc. The plug-ins are dynamically loaded during the run-time of an application or service.

Claims (51)

1. A method comprising:

initializing a logical connection between a processing device and a wagering game network having one or more wagering game machines operable to present a wagering game upon which monetary value may be wagered;

locating at least one plug-in stored at a network device on the wagering game network by searching a predetermined file system directory on the network device to determine if the at least one plug-in exists as a file system directory, the plug-in comprising executable code and data; and

when at least one plug-in is located in the predetermined file system directory:

authenticating by the processing device, the at least plug-in; and

when the at least one plug-in is authenticated, loading the plug-in into an executable software program stored and operating on at least one wagering game machine on the wagering game network, the executable software program providing an interface for communication between the plug-in and the executable software program.

2. The method of claim 1 , further comprising registering one or more functions within the plug-in with the application.

3. The method of claim 2 , wherein the one or more functions include callback functions.

4. The method of claim 2 , wherein the one or more functions include event handler functions.

5. The method of claim 1 , wherein the plug-in includes a random number generator plug-in.

6. The method of claim 5 , wherein locating further comprises locating the random number generator plug-in based on a jurisdiction where the random number generator plug-in is approved.

7. The method of claim 1 , wherein the plug-in includes a protocol translator plug-in.

8. The method of claim 7 , further comprising using the protocol translator plug-in to convert communication between a proprietary protocol and a standard protocol.

9. The method of claim 8 , wherein the standard protocol a protocol defined by the Gaming Standards Association.

10. The method of claim 1 , wherein the plug-in includes a player tracking plug-in.

11. An apparatus comprising:

at least one processor and a memory;

a software program stored in the memory and executable by the at least one processor and operable to provide support for a wagering game upon which monetary value may be wagered and to provide a plug-in interface; and

a plug-in comprising executable code and data, the plug-in loadable into the software program during the run-time of the software program, the plug-in and software program communicating through the plug-in interface,

wherein the software program is operable to locate the plug-in stored by searching a predetermined file system directory at a network device on a wagering game network to determine if the at least one plug-in exists as a file in the file system directory; and

wherein the software program is further operable to authenticate the plug-in before providing the plug-in in the plug-in interface.

12. The apparatus of claim 11 , wherein the software program executes on a wagering game machine.

13. The apparatus of claim 11 , wherein the software program executes on a server on a wagering game network.

14. The apparatus of claim 11 , wherein the plug-in resides at a network location and is downloadable by the software program.

15. The apparatus of claim 11 , wherein the plug-in is included in at least one of a dynamically loadable library (DLL) or a shared object library.

16. The apparatus of claim 11 , wherein the plug-in includes a random number generator plug-in.

17. The apparatus of claim 16 , wherein the software program executable by the at least one processor is operable to select the random number generator plug-in based on a jurisdiction where the random number generator plug-in is approved.

18. The apparatus of claim 11 , and further comprising a second plug-in loadable into the plug-in.

19. The apparatus of claim 11 , further comprising a plug-in interface between the software program and the plug-in.

20. The apparatus of claim 19 , wherein the interface comprises a registration interface and wherein callback routines within the plug-in are registered with the software program.

21. The apparatus of claim 19 , wherein the interface comprises a predetermined routine within the plug-in and a data structure defining actions to be performed by the plug-in.

22. The apparatus of claim 19 , wherein the interface includes a dynamically load library interface.

23. The apparatus of claim 11 , wherein the plug-in includes a protocol translator plug-in.

24. The apparatus of claim 23 , wherein the plug-in is operable to convert communication in a proprietary protocol to a standard protocol.

25. The apparatus of claim 24 , wherein the standard protocol a protocol defined by the Gaming Standards Association.

26. The apparatus of claim 11 , wherein the plug-in includes a player tracking plug-in.

27. A non-transitory machine-readable storage medium having machine executable code stored thereon for causing one or more processors to execute a method, the method comprising:

communicating on a wagering game network having one or more wagering game machines operable to present a wagering game upon which monetary value may be wagered;

locating at least one plug-in stored at a network device on the wagering game network searching a predetermined file system directory on the network device to determine if the at least one plug-in exists as a file in the file system directory, the plug-in comprising executable code and data; and

when at least one plug-in is located in the predetermined file system directory:

authenticating the at least one plug-in; and

when the at least one plug-in is authenticated, loading the at least one plug-in into an executable software program stored and operating on at least one machine on the wagering game network, the executable software program providing a plug-in interface for communication between the plug-in and the executable software program.

28. The machine-readable storage medium of claim 27 , wherein the method further comprises registering one or more functions within the plug-in with the application.

29. The machine-readable storage medium of claim 28 , wherein the one or more functions include callback functions.

30. The machine-readable storage medium of claim 28 , wherein the one or more functions include event handler functions.

31. The machine-readable storage medium of claim 27 , wherein the plug-in includes a random number generator plug-in.

32. The machine-readable storage medium of claim 31 , wherein locating further comprises locating the random number generator plug-in based on a jurisdiction where the random number generator plug-in is approved.

33. The machine-readable storage medium of claim 27 , wherein the plug-in includes a protocol translator plug-in.

34. The machine-readable storage medium of claim 33 , further comprising the method of using the protocol translator plug-in to convert communication between a proprietary protocol and a standard protocol.

35. The machine-readable storage medium of claim 34 , wherein the standard protocol a protocol defined by the Gaming Standards Association.

36. The machine-readable storage medium of claim 27 , wherein the plug-in includes a player tracking plug-in.

Assignments (12)
SECURITY AGREEMENT Recorded May 23, 2025
From: LNW GAMING, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071340/0404 →
CHANGE OF NAME Recorded Feb 7, 2023
From: SG GAMING, INC.
To: LNW GAMING, INC.
Reel/Frame 062669/0341 →
SECURITY AGREEMENT Recorded Apr 22, 2022
From: SG GAMING INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059793/0001 →
RELEASE OF SECURITY INTEREST Recorded Apr 21, 2022
From: BANK OF AMERICA, N.A.
To: SCIENTIFIC GAMES INTERNATIONAL, INC.; WMS GAMING INC.; BALLY GAMING, INC.; DON BEST SPORTS CORPORATION
Reel/Frame 059756/0397 →
CHANGE OF NAME Recorded Jan 20, 2020
From: BALLY GAMING, INC.
To: SG GAMING, INC.
Reel/Frame 051643/0528 →
RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES REEL/FRAME 034530/0318) Recorded Nov 5, 2018
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.; WMS GAMING INC.
Reel/Frame 047924/0701 →
SECURITY AGREEMENT Recorded Apr 11, 2018
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 045909/0513 →
SECURITY AGREEMENT Recorded Dec 15, 2017
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; BALLY GAMING, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 044889/0662 →
MERGER Recorded Jul 29, 2015
From: WMS GAMING INC.
To: BALLY GAMING, INC.
Reel/Frame 036225/0464 →
SECURITY AGREEMENT Recorded Dec 4, 2014
From: BALLY GAMING, INC; SCIENTIFIC GAMES INTERNATIONAL, INC; WMS GAMING INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 034530/0318 →
SECURITY AGREEMENT Recorded Dec 18, 2013
From: SCIENTIFIC GAMES INTERNATIONAL, INC.; WMS GAMING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031847/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2013
From: BUCHHOLZ, DALE R.; GURA, DAMON E.; PACEY, LARRY; SYLLA, CRAIG J.; WHIDDEN, TRAVIS; WILSON, TIMOTHY D.
To: WMS GAMING INC.
Reel/Frame 029785/0858 →