# US 8,543,868 B2 · Distributed computing system that monitors client device request time and server servicing time in order to detect performance problems and automatically issue alerts

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

- Number: US 8,543,868 B2
- Document ID: US8543868B2
- Status: Granted
- Kind: B2
- Application number: 12/974,250
- Filed: 2010-12-21
- Published: 2012-06-21
- Granted: 2013-09-24
- Earliest claimed: 2010-12-21
- Assignees: Guest Tek Interactive Entertainment Ltd.
- Applicants: John Gyorffy
- Inventors: John Gyorffy
- Web page: https://patentgrep.com/patent/US8543868B2

## CPC

- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/3419: {by assessing time}
- H04L 41/06: Management of faults, events, alarms or notifications
- H04L 41/0686: Additional information in the notification, e.g. enhancement of specific meta-data
- H04L 43/0852: Delays
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/16: Threshold monitoring
- G06F 11/0766: {Error or fault reporting or storing}
- G06F 11/3495: {for systems}
- H04L 67/1027: Persistence of sessions during load balancing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A client device in a distributed system may include a timer for timing a request time duration substantially including a period of time that the client device is waiting for results to be received via a network from a server in response to a request sent by the client device. A network interface may receive a value of a service time duration from the server. The service time duration may correspond to time that the server spent servicing the request. A processor may subtract the service time duration from the request time duration to thereby calculate a difference time duration, and automatically control the network interface to issue one or more alert messages to a network operation center (NOC) via the network when the difference time duration is greater than a difference time threshold. The difference time threshold may be determined according to a type of the request.

## Claims

### Claim 1

A client device that sends a request to a server via a network in a distributed computing system, the client device having comprising:
a timer for timing a request time duration substantially including a period of time that the client device is waiting for results to be received via the network from the server in response to the request sent by the client device;
a network interface coupled to the network for receiving a value of a service time duration from the server, the service time duration substantially corresponding to a period of time that the server spent servicing the request in order to provide the results; and
a processor coupled to the timer and the network interface;
wherein, after receiving the value of the service time duration for the request, the processor is configured to subtract the service time duration from the request time duration to thereby calculate a difference time duration, and to automatically control the network interface to issue one or more alert messages to a network operation center (NOC) via the network when the difference time duration is greater than a difference time threshold; and
the processor is further configured to dynamically calculate the difference time threshold according to historic request time durations and historic service time durations respectively timed by the timer and received by the network interface for a plurality of previous requests sent by the client device.

### Claim 2 (depends on 1)

The client device of claim 1, wherein:
the previous requests sent by the client device are of a plurality of types; and
the processor is further configured to dynamically calculate the difference time threshold according to historic time durations of only previous requests of a same type as the request.

### Claim 3 (depends on 2)

The client device of claim 2, wherein the processor is further configured to dynamically calculate the difference time threshold according to an average historic difference time duration of the previous requests of the same type.

### Claim 4 (depends on 2)

The client device of claim 2, wherein the processor is further configured to cap a maximum value of the difference time threshold for each of a plurality of types of requests according to one or more threshold configuration messages received via the network.

### Claim 5 (depends on 2)

The client device of claim 2, wherein the processor is configured to include at least a request type identifier corresponding to the type of the request, and values of the difference time duration and the difference time threshold in the one or more alert messages.

### Claim 6 (depends on 5)

The client device of claim 5, wherein:
the client device is utilized by at least one user for operating on a plurality of cases;
the request is made by the client device as a result of the user operating on a particular case; and
the processor is further configured to include a case identifier corresponding to the particular case in the one or more alert messages.

### Claim 7 (depends on 1)

The client device of claim 1, wherein:
the timer is further for timing an operation time duration substantially corresponding to a period of time that the client device is performing an operation that causes the client device to make the request; and
the processor is further configured to dynamically calculate a client processing time threshold at least according to a type of the operation and historic time durations for one or more previous operations of a same type performed by the client device, subtract the request time duration from the operation time duration to thereby calculate a client processing time duration, and transmit one or more alert messages to the network operation center (NOC) via the network when the client processing time duration is greater than the client processing time threshold.

### Claim 8 (depends on 1)

