Patents by Inventor Gautham Thambidorai

Gautham Thambidorai 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: 11429355
    Abstract: A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
    Type: Grant
    Filed: March 30, 2020
    Date of Patent: August 30, 2022
    Assignee: Google LLC
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Patent number: 11138210
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Grant
    Filed: November 26, 2019
    Date of Patent: October 5, 2021
    Assignee: Google LLC
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Patent number: 10887235
    Abstract: A programming model provides a method for executing a program in a distributed architecture. One or more first shards of the distributed architecture execute one or more operations, and sending tuples to at least one second shard, the tuples being part of a stream and being based on the one or more operations. The one or more first shards send a token value to the at least one second shard when the sending of the tuples in the stream is complete. The at least one second shard determines whether a total of the token values matches a number of the one or more first shards, and takes a first action in response to determining that the total of the token values matches the number of the one or more first shards. The first action may include marking the stream as being complete and/or generating a message indicating that the stream is complete.
    Type: Grant
    Filed: August 24, 2017
    Date of Patent: January 5, 2021
    Assignee: Google LLC
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Publication number: 20200293292
    Abstract: A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
    Type: Application
    Filed: March 30, 2020
    Publication date: September 17, 2020
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Patent number: 10642582
    Abstract: A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
    Type: Grant
    Filed: August 24, 2017
    Date of Patent: May 5, 2020
    Assignee: Google LLC
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Publication number: 20200097478
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Application
    Filed: November 26, 2019
    Publication date: March 26, 2020
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Patent number: 10599482
    Abstract: A programming model generates a graph for a program, the graph including a plurality of nodes and edges, wherein each node of the graph represents an operation and edges between the nodes represent streams of data input to and output from the operations represented by the nodes. The model determines where in a distributed architecture to execute the operations represented by the nodes. Such determining may include determining which nodes have location restrictions, assigning locations to each node having a location restriction based on the restriction, and partitioning the graph into a plurality of subgraphs, the partitioning including assigning locations to nodes without location restrictions in accordance with a first set of constraints, wherein each node within a particular subgraph is assigned to the same location. Each of the subgraphs is executed at its assigned location in a respective single thread.
    Type: Grant
    Filed: August 24, 2017
    Date of Patent: March 24, 2020
    Assignee: Google LLC
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Patent number: 10528571
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: January 7, 2020
    Assignee: Google LLC
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Publication number: 20190068504
    Abstract: A programming model provides a method for executing a program in a distributed architecture. One or more first shards of the distributed architecture execute one or more operations, and sending tuples to at least one second shard, the tuples being part of a stream and being based on the one or more operations. The one or more first shards send a token value to the at least one second shard when the sending of the tuples in the stream is complete. The at least one second shard determines whether a total of the token values matches a number of the one or more first shards, and takes a first action in response to determining that the total of the token values matches the number of the one or more first shards. The first action may include marking the stream as being complete and/or generating a message indicating that the stream is complete.
    Type: Application
    Filed: August 24, 2017
    Publication date: February 28, 2019
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Publication number: 20190065162
    Abstract: A programming model generates a graph for a program, the graph including a plurality of nodes and edges, wherein each node of the graph represents an operation and edges between the nodes represent streams of data input to and output from the operations represented by the nodes. The model determines where in a distributed architecture to execute the operations represented by the nodes. Such determining may include determining which nodes have location restrictions, assigning locations to each node having a location restriction based on the restriction, and partitioning the graph into a plurality of subgraphs, the partitioning including assigning locations to nodes without location restrictions in accordance with a first set of constraints, wherein each node within a particular subgraph is assigned to the same location. Each of the subgraphs is executed at its assigned location in a respective single thread.
    Type: Application
    Filed: August 24, 2017
    Publication date: February 28, 2019
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Publication number: 20190065154
    Abstract: A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
    Type: Application
    Filed: August 24, 2017
    Publication date: February 28, 2019
    Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
  • Publication number: 20180075112
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Application
    Filed: November 20, 2017
    Publication date: March 15, 2018
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Patent number: 9852189
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Grant
    Filed: July 18, 2016
    Date of Patent: December 26, 2017
    Assignee: Google Inc.
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Patent number: 9418114
    Abstract: Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. A query is received. Search results are identified that are responsive to the query. A content item is identified for presentation along with the search results. It is determined, based on one or more criteria, when the content item is to be augmented. When it is determined that the content item is to be augmented and after identifying the search results, the content item is augmented based at least in part on an entry in the search result. An augmented content item is created. The augmented content item is provided.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: August 16, 2016
    Assignee: Google Inc.
    Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
  • Patent number: 9350556
    Abstract: A client device communicates with a target entity server and one or more third party devices. The client device has a client credential that includes a client public key and a client certificate chain. The client certificate chain includes a chain of human-readable names. The client device delegates a third party device access to a service on the server by creating a delegate certificate chain for the third party device. The delegate certificate chain is bound to a public key for the third party device and includes a human-readable name with an extension selected for the third party device. The delegate certificate chain also may include a section of the human-readable name that identifies the client device. The client device transmits or otherwise presents the delegate certificate chain to the third party device.
    Type: Grant
    Filed: April 20, 2015
    Date of Patent: May 24, 2016
    Assignee: Google Inc.
    Inventors: Ankur Taly, Asim Shankar, Gautham Thambidorai, David Presotto
  • Patent number: 8620950
    Abstract: A corpus of documents is identified, such as a large corpus of web documents. A quality score is applied to each, and at least some of the documents in the corpus of documents are identified based on their respective quality scores. At least one query characteristic, for instance, the language of a query, associated with a plurality of search queries is identified. A subset of documents in the corpus of documents is identified that satisfy the at least one query characteristic. An index is built that includes the identified at least some documents and the identified subset of documents.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: December 31, 2013
    Assignee: Google Inc.
    Inventors: Gautham Thambidorai, Eisar A. Lipkovitz, Cosmos Nicolaou, Li Fan
  • Patent number: 8554561
    Abstract: A computer system comprising one or more processors and memory groups a set of documents into a plurality of clusters. Each cluster includes one or more documents of the set of documents and a respective cluster of documents of the plurality of clusters includes respective cluster data corresponding to a plurality of documents including a first document and a second document. The computer system determines that the second document includes duplicate data that is duplicative of corresponding data in the first document, identifies a respective subset of the respective cluster data that excludes at least a subset of the duplicate data, and generates an index of the respective subset of the respective cluster data.
    Type: Grant
    Filed: August 9, 2012
    Date of Patent: October 8, 2013
    Assignee: Google Inc.
    Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
  • Publication number: 20120303622
    Abstract: A computer system comprising one or more processors and memory groups a set of documents into a plurality of clusters. Each cluster includes one or more documents of the set of documents and a respective cluster of documents of the plurality of clusters includes respective cluster data corresponding to a plurality of documents including a first document and a second document. The computer system determines that the second document includes duplicate data that is duplicative of corresponding data in the first document, identifies a respective subset of the respective cluster data that excludes at least a subset of the duplicate data, and generates an index of the respective subset of the respective cluster data.
    Type: Application
    Filed: August 9, 2012
    Publication date: November 29, 2012
    Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
  • Patent number: 8244530
    Abstract: A set of documents may be stored and indexed as a compressed sequence of tokens. A set of documents are grouped into clusters. Sequences of tokens representing the clusters of documents are encoded to elide some repeating instances of tokens. A compressed sequence of tokens is generated from the compressed cluster sequences of tokens. Queries on the compressed sequence are performed by identifying cluster sequences within the compressed sequence that are likely to have documents that satisfy the query and then identifying, within these identified clusters, the documents that actually satisfies the query.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: August 14, 2012
    Assignee: Google Inc.
    Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
  • Patent number: 8175875
    Abstract: A set of documents may be stored and indexed as a compressed sequence of tokens. A set of documents are grouped into clusters. Sequences of tokens representing the clusters of documents are encoded to elide some repeating instances of tokens. A compressed sequence of tokens is generated from the compressed cluster sequences of tokens. Queries on the compressed sequence are performed by identifying cluster sequences within the compressed sequence that are likely to have documents that satisfy the query and then identifying, within these identified clusters, the documents that actually satisfies the query.
    Type: Grant
    Filed: May 19, 2006
    Date of Patent: May 8, 2012
    Assignee: Google Inc.
    Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai