# US 7,610,381 B2 · System and method for evaluating a capacity of a streaming media server for supporting a workload

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

- Number: US 7,610,381 B2
- Document ID: US7610381B2
- Status: Granted
- Kind: B2
- Application number: 10/660,978
- Filed: 2003-09-12
- Published: 2005-03-17
- Granted: 2009-10-27
- Earliest claimed: 2003-09-12
- Assignees: Hewlett-Packard Development Company, L.P.
- Inventors: Ludmila Cherkasova; Wenting Tang
- Web page: https://patentgrep.com/patent/US7610381B2

## CPC

- H04L 65/80: Responding to QoS
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 65/70: Media network packetisation
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method comprises receiving, into a capacity planning tool, configuration information for at least one streaming media server. The method further comprises receiving, into the capacity planning tool, workload information for a workload of client accesses of streaming media files from a server, and the capacity planning tool evaluating a capacity of the at least one streaming media server for supporting the workload.

## Claims

### Claim 1

A method comprising:
receiving, into a capacity planning tool executed in a computer system, configuration information for at least one streaming media server, wherein the configuration information comprises a single file benchmark and a unique file benchmark for the at least one streaming media server, wherein the single file benchmark measures a streaming media server capacity when all clients in a test workload are accessing a single file, and wherein the unique file benchmark measures the streaming media server capacity when each client in the test workload is accessing a different file;
receiving, into said capacity planning tool, workload information for a workload of client accesses of streaming media files from a server; and
said capacity planning tool evaluating, based on said configuration information, a capacity of the at least one streaming media server for supporting the workload.

### Claim 2 (depends on 1)

The method of claim 1 wherein said configuration information includes identification of size of memory of said at least one streaming media server.

### Claim 3 (depends on 2)

The method of claim 2 wherein said configuration information further includes disk configuration of said at least one streaming media server.

### Claim 4 (depends on 1)

The method of claim 1 wherein said workload information includes identification of number of concurrent client accesses of said streaming media files over a period of time.

### Claim 5 (depends on 4)

The method of claim 4 wherein said workload information further includes identification of a corresponding encoding bit rate of each of said streaming media files accessed.

### Claim 6 (depends on 1)

The method of claim 1 wherein said workload information comprises information from an access log collected over a period of time.

### Claim 7 (depends on 1)

The method of claim 1 wherein said evaluating comprises:
computing a cost corresponding to resources of said at least one streaming media server that are consumed in supporting the workload.

### Claim 8 (depends on 7)

The method of claim 7 wherein said computing said cost comprises:
computing a cost of consumed resources for a stream in said workload having a memory access to a streaming media file; and
computing a cost of consumed resources for a stream in said workload having a disk access to a streaming media file.

### Claim 9 (depends on 1)

The method of claim 1 wherein said evaluating comprises:
computing a service demand for said at least one streaming media server supporting said workload.

### Claim 10

A method comprising:
receiving, into a capacity planning tool executed in a computer system, configuration information for at least one streaming media server;
receiving, into said capacity planning tool, workload information for a workload of client accesses of streaming media files from a server;
said capacity planning tool evaluating a capacity of the at least one streaming media server for supporting the workload;
wherein said evaluating comprises computing a service demand for said at least one streaming media server supporting said workload; and
wherein said computing said service demand comprises computing:
Demand
=
∑
i
=
1
K
W
⁢
N
X
W
i
memory
×
cost
X
W
i
memory
+
∑
i
=
1
K
W
⁢
N
X
W
i
disk
×
cost
X
W
i
disk
,
wherein the workload W comprises XW=X1, . . . , Xkw set of different encoded bit rates of files served in the workload,
N
X
W
i
memory
is a number of streams in the workload having a memory access to a subset of files encoded at XWi Kb/s,
cos
⁢
⁢
t
X
W
i
memory
is a cost of consumed resources for a stream having a memory access to a file encoded at XWi Kb/s,
N
X
W
i
memory
is a number of streams in the workload having a disk access to a subset of files encoded at XWi Kb/s, and
cost
X
W
i
memory
is a cost of consumed resources for a stream having a disk access to a file encoded at XWi Kb/s.

### Claim 11 (depends on 1)

The method of claim 1 further comprising:
receiving at least one service parameter.

### Claim 12 (depends on 11)

The method of claim 11 wherein said at least one service parameter comprises information identifying at least one performance criteria desired to be satisfied by said at least one streaming media server under the workload.

### Claim 13 (depends on 12)

The method of claim 12 wherein said at least one performance criteria specifies a minimum percentage of time that said at least one streaming media server is desired to be capable of supporting the workload.

### Claim 14 (depends on 11)

The method of claim 11 wherein said at least one service parameter comprises information identifying a constraint.

### Claim 15 (depends on 11)

The method of claim 11 wherein said evaluating further comprises:
evaluating whether said at least one streaming media server satisfies said at least one service parameter.

### Claim 16

Computer-executable software code stored to a computer-readable medium, the computer-executable software code comprising:
code executable in a computer system for receiving workload information for a workload of client accesses of streaming media files from a server; and
code executable in the computer system for employing a cost function derived for at least one system configuration from a single file benchmark and a unique file benchmark for evaluating a capacity of the at least one system configuration for supporting the workload, wherein the single file benchmark measures a streaming media server capacity when all clients in a test workload are accessing a single file, and wherein the unique file benchmark measures the streaming media server capacity when each client in the test workload is accessing a different file.

### Claim 17 (depends on 16)

Computer-executable software code of claim 16 further comprising:
code executable in the computer system for receiving configuration information for said at least one system configuration.

### Claim 18 (depends on 16)

Computer-executable software code of claim 16 wherein said code for evaluating a capacity of at least one system configuration for supporting the workload comprises:
code for determining whether said at least one system configuration is capable of supporting said workload in accordance with at least one service parameter.

### Claim 19 (depends on 18)

Computer-executable software code of claim 18 wherein said at least one service parameter comprises information identifying at least one performance criteria desired to be satisfied by said at least one system configuration under the workload.

### Claim 20 (depends on 16)

Computer-executable software code of claim 16 further comprising:
code executable in the computer system for generating a workload profile for the received workload information.

### Claim 21 (depends on 20)

Computer-executable software code of claim 20 wherein the received workload information comprises an access log collected over a period of time.

### Claim 22 (depends on 20)

Computer-executable software code of claim 20 wherein said workload profile comprises:
for a plurality of different points in time, identification of a number of concurrent client accesses, wherein the number of concurrent client accesses are categorized into corresponding encoding bit rates of streaming media files accessed thereby and are further sub-categorized into either memory or disk accesses.

### Claim 23 (depends on 16)

Computer-executable software code of claim 16 wherein said code for evaluating comprises:
code for generating a service demand profile for said at least one system configuration.

### Claim 24 (depends on 16)

Computer-executable software code of claim 16 wherein said code for evaluating a capacity of at least one system configuration comprises:
code for evaluating a capacity of a plurality of different system configurations and determining an optimal one of said plurality of different system configurations for supporting the workload.

### Claim 25

A system comprising:
means for receiving configuration information for a plurality of different system configurations, wherein the configuration information comprises, for each of the plurality of different system configurations, a corresponding single file benchmark and unique file benchmark, wherein said single file benchmark measures capacity of the corresponding system configuration for serving a population of clients that all access a same file, wherein said unique file benchmark measures capacity of the corresponding system configuration for serving a population of clients that all access different files;
means for receiving workload information for a workload of client accesses of streaming media files from a server; and
means for evaluating, based on the configuration information, the capacity of each of said plurality of different system configurations for supporting said workload.

### Claim 26 (depends on 25)

The system of claim 25 further comprising:
means for determining an optimal one of said plurality of different system configurations for supporting said workload.

### Claim 27 (depends on 26)

The system of claim 26 wherein said means for determining an optimal one of said plurality of different system configurations for supporting said workload determines a most cost-effective one of said plurality of different system configurations for supporting said workload according to determined service parameters.

### Claim 28 (depends on 1)

The method of claim 1 further comprising:
deriving, by said capacity planning tool, from the single file benchmark and unique file benchmark, a cost function for measuring the capacity of the at least one streaming media server for supporting the workload.

### Claim 29 (depends on 1)

The method of claim 1 wherein said evaluating comprises computing a service demand for said at least one streaming media server supporting said workload; and
wherein said computing said service demand comprises computing:
Demand
=
∑
i
=
1
K
W
⁢
⁢
N
X
W
i
⁢
memory
×
cos
⁢
⁢
t
X
W
i
memory
+
∑
i
=
1
K
W
⁢
N
X
W
i
disk
×
cos
⁢
⁢
t
X
W
i
disk
,
wherein the workload W comprises XW=X1, . . . , Xkw set of different encoded bit rates of files served in the workload,
N
X
W
i
memory
is a number of streams in the workload having a memory access to a subset of files encoded at XWi Kb/s,
cos
⁢
⁢
t
X
W
i
memory
is a cost of consumed resources for a stream having a memory access to a file encoded at XWi Kb/s,
N
X
w
i
disk
is a number of streams in the workload having a disk access to a subset of files encoded at XWi Kb/s, and
cost
X
W
i
disk
is a cost of consumed resources for a stream having a disk access to a file encoded at XWi Kb/s.

### Claim 30

A method executable by a computer system, comprising:
determining results of a single file benchmark for each of a plurality of encoding bit rates of a single file served by at least a first streaming media server configuration, wherein the result of the single file benchmark for a given encoding bit rate identifies the maximum number of concurrent streams of the single file that the at least a first streaming media server configuration can supply to a population of clients at the given encoding bit rate;
determining results of a unique file benchmark for each of said plurality of encoding bit rates, wherein the result of the unique file benchmark for a given encoding bit rate identifies the maximum number of concurrent streams of different files that the at least a first streaming media server configuration can supply to the population of clients at the given encoding bit rate;
deriving, from the results of the single file benchmark and unique file benchmark, a cost function;
receiving, into a capacity planning tool, workload information for a workload of client accesses of streaming media files from a server; and
using, by the capacity planning tool, the cost function for said at least a first streaming media server configuration for evaluating a capacity of the at least a first streaming media server configuration for supporting the workload.
