IP Library › Granted Patent US 11,836,579
Granted Patent B2
US 11,836,579 · App. 16/573,745 · Granted Dec 5, 2023

Data analytics in edge devices

Inventors: Pradeep Baliganapalli Nagaraju (San Francisco, CA); Adam Jamison Oliner (San Francisco, CA); Brian Matthew Gilmore (Alameda, CA); Erick Anthony Dean (Piedmont, CA); Jiahan Wang (San Francisco, CA)
Assignee: SPLUNK INC.
G06N20/00G06F11/30
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,836,579
App. No.
16/573,745
Granted
Dec 5, 2023
Kind
B2
Abstract

Disclosed is a technique that can be performed by an electronic device. The electronic device can generate time-stamped events, extract training data from the time-stamped events, and send the training data over a network to a remote computer. The electronic device can receive model data generated by the remote computer from the training data by use of a machine learning process, update a local model of the electronic device based on the received model data, and generate an output by processing locally sourced data of the electronic device with the updated local model.

Claims (83)

1. A method comprising:

generating, by an electronic device, a plurality of time-stamped events, wherein the electronic device includes a local machine learning (ML) model for processing locally-sourced data;

extracting training data from the plurality of time-stamped events;

sending the training data over a network for receipt by a remote computer, wherein the remote computer is a server computer configured to store and index data received from a plurality of electronic devices in the network;

receiving, by the electronic device over the network, model data transmitted by the remote computer, wherein:

the remote computer uses a machine learning process on the training data to update a global ML model, wherein the global ML model is trained using data from the plurality of electronic devices in the network, and

the remote computer generates the model data based on the updated global ML model;

updating, using the model data, the local ML model included in the electronic device to generate an updated local ML model; and

generating an output by processing locally-sourced data of the electronic device with the updated local ML model.

2. The method of claim 1 , wherein the electronic device is a wireless device.

3. The method of claim 1 , wherein the electronic device is an endpoint device of the network, wherein the endpoint device forms an endpoint of a network connection, and wherein the plurality of electronic devices comprise endpoint devices of the network.

4. The method of claim 1 , wherein the electronic device is intermittently connected to the remote computer.

5. The method of claim 1 , wherein an aerial drone includes the electronic device.

6. The method of claim 1 further comprising:

changing an operation of the electronic device based on the output.

7. The method of claim 1 further comprising:

changing a setting of the electronic device based on the output.

8. The method of claim 1 , wherein extracting the training data comprises:

extracting a plurality of data fields from the plurality of time-stamped events,

wherein the training data includes the plurality of data fields.

9. The method of claim 1 , wherein extracting the training data comprises:

deriving the training data from the plurality of time-stamped events.

10. The method of claim 1 , wherein the plurality of time-stamped events is a plurality of time-indexed events.

11. The method of claim 1 , wherein the plurality of time-stamped events includes a plurality of segments of raw data output by a sensor of the electronic device.

12. The method of claim 1 further comprising, prior to extracting the training data from the plurality of time-stamped events:

indexing the plurality of time-stamped events to generate a plurality of time- indexed events; and

extracting a plurality of data fields from the plurality of time-indexed events while indexing the plurality of time-stamped events,

wherein the training data includes the plurality of data fields.

13. The method of claim 1 further comprising, prior to extracting the training data from the plurality of time-stamped events:

indexing the plurality of time-stamped events to generate a plurality of time-indexed events; and

extracting a plurality of data fields from the plurality of time-stamped events after indexing the plurality of time-stamped events,

wherein the training data includes the plurality of data fields.

14. The method of claim 1 further comprising:

updating the local ML model of the electronic device by performing a local ML process at the electronic device.

15. The method of claim 1 further comprising:

responsive to a termination of a communication link to the remote computer, updating the local ML model by performing a local ML process at the electronic device.

16. The method of claim 1 further comprising:

updating the local ML model of the electronic device by performing a local ML process while the electronic device is communicatively disconnected from the remote computer.

