IP Library › Granted Patent US 10,713,079
Granted Patent B2
US 10,713,079 · App. 16/017,046 · Granted Jul 14, 2020

System and method for managing telemetry data and agents in a telemetry system

Inventors: Akshay Muramatti (San Jose, CA); Mohan Maturi (San Jose, CA); Tung-Keng Lee (San Jose, CA)
Assignee: NUTANIX, INC.
G06F9/45558G06F9/5077H04L67/10G06F2009/4557G06F2009/45575G06F2009/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 10,713,079
App. No.
16/017,046
Filed
Jun 25, 2018
Granted
Jul 14, 2020
Kind
B2
Examiner
CAO, DIEM K
Art Unit
2196
USPC
718/1
Abstract

A system and method include determining, by a telemetry control system of a telemetry system that an agent associated with the telemetry control system terminated during operation. The agent collects telemetry data from data sources associated with the telemetry system. The system and method also include determining that a number of times the agent has terminated is greater than a predetermined threshold, restarting the agent after a first predetermined delay in response to exceeding the predetermined threshold, and determining that the agent terminated again within a predetermined time period upon restarting. The system and method further include updating a configuration file of the agent in response to the termination within the predetermined time period and restarting the agent with the updated configuration file. The updating is based upon an agent termination record of the agent.

Claims (48)

1. A method comprising:

determining, by a telemetry system, that an agent terminated during operation, wherein the agent collects telemetry data from a data source;

determining, by the telemetry system, that a number of times the agent has terminated is greater than a predetermined threshold;

restarting, by the telemetry system, the agent after a first predetermined delay in response to exceeding the predetermined threshold;

determining, by the telemetry system, that the agent terminated again within a predetermined time period upon restarting;

updating, by the telemetry system, a configuration file of the agent in response to the termination within the predetermined time period; and

restarting, by the telemetry system, the agent with the updated configuration file.

2. The method of claim 1 , wherein the updating of the configuration file is based upon an exit code received from the agent upon termination within the predetermined time period.

3. The method of claim 1 , wherein the updating comprises updating a hard limit of utilization of a resource of the agent in the configuration file.

4. The method of claim 1 , wherein the updating is based upon an actual usage statistic of a resource of a related agent, wherein the related agent uses the telemetry system used by the agent.

5. The method of claim 1 , wherein the updating is based upon an actual usage statistic of a resource of the agent.

6. The method of claim 1 , further comprising:

deploying, by the telemetry system, the agent to collect the telemetry data from the data source; and

monitoring, by the telemetry system, an operating status of the agent upon deployment.

7. The method of claim 1 , further comprising assigning, by the telemetry system, a priority to the agent upon deployment.

8. The method of claim 1 , further comprising:

receiving, by the telemetry system, the telemetry data from the agent; and

updating, by the telemetry system, a commit log with the telemetry data.

9. The method of claim 1 , further comprising transmitting, by the telemetry system, a portion of the telemetry data received from the agent to an end point.

10. The method of claim 9 , further comprising

deleting, by the telemetry system, the portion of the telemetry data from a commit log upon receiving an indication of successful delivery from the end point.

11. The method of claim 9 , wherein the portion of the telemetry data that is transmitted is saved into a commit log before transmitting.

12. An apparatus comprising:

a telemetry controller that manages an agent collecting telemetry data from a data source, wherein the telemetry controller comprises a processing unit having programmed instructions to:

determine that the agent terminated during operation;

determine that a number of times the agent terminated is greater than a predetermined threshold;

restart the agent after a first predetermined delay in response to exceeding the predetermined threshold;

determine that the agent terminated again within a predetermined time period upon restarting;

update a configuration file of the agent in response to the termination within the predetermined time period; and

restart the agent with the updated configuration file.

13. The apparatus of claim 12 , wherein the telemetry controller updates the configuration file based upon at least one of an actual usage statistic of a resource of the agent, the actual usage statistic of the resource of a related agent, wherein the related agent uses the telemetry system used by the agent, or an exit code received from the agent upon termination within the predetermined time period.

14. The apparatus of claim 12 , wherein the agent self-polices its operation based upon a hard limit and a soft limit of utilization of a resource allocated to the agent.

15. The apparatus of claim 14 , wherein upon exceeding the soft limit or the hard limit, the agent troubleshoots itself.

16. The apparatus of claim 14 , wherein the agent self-terminates upon exceeding the hard limit.

17. The apparatus of claim 12 , wherein the agent transmits an exit code upon termination to the telemetry controller.

18. The apparatus of claim 12 , wherein the telemetry controller manages the agent in response to an instruction received from a management system.

19. A non-transitory computer readable media with computer-executable instructions embodied thereon that, when executed by a processor of a telemetry system, cause the telemetry system to perform a process comprising:

determining that an agent terminated during operation, wherein the agent collects telemetry data from a data source;

determining that a number of times the agent has terminated is greater than a predetermined threshold;

restarting the agent after a first predetermined delay in response to exceeding the predetermined threshold;

determining that the agent terminated again within a predetermined time period upon restarting;

updating a configuration file of the agent in response to the termination within the predetermined time period; and

restarting the agent with the updated configuration file.

20. The non-transitory computer readable media of claim 19 , wherein the processor transmits the telemetry data received from the agent to an end point.

21. The non-transitory computer readable media of claim 19 , wherein the process further comprises storing the telemetry data received from the agent in a memory before transmission of the telemetry data to an end point.

22. The non-transitory computer readable media of claim 21 , wherein a portion of the telemetry data is transmitted from the memory at a time.

23. The non-transitory computer readable media of claim 21 , wherein the telemetry data that is successfully transmitted is deleted from the memory.

24. The non-transitory computer readable media of claim 21 , wherein the telemetry data is transmitted from the memory in the order in which the telemetry data is received from the agent.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2018
From: MURAMATTI, AKSHAY; MATURI, MOHAN; LEE, TUNG-KENG
To: NUTANIX, INC.
Reel/Frame 046191/0296 →
Continuity (1)
Related Publication 20190391833A1 · Dec 26, 2019
Cited By (4)
US 12,388,763 US 12,537,776 US 12,549,493 US 12,712,820