IP Library Granted Patent US 12,619,615
Granted Patent B1
US 12,619,615 · App. 18/626,239 · Granted May 5, 2026

Data stream processing instruction set previews using batch conversion

Inventors: Ankur Dalsukhbhai Bambharoliya (Bellevue, WA); Ricky Burnett (Davis, CA); Daniel Ferstay (Vancouver, CA); Arthur Foelsche (Montpelier, VT); Alexander D. James (Sammamish, WA); Ganesh Jothikumar (Los Altos, CA); Bei Li (Redwood City, CA); Amy Joanna Sutedja (Seattle, WA); Salih Ammar Wajih Zainulabdeen (Seattle, WA)
Assignee: Cisco Technology, Inc.
G06F16/24568G06F16/24573G06F16/248
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,619,615
App. No.
18/626,239
Granted
May 5, 2026
Kind
B1
Abstract

Systems and methods are described for providing previews of deployment of data stream processing instructions sets, sometimes called pipelines, to a stream data processing system. Rather than deploying such an instruction set, which may cause detrimental side effects, previews can be facilitated by conversion of a data stream processing instructions set to a batch query that is applied to an existing data set. An output of the batch query can then be provided to an end user as a preview of output of the data stream processing instructions set, when implemented.

Claims (41)

1 . A computer-implemented method comprising:

accessing a pipeline, the pipeline comprising an instruction set indicating a data source and one or more data manipulations for processing data from a streaming data input to generate a streaming output;

executing the pipeline to generate a preview by at least:

converting the pipeline, comprising the instruction set, into a batch query at least by generating the batch query to process data from an existing data set in accordance with the one or more manipulations for processing included in the pipeline, wherein the existing data set is distinct from the streaming data input; and

applying the batch query, representing conversion of the pipeline, to the existing data set to generate a query results set; and

outputting the query results set generated from applying the batch query, representing the conversion of the pipeline, to the existing data set as the preview of the results of the pipeline when applied to the streaming data input.

2 . The computer-implemented method of claim 1 , further comprising accessing a request to preview results of the pipeline.

3 . The computer-implemented method of claim 2 , wherein the streaming output is designated by a streaming output variable, and wherein accessing the request to preview results of the pipeline comprises accessing a request to deploy the pipeline with the streaming output variable unbound.

4 . The computer-implemented method of claim 2 , wherein the request to preview results of the pipeline specifies the existing data set.

5 . The computer-implemented method of claim 2 further comprising, when the request to preview results of the pipeline does not specify the existing data set, selecting the existing data set using an association between the existing data set and the streaming data input.

6 . The computer-implemented method of claim 1 further comprising, selecting the existing data set using an association between the existing data set and the streaming data input.

7 . The computer-implemented method of claim 1 , wherein the existing data set comprises data previously read from the streaming data input.

8 . The computer-implemented method of claim 1 , wherein the pipeline and the batch query are specified in a shared query language.

9 . The computer-implemented method of claim 1 , wherein the pipeline and the batch query are specified in a shared query language, wherein a final command of the pipeline specifies the streaming output, and wherein converting the pipeline into the batch query comprises removing the final command of the pipeline and saving a result as the batch query.

10 . The computer-implemented method of claim 1 , wherein the pipeline and the batch query are specified in a common query language, and wherein converting the pipeline into the batch query comprises replacing a reference to the streaming data input in the pipeline with a reference to the existing data set.

11 . The computer-implemented method of claim 1 , wherein the pipeline further writes data to a second streaming output, wherein converting the pipeline into the batch query comprises converting the pipeline into at least two batch queries comprising a first batch query corresponding to the streaming output and a second batch query corresponding to the second streaming output, and wherein outputting the query results set as preview results of the pipeline comprises outputting query results corresponding to a combination of results from the first batch query and results from the second batch query.

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

obtaining specification of a second pipeline, the second pipeline comprising a specification to write data to the streaming output; and

obtaining a request to preview results of the second pipeline;

wherein converting the pipeline into the batch query comprises converting both the pipeline and the second data pipeline into a single batch query; and

wherein outputting the query results set as preview results of the pipeline comprises outputting the query results as preview results of both the pipeline and the second pipeline.

13 . The computer-implemented method of claim 1 , wherein the method is implemented without reading data from the streaming data input.

14 . The computer-implemented method of claim 1 , wherein the method is implemented without writing data to the streaming data output.

15 . The computer-implemented method of claim 1 , wherein the streaming output is identified in the pipeline with an output identifier, and wherein applying the batch query to the existing data set to generate the query results set comprises associating the query results set with the output identifier.

