# US 11,030,192 B2 · Updates to access permissions of sub-queries at run time

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,192 B2
- Document ID: US11030192B2
- Status: Granted
- Kind: B2
- Application number: 16/250,949
- Filed: 2019-01-17
- Published: 2019-06-20
- Granted: 2021-06-08
- Earliest claimed: 2015-01-30
- Assignees: Splunk Inc.
- Applicants: Splunk Inc.
- Inventors: Alexander James; Jesse Miller
- Web page: https://patentgrep.com/patent/US11030192B2

## CPC

- G06F 16/24524: {Access plan code generation and invalidation; Reuse of access plans}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/23: Updating
- G06F 16/235: {Update request formulation}
- G06F 16/2372: {Updates performed during offline database operations}
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/24544: {Join order optimisation}
- G06F 16/2455: Query execution
- G06F 16/24564: {Applying rules; Deductive queries}
- G06F 16/2477: {Temporal data queries}
- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/33: Querying
- G06F 16/3334: {Selection or weighting of terms from queries, including natural language queries}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 40/177: of tables; using ruled lines
- G06Q 10/00: Administration; Management
- G06T 11/26: Drawing of charts or graphs
- G06Q 10/10: Office automation; Time management
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method includes assigning an access permission of a first user to a query object that represents a first query, the access permission granting the first user access rights to one or more data sources of the first query, the access permission being assigned as a runtime permission of the first query, granting a request from a second user to execute a second query, the first query being a subquery of the second query, and allowing the second user to execute the first query on the one or more data sources of the first query using the runtime permission assigned to the first query in executing the second query using the first query as the subquery.

## Claims

### Claim 1

A computer-implemented method, comprising:
assigning a first access permission to a first query, wherein the first access permission grants access rights to a portion of a data source that satisfies the first query;
receiving a second query that is associated with a second access permission that grants the access rights of the first access permission to the portion of the data source in response to executing the second query, wherein the first query is a subquery of the second query; and
in response to the executing the second query, granting the access rights of the first access permission to the portion of the data source that satisfies the first query based at least on identifying the second access permission is associated with the second query, such that when the first query is executed as the subquery of the second query, the portion of the data source that satisfies the first query is accessed.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
assigning a third access permission to a base query, the third access permission granting access rights to another portion of the data source that satisfies the base query, wherein the second access permission further grants the access rights of the third access permission to the other portion of the data source in response to the executing of the second query; and
in response to the executing of the second query, granting the access rights to the other portion of the data source that satisfies the base query based at least on identifying the second access permission is associated with the second query.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein executing the first query as the subquery of the second query includes returning supplemental query results of the first query to a data processing pipeline corresponding to the second query.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first query is an input query of the second query, the input query representing an initial portion of a data processing pipeline represented by the second query.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the data source comprises one or more indexed data stores and the first query is on indexed objects in the one or more indexed data stores.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the first query is directed to a first query object and the second query is directed to a second query object that represents the second query to execute the second query as a subquery of a third query.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the first query is directed to a first query object, the second query is directed to a second query object, and granting the access rights of the first access permission is based on the second access permission granting access rights to the second query object that represents the second query.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the second query defines a plurality of subqueries, each subquery having a respective query object that defines runtime permissions of the subquery that are used for executing the subquery in the executing of the second query.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising:
enabling a query interface to generate the second query;
receiving the second query from the query interface; and
causing display, within the query interface, of query results of the second query.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
enabling a query interface to generate the first query, wherein the query interface is configured to display query results of the first query;
receiving, by the query interface, a request to save the first query; and
saving the first query in association with a query object representing the first query, wherein saving the first query includes assigning the first access permission to the query object.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, further comprising:
enabling a query interface to generate a third query, wherein the query interface is configured to display query results of the third query; and
in response to receiving, by the query interface, a request to save the third query, saving the third query in association with a query object, wherein saving the third query comprises assigning a third access permission to the query object as a runtime permission of the third query; and
executing the third query on the data source as a base query to the second query using the runtime permission assigned to the third query.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein the first access permission is a runtime permission designated for a project, and executing the second query is for the project.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein the first query and the second query are executed on event data that includes a plurality of events, each event including a timestamp associated with event raw data.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein executing the second query returns query results comprising a plurality of events, based on extracting values from the plurality of events using a common extraction rule, the extraction rule defined by the second query.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, wherein executing the second query returns query results comprising a plurality of events based on extracting values from the plurality of events using a regular expression, the extraction rule defined by the second query.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, wherein executing the second query returns query results comprising a plurality of events based on applying a late-binding schema to the plurality of events.

