Parspro Miranda
“You have often
Begun to tell me what I am, but stopp'd”
Miranda, The Tempest, William Shakespeare (1564-1616)
Launched early in 2008 and since implemented as platform of choice by several of the industry’s leading operators, Miranda is the latest generation Sports and Turf Betting Platform from Parspro.
Comprised of multiple interconnected layers, each of which is responsible for a portion of the overall business logic, the system is built on two key designs — an Event Driven Architecture (EDA) and a Data Grid (DG). Operating in tandem, these address the core requirements of scalability, extendibility, robustness, fault-tolerance, and a rapid transaction engine.
System functionality is partitioned into each of the layers, in order to boost performance and to distribute load evenly across the entire system. The Client software handles all local validation and display logic, while the Channel Servers deal with channel-specific logic, such as managing state and client connections.
Parspro Miranda Core Servers handle all risk management, player validation, betting, game and market management, while the Cache Servers form a Distributed Data Grid that is responsible for the 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 use by bookmakers, odds compilers, operators and administrators.
Fundamental to Miranda’s architecture is the concept of events and messages, by which all communications in the system are driven by messages. The use of asynchronous messages is key to achieving scalability and high performance, as processes on one layer cannot lock resources on the layer below by waiting for a response on a communications 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.
The Data Grid handles all data requests including sporting events on offer, betting markets, and results. 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 Means are exported by the Core Servers, providing real-time access to transaction counters for the entire system, as well as technical data on each internal component. Each Core Server and Channel Server exposes JMX Means on an individual basis, and cluster-wide aggregate counters are also available.
Taken together, these cutting-edge features combine to create a state-of-the art gaming platform ideal for use in all types of sports betting, horse racing, and live betting.