16 . The computer-implemented method of claim 15 , wherein outputting the query results set as preview results of the pipeline is responsive to a request to read from the output identifier.

17 . A system comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to:

access a pipeline, the pipeline comprising an instruction set indicating a data source and one or more data manipulations for processing data from a streaming data input to generate a streaming output;

execute the pipeline to generate a preview by at least:

converting the pipeline, comprising the instruction set, into a batch query at least by generating the batch query to process data from an existing data set in accordance with the one or more manipulations for processing included in the pipeline, wherein the existing data set is distinct from the streaming data input; and

applying the batch query, representing conversion of the pipeline, to the existing data set to generate a query results set; and

output the query results set generated from applying the batch query, representing conversion of the pipeline, to the existing data set as the preview of the results of the pipeline when applied to the streaming data input.

18 . The system of claim 17 , wherein the pipeline and the batch query are specified in a common query language, and wherein to convert the pipeline into the batch query, the instructions cause the processor to replace a reference to the streaming data input in the pipeline with a reference to the existing data set.

19 . One or more non-transitory computer-readable media having stored thereon instructions that, when executed by a computing system including one or more processors, cause the computing system to:

access a pipeline, the pipeline comprising an instruction set indicating a data source and one or more data manipulations for processing data from a streaming data input to generate a streaming output;

execute the pipeline to generate a preview by at least:

converting the pipeline, comprising the instruction set, into a batch query at least by generating the batch query to process data from an existing data set in accordance with the one or more manipulations for processing included in the pipeline, wherein the existing data set is distinct from the streaming data input; and

applying the batch query, representing conversion of the pipeline, to the existing data set to generate a query results set; and

output the query results set generated from applying the batch query, representing conversion of the pipeline, to the existing data set as the preview of the results of the pipeline when applied to the streaming data input.

20 . The one or more non-transitory computer-readable claim 19 , wherein the pipeline and the batch query are specified in a common query language, and wherein to convert the pipeline into the batch query, the instructions cause the computing system to replace a reference to the streaming data input in the pipeline with a reference to the existing data set.

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 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069826/0065 →
Continuity (2)
Continuation 17816322 · Jul 29, 2022
Provisional Application 63366234 · Jun 10, 2022
References Cited (23)
US 7937344B2 · Baum et al. · 2011 [cited by applicant]
US 8112425B2 · Baum et al. · 2012 [cited by applicant]
US 8751529B2 · Zhang et al. · 2014 [cited by applicant]
US 8788525B2 · Neels et al. · 2014 [cited by applicant]
US 9215240B2 · Merza et al. · 2015 [cited by applicant]
US 9286413B1 · Coates et al. · 2016 [cited by applicant]
US 10127258B2 · Lamas et al. · 2018 [cited by applicant]
US 11537990B2 · Reynolds · 2022 [cited by examiner]
US 11714812B2 · Kancharia et al. · 2023 [cited by applicant]
US 20190098106A1 · Mungel et al. · 2019 [cited by applicant]
US 20210176335A1 · Geerinck · 2021 [cited by examiner]
US 20210191925A1 · Sianez · 2021 [cited by applicant]
US 20210349950A1 · Setlur et al. · 2021 [cited by applicant]
US 20220138205A1 · Lei et al. · 2022 [cited by applicant]
US 20230023655A1 · Hui et al. · 2023 [cited by applicant]
US 20230118040A1 · Deshwal · 2023 [cited by examiner]
US 20230120592A1 · Deshwal · 2023 [cited by examiner]
Bitincka, Ledion 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)”… [cited by applicant]
Carraso, David, “Exploring Splunk,” published by CITO Research, New York, NY, Apr. 2012. [cited by applicant]
SLAML 10 Reports, Workshop On Managing Systems via Log Analysis and Machine Learning Techniques. ;login: Feb. 2011—Conference Reports—vol. 36, No. 1, pp. 104-110. [cited by applicant]
Splunk Enterprise Overview 8.0.0—splunk > turn data into doing—copyright 2020 Splunk Inc.—in 17 pages—Retrieved from Splunk Documentation <URL: https://docs.splunk.com/Documentation> on May 20, 2020. [cited by applicant]
Splunk Cloud User Manual 8.0.2004—splunk> turn data in doing—copyright 2020 Splunk Inc.—in 66 pages—Retrieved from Splunk Documentation <URL: https://docs.splunk.com/Documentation> on May 20, 2020. [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]