IP Library › Granted Patent US 11,552,866
Granted Patent B1
US 11,552,866 · App. 16/725,935 · Granted Jan 10, 2023

Server-side operations for edge analytics

Inventors: Pradeep B. 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.
H04L43/028G06F16/2477G06F16/901G06F16/9038G06N20/00H04L41/14H04L43/08G06N5/047
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,552,866
App. No.
16/725,935
Filed
Dec 23, 2019
Granted
Jan 10, 2023
Kind
B1
Art Unit
2452
USPC
709/221
Abstract

Disclosed is a technique that can be performed by a server computer system. The technique can include obtaining data from each of multiple endpoint devices to form global data. The global data can be generated by the endpoint devices in accordance with local instructions in each of the endpoint devices. The technique further includes generating global instructions based on the global data and sending the global instructions to a particular endpoint device. The global instructions configure the particular endpoint device to perform a data analytic operation that analyzes events. The events can include raw data generated by a sensor of the particular endpoint device.

Claims (58)

1. A method comprising:

obtaining, by a server computer system, data from each endpoint device of a plurality of endpoint devices to form global data, wherein the from said each endpoint device included in the plurality of endpoint devices is generated in accordance with respective local instructions in said each endpoint device;

generating, by the server computer system, global instructions based on the global data, the global instructions being configured to control any one or more of the plurality of endpoint devices; and

sending, by the server computer system, the global instructions to a particular endpoint device included in the plurality of endpoint devices, the global instructions configuring the particular endpoint device to perform one or more data analytic operations on a plurality of events, wherein the plurality of events are extracted from raw data generated by a sensor of the particular endpoint device.

2. The method of claim 1 , wherein the one or more data analytic operations comprise a first data analytic operation and the local instructions configure the particular endpoint device to perform a second data analytic operation different from the first data analytic operation.

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

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

5. The method of claim 1 , wherein the global data includes sensor data output by a plurality of sensors of the plurality of endpoint devices.

6. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data from a respective endpoint device of the plurality of endpoint devices.

7. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events being time-stamped and including a segment of the global data from a respective endpoint device of the plurality of endpoint devices.

8. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data from said each endpoint device of the plurality of endpoint devices; and

indexing the plurality of global events.

9. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events having a time-stamp and including a segment of the global data from a respective endpoint device of the plurality of endpoint devices; and

indexing the plurality of global events based on the time-stamp of each collective event.

10. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data;

indexing the plurality of global events; and

after the plurality of global events is indexed, extracting data items from the plurality of global events, wherein the global instructions are generated based on the data items.

11. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data;

indexing the plurality of global events; and

while the plurality of global events is being indexed, extracting data items from the plurality of collective event, wherein the global instructions are generated based on the data items.

12. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data; and

performing a machine learning process based on the plurality of global events to obtain the global instructions.

13. The method of claim 1 further comprising:

generating a plurality of global events, each of the plurality of global events including a segment of the global data; and

performing a machine learning process based on data items extracted from the plurality of global events to obtain the global instructions.

14. The method of claim 1 , wherein at least some of the plurality of endpoint devices are intermittently communicatively coupled to the server computer system.

15. The method of claim 1 , wherein different portions of the global data are generated by different endpoint devices of the plurality of endpoint devices.

16. The method of claim 1 , wherein the plurality of endpoint devices includes an aerial drone.

17. The method of claim 1 , wherein the server computer system is wirelessly coupled to at least some of the plurality of endpoint devices.

18. The method of claim 1 , wherein the global instructions cause the particular endpoint device to perform a local action in the particular endpoint device based on the data analytic operation.

19. The method of claim 1 , wherein the global instructions cause the particular endpoint device to change an operational parameter of the particular endpoint device.

20. The method of claim 1 , wherein the global instructions cause the particular endpoint device to change a setting controlled by the particular endpoint device.

21. The method of claim 1 , wherein the one or more data analytic operations extract a data field from the plurality of events.

22. The method of claim 1 , wherein the one or more data analytic extract a data field from each event included in the plurality of events.

23. The method of claim 1 , wherein the one or more data analytic operations extract a data field from raw data corresponding to each event included in the plurality of events.

24. The method of claim 1 , wherein the particular endpoint device forms a communications link with another endpoint device.

25. The method of claim 1 , wherein the particular endpoint device forms an endpoint of a communications link with the server computer system.

26. The method of claim 1 , wherein the particular endpoint device forms an endpoint of a communications link with the server computer system, and the communications link is established autonomously in accordance with a machine-to-machine (M2M) process.

27. The method of claim 1 , wherein the global data includes data generated by the particular endpoint device based on an outcome of another data analytic operation.

28. The method of claim 1 further comprising:

sending additional global instructions to the particular endpoint device, the additional global instructions reconfiguring the particular endpoint device to perform one or more second data analytic operations that on a second plurality of events.

29. A server computer system comprising:

a processor; and

memory containing instructions that, when executed by the processor, cause the server computer system to:

obtain data collected from each endpoint device of a plurality of endpoint devices to form global data, wherein the data from said each endpoint device included in the plurality of endpoint devices is generated in accordance with respective local instructions in said each endpoint device;

generate global instructions based on the global data, the global instructions being configured to control any one or more of the plurality of endpoint devices; and

send the global instructions to a particular endpoint device included in the plurality of endpoint devices, the global instructions configuring the particular endpoint device to perform one or more data analytic operations on a plurality of events, wherein the plurality of events are extracted from raw data generated by a sensor of the particular endpoint device.

30. A non-transitory machine-readable storage medium storing instructions, execution of which in a server computer system causes the server computer system to perform operations comprising:

obtaining data from each endpoint device of a plurality of endpoint devices to form global data, wherein the data from said each endpoint device included in the plurality of endpoint devices is generated in accordance with respective local instructions in said each endpoint device;

generating global instructions based on the global data, the global instructions being configured to control any one or more of the plurality of endpoint devices; and

sending the global instructions to a particular endpoint device included in the plurality of endpoint devices, the global instructions configuring the particular endpoint device to perform one or more data analytic operations on a plurality of events, wherein the plurality of events are extracted from raw data generated by a sensor of the particular endpoint device.

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 Dec 23, 2019
From: NAGARAJU, PRADEEP BALIGANAPALLI; OLINER, ADAM JAMISON; GILMORE, BRIAN MATTHEW; DEAN, ERICK ANTHONY; WANG, JIAHAN
To: SPLUNK INC.
Reel/Frame 051360/0018 →
Continuity (1)
Continuation 15224440 · Jul 29, 2016