Historical data replay utilizing a computer system
First Claim
Patent Images
1. 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.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, systems and computer readable media for simulated replay of data using a computer system.
490 Citations
29 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification