Patents by Inventor Tolga Bozkaya

Tolga Bozkaya has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11914627
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for disambiguating join paths for natural language queries. One of the methods includes, obtaining a natural language query from a user; parsing the natural language query into structured operations to be performed on APIs of a knowledge base, including: responsive to detecting a parsing ambiguity in which the natural language query can be parsed in two or more ways: providing, through a user interface, to the user one or more information items identifying the parsing ambiguity; responsive to a user interaction with an information item: modifying the parsing in accordance with the user interaction to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base to determine one or more search results; and providing one or more search results to the user.
    Type: Grant
    Filed: April 11, 2022
    Date of Patent: February 27, 2024
    Assignee: GOOGLE LLC
    Inventors: Armand Joseph Dijamco, Tolga Bozkaya
  • Patent number: 11301502
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for disambiguating join paths for natural language queries. One of the methods includes, obtaining a natural language query from a user; parsing the natural language query into structured operations to be performed on APIs of a knowledge base, including: responsive to detecting a parsing ambiguity in which the natural language query can be parsed in two or more ways: providing, through a user interface, to the user one or more information items identifying the parsing ambiguity; responsive to a user interaction with an information item: modifying the parsing in accordance with the user interaction to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base to determine one or more search results; and providing one or more search results to the user.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: April 12, 2022
    Assignee: GOOGLE LLC
    Inventors: Armand Joseph Dijamco, Tolga Bozkaya
  • Patent number: 10997167
    Abstract: One of the methods includes, obtaining a natural language query from a user; while converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base: responsive to detecting a linguistic ambiguity associated with the converting, wherein the linguistic ambiguity identifies two or more interpretations of a word included in the natural langue query: resolving the linguistic ambiguity by selecting an interpretation of the word, from the two or more interpretations of the word, based on one or more join paths that have been generated based on a data schema of the knowledge base; modifying the converting in accordance with the selected interpretation of the word, to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query results to the user.
    Type: Grant
    Filed: March 14, 2019
    Date of Patent: May 4, 2021
    Assignee: Google LLC
    Inventors: Tolga Bozkaya, Armand Joseph Dijamco
  • Publication number: 20190278771
    Abstract: One of the methods includes, obtaining a natural language query from a user; while converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base: responsive to detecting a linguistic ambiguity associated with the converting, wherein the linguistic ambiguity identifies two or more interpretations of a word included in the natural langue query: resolving the linguistic ambiguity by selecting an interpretation of the word, from the two or more interpretations of the word, based on one or more join paths that have been generated based on a data schema of the knowledge base; modifying the converting in accordance with the selected interpretation of the word, to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query results to the user.
    Type: Application
    Filed: March 14, 2019
    Publication date: September 12, 2019
    Inventors: Tolga Bozkaya, Armand Joseph Dijamco
  • Patent number: 10282444
    Abstract: One of the methods includes, obtaining a natural language query from a user; while converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base: responsive to detecting a linguistic ambiguity associated with the converting, wherein the linguistic ambiguity identifies two or more interpretations of a word included in the natural langue query: resolving the linguistic ambiguity by selecting an interpretation of the word, from the two or more interpretations of the word, based on one or more join paths that have been generated based on a data schema of the knowledge base; modifying the converting in accordance with the selected interpretation of the word, to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query results to the user.
    Type: Grant
    Filed: September 9, 2016
    Date of Patent: May 7, 2019
    Assignee: Google LLC
    Inventors: Tolga Bozkaya, Armand Joseph Dijamco
  • Publication number: 20170075891
    Abstract: One of the methods includes, obtaining a natural language query from a user; while converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base: responsive to detecting a linguistic ambiguity associated with the converting, wherein the linguistic ambiguity identifies two or more interpretations of a word included in the natural langue query: resolving the linguistic ambiguity by selecting an interpretation of the word, from the two or more interpretations of the word, based on one or more join paths that have been generated based on a data schema of the knowledge base; modifying the converting in accordance with the selected interpretation of the word, to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query results to the user.
    Type: Application
    Filed: September 9, 2016
    Publication date: March 16, 2017
    Applicant: Google Inc.
    Inventors: Tolga Bozkaya, Armand Joseph Dijamco
  • Publication number: 20170075953
    Abstract: Systems, methods, and computer storage media for handling failures in generating structured queries from natural language queries. One of the methods includes obtaining, through a natural language front end, a natural language query from a user; converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base, comprising: parsing the natural language query, analyzing the parsed query to determine dependencies, performing lexical resolution, forming a concept tree based on the dependencies and lexical resolution; analyzing the concept tree to generate a hypergraph, generate virtual query based on the hypergraph, and processing the virtual query to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query to the user.
    Type: Application
    Filed: September 9, 2016
    Publication date: March 16, 2017
    Applicant: Google Inc.
    Inventors: Tolga Bozkaya, Armand Joseph Dijamco, Tran Bui, Andy Chu-I Yu
  • Patent number: 9589015
    Abstract: Systems and methods for enabling querying of nested or repeated structures with simple, non-nested group by queries derived from a template. In particular, non-flat tables (e.g., tables with repeated or nested structures) can be queried from a frontend interface as though the tables flat, exposing data associated with the nested structures by way of the non-nest queries.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: March 7, 2017
    Assignee: GOOGLE INC.
    Inventors: Tolga Bozkaya, Chirayu Krishnappa, Armand Dijamco, Emmett Andrew Cunningham
  • Patent number: 9146984
    Abstract: Systems and methods for enabling querying of nested or repeated structures with simple, non-nested group by queries derived from a template. In particular, non-flat tables (e.g., tables with repeated or nested structures) can be queried from a frontend interface as though the tables flat, exposing data associated with the nested structures by way of the non-nest queries.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: September 29, 2015
    Assignee: Google Inc.
    Inventors: Tolga Bozkaya, Chirayu Krishnappa, Armand Dijamco, Emmett Andrew Cunningham
  • Patent number: 8468166
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: June 18, 2013
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 8443006
    Abstract: Methods, systems and apparatus, including computer program products, for propagating data across shards of a database system are described. According to one method, a first request that includes instructions to place a second request in a queue of a second shard is placed in a queue of a first database shard, and the change is committed to the records of the first shard. A queue processor polling the queue fetches and dispatches the first request, placing the second request in a queue of a second database shard. The second request includes instructions for making the change to the second shard. A queue processor of the second database shard polls the queue of the second database, fetches the second request, and dispatches it to make the change on the second database shard.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: May 14, 2013
    Assignee: Google Inc.
    Inventors: Tolga Bozkaya, David L. Butcher, Andrew Chang Huang, Wendy Tobagus, Dan Moisa
  • Patent number: 8209284
    Abstract: Methods, systems and apparatus, including computer program products, for propagating data across shards of a database system are described. According to one method, a first request that includes instructions to place a second request in a queue of a second shard is placed in a queue of a first database shard, and the change is committed to the records of the first shard. A queue processor polling the queue fetches and dispatches the first request, placing the second request in a queue of a second database shard. The second request includes instructions for making the change to the second shard. A queue processor of the second database shard polls the queue of the second database, fetches the second request, and dispatches it to make the change on the second database shard.
    Type: Grant
    Filed: August 16, 2011
    Date of Patent: June 26, 2012
    Assignee: Google Inc.
    Inventors: Tolga Bozkaya, David L. Butcher, Andrew Chang Huang, Wendy Tobagus, Dan Moisa
  • Patent number: 8156145
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: April 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 8037024
    Abstract: Methods, systems and apparatus, including computer program products, for propagating data across shards of a database system are described. According to one method, a first request that includes instructions to place a second request in a queue of a second shard is placed in a queue of a first database shard, and the change is committed to the records of the first shard. A queue processor polling the queue fetches and dispatches the first request, placing the second request in a queue of a second database shard. The second request includes instructions for making the change to the second shard. A queue processor of the second database shard polls the queue of the second database, fetches the second request, and dispatches it to make the change on the second database shard.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: October 11, 2011
    Assignee: Google Inc.
    Inventors: Tolga Bozkaya, David L. Butcher, Andrew Chang Huang, Wendy Tobagus, Dan Moisa
  • Patent number: 7979384
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: May 1, 2008
    Date of Patent: July 12, 2011
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Publication number: 20110167094
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: March 17, 2011
    Publication date: July 7, 2011
    Inventors: Tolga Bozkaya, Andrew Witowski
  • Publication number: 20110167091
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: March 17, 2011
    Publication date: July 7, 2011
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 7809712
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: October 5, 2010
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Patent number: 7761403
    Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.
    Type: Grant
    Filed: November 6, 2003
    Date of Patent: July 20, 2010
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
  • Publication number: 20080208822
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: May 1, 2008
    Publication date: August 28, 2008
    Inventors: Tolga Bozkaya, Andrew Witkowski