ParsPro launches Miranda
Miranda is the latest generation Sports and Turf Betting Platform from ParsPro.com. The company will launch the first Horse Racing server based on this new architecture in May and plans to release a new Live Betting Server packed with new features in fall 2008.
The system is built on two key designs, an Event Driven Architecture (EDA) and a Data Grid (DG). These designs address the core requirements of scalability, extendibility, robustness, fault-tolerance, and a fast transaction engine. The system comprises multiple interconnected layers, with each layer responsible for a portion of the overall business logic.
System functionality is partitioned into each of the layers to boost performance and to distribute load evenly across the entire system. The Client software handles all local validation and display logic. Channel Servers deal with channel specific logic, managing state and client connections. The Core Servers handle all Risk Management, Player validation, Betting, Game and Market management. The Cache Servers form a Distributed Data Grid that is responsible for all system state, and for moving frequently requested data closer to the clients. The Database server provides persistent storage of all system data, and a Data Warehouse provides for reporting and data analysis.
Integration with external systems is handled by a large number of Web Services that are exposed by the Core servers.. All back office functionality is handled by a number of Console Servers for Bookmakers, Odds compilers, Operators and Administrators.
Fundamental to the system architecture is the concept of events and messages, where all communications in the system are driven by messages. The use of asynchronous messages is key to achieving scalability and high performance i.e. processes on one layer cannot lock resources on the layer below by waiting for a response on a communication channel. Incoming messages generate events within the Core, as does the addition of new servers, and server life-cycle events, such as server start-up and shutdown.
All data requests, such as available sporting events, betting markets, and results, are handled by the Data Grid. The Data Grid consists of a number of dedicated Cache Servers, and a local cache component running on each Channel and Console Server. Data objects are partitioned across the grid, with a backup of each object stored on a separate Cache Server.
Data objects are updated or loaded by cache loaders during a cache miss, or via Agents that are injected into the Data Grid. A large number of JMX MBeans are exported by the Core Servers and provide real time access to transaction counters for the entire system, and technical data concerning each internal component. Each Core Server and Channel Server exposes JMX MBeans on an individual basis, and cluster wide aggregate counters are also available.
The overall effect is a state of art gaming platform for all types of Sports betting, Horse Racing betting and Live betting

