IP Library › Granted Patent US 11,467,809
Granted Patent B2
US 11,467,809 · App. 17/123,662 · Granted Oct 11, 2022

Evaluation of JavaScript object notation (JSON) queries with first-order logic using context-free grammar

Inventors: Chandra Biksheswaran Mouleeswaran (Coupertino, CA); Kasiviswanathan Annamalai (Santa Clara, CA)
Assignee: Palo Alto Networks, Inc.
G06F8/427G06F9/547G06F16/9027
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 11,467,809
App. No.
17/123,662
Granted
Oct 11, 2022
Kind
B2
Abstract

A JavaScript Object Notation (“JSON”) query parser parses cloud database JSON queries with first order logic. A compiler-compiler generates the JSON query parser using a representation of a context-free grammar with first-order logic. An information retrieval model generator generates information retrieval models for cloud resources in the cloud database based on known JSON queries and query responses to the cloud database. The JSON query parser generates parse trees from the JSON queries and identifies cloud resources for the JSON queries. Subsequently, the JSON query parser uses the parse trees to extract JSON object paths from the corresponding information retrieval models and the JSON object paths go into a cloud database query.

Claims (44)

1. A method comprising:

generating a syntactic structure for a tree structure file format query, wherein generating the syntactic structure for the tree structure file format query comprises parsing the tree structure file format query to extract the syntactic structure for the tree structure file format query based on a context-free grammar with first-order logic associated with the tree structure file format query;

identifying a first cloud resource corresponding to the tree structure file format query based, at least in part, on the syntactic structure for the tree structure file format query;

determining a first plurality of object paths in an information retrieval model for the first cloud resource based, at least in part, on the syntactic structure for the tree structure file format query; and

querying a cloud database using at least the first plurality of object paths.

2. The method of claim 1 further comprising,

determining a plurality of object paths for the first cloud resource based, at least in part, on a first plurality of tree structure file format queries and a first plurality of tree structure file format query responses for the first cloud resource; and

generating the information retrieval model for the first cloud resource based, at least in part, on the plurality of object paths.

3. The method of claim 2 , further comprising updating the information retrieval model for the first cloud resource based, at least in part, on a second plurality of tree structure file format queries and a second plurality of tree structure file format query responses for the first cloud resource.

4. The method of claim 1 , wherein querying the cloud database using at least the first plurality of object paths comprises converting the first plurality of object paths into queries for an application programming interface of the cloud database.

5. The method of claim 1 , wherein determining the first cloud resource corresponding to the tree structure file format query comprises,

inputting a representation of the tree structure file format query into a deterministic finite automaton (DFA) having states that are cloud resources; and

determining that the DFA enters an accept state corresponding to the first cloud resource.

6. The method of claim 1 , wherein the syntactic structure for the tree structure file format query is a parse tree for the tree structure file format query.

7. The method of claim 1 , further comprising generating a query parser with a compiler-compiler, wherein parsing the tree structure file format query is by the generated query parser.

8. The method of claim 7 , wherein generating the query parser comprises inputting a representation of the context-free grammar with first-order logic into the compiler-compiler.

9. One or more non-transitory machine-readable media comprising program code to:

generate a syntactic structure for a tree structure file format query, wherein the program code to generate the syntactic structure for the tree structure file format query comprises program code to parse the tree structure file format query to extract the syntactic structure for the tree structure file format query based on a context-free grammar with first-order logic associated with the tree structure file format query;

identify a first cloud resource corresponding to the tree structure file format query based, at least in part, on the syntactic structure for the tree structure file format query;

determine a first plurality of object paths in an information retrieval model for the first cloud resource based, at least in part, on the syntactic structure for the tree structure file format query; and

query a cloud database using at least the first plurality of object paths.

10. The non-transitory machine-readable media of claim 9 further comprising program code to,

determine a plurality of object paths for the first cloud resource based, at least in part, on a first plurality of tree structure file format queries and a first plurality of tree structure file format query responses for the first cloud resource; and

generate the information retrieval model for the first cloud resource based, at least in part, on the plurality of object paths.

11. The non-transitory machine-readable media of claim 10 further comprising program code to update the information retrieval model for the first cloud resource based, at least in part, on a second plurality of tree structure file format queries and a second plurality of tree structure file format query responses for the first cloud resource.

12. The non-transitory machine-readable media of claim 9 wherein the program code to query the cloud database using at least the first plurality of object paths comprises program code to convert the first plurality of object paths into queries for an application programming interface of the cloud database.

13. The non-transitory machine-readable media of claim 9 , wherein the program code to determine the first cloud resource corresponding to the tree structure file format query comprises program code to,

input a representation of the tree structure file format query into a deterministic finite automaton (DFA) having states that are cloud resources; and

determine that the DFA enters an accept state corresponding to the first cloud resource.

14. The non-transitory machine-readable media of claim 9 , wherein the syntactic structure for the tree structure file format query is a parse tree for the tree structure file format.

15. The non-transitory machine-readable media of claim 9 further comprising program code to generate a query parser with a compiler-compiler, wherein the program code to parse the tree structure file format query is by the generated query parser.

16. The non-transitory machine-readable media of claim 15 , wherein the program code to generate the query parser comprises program code to input a representation of the context-free grammar with first-order logic into the compiler-compiler.

17. An apparatus comprising:

a processor; and

a machine-readable medium having program code executable by the processor to cause the apparatus to,

generate a syntactic structure for a tree structure file format query, wherein the program code executable by the processor to cause the apparatus to generate the syntactic structure for the tree structure file format query comprises program code to parse the tree structure file format query to extract the syntactic structure for the tree structure file format query based on a context-free grammar with first-order logic associated with the tree structure file format query;

identify a first cloud resource corresponding to the tree structure file format query based, at least in part, on the syntactic structure for the tree structure file format query;

determine a first plurality of object paths in an information retrieval model for the first cloud resource based, at least in part, on the syntactic structure for the tree structure file format query; and

query a cloud database using at least the first plurality of object paths.

18. The apparatus of claim 17 further comprising program code executable by the processor to cause the apparatus to,

determine a plurality of object paths for the first cloud resource based, at least in part, on a first plurality of tree structure file format queries and a first plurality of tree structure file format query responses for the first cloud resource; and

generate the information retrieval model for the first cloud resource based, at least in part, on the plurality of object paths.

19. The apparatus of claim 18 further comprising program code executable by the processor to cause the apparatus to update the information retrieval model for the first cloud resource based, at least in part, on a second plurality of tree structure file format queries and a second plurality of tree structure file format query responses for the first cloud resource.

20. The apparatus of claim 17 , wherein the program code executable by the processor to cause the apparatus to query the cloud database using at least the first plurality of object paths comprises program code executable by the processor to cause the apparatus to convert the first plurality of object paths into queries for an application programming interface of the cloud database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: MOULEESWARAN, CHANDRA BIKSHESWARAN; ANNAMALAI, KASIVISWANATHAN
To: PALO ALTO NETWORKS, INC.
Reel/Frame 054667/0865 →
Continuity (1)
Related Publication 20220188082A1 · Jun 16, 2022