Techniques for modeling response behavior in network computing services and applications
AssigneeAmazon Technologies, Inc.
InventorNicholas Alexander Allen
Life of this patent
Estimating the term…
Abstract
Techniques described and suggested herein include observing, monitoring and storing sequence data and lag data associated with write and read operations between an application and a service, such as a service provided by a computing resource service provider, so as to simulate or otherwise derive consistency behavior observed therewith. The sequence data and/or lag data may be used to configure a service, such as a mock service similar to the observed service, to respond in a fashion similar to the previously monitored service.
Claims19
A computer-implemented method, comprising:
- submitting a first write command to a first service to write first data;
- submitting, after the first write command, a write timestamp and a second write command to the first service to write second data different from the first data, the write timestamp corresponding to the second write command;
- submitting, after the second write command, a read command to the first service, the read command providing a result indicating the first data written by the first write command;
- determining, based at least in part on the result of the read command indicating the first data, a value based at least in part on a difference between the write timestamp that corresponds to the second write command and a read timestamp that corresponds to the read command;
- storing the value in a lag data store;
- determining, by a second service, simulated lag values from the value stored in the lag data store;
- causing the second service to delay results of write commands to be available via read commands according to a simulated lag value of the simulated lag values;
- and
- performing a test of an application that comprises transmission of a read command to the second service.
A system, comprising:
- one or more processors;
- and
- memory including instructions that, as a result of being executed by the one or more processors, cause the system to:
- submit, to a first service, a first write command to write first data;
- submit, to the first service, after the first write command, a second write command to write second data different from the first data;
- determine a time at which an effect of a read command, submitted after the second write command to the first service, indicates the first data written by the first write command;
- determine, based at least in part on an amount of time passed between submitting the second write command and the time, a value, the amount of time passed based on at least timestamp data corresponding to the second write command;
- store the value in a lag data store operably connected to the system;
- determine simulated lag values from the value stored in the lag data store;
- cause a second service to delay effects of write commands in accordance with a simulated lag value of the simulated lag values;
- and
- perform a test of an application that comprises transmission of a read command to the second service.
A non-transitory computer-readable storage medium storing executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
- submit, to a first service, a first write command to write first data to a first data store;
- submit, to the first service, after the first write command, a second write command to write a write timestamp and second data, different from the first data, to the first data store, the write timestamp corresponding to the second write command;
- determine a lag value based at least in part on a time difference between the write timestamp and submission of a read command, after submission of the second write command, that returns the first data written by the first write command;
- store the lag value in a lag data store;
- determine at least one simulated lag value from the lag value stored in the lag data store;
- cause a second service to delay results of write commands to be available via read commands according to the simulated lag value, the second service performing the write commands to a second data store different from the first data store;
- and
- perform a test of an application that comprises transmission of a read command to the second service.
Dependencies are inferred from the claim text.