IP Library Granted Patent US 11,853,191
Granted Patent B2
US 11,853,191 · App. 17/682,733 · Granted Dec 26, 2023

Management of internet of things devices

Inventors: Sumedh P. Degaonkar (Surrey, CA); Amit Mitkar (Manalapan, NJ)
Assignee: Commvault Systems, Inc.
G06F11/3476G06F11/079G06F11/0709G06F11/0778G06F11/0793G06F11/3006G06F11/3013G06F11/3055G06F11/328H04L41/069H04L43/0817H04L43/10H04L41/5003H04L43/08H04L43/16
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,853,191
App. No.
17/682,733
Granted
Dec 26, 2023
Kind
B2
Abstract

A method and system for communicating with IoT devices to gather information related to device failure or error(s) is disclosed. The system makes a copy of at least a portion of the device's non-volatile memory and/or receives IoT device data (e.g., sensor data and/or log files etc.) from an IoT device that recently failed. The system determines which log files and/or sensor data, for example, the IoT device created before and/or after a failure. After gathering this information, the system stores the information in a database, sends it to the IoT device manufacturer, for further analysis and diagnostics to troubleshoot the failure and send a fix or software update to the IoT device.

Claims (70)

1. A computer-implemented method to manage an Internet of Things (IoT) device, the computer-implemented method comprising:

according to a schedule indicated in an information management policy, establishing a connection with an IoT device,

wherein the information management policy is a collection of preferences or settings for performing data management operations on production data assigned to the information management policy,

wherein the information management policy is assigned to production data associated with the IoT device,

wherein the IoT device comprises nonvolatile memory;

generating a copy of, at least a portion of, the IoT device nonvolatile memory, wherein the copy is one of: a replica and a snapshot;

determining that a triggering event has occurred,

wherein the triggering event, at least in part, relates to an error, a failure, or a malfunction of the IoT device;

receiving IoT device data from the IoT device,

wherein the IoT device data comprises operational data generated by the IoT device; and

initiating a transmission of the IoT device data to one or more storage devices.

2. The computer-implemented method of claim 1 , wherein the IoT device data is one of:

log files, minidump files, processor memory dump data, register information, dynamically allocated memory data, hard disk images, state conditions, time stamps, data points, configuration files, message queues, API logs, supervisory control, and data acquisition data.

3. The computer-implemented method of claim 1 , wherein one or more storage devices is located in a cloud storage environment.

4. The computer-implemented method of claim 1 , wherein the determining that the triggering event has occurred is based, at least in part, on polling received from an enhanced router or an IoT monitor.

5. The computer-implemented method of claim 1 , wherein the determining that the triggering event has occurred further comprises: receiving from the IoT device an alert of a possible malfunction.

6. The computer-implemented method of claim 1 , wherein establishing a connection with an IoT device further comprises:

determining a communication protocol of the IoT device based on user input device information and a database query; and

communicating with the IoT device using the determined communication protocol, wherein the communication protocol is at least one of following protocols: Google Thread®, Bluetooth®, Wi-Fi, ZigBee®, Z-wave®, or Bluetooth Low Energy®.

7. The computer-implemented method of claim 1 , further comprising:

prior to establishing the connection with the IoT device, receiving an alert from the IoT device, wherein the alert includes information uniquely identifying the IoT device among multiple IoT devices.

8. The computer-implemented method of claim 1 , wherein:

the triggering event occurs when an operating condition of the IoT device is outside a range of a threshold conditions, and

the threshold conditions are associated with at least one:

current, voltage, temperature, and power.

9. The computer-implemented method of claim 1 , further comprising:

receiving a response comprising of instructions on how to fix the error, the failure, or the malfunction of the IoT device associated with the triggering event.

10. The computer-implemented method of claim 1 , further comprising:

polling the IoT device at predetermined time intervals to identify the triggering event.

11. A computer-implemented method to manage an Internet of Things (IoT) device, the computer-implemented method comprising:

establishing a connection with an IoT device,

wherein the connection is initiated according to a schedule indicated in an information management policy,

wherein the information management policy is a collection of preferences or settings for performing data management operations on production data assigned to the information management policy,

wherein the information management policy is assigned to production data associated with the IoT device,

wherein the IoT device comprises nonvolatile memory;

transmitting a copy of, at least a portion of, the IoT device nonvolatile memory, wherein the copy is one of: a replica and a snapshot;

determining that a triggering event has occurred,

wherein the triggering event, at least in part, relates to an error, a failure, or a malfunction of the IoT device; and

transmitting IoT device data from the IoT device to one or more storage devices,

wherein the IoT device data comprises operational data generated by the IoT device.

12. A computing system to manage an Internet of Things (IoT) device, the computing system configured to:

with one or more processors:

according to a schedule indicated in an information management policy, establish a connection with an IoT device,

wherein the information management policy is a collection of preferences or settings for performing data management operations on production data assigned to the information management policy,

wherein the information management policy is assigned to production data associated with the IoT device,

wherein the IoT device comprises nonvolatile memory;

generate a copy of, at least a portion of, the IoT device nonvolatile memory, wherein the copy is one of: a replica and a snapshot;

determine that a triggering event has occurred,

wherein the triggering event, at least in part, relates to an error, a failure, or a malfunction of the IoT device;

receive IoT device data from the IoT device,

wherein the IoT device data comprises operational data generated by the IoT device; and

initiate a transmission of the IoT device data to one or more storage devices.

13. The computing system of claim 12 , wherein the IoT device data is one of:

log files, minidump files, processor memory dump data, register information, dynamically allocated memory data, hard disk images, state conditions, time stamps, data points, configuration files, message queues, API logs, supervisory control, and data acquisition data.

14. The computing system of claim 12 , wherein one or more storage devices is located in a cloud storage environment.

15. The computing system of claim 12 , wherein the determining that the triggering event has occurred is based, at least in part, on polling received from an enhanced router or an IoT monitor.

16. The computing system of claim 12 , wherein the determining that the triggering event has occurred further comprises: receiving from the IoT device an alert of a possible malfunction.

17. The computing system of claim 12 , further configured to:

determine a communication protocol of the IoT device based on user input device information and a database query; and

communicate with the IoT device using the determined communication protocol, wherein the communication protocol is at least one of following protocols: Google Thread®, Bluetooth®, Wi-Fi, ZigBee®, Z-wave®, or Bluetooth Low Energy®.

18. The computing system of claim 12 , further configured to:

receive an alert from the IoT device, wherein the alert includes information uniquely identifying the IoT device among multiple IoT devices.

19. The computing system of claim 12 , wherein:

the triggering event occurs when an operating condition of the IoT device is outside a range of a threshold conditions, and

the threshold conditions are associated with at least one of:

current, voltage, temperature, and power.

20. The computing system of claim 12 , further configured to:

receive a response comprising of instructions on how to fix the error, the failure, or the malfunction of the IoT device associated with the triggering event.

21. The computing system of claim 12 , further configured to:

poll the IoT device at predetermined time intervals to identify the triggering event.

Assignments (2)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2022
From: DEGAONKAR, SUMEDH P.; MITKAR, AMIT
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 059175/0488 →
Cited By (2)
US 12,346,193 US 12,505,103