IP Library Granted Patent US 10,194,004
Granted Patent B2
US 10,194,004 · App. 15/283,366 · Granted Jan 29, 2019

Client in distributed computing system that monitors request time and operation time in order to detect performance problems and automatically issue alerts

Inventor: John Gyorffy (Abbotsford, CA)
Assignee: Guest Tek Interactive Entertainment Ltd.
H04L67/42G06F11/0709G06F11/0757G06F11/3419H04L41/06H04L41/0686H04L43/0852H04L43/0876H04L43/16G06F11/0766G06F11/3495
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,194,004
App. No.
15/283,366
Granted
Jan 29, 2019
Kind
B2
Abstract

A client device sends a request to a server via a network and times a request time duration while waiting for results to be received. The client further times 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. After receiving the results from the server, a processor of the client is operable 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 performed by the client device. The processor further subtracts the request time duration from the operation time duration to thereby calculate a client processing time duration, and transmits one or more alert messages to a network operation center when the client processing time duration is greater than the client processing time threshold.

Claims (64)

1. A client device that sends a request to a server via a network in a distributed computing system, the client device 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;

the timer 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;

a network interface coupled to the network for sending the request to the server and receiving the results from the server; and

a processor coupled to the timer and the network interface;

wherein, after receiving the results from the server, the processor is configured by executing software loaded from a memory 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 performed by the client device, subtract the request time duration from the operation time duration to thereby calculate a client processing time duration, transmit one or more alert messages to a network operation center (NOC) via the network when the client processing time duration is greater than the client processing time threshold, and include at least an operation type identifier corresponding to the type of the operation, and values of the client processing time duration and the client processing time threshold in the one or more alert messages.

2. The client device of claim 1 , wherein:

the previous operations by the client device are of a plurality of types; and

the processor is further configured to dynamically calculate the client processing time threshold according to historic client processing time durations of only previous operations of a same type as the operation.

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

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

5. The client device of claim 1 , 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.

6. The client device of claim 1 , further comprising:

a storage device storing a log of historic operation time durations for the previous operations by the client device;

wherein the processor is further configured to dynamically calculate the client processing time threshold according to a moving averaging of historic operation time durations for a plurality of the previous operations in the log.

7. The client device of claim 6 , wherein:

the storage device further stores in the log an operation type for each of the previous operations; and

the processor is further configured to dynamically calculate the client processing time threshold for a particular operation type according to a moving averaging of the historic client processing time durations for a plurality of the previous operations of the particular operation type in the log.

8. A method of detecting performance problems in a distributed computing system, the method comprising:

sending a request from a client device to a server via a network;

timing by the client device a request time duration substantially including a period of time that the client device is waiting for results to be received from the server in response to the request;

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;

receiving by the client device the results from the server;

dynamically calculating a client processing time threshold at least according to a type of the operation and historic time durations for one or more previous operations performed by the client device;

subtracting the request time duration from the operation time duration to thereby calculate a client processing time duration;

transmitting one or more alert messages to a network operation center (NOC) via the network when the client processing time duration is greater than the client processing time threshold; and

capping a maximum value of the client processing time threshold for each of a plurality of types of operations according to one or more threshold configuration messages received via the network.

9. The method of claim 8 , further comprising dynamically calculating the client processing time threshold according to historic client processing time durations of only previous operations of a same type as the operation.

10. The method of claim 9 , further comprising dynamically calculating the client processing time threshold according to an average historic client processing time duration of the previous requests of the same type.

11. The method of claim 8 , further comprising including at least an operation type identifier corresponding to the type of the operation, and values of the client processing time duration and the client processing time threshold in the one or more alert messages.

12. The method of claim 8 , further 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.

13. The method of claim 8 , further comprising:

storing a log of historic operation time durations for the previous operations by the client device; and

dynamically calculating the client processing time threshold according to a moving averaging of historic operation time durations for a plurality of the previous operations in the log.

14. The method of claim 13 , further comprising:

storing in the log an operation type for each of the previous operations; and

dynamically calculating the client processing time threshold for a particular operation type according to a moving averaging of the historic client processing time durations for a plurality of the previous operations of the particular operation type in the log.

15. A non-transitory computer-readable medium comprising computer executable instructions that when executed by a computer cause the computer to perform a method of detecting performance problems in a distributed computing system, the method comprising:

sending a request from a client device to a server via a network;

timing by the client device a request time duration substantially including a period of time that the client device is waiting for results to be received from the server in response to the request;

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;

receiving by the client device the results from the server;

dynamically calculating a client processing time threshold at least according to a type of the operation and historic time durations for one or more previous operations performed by the client device;

subtracting the request time duration from the operation time duration to thereby calculate a client processing time duration;

transmitting one or more alert messages to a network operation center (NOC) via the network when the client processing time duration is greater than the client processing time threshold; and

dynamically calculating the client processing time threshold according to historic client processing time durations of only previous operations of a same type as the operation.

16. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises dynamically calculating the client processing time threshold according to an average historic client processing time duration of the previous requests of the same type.

17. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises including at least an operation type identifier corresponding to the type of the operation, and values of the client processing time duration and the client processing time threshold in the one or more alert messages.

18. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

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.

19. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

storing a log of historic operation time durations for the previous operations by the client device; and

dynamically calculating the client processing time threshold according to a moving averaging of historic operation time durations for a plurality of the previous operations in the log.

20. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

storing in the log an operation type for each of the previous operations; and

dynamically calculating the client processing time threshold for a particular operation type according to a moving averaging of the historic client processing time durations for a plurality of the previous operations of the particular operation type in the log.

Assignments (2)
SECURITY INTEREST Recorded May 16, 2023
From: GUEST TEK INTERACTIVE ENTERTAINMENT LTD.
To: BANK OF MONTREAL
Reel/Frame 064176/0385 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2016
From: GYORFFY, JOHN
To: GUEST TEK INTERACTIVE ENTERTAINMENT LTD.
Reel/Frame 039916/0837 →
Continuity (4)
Continuation 14480206 · Sep 8, 2014
Continuation 13975596 · Aug 26, 2013
Continuation 12974250 · Dec 21, 2010
Related Publication 20170026495A1 · Jan 26, 2017