IP Library Granted Patent US 12,395,547
Granted Patent B1
US 12,395,547 · App. 18/639,396 · Granted Aug 19, 2025

Identifying and managing transaction conflicts

Inventors: Ledion Bitincka (San Francisco, CA); Vishal Patel (San Francisco, CA); Geoffrey Hendrey (San Francisco, CA); Eric Woo (San Francisco, CA)
H04L67/06H04L41/0813H04L41/0843H04L41/0856H04L67/34H04L69/329
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,395,547
App. No.
18/639,396
Granted
Aug 19, 2025
Kind
B1
Abstract

In a computer-implemented method for configuring a distributed computer system comprising a plurality of nodes of a plurality of node classes, configuration files for a plurality of nodes of each of the plurality of node classes are stored in a central repository. The configuration files include information representing a desired system state of the distributed computer system, and the distributed computer system operates to keep an actual system state of the distributed computer system consistent with the desired system state. The plurality of node classes includes forwarder nodes for receiving data from an input source, indexer nodes for indexing the data, and search head nodes for searching the data. Responsive to receiving changes to the configuration files, the changes are propagated to nodes of the plurality of nodes impacted by the changes based on a node class of the nodes impacted by the changes.

Claims (34)

1. A computer-implemented method comprising:

storing configuration files, in a central repository on a management node to enable unification of maintenance of the configuration files, for a plurality of node classes of a distributed computer system that operates to maintain an actual system state of the distributed computer system consistent with a desired system state of the distributed computer system as represented by the configuration files in the central repository;

receiving a transaction comprising a change to a configuration file; and

determining whether the transaction conflicts with the configuration files, wherein when the transaction conflicts with the configuration files, providing a notification that the transaction is not merged into the configuration files, and

when the transaction fails to conflict with the configuration files, merging the transaction into the configuration files for a plurality of nodes of the plurality of node classes impacted by the change to the configuration file to update the desired system state of the distributed computer system.

2. The computer-implemented method of claim 1 , wherein the transaction further comprises acceptance criteria for the change to the configuration file.

3. The computer-implemented method of claim 1 , wherein the configuration files include information representing the desired system state of the distributed computer system.

4. The computer-implemented method of claim 1 , wherein the plurality of node classes include forwarder nodes for receiving data from an input source, indexer nodes for indexing the data, and search head nodes for searching the data.

5. The computer-implemented method of claim 1 , wherein the central repository includes a common configuration file sub-repository for maintaining configuration files common to the plurality of nodes of the plurality of node classes.

6. The computer-implemented method of claim 1 , wherein the transaction is received from a single management node of the distributed computer system.

7. The computer-implemented method of claim 1 , wherein the merging the transaction into the configuration files for a plurality of nodes is performed via a representational state transfer call.

8. The computer-implemented method of claim 1 , wherein when the change to the configuration file impacts search nodes, the transaction is merged into the configuration files for the search nodes.

9. One or more non-transitory computer storage media containing instructions which when executed on one or more data processors, cause the one or more data processors to perform operations comprising:

storing configuration files, in a central repository on a management node to enable unification of maintenance of the configuration files, for a plurality of node classes of a distributed computer system that operates to maintain an actual system state of the distributed computer system consistent with a desired system state of the distributed computer system as represented by the configuration files in the central repository;

receiving a transaction comprising a change to a configuration file; and

determining whether the transaction conflicts with the configuration files, wherein when the transaction conflicts with the configuration files, providing a notification that the transaction is not merged into the configuration files, and

when the transaction fails to conflict with the configuration files, merging the transaction into the configuration files for a plurality of nodes of the plurality of node classes impacted by the change to the configuration file to update the desired system state of the distributed computer system.

10. The one or more non-transitory computer storage media of claim 9 , wherein the transaction further comprises acceptance criteria for the change to the configuration file.

11. The one or more non-transitory computer storage media of claim 9 , wherein the configuration files include information representing the desired system state of the distributed computer system.

12. The one or more non-transitory computer storage media of claim 9 , wherein the plurality of node classes include forwarder nodes for receiving data from an input source, indexer nodes for indexing the data, and search head nodes for searching the data.

13. The one or more non-transitory computer storage media of claim 9 , wherein the central repository includes a common configuration file sub-repository for maintaining configuration files common to the plurality of nodes of the plurality of node classes.

14. The one or more non-transitory computer storage media of claim 9 , wherein the transaction is received from a single management node of the distributed computer system.

15. The one or more non-transitory computer storage media of claim 9 , wherein the merging the transaction into the configuration files for a plurality of nodes is performed via a representational state transfer call.

16. The one or more non-transitory computer storage media of claim 9 , wherein when the change to the configuration file impacts search nodes, the transaction is merged into the configuration files for the search nodes.

17. A system comprising:

one or more data processors; and

one or more non-transitory computer storage media containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations comprising:

storing configuration files, in a central repository on a management node to enable unification of maintenance of the configuration files, for a plurality of node classes of a distributed computer system that operates to maintain an actual system state of the distributed computer system consistent with a desired system state of the distributed computer system as represented by the configuration files in the central repository;

receiving a transaction comprising a change to a configuration file; and

determining whether the transaction conflicts with the configuration files, wherein when the transaction conflicts with the configuration files, providing a notification that the transaction is not merged into the configuration files, and

when the transaction fails to conflict with the configuration files, merging the transaction into the configuration files for a plurality of nodes of the plurality of node classes impacted by the change to the configuration file to update the desired system state of the distributed computer system.

