Historical data replay utilizing a computer system
AssigneeDeephaven Data Labs LLC
InventorsDavid R. Kent, IV, Ryan Caudy, Charles Wright, Oleg Vydrov, Radu Teodorescu
Life of this patent
Estimating the term…
Abstract
Described are methods, systems and computer readable media for simulated replay of data using a computer system.
Claims29
A computer system for using a production environment to execute query programs in a simulated mode, the system comprising:
- one or more processors;
- computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
- establishing a digital connection between a query processor and a query client device;
- receiving real-time data and storing historical data in the production environment;
- receiving at the query processor, a first query program with one or more first configuration instructions from the query client device;
- the query processor determining from the one or more first configuration instructions from the query client device that a real-time mode is to be used when executing the first query program;
- the query processor executing, in the real-time mode, the first query program in the production environment using production system code;
- receiving at the query processor, a second query program with one or more second configuration instructions from the query client device;
- the query processor parsing the one or more second configuration instructions;
- the query processor determining from the one or more second configuration instructions from the query client device that a simulation mode is to be used when executing the second query program;
- the query processor extracting a simulation period from the one or more second configuration instructions;
- the query processor determining from the one or more second configuration instructions a simulation clock cycle and a clock cycle speed;
- and
- while the system receives new real-time data and stores new historical data in the production environment, the query processor switching modes and executing, in the simulation mode, the second query program in the production environment using the same production system code used to execute the first query program in the real-time mode, the executing the second query program comprising:
- preventing the second query program from accessing the new real-time data;
- generating an update propagation graph (UPG) based on the second query program, the UPG having a plurality of nodes each corresponding to one of a plurality of data objects referenced by the second query program, the UPG having a structure representing the dependencies between the plurality of data objects in the second query program;
- requesting real-time data simulated from the historical data stored in the production environment;
- and
- for each clock cycle for the simulation period:
- starting a simulated clock cycle;
- determining data changes in the clock cycle;
- applying the data changes according to an order determined by the UPG;
- and
- updating dynamic simulated real-time action system dynamic tables.
A method for using a computer system in a production environment to execute query programs in a simulated mode, the method comprising:
- establishing a digital connection between a query processor and a query client device;
- the computer system receiving real-time data and storing historical data in the production environment;
- receiving at the query processor, a first query program with one or more first configuration instructions from the query client device;
- the query processor determining from the one or more first configuration instructions from the query client device that a real-time mode is to be used when executing the first query program;
- the query processor executing, in the real-time mode, the first query program in the production environment using production system code;
- receiving at the query processor, a second query program with one or more second configuration instructions from the query client device;
- the query processor parsing the one or more second configuration instructions;
- the query processor determining from the one or more second configuration instructions from the query client device that a simulation mode is to be used when executing the second query program;
- the query processor extracting a simulation period from the one or more second configuration instructions;
- and
- while the system receives new real-time data and stores new historical data in the production environment, the query processor switching modes and executing, in the simulation mode, the second query program in the production environment using the same production system code used to execute the first query program in the real-time mode, the executing the second query program comprising:
- preventing the second query program from accessing the new real-time data;
- and
- requesting real-time data simulated from the historical data stored in the production environment.
A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors of a computer system, cause the one or more processors to perform operations including:
- establishing a digital connection between a query processor and a query client device;
- the computer system receiving real-time data and storing historical data in a production environment;
- receiving at the query processor, a first query program with one or more first configuration instructions from the query client device;
- the query processor determining from the one or more first configuration instructions from the query client device that a real-time mode is to be used when executing the first query program;
- the query processor executing, in the real-time mode, the first query program in the production environment using production system code;
- receiving at the query processor, a second query program with one or more second configuration instructions from the query client device;
- the query processor parsing the one or more second configuration instructions;
- the query processor determining from the one or more second configuration instructions from the query client device that a simulation mode is to be used when executing the second query program;
- the query processor extracting a simulation period from the one or more second configuration instructions;
- and
- while the computer system receives new real-time data and stores new historical data in the production environment, the query processor switching modes and executing, in the simulation mode, the second query program in the production environment using the same production system code used to execute the first query program in the real-time mode, the executing the second query program comprising:
- preventing the second query program from accessing the new real-time data;
- and
- requesting real-time data simulated from the historical data stored in the production environment.
Dependencies are inferred from the claim text.