# US 10,311,516 B2 · Transaction processing system performance evaluation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,311,516 B2
- Document ID: US10311516B2
- Status: Granted
- Kind: B2
- Application number: 14/735,500
- Filed: 2015-06-10
- Published: 2016-12-15
- Granted: 2019-06-04
- Earliest claimed: 2015-06-10
- Assignees: Chicago Mercantile Exchange Inc.
- Applicants: Chicago Mercantile Exchange Inc.
- Inventors: Amir Onallah
- Web page: https://patentgrep.com/patent/US10311516B2

## CPC

- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A transaction evaluation system may include a configurable and/or scalable transaction rate input model which models historical and/or recent transaction input rate patterns of a transaction processing system for a specified time period with configurable and/or scalable transactional amplitude for use in evaluating performance of the transaction processing system. The system may operate to inject particular volumes of transactions into the transaction processing system at specific times and/or periods of time.

## Claims

### Claim 1

A computer implemented method of evaluating performance of a transaction processing system, the method comprising:
identifying a pattern of transaction rates to be simulated over a length of time;
identifying a contiguous set of data elements previously processed by the transaction processing system, the set of data elements having been received by the transaction processing system in an order, the set of data elements including a greater number of data elements than the pattern;
sectioning, by a processor, a subset of the set of data elements into portions each corresponding to a transaction rate of the pattern;
determining, by the processor, a number of received data elements for the portions based on each transaction rate of the pattern;
establishing, by the processor, a number of data elements for the portions through the application of at least one multiplier to the number of received data elements for the portions;
generating, by the processor, the established number of data elements for a first portion by selectively moving data elements from a second portion of the contiguous set of data elements into the first portion, wherein the second portion is later in time than the first portion such that each portion of the sectioned subset of the set of data elements includes the established number of received data elements in the order in which they were received;
communicating, by the processor to the transaction processing system, the number of data elements from the contiguous set of data elements for the portions, the data elements communicated in the received order over the length of time; and
evaluating, by the processor, performance of the transaction processing system during or after the communicating.

### Claim 2 (depends on 1)

The method of claim 1, wherein the transaction processing system is an electronic trading system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining a multiplier for each of the portions, and wherein the at least one multiplier comprises a plurality of multipliers for the portions.

### Claim 4 (depends on 1)

The method of claim 1, wherein the at least one multiplier is configured to achieve an established average number of received data elements over the length of time.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
selecting a particular portion of the portions having the largest number of received data elements; and
wherein the at least one multiplier is configured such that the number of data elements for the particular portion achieves a pre-determined number of data elements.

### Claim 6 (depends on 1)

The method of claim 1, wherein the communicating is repeated with at least one multiple of the number of data elements for the portions.

### Claim 7 (depends on 1)

The method of claim 1, wherein the subset of the set of data elements contains a maximum density of received data elements from data elements received by the transaction system over the previous seven (7) days.

### Claim 8

A system for evaluating performance of a transaction processing system, the system comprising:
a data selector configured to identify a pattern of transaction rates to be simulated over a length of time and a contiguous set of data elements previously processed by the transaction processing system, the set of data elements having been received by the transaction processing system in an order, the set of data elements including a greater number of data elements than the pattern;
a data preparer configured to section a subset of the set of data elements into portions each corresponding to a transaction rate of the pattern, determine a number of received data elements for the portions based on each transaction rate of the pattern, establish a number of data elements for the portions through the application of at least one multiplier to the number of received data elements for the portions;
the data preparer further configured generate the established number of data elements for a first portion by selective movement of data elements from a second portion of the contiguous set of data elements into the first portion, wherein the second portion is later in time than the first portion such that each portion of the sectioned subset of the set of data elements includes the established number of received data elements in the order in which they were received;
an injector configured to communicate to the transaction processing system the number of data elements from the contiguous set of data elements for the portions, the data elements communicated in the received order over the length of time; and
a performance evaluator configured to evaluate performance of the transaction processing system during or after the communication of the number of data elements.

### Claim 9 (depends on 8)

The system of claim 8, wherein the transaction processing system is an electronic trading system.

