# US 9,436,566 B2 · Methods, systems, and computer readable media for scaling a workload

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

- Number: US 9,436,566 B2
- Document ID: US9436566B2
- Status: Granted
- Kind: B2
- Application number: 14/445,921
- Filed: 2014-07-29
- Published: 2016-02-04
- Granted: 2016-09-06
- Earliest claimed: 2014-07-29
- Assignees: Ixia
- Applicants: Ixia
- Inventors: Sumit Panda; Sujit Kundu; Pratyush Kumar Khan; Narottam Pattanayak
- Web page: https://patentgrep.com/patent/US9436566B2

## CPC

- G06F 11/263: Generation of test inputs, e.g. test vectors, patterns or sequences {; with adaptation of the tested hardware for testability with external testers}
- G06F 11/2205: {using arrangements specific to the hardware being tested}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 2201/87: Monitoring of transactions
- G06F 2201/875: Monitoring of systems including the internet
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and computer readable media for scaling a workload are disclosed. According to one exemplary method, the method occurs at a network equipment test device. The method includes generating a first workload comprising a plurality of messages associated with one or more transactions. The method also includes determining one or more workload segments in the first workload, wherein each of the one or more workload segments represents one or more messages associated with a particular transaction and generating a second workload using the one or more workload segments, wherein the second workload includes a number of the workload segments based on a workload scale attribute.

## Claims

### Claim 1

A method for scaling a workload, the method comprising:
at a network equipment test device:
generating a first workload comprising a plurality of messages associated with one or more transactions;
determining one or more workload segments in the first workload, wherein each of the one or more workload segments represents one or more messages associated with a particular transaction, wherein the first workload includes a first workload segment for reading, writing, or accessing a first amount of data in a first logical unit (LU); and
generating a second workload using the one or more workload segments, wherein the second workload includes a number of the workload segments, wherein the second workload includes a scaled workload segment based on the first workload segment and a workload scale attribute, wherein the scaled workload segment is for reading, writing, or accessing a second amount of data in a second LU, wherein the second amount of data is determined based on the first amount of data and a storage size of the second LU.

### Claim 2 (depends on 1)

The method of claim 1 comprising:
sending messages associated with the second workload to a system under test.

### Claim 3 (depends on 1)

The method of claim 1 wherein the workload scale attribute includes a workload data transfer length, a workload data rate, or a workload duration.

### Claim 4 (depends on 1)

The method of claim 1 wherein the first workload is generated based on messages detected using a message capture process.

### Claim 5 (depends on 4)

The method of claim 4 wherein the messages detected using a message capture process are filtered and stored in an extensible markup language (XML) file usable for representing the first workload.

### Claim 6 (depends on 1)

The method of claim 1 wherein the workload segments in the first workload are in a sequence that is different from the workload segments in the second workload.

### Claim 7 (depends on 1)

The method of claim 1 wherein a sequence for the workload segments in the second workload is determined using a pseudo-random selection process, wherein a particular workload segment is selected once from a plurality of workload segments.

### Claim 8 (depends on 1)

The method of claim 1 wherein messages in the second workload are modified using target environment information, a target identifier, a target parameter, a target block size, a target capacity, configuration information, or user preference information.

### Claim 9 (depends on 1)

The method of claim 1 wherein the second workload includes messages associated with small computer system interface (SCSI) commands, internet SCSI (iSCSI) commands, network attached storage (NAS) commands, network file system (NFS) commands, server message block (SMB) commands, common Internet file system (CIFS) commands, storage area network (SAN) commands, or input and/or output (I/O) commands.

### Claim 10

A system for scaling a workload, the system comprising:
a network equipment test device comprising at least one processor and memory:
a workload module implemented using the at least one processor and the memory, wherein the workload module is configured to generate a first workload comprising a plurality of messages associated with one or more transactions, to determine one or more workload segments in the first workload, wherein each of the one or more workload segments represents one or more messages associated with a particular transaction, wherein the first workload includes a first workload segment for reading, writing, or accessing a first amount of data in a first logical unit (LU), and to generate a second workload using the one or more workload segments, wherein the second workload includes a number of the workload segments, wherein the second workload includes a scaled workload segment based on the first workload segment and a workload scale attribute, wherein the scaled workload segment is for reading, writing, or accessing a second amount of data in a second LU, wherein the second amount of data is determined based on the first amount of data and a storage size of the second LU.

### Claim 11 (depends on 10)

The system of claim 10 wherein the workload module is configured to send messages associated with the second workload to a system under test.

### Claim 12 (depends on 10)

The system of claim 10 wherein the workload scale attribute includes a workload data transfer length, a workload data rate, or a workload duration.

### Claim 13 (depends on 10)

The system of claim 10 wherein the first workload is generated based on messages detected using a message capture process.

### Claim 14 (depends on 13)

The system of claim 13 wherein the messages detected using a message capture process are filtered and stored in an extensible markup language (XML) file usable for representing the first workload.

### Claim 15 (depends on 10)

The system of claim 10 wherein the workload segments in the first workload are in a sequence that is different from the workload segments in the second workload.

### Claim 16 (depends on 10)

The system of claim 10 wherein the workload module is configured to determine a sequence for the workload segments in the second workload using a pseudo-random selection process, wherein a particular workload segment is selected once from a plurality of workload segments.

### Claim 17 (depends on 10)

The system of claim 10 wherein messages in the second workload are modified using target environment information, a target identifier, a target parameter, a target block size, a target capacity, configuration information, or user preference information.

### Claim 18 (depends on 10)

The system of claim 10 wherein the second workload includes messages associated with small computer system interface (SCSI) commands, internet SCSI (iSCSI) commands, network attached storage (NAS) commands, network file system (NFS) commands, server message block (SMB) commands, common Internet file system (CIFS) commands, storage area network (SAN) commands, or input and/or output (I/O) commands.

### Claim 19

A non-transitory computer readable medium comprising computer executable instructions embodied in the computer readable medium that when executed by a processor of a computer perform steps comprising:
at a network equipment test device:
generating a first workload comprising a plurality of messages associated with one or more transactions;
determining one or more workload segments in the first workload, wherein each of the one or more workload segments represents one or more messages associated with a particular transaction, wherein the first workload includes a first workload segment for reading, writing, or accessing a first amount of data in a first logical unit (LU); and
generating a second workload using the one or more workload segments, wherein the second workload includes a number of the workload segments, wherein the second workload includes a scaled workload segment based on the first workload segment and a workload scale attribute, wherein the scaled workload segment is for reading, writing, or accessing a second amount of data in a second LU, wherein the second amount of data is determined based on the first amount of data and a storage size of the second LU.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19 comprising:
sending messages associated with the second workload to a system under test.
