IP Library Granted Patent US 9,189,529
Granted Patent B2
US 9,189,529 · App. 13/834,491 · Granted Nov 17, 2015

Queue monitoring and visualization

Inventors: Mark Buxbaum (Acton, MA); Tim Wakeling (Andover, MA)
Assignee: Ab Initio Technology LLC
G06F17/30563
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 9,189,529
App. No.
13/834,491
Granted
Nov 17, 2015
Kind
B2
Abstract

A method includes receiving information provided by a data processing application during execution of the data processing application. The information is indicative of at least one of a source of data for the data processing application and a destination of data from the data processing application. The method includes dynamically analyzing the information during execution of the data processing application to identify a queue in communication with the data processing application; and dynamically analyzing the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data for the data processing application and identifying that the queue is the destination of data from the data processing application.

Claims (109)

1. A computer-implemented method including:

receiving information provided by a data processing application during execution of the data processing application, the data processing application configured to process one or more data records each having one or more fields, wherein the information is indicative of at least one of a source of data records to be processed by the data processing application and a destination of data records having been processed by the data processing application;

dynamically analyzing the information during execution of the data processing application to identify a queue in communication with the data processing application;

dynamically analyzing the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data records to be processed by the data processing application and identifying that the queue is the destination of data records having been processed by the data processing application; and

providing an output indicative of a status of the queue.

2. The computer-implemented method of claim 1 , wherein the information indicative of at least one of the source of data and the destination of data includes an identifier of the queue.

3. The computer-implemented method of claim 1 , including dynamically determining the status of the queue during execution of the data processing application.

4. The computer-implemented method of claim 1 , wherein providing an output indicative of the status of the queue includes providing a notification based on the status of the queue.

5. The computer-implemented method of claim 1 , wherein the status of the queue includes at least one of number of data records in the queue and an elapsed time associated with the queue.

6. The computer-implemented method of claim 1 , including;

determining a status of the data processing application; and

providing an output indicative of the status of the data processing application.

7. The computer-implemented method of claim 1 , including receiving an input identifying the queue.

8. The computer-implemented method of claim 7 , including identifying the data processing application based on the processing and based on the input identifying the queue.

9. The computer-implemented method of claim 1 , wherein the one or more data processing applications include computation graphs.

10. The computer-implemented method of claim 1 , including generating a visual representation of the data processing application, the queue, and the relationships between the data processing application and the queue.

11. The computer-implemented method of claim 10 , including displaying the visual representation on a user interface.

12. The computer-implemented method of claim 10 , wherein the visual representation includes a representation of the status of the queue.

13. The computer-implemented method of claim 1 , wherein the information provided by the data processing information is distinct from the data records processed by the data processing application.

14. A non-transitory computer-readable medium, including instructions for causing a computer system to:

receive information provided by a data processing application during execution of the data processing application, the data processing application configured to process one or more data records each having one or more fields, wherein the information is indicative of at least one of a source of data records to be processed by the data processing application and a destination of data records having been processed by the data processing application;

dynamically analyze the information during execution of the data processing application to identify a queue in communication with the data processing application; and

dynamically analyze the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data records to be processed by the data processing application and identifying that the queue is the destination of data records having been processed by the data processing application; and

providing an output indicative of a status of the queue.

15. The non-transitory computer-readable medium of claim 14 , wherein the information indicative of at least one of the source of data and the destination of data includes an identifier of the queue.

16. The non-transitory computer-readable medium of claim 14 , including instructions for causing the computer system to dynamically determine the status of the queue during execution of the data processing application.

17. The non-transitory computer-readable medium of claim 14 , wherein providing an output indicative of the status of the queue includes providing a notification based on the status of the queue.

18. The non-transitory computer-readable medium of claim 14 , wherein the status of the queue includes at least one of number of data records in the queue and an elapsed time associated with the queue.

19. The non-transitory computer-readable medium of claim 14 , including instructions for causing the computing system to:

determine a status of the data processing application; and

provide an output indicative of the status of the data processing application.

20. The non-transitory computer-readable medium of claim 14 , including instructions for causing the computing system to receive an input identifying the queue.

21. The non-transitory computer-readable medium of claim 14 , including instructions for causing the computing system to:

generate a visual representation of the data processing application, the queue, the relationships between the data processing application and the queue, and the status of the queue; and

display the visual representation on a user interface.

22. A computing system including:

an input port configured to receive information provided by a data processing application during execution of the data processing application, the data processing application configured to process one or more data records each having one or more fields, wherein the information is indicative of at least one of a source of data records to be processed by the data processing application and a destination of data records having been processed by the data processing application; and

at least one processor coupled to a memory, the processor and memory configured to:

dynamically analyze the information during execution of the data processing application to identify a queue in communication with the data processing application;

dynamically analyze the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data records to be processed by the data processing application and identifying that the queue is the destination of data records having been processed by the data processing application; and

providing an output indicative of a status of the queue.

23. The computing system of claim 22 , wherein the information indicative of at least one of the source of data and the destination of data includes an identifier of the queue.

24. The computing system of claim 22 , wherein the processor and memory are configured to dynamically determine the status of the queue during execution of the data processing application.

25. The computing system of claim 22 , wherein providing an output indicative of the status of the queue includes providing a notification based on the status of the queue.

26. The computing system of claim 22 , wherein the status of the queue includes at least one of number of data records in the queue and an elapsed time associated with the queue.

27. The computing system of claim 22 , wherein the processor and memory are configured to:

determine a status of the data processing application; and

provide an output indicative of the status of the data processing application.

28. The computing system of claim 22 , wherein the processor and memory are configured to receive an input identifying the queue.

29. The computing system of claim 22 , wherein the processor and memory are configured to:

generate a visual representation of the data processing application, the queue, the relationships between the data processing application and the queue, and the status of the queue; and

display the visual representation on a user interface.

30. A computing system including:

means for receiving information provided by a data processing application during execution of the data processing application, the data processing application configured to process one or more data records each having one or more fields, wherein the information is indicative of at least one of a source of data records to be processed by for the data processing application and a destination of data records having been processed by the data processing application;

means for dynamically analyzing the information during execution of the data processing application to identify a queue in communication with the data processing application;

means for dynamically analyzing the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data for the data processing application and identifying that the queue is the destination of data from the data processing application; and

means for providing an output indicative of a status of the queue.

31. A computer-implemented method including:

receiving, from a data processing application configured to process one or more data records each having one or more fields, during execution of the data processing application, information indicative of a relationship between the data processing application and a queue, wherein the relationship includes at least one of the queue being a source of data records to be processed by the data processing application and the queue being a destination of data records having been processed by the data processing application;

generating a graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and a status of the queue;

displaying, on a user interface, during execution of the data processing application, the graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and the status of the queue.

32. The computer-implemented method of claim 31 , wherein the graphical representation includes a first node to represent the data processing application, a second node to represent the queue, and a connection between the data processing application and the queue to represent the relationship.

33. The computer-implemented method of claim 32 , including displaying information about the data processing application responsive to user selection of the first node.

34. The computer-implemented method of claim 32 , including displaying information about the queue responsive to user selection of the second node.

35. The computer-implemented method of claim 31 , including dynamically determining the status of the queue during execution of the data processing system.

36. The computer-implemented method of claim 31 , including providing a notification based on the status of the queue.

37. The computer-implemented method of claim 31 , wherein the status of the queue includes at least one of a number of data records in the queue and an elapsed time associated with the queue.

38. The computer-implemented method of claim 31 , including dynamically determining a status of the data processing application during execution of the data processing application.

39. The computer-implemented method of claim 38 , wherein the graphical representation includes a representation of the status of the data processing application.

40. The computer-implemented method of claim 31 , including receiving, from a plurality of data processing applications, information indicative of a relationship between each data processing application and at least one corresponding queue; and

wherein generating a graphical representation includes generating a graphical representation of the plurality of data processing applications, the corresponding queues, the relationships, and the status of at least one of the queues.

41. The computer-implemented method of claim 31 , wherein receiving information includes:

receiving information provided by the data processing application during execution of the data processing application, wherein the information is indicative of at least one of a source of the data records to be processed by the data processing application and a destination of data records having been processed by the data processing application; and

dynamically analyzing the information during execution of the data processing application to identify the queue and the relationship.

42. A non-transitory computer-readable medium, including instructions for causing a computing system to:

receive, from a data processing application configured to process one or more data records each having one or more fields, during execution of the data processing application, information indicative of a relationship between the data processing application and a queue, wherein the relationship includes at least one of the queue being a source of data records to be processed by the data processing application and the queue being a destination of data records having been processed by the data processing application;

generate a graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and a status of the queue; and

display, on a user interface, during execution of the data processing application, the graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and the status of the queue.

