IP Library Granted Patent US 12,373,414
Granted Patent B1
US 12,373,414 · App. 18/162,480 · Granted Jul 29, 2025

Reassigning data groups based on activation of a processing node

Inventors: Zhenghui Xie (Cupertino, CA); Igor Stojanovski (San Francisco, CA); Kartheek Babu Kolla (Newark, CA); Sai Krishna Sajja (Dublin, CA); Srinivas Chowdhary Bobba (Sunnyvale, CA); Tianyi Gou (San Francisco, CA); Kai-Sern Lim (San Jose, CA); Tameem Anwar (Dublin, CA)
G06F16/2272G06F11/3419G06F16/2453G06F16/256
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,373,414
App. No.
18/162,480
Granted
Jul 29, 2025
Kind
B1
Abstract

A data intake and query system can manage the search of large amounts of data using one or more processing nodes. The data intake and query system can identify a first group of processing nodes and cause a first processing node of the group to download and search a particular data group based on a first node map. The data intake and query system may identify a second group of processing nodes that includes the first group of processing nodes and a second processing node. The data intake and query system can transmit commands to cancel one or more data group downloads at the first processing node and can reassign the corresponding data groups for download to the second processing node based on a second node map.

Claims (46)

1. A method, comprising:

identifying a first group of processing nodes, wherein the first group of processing nodes is associated with a plurality of data groups, wherein the plurality of data groups comprises a first data group and a second data group;

transmitting a first command to a first processing node of the first group of processing nodes to download the first data group and the second data group based at least in part on a first node map, wherein the first processing node queues, in a data queue of the first processing node, the first data group and the second data group for download based at least in part on the first command;

identifying a second group of processing nodes, the second group of processing nodes comprising the first group of processing nodes and a second processing node, wherein the second processing node is assigned the first data group and the second data group based at least in part on a second node map;

determining that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node;

transmitting a second command to the first processing node based at least in part on determining that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node, wherein the second command instructs the first processing node to cancel, in the data queue of the first processing node, download of at least a portion of the first data group; and

causing the second processing node to download the first data group and the second data group based at least in part on the second node map and based at least in part on transmitting the second command to the first processing node.

2. The method of claim 1 , further comprising receiving a response from the first processing node, wherein the response indicates receipt of the second command by the first processing node, wherein download of the second data group is removed from the data queue of the first processing node based at least in part on the download of the second data group by the first processing node.

3. The method of claim 1 , further comprising receiving a response from the first processing node, wherein the response indicates receipt of the second command by the first processing node, and wherein causing the second processing node to download the first data group and the second data group is further based at least in part on receiving the response.

4. The method of claim 1 , further comprising:

determining a response from the first processing node is not received within a time period;

removing the first processing node from the second group of processing nodes based at least in part on determining the response is not received within the time period; and

assigning the plurality of data groups to the second group of processing nodes.

5. The method of claim 1 , further comprising transmitting a third command to the first processing node based at least in part on determining that at least a portion of the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node, wherein the third command instructs the first processing node to remove the second data group downloaded by the first processing node.

6. The method of claim 1 , further comprising receiving one or more heartbeats from the first processing node, wherein the one or more heartbeats indicate a download status of the download of at least one of the first data group or the second data group.

7. The method of claim 1 , wherein the second data group downloaded by the first processing node is maintained by the first processing node, and wherein the second data group downloaded by the second processing node is maintained by the second processing node.

8. The method of claim 1 , wherein causing the second processing node to download the first data group and the second data group comprises transmitting a third command to the second processing node based at least in part on assigning the second processing node to download the first data group and the second data group, wherein the third command instructs the second processing node to download the first data group and the second data group.

9. The method of claim 1 , wherein causing the second processing node to download the first data group and the second data group comprises transmitting a third command to the second processing node based at least in part on assigning the second processing node to download the first data group and the second data group, wherein the third command instructs the second processing node to download the first data group and the second data group, the method further comprising:

transmitting a fourth command to a third processing node of the second group of processing nodes, wherein the fourth command instructs the third processing node to download a third data group of the plurality of data groups.

10. The method of claim 1 , further comprising:

transmitting a third command to a third processing node of the second group of processing nodes based at least in part on identifying the second group of processing nodes, wherein the third command instructs the third processing node to cancel, in a data queue of the third processing node, download of a third data group of the plurality of data groups; and

causing a fourth processing node of the second group of processing nodes to download the third data group based at least in part on transmitting the third command to the third processing node.

11. The method of claim 1 , wherein the second command preempts the first command.

12. The method of claim 1 , wherein one or more processing nodes of the first group of processing nodes are associated with a respective processing node status.

13. The method of claim 1 , further comprising monitoring a processing node status of one or more processing nodes of the first group of processing nodes.

14. The method of claim 1 , wherein one or more processing nodes of the first group of processing nodes are associated with a respective processing node status, wherein the respective processing node status comprises a download status.

15. The method of claim 1 , wherein the plurality of data groups comprises a plurality of partitions, each partition of the plurality of partitions comprising one or more buckets of data.

16. The method of claim 1 , further comprising causing the second processing node to execute one or more searches on at least one of the first data group or the second data group based at least in part on causing the second processing node to download the first data group and the second data group.

17. The method of claim 1 , further comprising causing the first processing node to download a third data group of the plurality of data groups based at least in part on identifying the second group of processing nodes, wherein the first processing node is instructed to not download the first data group and the second data group based at least in part on identifying the second group of processing nodes.

18. The method of claim 1 , further comprising identifying activation of the second processing node, wherein identifying the second group of processing nodes is based at least in part on identifying activation of the second processing node.

19. A system comprising:

a data store; and

one or more processors configured to:

identify a first group of processing nodes, wherein the first group of processing nodes is associated with a plurality of data groups, wherein the plurality of data groups comprises a first data group and a second data group;

transmit a first command to a first processing node of the first group of processing nodes to download the first data group and the second data group based at least in part on a first node map, wherein the first processing node queues, in a data queue of the first processing node, the first data group and the second data group for download based at least in part on the first command;

identify a second group of processing nodes, the second group of processing nodes comprising the first group of processing nodes and a second processing node, wherein the second processing node is assigned the first data group and the second data group based at least in part on a second node map;

determine that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node;

transmit a second command to the first processing node based at least in part on determining that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node, wherein the second command instructs the first processing node to cancel, in the data queue of the first processing node, download of at least a portion of the first data group; and

cause the second processing node to download the first data group and the second data group based at least in part on the second node map and based at least in part on transmitting the second command to the first processing node.

20. Non-transitory computer-readable media including computer-executable instructions that, when executed by a computing system, cause the computing system to:

identify a first group of processing nodes, wherein the first group of processing nodes is associated with a plurality of data groups, wherein the plurality of data groups comprises a first data group and a second data group;

transmit a first command to a first processing node of the first group of processing nodes to download the first data group and the second data group based at least in part on a first node map, wherein the first processing node queues, in a data queue of the first processing node, the first data group and the second data group for download based at least in part on the first command;

identify a second group of processing nodes, the second group of processing nodes comprising the first group of processing nodes and a second processing node, wherein the second processing node is assigned the first data group and the second data group based at least in part on a second node map;

determine that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node;

transmit a second command to the first processing node based at least in part on determining that the first data group is queued in the data queue of the first processing node and that the second data group is downloaded by the first processing node, wherein the second command instructs the first processing node to cancel, in the data queue of the first processing node, download of at least a portion of the first data group; and

cause the second processing node to download the first data group and the second data group based at least in part on the second node map and based at least in part on transmitting the second command to the first processing node.