### Claim 10 (depends on 8)

The system of claim 8, wherein the data preparer is further configured to be executable by the processor to cause the processor to determine a multiplier for each of the portions, and wherein the at least one multiplier comprises a plurality of multipliers for the portions.

### Claim 11 (depends on 8)

The system of claim 8, wherein the at least one multiplier is configured to achieve an established average number of received data elements over the length of time.

### Claim 12 (depends on 8)

The system of claim 8, wherein the data preparer is further configured to be executable by the processor to cause the processor to select a particular portion of the portions having the largest number of received data elements; and
wherein the at least one multiplier is configured such that the number of data elements for the particular portion achieves a pre-determined number of data elements.

### Claim 13 (depends on 8)

The system of claim 8, wherein the injector is configured to be executable by the processor to cause the processor to repeat the communication with at least one multiple of the number of data elements for the portions.

### Claim 14 (depends on 8)

The system of claim 8, wherein the subset of the set of data elements contains a maximum density of received data elements from data elements received by the transaction system over an immediately previous number of days.

### Claim 15

A computer system configured for evaluating performance of a transaction processing system, the system comprising:
a memory operable to store a contiguous set of data elements previously processed by the transaction processing system, the set of data elements having been received by the transaction processing system in an order; and
a computer processor, coupled with the memory, the computer processor configured to:
identify a pattern of transaction rates to be simulated over a length of time and a contiguous set of data elements, the set of data elements including a greater number of data elements than the pattern;
section a subset of the set of data elements into portions each corresponding to a transaction rate of the pattern;
determine a number of received data elements for the portions based on each transaction rate of the pattern;
establish a number of data elements for the portions through the application of at least one multiplier to the number of received data elements for the portions;
generate the established number of data elements for a first portion by selective movement of data elements from a second portion of the contiguous set of data elements into the first portion, wherein the second portion is later in time than the first portion such that each portion of the sectioned subset of the set of data elements includes the established number of received data elements in the order in which they were received;
inject into the transaction processing system the number of data elements from the contiguous set of data elements for the portions, the data elements communicated in the received order over the length of time; and
evaluate performance of the transaction processing system during or after the injection of the data elements.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processor is further configured to determine a multiplier for each of the portions, and wherein the at least one multiplier comprises a plurality of multipliers for the portions.

### Claim 17 (depends on 15)

The system of claim 15, wherein the at least one multiplier is configured to achieve an established average rate of received data elements over the length of time.

### Claim 18 (depends on 15)

The system of claim 15, wherein the processor is further configured to select a particular portion of the portions having the largest number of received data elements; and
wherein the at least one multiplier is configured such that the number of data elements for the particular portion achieves a pre-determined number of data elements.

### Claim 19 (depends on 15)

The system of claim 15, wherein the processor is further configured to repeat the communication with at least one multiple of the number of data elements for the portions.

### Claim 20 (depends on 15)

The system of claim 15, wherein the subset of the set of data elements contains a maximum density of received data elements from a collection of data elements previously received by the transaction system.

### Claim 21

A non-transitory computer readable medium including instructions for evaluating performance of a transaction processing system, that when executed by a processor are operable to cause a computer system to:
identify a pattern of transaction rates to be simulated over a length of time and a contiguous set of data elements previously processed by the transaction processing system, the set of data elements having been received by the transaction processing system in an order, the set of data elements including a greater number of data elements than the pattern;
section a subset of the set of data elements into portions each corresponding to a transaction rate of the pattern;
determine a number of received data elements for the portions based on each transaction rate of the pattern;
establish a number of data elements for the portions through the application of at least one multiplier to the number of received data elements for the portions;
generate the established number of data elements for a first portion by selective movement of data elements from a second portion of the contiguous set of data elements into the first portion, wherein the second portion is later in time than the first portion such that each portion of the sectioned subset of the set of data elements includes the established number of received data elements in the order in which they were received;
communicate to the transaction processing system the number of data elements from the contiguous set of data elements for the portions, the data elements communicated in the received temporal order over the length of time; and
evaluate performance of the transaction processing system during or after the communicating.