43. The non-transitory computer-readable medium of claim 42 , wherein the graphical representation includes a first node to represent the data processing application, a second node to represent the queue, and a connection between the data processing application and the queue to represent the relationship.

44. The non-transitory computer-readable medium of claim 43 , including instructions for causing the computing system to display information about the data processing application responsive to user selection of the first node.

45. The non-transitory computer-readable medium of claim 43 , including instructions for causing the computing system to display information about the queue responsive to user selection of the second node.

46. The non-transitory computer-readable medium of claim 42 , including instructions for causing the computing system to dynamically determine the status of the queue during execution of the data processing system.

47. The non-transitory computer-readable medium of claim 42 , including instructions for causing the computing system to provide a notification based on the status of the queue.

48. The non-transitory computer-readable medium of claim 42 , wherein the status of the queue includes at least one of a number of data records in the queue and an elapsed time associated with the queue.

49. The non-transitory computer-readable medium of claim 42 , including instructions for causing the computing system to dynamically determine a status of the data processing application during execution of the data processing application.

50. The non-transitory computer-readable medium of claim 49 , wherein the graphical representation includes a representation of the status of the data processing application.

51. A computing system including:

an input port configured to receive, from a data processing application configured to process one or more data records each having one or more fields, during execution of the data processing application, information indicative of a relationship between the data processing application and a queue, wherein the relationship includes at least one of the queue being a source of data records to be processed by the data processing application and the queue being a destination of data records having been processed by the data processing application; and

a processor coupled to a memory, the processor and memory configured to:

generate a graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and a status of the queue; and

display, on a user interface, during execution of the data processing application, the graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and the status of the queue.

52. The computing system of claim 51 , wherein the graphical representation includes a first node to represent the data processing application, a second node to represent the queue, and a connection between the data processing application and the queue to represent the relationship.

53. The computing system of claim 52 , wherein the processor and memory are configured to display information about the data processing application responsive to user selection of the first node.

54. The computing system of claim 52 , wherein the processor and memory are configured to display information about the queue responsive to user selection of the second node.

55. The computing system of claim 51 , wherein the processor and memory are configured to dynamically determine the status of the queue during execution of the data processing system.

56. The computing system of claim 51 , wherein the processor and memory are configured to provide a notification based on the status of the queue.

57. The computing system of claim 51 , wherein the status of the queue includes at least one of a number of data records in the queue and an elapsed time associated with the queue.

58. The computing system of claim 51 , wherein the processor and memory are configured to dynamically determine a status of the data processing application during execution of the data processing application.

59. The computing system of claim 58 , wherein the graphical representation includes a representation of the status of the data processing application.

60. A computing system including:

means for receiving, from a data processing application configured to process one or more data records each having one or more fields, during execution of the data processing application, information indicative of a relationship between the data processing application and a queue, wherein the relationship includes at least one of the queue being a source of data records to be processed by the data processing application and the queue being a destination of data records having been processed by the data processing application;

means for generating a graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and a status of the queue; and

means for displaying, on a user interface, during execution of the data processing application, the graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and the status of the queue.

61. A computer-implemented method including:

receiving information provided by a data processing application during execution of the data processing application, the data processing application configured to process one or more data records each having one or more fields, wherein the information is indicative of at least one of a source of data records to be processed by the data processing application and a destination of data records having been processed by the data processing application;

dynamically analyzing the information during execution of the data processing application to identify a queue in communication with to the data processing application;

dynamically analyzing the information during execution of the data processing application to identify a relationship between the data processing application and the queue, including at least one of identifying that the queue is the source of data records to be processed by the data processing application and identifying that the queue is the destination of data records having been processed by the data processing application;

generating a graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and a status of the queue; and

displaying, on a user interface, during execution of the data processing application, the graphical representation of the data processing application, the queue, the relationship between the data processing application and the queue, and the status of the queue.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: BUXBAUM, MARK; WAKELING, TIM
To: AB INITIO SOFTWARE LLC
Reel/Frame 030688/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: AB INITIO SOFTWARE LLC
To: AB INITIO ORIGINAL WORKS LLC
Reel/Frame 030688/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: AB INITIO ORIGINAL WORKS LLC
To: AB INITIO TECHNOLOGY LLC
Reel/Frame 030688/0429 →
Continuity (2)
Provisional Application 61764794 · Feb 14, 2013
Related Publication 20140229480A1 · Aug 14, 2014