Assignments (4)
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 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069826/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2023
From: XIE, ZHENGHUI; STOJANOVSKI, IGOR; KOLLA, KARTHEEK BABU; SAJJA, SAI KRISHNA; BOBBA, SRINIVAS CHOWDHARY; GOU, TIANYI; LIM, KAI-SERN; ANWAR, TAMEEM
To: SPLUNK INC.
Reel/Frame 063247/0805 →
References Cited (179)
US 5566171A · Levinson · 1996 [cited by applicant]
US 5914874A · Nohara · 1999 [cited by examiner]
US 7401132B1 · Krumel et al. · 2008 [cited by applicant]
US 7917495B1 · Chapman et al. · 2011 [cited by applicant]
US 7937344B2 · Baum et al. · 2011 [cited by applicant]
US 8112425B2 · Baum et al. · 2012 [cited by applicant]
US 8312037B1 · Bacthavachalu et al. · 2012 [cited by applicant]
US 8504521B2 · Okamoto · 2013 [cited by applicant]
US 8751529B2 · Zhang et al. · 2014 [cited by applicant]
US 8776086B1 · Chhabra · 2014 [cited by examiner]
US 8788525B2 · Neels et al. · 2014 [cited by applicant]
US 9063939B2 · Dalton · 2015 [cited by applicant]
US 9092502B1 · Cannaliato et al. · 2015 [cited by applicant]
US 9215240B2 · Merza et al. · 2015 [cited by applicant]
US 9286413B1 · Coates et al. · 2016 [cited by applicant]
US 9356995B1 · Schaeffer, III · 2016 [cited by applicant]
US 9451025B2 · Kazi et al. · 2016 [cited by applicant]
US 9785480B2 · Kamawat · 2017 [cited by examiner]
US 9917888B1 · Bonagiri et al. · 2018 [cited by applicant]
US 10127258B2 · Lamas et al. · 2018 [cited by applicant]
US 10129118B1 · Ghare et al. · 2018 [cited by applicant]
US 10162875B2 · Hattori · 2018 [cited by applicant]
US 10194001B1 · Gardiner et al. · 2019 [cited by applicant]
US 10325032B2 · Dageville et al. · 2019 [cited by applicant]
US 10474544B1 · Li · 2019 [cited by examiner]
US 10474656B1 · Bronnikov · 2019 [cited by applicant]
US 10585755B2 · Yamamoto · 2020 [cited by examiner]
US 10616314B1 · Plenderleith et al. · 2020 [cited by applicant]
US 10620883B1 · Cai · 2020 [cited by examiner]
US 10657061B1 · Marriner · 2020 [cited by applicant]
US 10684888B1 · Sethuramalingam et al. · 2020 [cited by applicant]
US 10685041B2 · Hattori · 2020 [cited by applicant]
US 10740009B2 · Chen et al. · 2020 [cited by applicant]
US 10795735B1 · Potnis et al. · 2020 [cited by applicant]
US 10924548B1 · Karumbunathan et al. · 2021 [cited by applicant]
US 10936589B1 · Beitchman et al. · 2021 [cited by applicant]
US 10963189B1 · Neelakantam et al. · 2021 [cited by applicant]
US 10990480B1 · Bernat et al. · 2021 [cited by applicant]
US 11003714B1 · Batsakis et al. · 2021 [cited by applicant]
US 11089105B1 · Karumbunathan et al. · 2021 [cited by applicant]
US 11119989B1 · Dance · 2021 [cited by applicant]
US 11120800B1 · Cheng et al. · 2021 [cited by applicant]
US 11157497B1 · Batsakis et al. · 2021 [cited by applicant]
US 11275733B1 · Batsakis et al. · 2022 [cited by applicant]
US 11294916B2 · Kondiles et al. · 2022 [cited by applicant]
US 11327992B1 · Batsakis et al. · 2022 [cited by applicant]
US 11334543B1 · Anwar et al. · 2022 [cited by applicant]
US 11416465B1 · Anwar et al. · 2022 [cited by applicant]
US 11436116B1 · Batsakis et al. · 2022 [cited by applicant]
US 11449371B1 · Goyal et al. · 2022 [cited by applicant]
US 11609913B1 · Anwar et al. · 2023 [cited by applicant]
US 11615082B1 · Shrigondekar et al. · 2023 [cited by applicant]
US 11620288B2 · Batsakis et al. · 2023 [cited by applicant]
US 11809395B1 · Fan et al. · 2023 [cited by applicant]
US 11892996B1 · Anwar et al. · 2024 [cited by applicant]
US 11966797B2 · Goyal et al. · 2024 [cited by applicant]
US 12019634B1 · Anwar et al. · 2024 [cited by applicant]
US 20040153528A1 · Suzuki · 2004 [cited by examiner]
US 20060015773A1 · Singh et al. · 2006 [cited by applicant]
US 20060114903A1 · Duffy et al. · 2006 [cited by applicant]
US 20070037563A1 · Yang · 2007 [cited by examiner]
US 20080013566A1 · Smith et al. · 2008 [cited by applicant]
US 20080215546A1 · Baum et al. · 2008 [cited by applicant]
US 20080294661A1 · Garza et al. · 2008 [cited by applicant]
US 20100005055A1 · An et al. · 2010 [cited by applicant]
US 20100063950A1 · Joshi · 2010 [cited by examiner]
US 20100106767A1 · Livshits et al. · 2010 [cited by applicant]
US 20100107158A1 · Chen et al. · 2010 [cited by applicant]
US 20100122184A1 · Vonog et al. · 2010 [cited by applicant]
US 20100293555A1 · Vepsalainen · 2010 [cited by applicant]
US 20100318650A1 · Nielsen · 2010 [cited by examiner]
US 20110041136A1 · Messier · 2011 [cited by examiner]
US 20110199899A1 · Lemaire et al. · 2011 [cited by applicant]
US 20110298596A1 · Warrick · 2011 [cited by examiner]
US 20120078975A1 · Chen et al. · 2012 [cited by applicant]
US 20120317579A1 · Liu · 2012 [cited by applicant]
US 20130091251A1 · Walker et al. · 2013 [cited by applicant]
US 20130151535A1 · Dusberger et al. · 2013 [cited by applicant]
US 20130311735A1 · Sivakumar et al. · 2013 [cited by applicant]
US 20140071290A1 · Collen et al. · 2014 [cited by applicant]
US 20140108633A1 · Dai et al. · 2014 [cited by applicant]
US 20140136255A1 · Grabovski et al. · 2014 [cited by applicant]
US 20140149783A1 · Georgiev · 2014 [cited by applicant]
US 20140189062A1 · Yan · 2014 [cited by examiner]
US 20140236889A1 · Vasan et al. · 2014 [cited by applicant]
US 20140236890A1 · Vasan et al. · 2014 [cited by applicant]
US 20140366020A1 · Lee et al. · 2014 [cited by applicant]
US 20140372616A1 · Arisoylu et al. · 2014 [cited by applicant]
US 20150067097A1 · Hsia · 2015 [cited by examiner]
US 20150095457A1 · Goda · 2015 [cited by examiner]
US 20150120928A1 · Gummaraju et al. · 2015 [cited by applicant]
US 20160036903A1 · Pal et al. · 2016 [cited by applicant]
US 20160055225A1 · Xu et al. · 2016 [cited by applicant]
US 20160087855A1 · Vlachogiannis et al. · 2016 [cited by applicant]
US 20160117318A1 · Helland · 2016 [cited by examiner]
US 20160210071A1 · Kawahara · 2016 [cited by applicant]
US 20160224570A1 · Sharp et al. · 2016 [cited by applicant]
US 20160224660A1 · Munk et al. · 2016 [cited by applicant]
US 20160226731A1 · Maroulis · 2016 [cited by applicant]
US 20160261716A1 · Khalaf et al. · 2016 [cited by applicant]
US 20160314163A1 · Marquardt et al. · 2016 [cited by applicant]
US 20160314211A1 · Kerai et al. · 2016 [cited by applicant]
US 20160321352A1 · Patel et al. · 2016 [cited by applicant]
US 20160323193A1 · Zhou et al. · 2016 [cited by applicant]
US 20170055916A1 · Bhattacharya et al. · 2017 [cited by applicant]
US 20170139996A1 · Marquardt et al. · 2017 [cited by applicant]
US 20170163724A1 · Puri et al. · 2017 [cited by applicant]
US 20170220651A1 · Mathew et al. · 2017 [cited by applicant]
US 20170262551A1 · Cho et al. · 2017 [cited by applicant]
US 20170286038A1 · Li et al. · 2017 [cited by applicant]
US 20170329390A1 · Shah · 2017 [cited by examiner]
US 20170346887A1 · Kaguma · 2017 [cited by examiner]
US 20170371568A1 · Aravot et al. · 2017 [cited by applicant]
US 20180032478A1 · Felderman et al. · 2018 [cited by applicant]
US 20180089278A1 · Bhattacharjee et al. · 2018 [cited by applicant]
US 20180089328A1 · Bath et al. · 2018 [cited by applicant]
US 20180241802A1 · Bernat et al. · 2018 [cited by applicant]
US 20180255121A1 · Hiltunen et al. · 2018 [cited by applicant]
US 20180285418A1 · Petropoulos et al. · 2018 [cited by applicant]
US 20180314746A1 · Gujarathi · 2018 [cited by applicant]
US 20180322157A1 · Lee et al. · 2018 [cited by applicant]
US 20190005067A1 · Bao et al. · 2019 [cited by applicant]
US 20190098106A1 · Mungel et al. · 2019 [cited by applicant]
US 20190155714A1 · Zhang · 2019 [cited by examiner]
US 20190155806A1 · Mathew et al. · 2019 [cited by applicant]
US 20190171748A1 · Duffield · 2019 [cited by applicant]
US 20190188315A1 · Hsieh et al. · 2019 [cited by applicant]
US 20190221313A1 · Rim et al. · 2019 [cited by applicant]
US 20190236197A1 · Karlapudi et al. · 2019 [cited by applicant]
US 20190272271A1 · Bhattacharjee et al. · 2019 [cited by applicant]
US 20190310977A1 · Pal et al. · 2019 [cited by applicant]
US 20200044927A1 · Apostolopoulos et al. · 2020 [cited by applicant]
US 20200050372A1 · Venkatesh et al. · 2020 [cited by applicant]
US 20200050607A1 · Pal · 2020 [cited by examiner]
US 20200068010A1 · Xing et al. · 2020 [cited by applicant]
US 20200073876A1 · Lopez et al. · 2020 [cited by applicant]
US 20200082015A1 · Watts et al. · 2020 [cited by applicant]
US 20200104864A1 · Mohanlal et al. · 2020 [cited by applicant]
US 20200128094A1 · De Lavarene et al. · 2020 [cited by applicant]
US 20200177333A1 · Liu · 2020 [cited by applicant]
US 20200195501A1 · Shenoy et al. · 2020 [cited by applicant]
US 20200265087A1 · Verma · 2020 [cited by applicant]
US 20200310884A1 · Villalobos et al. · 2020 [cited by applicant]
US 20200327953A1 · Fleming et al. · 2020 [cited by applicant]
US 20200364223A1 · Pal · 2020 [cited by examiner]
US 20200394225A1 · Nair et al. · 2020 [cited by applicant]
US 20200403822A1 · Pompelio · 2020 [cited by applicant]
US 20210034571A1 · Bedadala et al. · 2021 [cited by applicant]
US 20210173748A1 · Mukku · 2021 [cited by applicant]
US 20210312125A1 · Zhang · 2021 [cited by examiner]
US 20230014346A1 · Goyal · 2023 [cited by applicant]
US 20240111606A1 · Chanler · 2024 [cited by examiner]
US 20240118905A1 · Kondiles et al. · 2024 [cited by applicant]
US 20240202006A1 · Krijger et al. · 2024 [cited by applicant]
Alfred, “What we do,” URL: https://helloalfred.com/what-we-do/, in 4 pages, captured Aug. 27, 2019. [cited by applicant]
Balazinska, et al., Fault-tolerance and high availability in data stream management systems; https://homes.cs.washington.edu/-magda/encyclopedia-short.pdf; Publication Date Provided by WayBack Machine for attached copy:… [cited by applicant]
Bitincka, et al., “Optimizing Data Analysis with a Semi-structured Time Series Database,” self-published, first presented at “Workshop on Managing Systems via Log Analysis and Machine Learning Techniques (SLAML)”, Vanco… [cited by applicant]
Carraso, “Exploring Splunk,” published by CITO Research, New York, NY, Apr. 2012. [cited by applicant]
Google Scholar/Patents—text refined (Year: 2021). [cited by applicant]
SLAML 10 Reports, Workshop on Managing Systems via Log Analysis and Machine Learning Techniques, ;login: Feb. 2011 Conference Reports. [cited by applicant]
Splunk Enterprise 8.0.0 Overview, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Cloud 8.0.2004 User Manual, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Quick Reference Guide, updated 2019, available online at https://www.splunk.com/pdfs/solution-guides/splunk-quick-reference-guide.pdf, retrieved May 20, 2020. [cited by applicant]
U.S. Appl. No. 16/513,365, filed Jul. 16, 2019. [cited by applicant]
U.S. Appl. No. 16/778,427, filed Jan. 31, 2020. [cited by applicant]
U.S. Appl. No. 16/778,498, filed Jan. 31, 2020. [cited by applicant]
U.S. Appl. No. 17/162,477, filed Jan. 29, 2021. [cited by applicant]
U.S. Appl. No. 17/162,491, filed Jan. 29, 2021. [cited by applicant]
U.S. Appl. No. 17/444,173, filed Jul. 30, 2021. [cited by applicant]
U.S. Appl. No. 16/945,578, filed Jul. 31, 2020. [cited by applicant]
U.S. Appl. No. 16/945,646, filed Jul. 31, 2020. [cited by applicant]
U.S. Appl. No. 17/901,586, filed Sep. 1, 2022. [cited by applicant]
U.S. Appl. No. 18/123,758, filed Mar. 20, 2023. [cited by applicant]
U.S. Appl. No. 18/295,123, filed Apr. 3, 2023. [cited by applicant]
U.S. Appl. No. 18/329,874, filed Jun. 6, 2023. [cited by applicant]
U.S. Appl. No. 18/162,273, filed Jan. 31, 2023. [cited by applicant]
U.S. Appl. No. 18/735,936, filed Jun. 6, 2024, Anwar et al. [cited by applicant]
U.S. Appl. No. 18/542,468, filed Dec. 15, 2023, Anwar et al. [cited by applicant]
U.S. Appl. No. 18/641,089, filed Apr. 19, 2024, Goyal et al. [cited by applicant]
Cited By (1)
US 12,493,598