### Claim 17 (depends on 1)

The computer-implemented method of claim 1, wherein the first query and the second query each comprise a plurality of pipelined commands of a pipelined query language.

### Claim 18 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving an access request directed to a query object representing the first query to execute the first query as a subquery of the second query as part of executing the second query.

### Claim 19 (depends on 1)

The computer-implemented method of claim 1, wherein the second query comprises one or more commands that incorporate the first query as the subquery of the second query.

### Claim 20 (depends on 1)

The computer-implemented method of claim 1, wherein granting the access rights of the first access permission is further in response to granting a request to execute the second query.

### Claim 21

One or more computer-readable media having instructions stored thereon, the instructions, when executed by a processor of a computing device, to cause the computing device to perform a method comprising:
assigning a first access permission to a first query, wherein the first access permission grants access rights to a portion of a data source that satisfies the first query;
receiving a second query that is associated with a second access permission that grants the access rights of the first access permission to the portion of the data source in response to executing the second query, wherein the first query is a subquery of the second query; and
in response to the executing the second query, granting the access rights of the first access permission to the portion of the data source that satisfies the first query based at least on identifying the second access permission is associated with the second query, such that when the first query is executed as the subquery of the second query, the portion of the data source that satisfies the first query is accessed.

### Claim 22 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, the method further comprising:
assigning a third access permission to a base query, the third access permission granting access rights to another portion of the data source that satisfies the base query, wherein the second access permission further grants the access rights of the third access permission to the other portion of the data source in response to the executing of the second query; and
in response to the executing of the second query, granting the access rights to the other portion of the data source that satisfies the base query based at least on identifying the second access permission is associated with the second query.

### Claim 23 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, wherein executing the first query as the subquery of the second query includes returning supplemental query results of the first query to a data processing pipeline corresponding to the second query.

### Claim 24 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, wherein the first query is an input query of the second query, the input query representing an initial portion of a data processing pipeline represented by the second query.

### Claim 25 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, wherein the data source comprises one or more indexed data stores and the first query is on indexed objects in the one or more indexed data stores.

### Claim 26 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, wherein the first query is directed to a first query object and the second query is directed to a second query object that represents the second query to execute the second query as a subquery of a third query.

### Claim 27 (depends on 21)

The one or more non-transitory computer-readable media of claim 21, wherein the first query is directed to a first query object, the second query is directed to a second query object, and granting the access rights of the first access permission is based on the second access permission granting access rights to the second query object that represents the second query.

### Claim 28

A system comprising:
one or more processors; and
memory having instructions stored thereon, the instructions, when executed by the one or more processors, to cause the system to perform a method comprising:
assigning a first access permission to a first query, wherein the first access permission grants access rights to a portion of a data source that satisfies the first query;
receiving a second query that is associated with a second access permission that grants the access rights of the first access permission to the portion of the data source in response to executing the second query, wherein the first query is a subquery of the second query; and
in response to the executing the second query, granting the access rights of the first access permission to the portion of the data source that satisfies the first query based at least on identifying the second access permission is associated with the second query, such that when the first query is executed as the subquery of the second query, the portion of the data source that satisfies the first query is accessed.

### Claim 29 (depends on 28)

The system of claim 28, wherein the first query is directed to a first query object, the second query is directed to a second query object, and granting the access rights of the first access permission is based on the second access permission granting access rights to the second query object that represents the second query.

### Claim 30 (depends on 28)

The system of claim 28, further comprising:
enabling a query interface to generate the second query;
receiving the second query from the query interface; and
causing display, within the query interface, of query results of the second query.