17. The method of claim 1 further comprising:

updating the local ML model of the electronic device by performing another ML process locally at the electronic device; and

generating another output based on the updated local ML model.

18. The method of claim 1 further comprising:

updating the local ML model of the electronic device by performing another ML process locally at the electronic device;

generating an additional output based on the updated local ML model; and

performing a local action based on the additional output.

19. The method of claim 1 , wherein sending the training data comprises:

establishing a machine-to-machine (M 2 M) communications link between the electronic device and the remote computer; and

sending the training data via the M 2 M communications link to the remote computer.

20. The method of claim 1 , wherein updating the local ML model comprises:

replacing the local ML model with a new local ML model.

21. The method of claim 1 , wherein updating the local ML model comprises:

changing the local ML model.

22. The method of claim 1 , wherein updating the local ML model comprises:

removing data from the local ML model.

23. The method of claim 1 , wherein the model data is based on a set of training data collected from the plurality of electronic devices.

24. The method of claim 1 , wherein:

the electronic device is a first electronic device, and

the model data is based on training data collected from a second electronic device.

25. The method of claim 1 further comprising:

executing, based on the output, a local action to change the electronic device.

26. The method of claim 1 , wherein the model data is derived from raw data or data derived from the raw data generated by the plurality of electronic devices including the electronic device, the model data having been derived in accordance with the ML process.

27. The method of claim 1 , wherein the model data is configured to enable the electronic device to generate a plurality of local data-driven outputs based on a plurality of inputs to a sensor of the electronic device.

28. The method of claim 1 , wherein the model data is configured to enable the plurality of electronic devices to each generate local data-driven outputs based on respective inputs to the plurality of electronic devices.

29. An electronic device comprising:

a processor; and

memory containing (i) a local machine learning (ML) model processing locally-sourced data, and (ii) instructions that, when executed by the electronic device, cause the electronic device to perform the steps of:

generating a plurality of time-stamped events;

extracting training data from the plurality of time-stamped events;

sending the training data over a network for receipt by a remote computer, wherein the remote computer is a server computer configured to store and index data received from a plurality of electronic devices in the network;

receiving, by the electronic device over the network, model data transmitted by the remote computer, wherein:

the remote computer uses a machine learning process on the training data to update a global ML model, wherein the global ML model is trained using data from the plurality of electronic devices in the network, and

the remote computer generates the model data based on the updated global ML model;

updating, using the model data, the local ML model included in the electronic device to generate an updated local ML model; and

generating an output by processing locally-sourced data of the electronic device with the updated local ML model.

30. One or more non-transitory machine-readable storage media storing instructions that when executed by one or more electronic devices, cause the one or more electronic devices to perform operations comprising:

generating, by an electronic device, a plurality of time-stamped events, wherein the electronic device includes a local machine learning (ML) model for processing locally-sourced data;

extracting training data from the plurality of time-stamped events;

sending the training data over a network for receipt by a remote computer, wherein the remote computer is a server computer configured to store and index data received from a plurality of electronic devices in the network;

receiving, by the electronic device over the network, model data transmitted by the remote computer, wherein:

the remote computer uses a machine learning process on the training data to update a global ML model, wherein the global ML model is trained using data from the plurality of electronic devices in the network, and

the remote computer generates the model data based on the updated global ML model;

updating, using the model data, the local ML model included in the electronic device to generate an updated local ML model; and

generating an output by processing locally-sourced data of the electronic device with the updated local ML model.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: NAGARAJU, PRADEEP BALIGANAPALLI; OLINER, ADAM JAMISON; GILMORE, BRIAN MATTHEW; DEAN, ERICK ANTHONY; WANG, JIAHAN
To: SPLUNK INC.
Reel/Frame 050406/0098 →
Continuity (2)
Continuation 15224439 · Jul 29, 2016
Related Publication 20200012966A1 · Jan 9, 2020