IP Library Granted Patent US 12,072,939
Granted Patent B1
US 12,072,939 · App. 17/589,712 · Granted Aug 27, 2024

Federated data enrichment objects

Inventors: Alexandros Batsakis (San Francisco, CA); Nir Frenkel (Santa Clara, CA); Nitilaksha Halakatti (San Jose, CA); Balaji Rao (San Jose, CA); Anish Shrigondekar (Sunnyvale, CA); Ruochen Zhang (Milipitas, CA); Steve Yu Zhang (San Francisco, CA)
Assignee: Splunk Inc.
G06F16/90335G06F16/23G06F16/2471G06F16/9032
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 12,072,939
App. No.
17/589,712
Filed
Jan 31, 2022
Granted
Aug 27, 2024
Kind
B1
Art Unit
2161
USPC
707/759
Abstract

A data intake and query system can generate local data enrichment objects and receive federated data enrichment objects from another data intake and query system. In response to receiving a query, the data intake and query system can determine whether the query is subquery of a federated query. If the query is a subquery, the data intake and query system can use the federated data enrichment objects to execute the query.

Claims (61)

1. A computer-implemented method, comprising:

generating, by a local data intake and query system, at least one local data enrichment object based on at least one first user interaction with the local data intake and query system;

receiving at least one external data enrichment object, wherein the at least one external data enrichment object is generated by an external data intake and query system, and wherein the external data intake and query system generates the at least one external data enrichment object based on at least one second user interaction with the external data intake and query system;

receiving, at the local data intake and query system, a request to execute a first local query;

determining, based on at least one of an origin of the first local query or a destination for query results of the first local query, that the first local query is a subquery of an external query received by the external data intake and query system; and

based on the determining that the first local query is a subquery of the external query:

retrieving the at least one external data enrichment object, and

executing the first local query using the at least one external data enrichment object.

2. The computer-implemented method of claim 1 , wherein the at least one local data enrichment object is used to execute at least one query that is not associated with the external data intake and query system.

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

receiving, at the local data intake and query system, a request to execute a second local query;

determining that the second local query is not associated with the external data intake and query system; and

based on the determining that the second local query is not associated with the external data intake and query system, executing the second local query using the at least one local data enrichment object.

4. The computer-implemented method of claim 1 , wherein the at least one local data enrichment object includes at least one of a saved search, regular expression rule, event type, tags, lookup, report, alert, data model, workflow action, or field.

5. The computer-implemented method of claim 1 , wherein determining, based on at least one of an origin of the first local query or a destination for query results of the first local query, that the first local query is a subquery of an external query received by the external data intake and query system comprises:

parsing the request to execute the first local query to identify the origin of the local query;

determining that the external data intake and query system is the origin of the local query based on the parsing; and

determining that the first local query is associated with the external data intake and query system based on the determining that the external data intake and query system is the origin of the first local query.

6. The computer-implemented method of claim 1 , wherein determining, based on at least one of the origin of the first local query or the destination for query results of the first local query, that the first local query is a subquery of a external query received by the external data intake and query system comprises:

parsing the request to execute the first local query to identify a destination for query results of the first local query;

determining that results of the first local query are to be communicated to the external data intake and query system; and

determining that the first local query is associated with the external data intake and query system based on the determining that the results of the first local query are to be communicated to the external data intake and query system.

7. The computer-implemented method of claim 1 , wherein determining, based on at least one of the origin of the first local query or the destination for query results of the first local query, that the first local query is a subquery of an external query received by the external data intake and query system comprises:

parsing the first local query;

identifying an external data enrichment object of the received at least one external data enrichment object in the first local query based on the parsing; and

determining that the first local query is a subquery of an external query received by the external data intake and query system based on the identifying the external data enrichment object of the received at least one external data enrichment object in the local query.

8. The computer-implemented method of claim 1 , further comprising distributing the at least one local data enrichment object and the received at least one external data enrichment object to one or more components of the local data intake and query system.

9. The computer-implemented method of claim 1 , wherein receiving the at least one external data enrichment object comprises periodically receiving different groups of external data enrichment objects based on at least one of a time period, a quantity of external data enrichment objects, or an aggregate size of external data enrichment objects.

10. The computer-implemented method of claim 1 , wherein the local data intake and query system and external data intake and query system are each configured to process and execute queries independent of each other.

11. The computer-implemented method of claim 1 , wherein one or more components of the external data intake and query system are implemented as one or more isolated execution environments on a hosting computing device in a shared computing resource environment and components of the local data intake and query system are not implemented as isolated execution environments in a shared computing resource environment.

12. The computer-implemented method of claim 1 , wherein one or more components of the local data intake and query system and one or more components of the external data intake and query system are implemented as isolated execution environments on one or more hosting computing devices in a shared computing resource environment.

13. A system, comprising:

a data store; and

one or more processors of a local data intake and query system, the one or more processors configured to:

generate at least one local data enrichment object based on at least one first user interaction with the local data intake and query system;

receive at least one external data enrichment object, wherein the at least one external data enrichment object is generated by an external data intake and query system, and wherein the external data intake and query system generates the at least one external data enrichment object based on at least one second user interaction with the external data intake and query system;

receive a request to execute a first local query;

determine, based on at least one of an origin of the first local query or a destination for query results of the first local query, that the first local query is a subquery of an external query received by the external data intake and query system; and

based on a determination that the first local query is a subquery of an external query received by the external data intake and query system:

retrieve the at least one external data enrichment object, and

execute the first local query using the received at least one external data enrichment object.

14. The system of claim 13 , wherein the one or more processors are further configured to:

receive a request to execute a second local query;

determine that the second local query is not associated with the external data intake and query system; and

based on a determination that the second local query is not associated with the external data intake and query system, execute the second local query using the at least one local data enrichment object.

15. The system of claim 13 , further comprising distributing the at least one local data enrichment object and the received at least one external data enrichment object to one or more components of the local data intake and query system.

16. The system of claim 13 , wherein the local data intake and query system and external data intake and query system are each configured to process and execute queries independent of each other.

17. The system of claim 13 , wherein one or more components of the external data intake and query system are implemented as one or more isolated execution environments on a hosting computing device in a shared computing resource environment and components of the local data intake and query system are not implemented as isolated execution environments in a shared computing resource environment.

18. Non-transitory computer-readable media including computer-executable instructions that, when executed by a computing system of a local data intake and query system, cause the computing system to:

generate at least one local data enrichment object based on at least one first user interaction with the local data intake and query system;

receive at least one external data enrichment object, wherein the at least one external data enrichment object is generated by an external data intake and query system, and wherein the external data intake and query system generates the at least one external data enrichment object based on at least one second user interaction with the external data intake and query system;

receive a request to execute a first local query;

determine, based on at least one of an origin of the first local query or a destination for query results of the first local query, that the first local query is a subquery of an external query received by the external data intake and query system; and

based on a determination that the first local query is a subquery of an external query received by the external data intake and query system:

retrieve the at least one external data enrichment object, and

execute the first local query using the received at least one external data enrichment object.

19. The non-transitory computer-readable media of claim 18 , wherein the computer-executable instructions further cause the computing system to:

receive a request to execute a second local query;

determine that the second local query is not associated with the external data intake and query system; and

based on a determination that the second local query is not associated with the external data intake and query system, execute the second local query using the at least one local data enrichment object.

20. The non-transitory computer-readable media of claim 18 , wherein the local data intake and query system and external data intake and query system are each configured to process and execute queries independent of each other.

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 Mar 25, 2022
From: BATSAKIS, ALEXANDROS; FRENKEL, NIR; HALAKATTI, NITILAKSHA; RAO, BALAJI; SHRIGONDEKAR, ANISH; ZHANG, RUOCHEN; ZHANG, STEVE YU
To: SPLUNK INC.
Reel/Frame 059401/0556 →
Continuity (1)
Provisional Application 63227719 · Jul 30, 2021
Cited By (14)
US 12,204,593 US 12,248,484 US 12,265,525 US 12,271,389 US 12,287,790 US 12,393,631 US 12,417,074 US 12,436,963 US 12,530,366 US 12,585,638 US 12,613,864 US 12,639,379 US 12,650,965 US 12,670,152