# US 2018/0024905 A1 · Method and device for identifying bottleneck candidate

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

- Number: US 2018/0024905 A1
- Document ID: US20180024905A1
- Status: Published application
- Kind: A1
- Application number: 15/647,295
- Filed: 2017-07-12
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Shinya KITAJIMA; Shinji KIKUCHI
- Web page: https://patentgrep.com/patent/US20180024905A1

## CPC

- G06F 11/3423: {where the assessed time is active or idle time}
- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes, based on communication times regarding an execution command and a response of each of a plurality of services included in a task executed two or more times, and on information on an information processing device that executes each of the plurality of services, generating a group of one or more services executed continuously by a same information processing device in each of the executions of the task, calculating a first processing time of an entirety of the one or more services in each group, calculating a second processing time per service obtained by dividing the first processing time by a number of the one or more services in each group, calculating an average processing time by averaging the second processing times for each of the plurality of services for each task, and outputting a specific service based on the average processing time.

## Claims

### Claim 1

A method executed by a computer, the method comprising:
based on communication times regarding an execution command and a response of each of a plurality of services included in a task executed two or more times, and on information on an information processing device that executes each of the plurality of services, generating a group of one or more services executed continuously by a same information processing device in each of the executions of the task;
calculating a first processing time of an entirety of the one or more services in each group;
calculating a second processing time per service obtained by dividing the first processing time by a number of the one or more services in each group;
calculating an average processing time by averaging the second processing times for each of the plurality of services for each task; and
outputting a specific service, as a bottleneck candidate, from among the plurality of services based on the average processing time for each of the plurality of services for each task.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
after the calculating of the first processing time, determining whether or not a service that waits for a response from another service is present in each of the groups based on response information that indicates a state where each of the plurality of services waits for a response from another service; and
when it is determined that the service that waits for a response is present, subtracting a processing time of a group including a service that transmits the response from a processing time of a group including the service that waits for the response.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
determining whether or not a service that waits for a response from another service is present based on response information that indicates a state where each of the plurality of services waits for a response;
when it is determined that the service that waits for the response is not present, receiving, from a relay device coupled to each of the information processing devices, a reception time at the relay device in receiving a specific execution command to execute a first service in the group, and a transmission time at the relay device in transmitting another instruction command to execute a service to be executed subsequent to the group; and
calculating the first processing time per group by subtracting the reception time from the transmission time.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
determining whether or not a service that waits for a response from another service is present based on response information that indicates a state where each of the services waits for a response;
when it is determined that the service that waits for the response is present, receiving, from a relay device coupled to each of the information processing devices, a reception time at the relay device in receiving a specific execution command to execute the services in the group including the service that waits for the response, and a transmission time at the relay device in transmitting a response command indicating a response to the execution command; and
calculating the first processing time per group by subtracting the reception time from the transmission time.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising:
displaying the bottleneck candidate and the average processing time of the bottleneck candidate based on the average processing times.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
outputting, as the bottleneck candidate, a service with the longest average processing time among the average processing times for the task.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising:
outputting, as the bottleneck candidate, a service with an average processing time greater than or equal to a predetermined threshold among the average processing times for the task.

### Claim 8

A method executed by a computer, the method comprising:
based on communication times related to processing of a plurality of services included in each of a plurality of tasks and on information on an information processing device that executes each of the plurality of services, calculating a processing time per group for each of the tasks, the group being a group of one or more services continuously executed by a same information processing device;
storing a service processing time for each task, the service processing time obtained by dividing the calculated processing time per group by a number of the services included in the group;
calculating an average processing time by averaging the service processing times for each of the tasks; and
outputting a service as a bottleneck candidate based on the calculated average processing time.

### Claim 9

A device comprising:
a memory; and
a processor coupled to the memory and configured to:
based on communication times regarding an execution command and a response of each of a plurality of services included in a task executed two or more times, and on information on an information processing device that executes each of the plurality of services, generate a group of one or more services executed continuously by a same information processing device in each of the executions of the task,
calculate a first processing time of an entirety of the one or more services in each group,
calculate a second processing time per service obtained by dividing the first processing time by a number of the one or more services in each group,
calculate an average processing time by averaging the second processing times for each of the plurality of services for each task, and
output a specific service, as a bottleneck candidate, from among the plurality of services based on the average processing time for each of the plurality of services for each task.

### Claim 10 (depends on 9)

The device according to claim 9, wherein the processor is configured to:
after a calculation of the first processing time, determine whether or not a service that waits for a response from another service is present in each of the groups based on response information that indicates a state where each of the plurality of services waits for a response from another service, and
when it is determined that the service that waits for a response is present, subtract a processing time of a group including a service that transmits the response from a processing time of a group including the service that waits for the response.

### Claim 11 (depends on 9)

The device according to claim 9, wherein the processor is configured to:
determine whether or not a service that waits for a response from another service is present based on response information that indicates a state where each of the plurality of services waits for a response,
when it is determined that the service that waits for the response is not present, receive, from a relay device coupled to each of the information processing devices, a reception time at the relay device in receiving a specific execution command to execute a first service in the group, and a transmission time at the relay device in transmitting another instruction command to execute a service to be executed subsequent to the group, and
calculate the first processing time per group by subtracting the reception time from the transmission time.

### Claim 12 (depends on 9)

The device according to claim 9, wherein the processor is configured to:
determine whether or not a service that waits for a response from another service is present based on response information that indicates a state where each of the services waits for a response,
when it is determined that the service that waits for the response is present, receive, from a relay device coupled to each of the information processing devices, a reception time at the relay device in receiving a specific execution command to execute the services in the group including the service that waits for the response, and a transmission time at the relay device in transmitting a response command indicating a response to the execution command, and
calculate the first processing time per group by subtracting the reception time from the transmission time.

### Claim 13 (depends on 9)

The device according to claim 9, wherein the processor is configured to display the bottleneck candidate and the average processing time of the bottleneck candidate based on the average processing times.

### Claim 14 (depends on 9)

The device according to claim 9, wherein the processor is configured to output, as the bottleneck candidate, a service with the longest average processing time among the average processing times for the task.

### Claim 15 (depends on 9)

The device according to claim 9, wherein the processor is configured to output, as the bottleneck candidate, a service with an average processing time greater than or equal to a predetermined threshold among the average processing times for the task.