18. The system of claim 17 , wherein when the change to the configuration file impacts search nodes, the transaction is merged into the configuration files for the search nodes.

19. The system of claim 17 , wherein the central repository includes a common configuration file sub-repository for maintaining configuration files common to the plurality of nodes of the plurality of node classes.

20. The system of claim 17 , wherein the plurality of node classes include forwarder nodes for receiving data from an input source, indexer nodes for indexing the data, and search head nodes for searching the data.

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/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2024
From: BITINCKA, LEDION; PATEL, VISHAL; HENDREY, GEOFFREY; WOO, ERIC
To: SPLUNK INC.
Reel/Frame 067178/0603 →
Continuity (4)
Continuation 17804260 · May 26, 2022
Continuation 17010399 · Sep 2, 2020
Continuation 16202990 · Nov 28, 2018
Continuation 15143472 · Apr 29, 2016
References Cited (63)
US 7463648B1 · Eppstein · 2008 [cited by examiner]
US 8032634B1 · Eppstein · 2011 [cited by examiner]
US 8179809B1 · Eppstein · 2012 [cited by examiner]
US 8260913B2 · Knapp et al. · 2012 [cited by applicant]
US 8380757B1 · Bailey · 2013 [cited by examiner]
US 8566447B2 · Cohen et al. · 2013 [cited by applicant]
US 8719223B2 · Knapp et al. · 2014 [cited by applicant]
US 8719501B2 · Flynn et al. · 2014 [cited by applicant]
US 9081501B2 · Asaad et al. · 2015 [cited by applicant]
US 9154329B2 · Rosenberg · 2015 [cited by applicant]
US 9219500B2 · Schilling et al. · 2015 [cited by applicant]
US 9378262B2 · Braddy · 2016 [cited by applicant]
US 9626177B1 · Madduri et al. · 2017 [cited by applicant]
US 9705817B2 · Lui et al. · 2017 [cited by applicant]
US 9838240B1 · Cormie et al. · 2017 [cited by applicant]
US 9971713B2 · Asaad et al. · 2018 [cited by applicant]
US 10178152B2 · Bitincka · 2019 [cited by examiner]
US 10237134B2 · Saltsidis · 2019 [cited by applicant]
US 10257030B2 · Saltsidis · 2019 [cited by applicant]
US 10389592B2 · Lui et al. · 2019 [cited by applicant]
US 10530838B1 · Bicka · 2020 [cited by applicant]
US 10681490B2 · Kulkarni et al. · 2020 [cited by applicant]
US 10715448B2 · Dey et al. · 2020 [cited by applicant]
US 10719332B1 · Dwivedi et al. · 2020 [cited by applicant]
US 10798152B2 · Estes et al. · 2020 [cited by applicant]
US 10880326B1 · Gofman · 2020 [cited by applicant]
US 11194564B1 · Dwivedi et al. · 2021 [cited by applicant]
US 11394767B2 · Bitincka · 2022 [cited by examiner]
US 20050038779A1 · Fernandez et al. · 2005 [cited by applicant]
US 20050171980A1 · Fernandez et al. · 2005 [cited by applicant]
US 20080049787A1 · Mcnaughton et al. · 2008 [cited by applicant]
US 20090028254A1 · Wang · 2009 [cited by examiner]
US 20090147669A1 · Green · 2009 [cited by examiner]
US 20090323784A1 · Depienne · 2009 [cited by examiner]
US 20110051830A1 · Tsao · 2011 [cited by examiner]
US 20110066808A1 · Flynn et al. · 2011 [cited by applicant]
US 20110072119A1 · Bronstein · 2011 [cited by examiner]
US 20110289417A1 · Schaefer et al. · 2011 [cited by applicant]
US 20120290950A1 · Rapaport et al. · 2012 [cited by applicant]
US 20130070866A1 · Wu · 2013 [cited by examiner]
US 20130080641A1 · Lui et al. · 2013 [cited by applicant]
US 20130173152A1 · Schilling et al. · 2013 [cited by applicant]
US 20130242768A1 · Li · 2013 [cited by examiner]
US 20140280771A1 · Bosworth et al. · 2014 [cited by applicant]
US 20140317229A1 · Hughes · 2014 [cited by examiner]
US 20140344713A1 · Beglin · 2014 [cited by applicant]
US 20150140756A1 · Yu et al. · 2015 [cited by applicant]
US 20150161225A1 · Braddy · 2015 [cited by applicant]
US 20150161275A1 · Pan · 2015 [cited by examiner]
US 20150249548A1 · Rasband et al. · 2015 [cited by applicant]
US 20160112341A1 · Lui et al. · 2016 [cited by applicant]
US 20160266062A1 · Nishijima · 2016 [cited by examiner]
US 20170111219A1 · Saltsidis · 2017 [cited by applicant]
US 20180123876A1 · Tang et al. · 2018 [cited by applicant]
US 20190363988A1 · Dey et al. · 2019 [cited by applicant]
US 20200280577A1 · Segal et al. · 2020 [cited by applicant]
CA 2755380A1 · 2010 [cited by examiner]
CN 111095991A · 2020 [cited by examiner]
WO 2013103860A1 · 2013 [cited by applicant]
U.S. Appl. No. 15/143,472, filed Apr. 29, 2016, Granted. [cited by applicant]
U.S. Appl. No. 16/202,990, filed Nov. 28, 2018, Granted. [cited by applicant]
U.S. Appl. No. 17/010,399, filed Sep. 2, 2020, Granted. [cited by applicant]
U.S. Appl. No. 17/804,260, filed May 26, 2022, Granted. [cited by applicant]