Transcript Slide 1
BOB Tech Demo
2003 G2E – Las Vegas
Agenda
Best of Breed – a layering of standards
Standards, messaging, protocols and why you care
From the bottom up - the slot floor topology of BoB explained
Messaging for the Casino Gaming industry XML– the good stuff
What do you see in front of you?
Real, working hardware demonstration
You question, we’ll answer
BoB Protocol Layers (stack)
User
XML
SSL
GSA’s contribution
BoB
DNS
DHCP
Application
LDAP
Transport
TCP
Network
Physical and
Data Link
NTP
HTTP
SOAP
IP
LAN
Ethernet
UDP
Protocol Glossary
Protocol
DHCP
Usage and Benefits to BoB
Dynamic Host Configuration Protocol
Automatic network admission and IP Address assignment for gaming machines and host systems.
LDAP
Lightweight Directory Access Protocol
Automatic configuration of gaming machines and host systems. Automatic notifications of
configuration updates. Can store arbitrary binary objects including images, software updates, etc.
Provides a secure access control mechanism to allow only authorized users to gain access to the
portions of the LDAP directory they are allowed to access.
NTP
Network Time Protocol
Automatic synchronization of time across all gaming machines and host systems in a gaming
network.
SOAP/HTTP/TCP
Simple Object Access Protocol/Hypertext Transfer Protocol/Transmission Control Protocol
Transport layer protocols to carry point-to-point ordered and reliable BoB XML messages between
gaming machines and host systems.
XML
Extensible Markup Language
All messages between gaming machines and host systems are encoded in XML. XML allows a
flexible and extensible method of encoding data.
XML Schema
The BoB protocol defines a set of XML schema. A schema is a blueprint for what an XML document
can contain.
SSL
Secure Sockets Layer
All messages between gaming machines and host systems are secured using SSL. SSL is used to
authenticate both ends of a communication session and to encrypt all traffic flowing on that
session.
Why XML?
BoB strategy is to use “Off the Shelf” standards from computer industry
Reduces engineering costs – training, etc
Proprietary solutions are more difficult to implement and incompatible on the
casino floor
Enables manufacturers to deliver products more quickly and focus on value
added game content
XML is a language useful for defining data exchange
XML is a rich language for expressing data structures and defining the
interface (schema)
Easily extensible to ensure backwards compatibility
Implementing Products with XML
Rapid development environment
Numerous tools support XML including most major browsers
Integrates well with HTML and other Web standards
Human readable and understandable protocol traces
Allows automatic data validation against schema for development and
debugging
Sample BoB Message Exchanges
Game
Machine
1) Player initiates game
BoB Server
(Accounting)
2) BOB_MSG(GM_ID, Meters, games_played)
3) BOB_MSG_RESPONSE(SUCCESS)
BoB Server
(Accounting)
BOB Meter Changed
Event Notification
Game
Machine
1) BOB_MSG(GM_ID, getMeters,
AllRevenueMeters)
2) BOB_MSG_RESPONSE(GM_ID,
Meters, AllRevenueMeters)
BOB Meter Poll
Top Schema
Header Schema
Body Schema
Meter Schema
Example XML Document
<?xml version="1.0" encoding="UTF-8" ?> <bobMessage>
<bobHeader>
<messageType>response</messageType>
<messageId>87654321</messageId>
<messageDate>2003-07-21</messageDate>
<messageTime>14:20:0005:00</messageTime>
<commandClass>meters</commandClass>
<commandCode>meterInfo</commandCode>
</bobHeader><bobBody errorCode="MS00" errorText="Command Successful."><meters machine="12345" device="1"><meterInfo>
<performanceMeter name="coinIn" denom="01" rollover="100000000">500000</performanceMeter>
<performanceMeter name="coinIn" denom="02" rollover="100000000">400000</performanceMeter>
<performanceMeter name="coinIn" denom="03" rollover="100000000">300000</performanceMeter>
<performanceMeter name="coinIn" denom="04" rollover="100000000">200000</performanceMeter>
</meterInfo>
</meters>
</bobBody>
</bobMessage>
GSA – Best of Breed
Gaming
Machines
Back
Office
Systems
Atronic
Bally
Systems
Foxwoods
BOB
Messaging
BoB - Floor Topology
Back Office Systems Services
Slot Accounting
Player Tracking
Cashless
Bonusing
LDAP Server
DHCP Server
Secured
Ethernet
Casino Floor
BoB - Network Architecture
BoB – Gaming Machine Bootstrap Process
Game
Machine
DHCP Server
LDAP Server
1) DHCP DISCOVER(GM_ID)
2) SEARCH_REQUEST(GM_ID)
4) DHCP OFFER(GM_IP,
LDAP_SERVER_IP,
NTP_SERVER_IP)
3) SEARCH_RESPONSE(SUCCESS)
5) DHCP REQUEST(GM_IP)
6) SEARCH_REQUEST(GM_ID)
7) SEARCH_RESPONSE(SUCCESS)
8) DHCP ACK(GM_IP)
9) NTP_READ()
10) NTP_READ_RESPONSE()
11) BIND_REQUEST(GM_ID)
12) BIND_RESPONSE(SUCCESS)
13) SEARCH_REQUEST(GM_ID)
14) SEARCH_RESPONSE(SUCCESS)
BOB Gaming Machine
Bootstrap Sequence
NTP Server
Live Demo
Game
Machine
1) player initiates game
BoB Server
(Accounting)
2) BOB_MSG(GM_ID, Meters, games_played)
3) BOB_MSG_RESPONSE(SUCCESS)
BoB Meter Changed
Event Notification
Q&A
2003 G2E – Las Vegas