# US 12,007,989 B1 · Query execution using access permissions of queries

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

- Number: US 12,007,989 B1
- Document ID: US12007989B1
- Status: Granted
- Kind: B1
- Application number: 17/237,422
- Filed: 2021-04-22
- Granted: 2024-06-11
- Earliest claimed: 2015-01-30
- Assignees: Splunk Inc.
- Applicants: SPLUNK Inc.
- Inventors: Alexander James; Jesse Miller
- Web page: https://patentgrep.com/patent/US12007989B1

## 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:
obtaining an assignment of an access permission to a first query;
obtaining a request to execute a second query;
identifying, in association with the request to execute the second query, the assignment of the access permission to the first query, wherein the access permission grants access rights to one or more data sources;
identifying, in association with the request to execute the second query, a second assignment of a second access permission to a third query, wherein the second access permission grants access rights to a set of data sources;
granting the second query the access rights of the access permission, to the one or more data sources, assigned to the first query based on the identifying of the assignment of the access permission to the first query; and
granting the second query access to data that corresponds to query results of the third query using the second access permission based on the identifying the second assignment.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising generating the assignment of the access permission to the first query based on a selection of a form element in a user interface.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the access permission is assigned to the first query based on the access permission corresponding to a creator of the first query.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the granting of the second query the access rights of the access permission is based on the first query being a subquery of the second query.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving the second query from a user interface; and
causing display, within the user interface, of query results of the second query generated in response to the request.

### Claim 6 (depends on 1)

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

### Claim 7 (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 8 (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 9 (depends on 1)

The computer-implemented method of claim 1, wherein granting the second query the access rights of the access permission is based on 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 in response to the request to execute the second query.

### Claim 10 (depends on 1)

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

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein input data that corresponds to query results of the first query is used as a supplemental data source to a data processing pipeline represented by the second query.

### Claim 12

One or more non-transitory 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:
obtaining an assignment of an access permission to a first query;
obtaining a request to execute a second query;
identifying, in association with the request to execute the second query, the assignment of the access permission to the first query, wherein the access permission grants access rights to one or more data sources;
identifying, in association with the request to execute the second query, a second assignment of a second access permission to a third query, wherein the second access permission grants access rights to a set of data sources;
granting the second query the access rights of the access permission, to the one or more data sources, assigned to the first query based on the identifying of the assignment of the access permission to the first query; and
granting the second query access to data that corresponds to query results of the third query using the second access permission based on the identifying the second assignment.

### Claim 13 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein the method further comprises generating the assignment of the access permission to the first query based on a selection of a form element in a user interface.

### Claim 14 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein the access permission is assigned to the first query based on the access permission corresponding to a creator of the first query.

### Claim 15 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein granting of the second query the access rights of the access permission is based on the first query being a subquery of the second query.

### Claim 16

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:
obtaining an assignment of an access permission to a first query;
obtaining a request to execute a second query;
identifying, in association with the request to execute the second query, the assignment of the access permission to the first query, wherein the access permission grants access rights to one or more data sources;
identifying, in association with the request to execute the second query, a second assignment of a second access permission to a third query, wherein the second access permission grants access rights to a set of data sources;
granting the second query the access rights of the access permission, to the one or more data sources, assigned to the first query based on the identifying of the assignment of the access permission to the first query; and
granting the second query access to data that corresponds to query results of the third query using the second access permission based on the identifying the second assignment.

### Claim 17 (depends on 16)

The system of claim 16, wherein the method further comprises:
assigning a third access permission to a base query, the third access permission granting access rights to another portion of the set of data sources 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 set of data sources in response to the executing of the first query; and
in response to the executing of the first query, granting the access rights to the other portion of the set of data sources that satisfies the base query based at least on identifying the second access permission is associated with the first query.

### Claim 18 (depends on 16)

The system of claim 16, wherein the method further comprises generating the assignment of the access permission to the first query based on a selection of a form element in a user interface.

### Claim 19 (depends on 16)

The system of claim 16, wherein the access permission is assigned to the first query based on the access permission corresponding to a creator of the first query.

### Claim 20 (depends on 16)

The system of claim 16, wherein the granting of the second query access to data is based on the first query being a subquery of the second query.