The client device of claim 1, wherein the processor is further configured to dynamically calculate a service time threshold at least according to a type of the request and historic service time durations received by the network interface for one or more of the previous requests of a same type, and transmit one or more alert messages to the network operation center (NOC) via the network when the service time duration is greater than the service time threshold.

### Claim 9 (depends on 1)

The client device of claim 1, wherein the processor is further configured to dynamically calculate a request time threshold at least according to a type of the request and historic request time durations timed by the timer for one or more of the previous requests of a same type, and retry the request and transmit one or more alert messages to the network operation center (NOC) via the network when the request time duration is greater than the request time threshold.

### Claim 10 (depends on 1)

The client device of claim 1, further comprising:
a storage device storing a log of request type and historic time durations for the previous requests sent by the client device, the historic time durations for the previous requests in the log at least sufficient to determine a historic difference time duration for each of the previous requests;
wherein the processor is further configured to dynamically calculate the difference time threshold for a particular request type according to a moving averaging of the historic difference time durations for a plurality of the previous requests of the particular request type in the log.

### Claim 11

A method of detecting performance problems in a distributed computing system, the method comprising:
timing by a client device a request time duration substantially including a period of time that the client device is waiting for results to be received via the network from a server in response to a request sent by the client device;
receiving at the client device a value of a service time duration from the server, the service time duration substantially corresponding to a period of time that the server spent servicing the request in order to provide the results;
subtracting by the client device the service time duration from the request time duration to thereby calculate a difference time duration;
automatically issuing by the client device one or more alert messages to a network operation center (NOC) when the difference time duration is greater than a difference time threshold; and
dynamically calculating by the client device the difference time threshold according to historic request time durations and historic service time durations respectively timed and received by the client device for a plurality of previous requests sent by the client device.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
dynamically calculating the difference time threshold according to historic time durations of only previous requests of a same type as the request;
wherein the previous requests sent by the client device are of a plurality of types.

### Claim 13 (depends on 12)

The method of claim 12, further comprising dynamically calculating the difference time threshold according to an average historic difference time duration of the previous requests of the same type.

### Claim 14 (depends on 12)

The method of claim 12, further comprising capping a maximum value of the difference time threshold for each of a plurality of types of requests according to one or more threshold configuration messages received via the network.

### Claim 15 (depends on 12)

The method of claim 12, further comprising including at least a request type identifier corresponding to the type of the request, and values of the difference time duration and the difference time threshold in the one or more alert messages.

### Claim 16 (depends on 15)

The method of claim 15, comprising including a case identifier corresponding to a particular case in the one or more alert messages;
wherein the client device is utilized by at least one user for operating on a plurality of cases; and
the request is made by the client device as a result of the user operating on the particular case.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
logging at the client device request type and historic time durations for a plurality of previous requests sent by the client device, the historic time durations for the previous requests at least sufficient to determine a historic difference time duration for each of the previous requests; and
dynamically calculating by the client device the difference time threshold for a particular request type according to a moving averaging of the historic difference time durations for a plurality of the previous requests of the particular request type as logged.

### Claim 18 (depends on 11)

The method of claim 11, further comprising:
dynamically calculating a service time threshold at least according to a type of the request and historic service time durations received by the client device for one or more of the previous requests of a same type; and
transmitting one or more alert messages to the network operation center (NOC) via the network when the service time duration is greater than the service time threshold.

### Claim 19 (depends on 11)

The method of claim 11, further comprising:
dynamically calculating a request time threshold at least according to a type of the request and historic request time durations timed by the client device for one or more of the previous requests of a same type; and
retrying the request and transmitting one or more alert messages to the network operation center (NOC) via the network when the request time duration is greater than the request time threshold.

### Claim 20

An apparatus comprising:
means for timing a request time duration substantially including a period of time that the apparatus is waiting for results to be received via a network from a server in response to a request sent to the server by the apparatus;
means for receiving a value of a service time duration the server, the service time duration substantially corresponding to a period of time that the server spent servicing the request in order to provide the results;
means for subtracting the service time duration from the request time duration to thereby calculate a difference time duration;
means for automatically issuing one or more alert messages to a network operation center (NOC) when the difference time duration is greater than a difference time threshold; and
means for dynamically calculating the difference time threshold according to historic request time durations and historic service time durations respectively timed and received for a plurality of previous requests sent by the apparatus.
