IP Library › Granted Patent US 11,334,461
Granted Patent B2
US 11,334,461 · App. 16/794,273 · Granted May 17, 2022

Distributed application resource determination based on performance metrics

Inventors: V Vimal Das Kammath (Bangalore, IN); Zacharia George (Bangalore, IN); Vipul Chaudhary (Bangalore, IN); Madhan Sankar (Bangalore, IN); Mahesh Voleti (Bangalore, IN)
Assignee: VMWARE, INC.
G06F11/302G06F9/45558G06F11/3466G06F2009/45591G06F2009/45595
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 11,334,461
App. No.
16/794,273
Granted
May 17, 2022
Kind
B2
Abstract

In one example, a system may include an application monitoring server and an endpoint in communication with the application monitoring server. Example endpoint may include an agent to collect performance metrics associated with a program running in the endpoint and a discovery unit in communication with the agent. The discovery unit may include a metric parser to receive the performance metrics in a source format and parse the received performance metrics. Further, the discovery unit may include a resource extractor to apply a transformation definition to the parsed performance metrics to determine a plurality of resources in a destination format. The plurality of resources may be associated with an application being executed in the endpoint. Furthermore, the discovery unit may include a transmitting unit to transmit the performance metrics and first information associated with the plurality of resources to the application monitoring server via a network.

Claims (79)

1. A system comprising:

an application monitoring server; and

an endpoint in communication with the application monitoring server, the endpoint comprising:

an agent to collect performance metrics associated with a program running in the endpoint; and

a discovery unit in communication with the agent, the discovery unit comprising:

a metric parser to:

receive the performance metrics in a source format; and

parse the received performance metrics;

a resource extractor to:

apply a transformation definition to the parsed performance metrics to determine a plurality of resources in a destination format, wherein the plurality of resources is associated with an application being executed in the endpoint; and

a transmitting unit to:

transmit the performance metrics and first information associated with the plurality of resources to the application monitoring server via a network.

2. The system of claim 1 , wherein the resource extractor is to:

apply the transformation definition to the parsed performance metrics to determine hierarchical relationships between the plurality of resources in the destination format, and wherein the transmitting unit is to:

transmit the performance metrics, the first information, and second information associated with the hierarchical relationships to the application monitoring server via the network.

3. The system of claim 1 , wherein the agent is to:

real-time monitor the endpoint to collect the performance metrics associated with the program, wherein the program comprises an operating system and/or the application running in the endpoint.

4. The system of claim 1 , wherein the resource extractor is to:

generate a plurality of tags including the first information, each tag is associated with a resource of the plurality of resources and includes information associated with the resource;

assign the plurality of tags to the performance metrics; and

transmit the performance metrics along with the assigned plurality of tags to the application monitoring server via the transmitting unit.

5. The system of claim 4 , wherein the application monitoring server comprises a resource identifier to:

extract the first information associated with the plurality of resources using the plurality of tags; and

present the first information associated with the plurality of resources on a graphical user interface.

6. The system of claim 1 , further comprising:

an application remote collector in communication with the endpoint and the application monitoring server to:

collect the performance metrics and the first information associated with the plurality of resources, in runtime, for monitoring and troubleshooting the endpoint; and

transmit the performance metrics and the first information associated with the plurality of resources to the application monitoring server.

7. The system of claim 1 , further comprising:

a repository in communication with the endpoint to store a template including the transformation definition, wherein the transformation definition provides knowledge of determining the plurality of resources associated with the application in the destination format, and wherein the destination format is compatible to a target application.

8. The system of claim 1 , wherein the resource extractor is to:

apply transformation rules defined in the transformation definition to the parsed performance metrics to determine the plurality of resources in the destination format that is compatible to a target application.

9. The system of claim 1 , wherein the application monitoring server comprises a generating unit to:

retrieve historical performance metrics of applications running in the endpoint corresponding to a predefined period;

generate transformation rules to determine the plurality of resources corresponding to the applications by analyzing the historical performance metrics; and

generate the transformation definition based on the transformation rules in a transformation definition language.

10. The system of claim 9 , wherein the generating unit is to:

determine a change in the plurality of resources corresponding to the application; and

update the transformation rules and the corresponding transformation definition.

