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: 11429355Abstract: 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: GrantFiled: March 30, 2020Date of Patent: August 30, 2022Assignee: Google LLCInventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Patent number: 11138210Abstract: 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: GrantFiled: November 26, 2019Date of Patent: October 5, 2021Assignee: Google LLCInventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Patent number: 10887235Abstract: 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: GrantFiled: August 24, 2017Date of Patent: January 5, 2021Assignee: Google LLCInventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Publication number: 20200293292Abstract: 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: ApplicationFiled: March 30, 2020Publication date: September 17, 2020Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Patent number: 10642582Abstract: 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: GrantFiled: August 24, 2017Date of Patent: May 5, 2020Assignee: Google LLCInventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Publication number: 20200097478Abstract: 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: ApplicationFiled: November 26, 2019Publication date: March 26, 2020Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Patent number: 10599482Abstract: 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: GrantFiled: August 24, 2017Date of Patent: March 24, 2020Assignee: Google LLCInventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Patent number: 10528571Abstract: 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: GrantFiled: November 20, 2017Date of Patent: January 7, 2020Assignee: Google LLCInventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Publication number: 20190065154Abstract: 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: ApplicationFiled: August 24, 2017Publication date: February 28, 2019Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Publication number: 20190068504Abstract: 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: ApplicationFiled: August 24, 2017Publication date: February 28, 2019Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Publication number: 20190065162Abstract: 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: ApplicationFiled: August 24, 2017Publication date: February 28, 2019Inventors: Gautham Thambidorai, Matthew Rosencrantz, Sanjay Ghemawat, Srdjan Petrovic, Ivan Posva
-
Publication number: 20180075112Abstract: 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: ApplicationFiled: November 20, 2017Publication date: March 15, 2018Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Patent number: 9852189Abstract: 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: GrantFiled: July 18, 2016Date of Patent: December 26, 2017Assignee: Google Inc.Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Patent number: 9418114Abstract: 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: GrantFiled: June 19, 2013Date of Patent: August 16, 2016Assignee: Google Inc.Inventors: Advay Mengle, Srdjan Petrovic, Shreyas Doshi, Gautham Thambidorai
-
Patent number: 9350556Abstract: 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: GrantFiled: April 20, 2015Date of Patent: May 24, 2016Assignee: Google Inc.Inventors: Ankur Taly, Asim Shankar, Gautham Thambidorai, David Presotto
-
Patent number: 8620950Abstract: 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: GrantFiled: February 17, 2012Date of Patent: December 31, 2013Assignee: Google Inc.Inventors: Gautham Thambidorai, Eisar A. Lipkovitz, Cosmos Nicolaou, Li Fan
-
Patent number: 8554561Abstract: 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: GrantFiled: August 9, 2012Date of Patent: October 8, 2013Assignee: Google Inc.Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
-
Publication number: 20120303622Abstract: 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: ApplicationFiled: August 9, 2012Publication date: November 29, 2012Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
-
Patent number: 8244530Abstract: 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: GrantFiled: September 29, 2011Date of Patent: August 14, 2012Assignee: Google Inc.Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai
-
Patent number: 8175875Abstract: 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: GrantFiled: May 19, 2006Date of Patent: May 8, 2012Assignee: Google Inc.Inventors: Jeffrey A. Dean, Sanjay Ghemawat, Gautham Thambidorai