G2S building block - Gaming Standards Association

Download Report

Transcript G2S building block - Gaming Standards Association

How to speed up the implementation of
GSA standards into new products
G2S Building blocks
May 2010
Green Valley Ranch - Las Vegas, NV
Ales Gornjec, Hermes SoftLab
Agenda
 Why GSA and G2S
 Approach to providing G2S solutions to
gaming machine vendors
 Why developing our own set of tools?
 Generic implementation versus specific
 Integration challenges and solutions
 G2S host and S2S protocol building blocks
Slide 2
Hermes SoftLab
At a glance
HERMES SoftLab is an international provider of
software engineering services & IT solutions





Established: 1990
Member of ComTrade Group since 2008
Headquarters: Ljubljana, Slovenia, EU
Employees: 850+
Main markets:
 gaming & storage industries
 telecommunication service providers
 financial institutions and the public sector
 Quality certificates: ISO-9001/TickIT by BSI
Slide 3
The need for GSA and G2S?
 For heavily regulated industries (like
gambling) standards are very important
 Single vendor environments are easier to
build but – players require variety
 Standards break vendor lock-in situations
 First important steps already made
 Now certification program and GSA university
are also available
Slide 4
Complexity GSA Protocol sizes and growth
started
protocol
BOB
(2004)
G2S
(2006)
S2S
(2004)
SAS*
today (May 2010)
classes
pages
classes
pages
16
300+
replaced by G2S
22
1240
23
1825
7
15
375
25
1130
2
14
190
*SAS included only for comparison of spec and functionalities covered
extensions
Slide 5
Hermes decision and goals?
 Previous experience with industry standards
 Knowledge transfer from other segments (XML, SOAP, security)
 The need
 Due to its complexity G2S requires significant investments (time,
resources, knowledge)
 Standards can’t be deployed successfully without wider vendor support
 Vendors are asking themselves:
 to develop or
 to buy and integrate?
 Implementation goals:




Compatibility with vendor platforms (OS and language)
Low resource consumption (ram and processing power)
Easy integration
Clear separation between protocol stack, integration and platform to
allow easy maintenance
Slide 6
Build or buy decision
Buy (+)







Shorter time line
Portable design
Clear and stable API
Proper support for extensions
Phased integration – low risk
from the start
Maintenance covered
Internal resources not locked
into long implementation
project
Build




Full control
No external dependencies
Optimal implementation and
integration into the platform
Possibility to reuse platform
features (persistence, logging, …)
Slide 7
Timeline projection
1 1 /1 0 - 1 2 /1 0
7 /1 0 - 8 /1 0
C o re
c la s s e s
in te g ra tio n
6 /1 0 - 6 /1 0
F e a s ib ility w o rk s h o p
C e rtific a tio n
and
v e rific a tio n
8 /1 0 - 1 1 /1 0
F u ll in te g ra tio n
7 /1 0
1 0 /1 0
1 /1 1
1 /1 1 - 7 /1 1
in te g ra tio n a n d p la tfo rm a d ju s te m e n ts
5 /1 0 - 7 /1 0
7 /1 0 - 9 /1 0
9 /1 0 - 1 0 /1 0
In itia l
in v e s tig a tio n
K n o w -h o w g a th e rin g
In fra s tru c tu re
im p le m e n ta tio n
7 /1 0
1 0 /1 0 - 6 /1 1
G 2 S C la s s im p le m e n ta tio n
1 0 /1 0
1 /1 1
1 /1 1 - 7 /1 1
in te g ra tio n a n d p la tfo rm a d ju s te m e n ts
7 /1 1 - 1 0 /1 1
1 0 /1 0 - 6 /1 1
C e rtific a tio n
a n d v e rific a tio n
G 2 S C la s s im p le m e n ta tio n
4 /1 1
7 /1 1
1 0 /1 1
Slide 8
Project – investigation & planning
 High level management decision: we need G2S!
 Project team is formed to




study the protocol basics,
investigate feasibility and
prepare high level estimates
takes 2 months, estimates 10 EM for basic implementation
 Implementation team is formed to prepare




high level architecture,
designs and
project plan
takes 3 months, plan to finish in 8 months, discovered that testing will
be difficult and testing tools need to be developed or acquired
...
Slide 9
Project risks
 When building own solution for G2S
 Resources
 Engineers
 Know how
 Product:
 Performance impact
 Interoperability
 Compliance
 When buying and integrating
 Platform compatibility
 External dependencies
 Difficult to evaluate quality in advance
Slide 10
Platform requirements
 Persistent Memory usage
 G2S with three main classes: ~6 kB raw data (30kB
with SQLite)
 G2S with all 23 classes: ~84 KB raw data (150kB with
SQLite)
 Minimal system requirements
 Memory (RAM): 20 - 50 MB
 CPU consumption
 Game-cycle simulation: about 20ms/cycle
 That is 50 games per second can be simulated on a
dual-core PC
Slide 11
Phased integration process
 Main goal is to identify and mitigate risks as early as possible
 Designed in a way to answer critical questions early:
 Is platform able to fulfill G2S requirements ?
 Integration feasibility (interfacing, process and threading model,
resource management...) ?
 Hardware: are CPU and memory resources sufficient ?
 NVRAM usage
 Prof of concept phase gives basic working integration
 Additional functionalities integration is dictated by customer
and it’s priorities
 Final phase helps with certifications and product deployment
Slide 12
Integration points and APIs
 High level API is easier to integrate
 Covers 90% of class functionality (ordinary use)
 Can be combined with raw G2S API for special cases
 Raw API is a direct mapping of G2S commands:
 Classes
 Commands
 Similar structures
EGM Platform Adapter
Persistency
Adapter
G2S Classes
Application Services
EGM Platform
Technical Services
Foundation (Platform Abstraction)
Slide 13
Protocol versions and maintenance
 Currently 2 major G2S version branches (1.0.3 and 2.0.3)
 Only deployment of version 1.0.3 is publicly known
 Several S2S versions released
 Several version deployed
 Several dialects
 Interoperability problems quite common
 Maintenance cost can be considerable
 Upgrades to new versions
 Interoperability fixes
 Backward compatibility issues
 Using a generic implementation is a good path to
 Reduce costs,
 Reduce interoperability issues and
 Shorten time to market
 HSL host implementation provides multi-version support
Slide 14
Supporting G2S tools
 Needed for stack development and testing
 Internal tools allow our own pace for supporting new versions
 Possibility to develop different incarnations
 Complex GUI for manual testing
 Console application for load/performance testing
 Scriptable client for test automation
Slide 15
Testing
 Unit testing
 over 200 unit tests, cover all G2S commands
 System testing
 test cases for each class ( 30-100 test cases per class)
 Automation
 host simulator workflows
 Performance
 latency and CPU usage measurement
 Stress testing
 using command line EGM simulator
 EGM simulator instance with 200 game devices ~16MB of RAM
 for 1000 instances, 16GB RAM.
Slide 16
Interoperability
 Problems seen:




optional commands, elements and attributes
protocol versioning
protocol backward compatibility is not 100%
problems with extensions
 How to improve:




defensive approach to design and implementation
design with multi-version in mind
version and extension agnostic APIs design
protocols need to improve in this area too
Slide 17
What is still ahead of us
 Wider product support (both host and EGM side)
 Push seen from distributed gaming side (lotteries)
 Individual deployments with some operators
 Push in some jurisdictions
 Initial interoperability issues resolved
 Still a lot of work needed
 Improvements in products based on new features available
 Bigger push /need from operators will come after that
Slide 18
Questions?
Slide 19