11. The system of claim 1 , wherein the endpoint comprises one of a virtual machine, a container, and a physical machine.

12. A computer implemented method comprising:

collecting performance metrics associated with a program running in an endpoint, wherein the performance metrics are in a source format;

parsing the received performance metrics;

applying a transformation definition to the parsed performance metrics to determine a plurality of resources in a destination format, wherein the plurality of resources is associated with an application being executed in the endpoint; and

transmitting the performance metrics and first information associated with the plurality of resources to an application monitoring server via a network.

13. The computer implemented method of claim 12 , wherein applying the transformation definition further comprises:

applying the transformation definition to the parsed performance metrics to determine hierarchical relationships between the plurality of resources in the destination format; and

transmitting the performance metrics, the first information, and second information associated with the hierarchical relationships to the application monitoring server via the network.

14. The computer implemented method of claim 12 , wherein the program comprises an operating system and/or the application running in the endpoint.

15. The computer implemented method of claim 12 , wherein the performance metrics are collected by an agent running in the endpoint, the performance metrics comprise performance metric values associated with at least one of central processing unit (CPU), memory, storage, graphics, and network traffic.

16. The computer implemented method of claim 12 , wherein transmitting the performance metrics comprises:

generating a plurality of tags including the first information, each tag is associated with a resource of the plurality of resources and includes information associated with the resource;

assigning the plurality of tags to the performance metrics; and

transmitting the performance metrics along with the assigned plurality of tags to the application monitoring server.

17. The computer implemented method of claim 16 , further comprising:

extracting the first information associated with the plurality of resources using the plurality of tags; and

presenting the first information associated with the plurality of resources on a graphical user interface.

18. The computer implemented method of claim 12 , further comprising:

retrieving historical performance metrics corresponding to a predefined period;

generating transformation rules to determine the plurality of resources corresponding to the application by analyzing the historical performance metrics; and

defining the transformation definition to include the transformation rules in a transformation definition language.

19. The computer implemented method of claim 18 , wherein the transformation rules are defined in a transformation definition language, and wherein the transformation definition language is an XML-based transformation definition language.

20. The computer implemented method of claim 18 , further comprising:

determining a change in the plurality of resources corresponding to the application; and

updating the transformation rules and the corresponding transformation definition.

21. A non-transitory machine-readable storage medium encoded with instructions that, when executed a computer, cause the computer to:

collect performance metrics associated with a program running in an endpoint, wherein the performance metrics are in a source format;

parse the received performance metrics;

apply a transformation definition to the parsed performance metrics to determine a plurality of resources in a destination format, wherein the plurality of resources is associated with an application being executed in the endpoint; and

provide the performance metrics and first information associated with the plurality of resources to an application monitoring server via a network.

22. The non-transitory machine-readable storage medium of claim 21 , wherein instructions to apply the transformation definition further comprise instructions to:

apply the transformation definition to the parsed performance metrics to determine hierarchical relationships between the plurality of resources in the destination format; and

provide the performance metrics, the first information, and second information associated with the hierarchical relationships to the application monitoring server via the network.

23. The non-transitory machine-readable storage medium of claim 21 , wherein the program comprises an operating system and/or the application running in the endpoint.

24. The non-transitory machine-readable storage medium of claim 21 , wherein the performance metrics are published by an agent running in the endpoint, the performance metrics comprise performance metric values associated with at least one of central processing unit (CPU), memory, storage, graphics, and network traffic.

25. The non-transitory machine-readable storage medium of claim 21 , wherein instructions to provide the performance metrics comprise instructions to:

generate a plurality of tags including the first information, each tag is associated with a resource of the plurality of resources and includes information associated with the resource;

assign the plurality of tags to the performance metrics; and

provide the performance metrics along with the assigned plurality of tags to the application monitoring server.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: KAMMATH, V VIMAL DAS; GEORGE, ZACHARIA; CHAUDHARY, VIPUL; SANKAR, MADHAN; VOLETI, MAHESH
To: VMWARE, INC.
Reel/Frame 051968/0790 →
Priority Claims (1)
IN 201941051491 · Dec 12, 2019 · national
Continuity (1)
Related Publication 20210182165A1 · Jun 17, 2021
Cited By (1)
US 12,706,826