Patents by Inventor Robert C. Pike
Robert C. Pike 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).
-
Publication number: 20220171781Abstract: Systems and methods for analyzing input data records are provided in which a master process initiates a plurality of concurrent first processes each of which comprises, for each data record in at least a subset of a plurality of input data records, creating a parsed representation of the data record and independently applying a procedural language query to the parsed representation to extract one or more values. A respective emit operator is applied to at least one of the extracted one or more values thereby adding corresponding information to a respective intermediate data structure. The respective emit operator implements one of a predefined set of statistical information processing functions. The master process also initiates a plurality of second processes each of which aggregates information from a corresponding subset of intermediate data structures to produce aggregated data that is, in turn, combined to produce output data.Type: ApplicationFiled: February 16, 2022Publication date: June 2, 2022Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 11275743Abstract: Systems and methods for analyzing input data records are provided in which a master process initiates a plurality of concurrent first processes each of which comprises, for each data record in at least a subset of a plurality of input data records, creating a parsed representation of the data record and independently applying a procedural language query to the parsed representation to extract one or more values. A respective emit operator is applied to at least one of the extracted one or more values thereby adding corresponding information to a respective intermediate data structure. The respective emit operator implements one of a predefined set of statistical information processing functions. The master process also initiates a plurality of second processes each of which aggregates information from a corresponding subset of intermediate data structures to produce aggregated data that is, in turn, combined to produce output data.Type: GrantFiled: October 31, 2017Date of Patent: March 15, 2022Assignee: Google LLCInventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Publication number: 20180052890Abstract: Systems and methods for analyzing input data records are provided in which a master process initiates a plurality of concurrent first processes each of which comprises, for each data record in at least a subset of a plurality of input data records, creating a parsed representation of the data record and independently applying a procedural language query to the parsed representation to extract one or more values. A respective emit operator is applied to at least one of the extracted one or more values thereby adding corresponding information to a respective intermediate data structure. The respective emit operator implements one of a predefined set of statistical information processing functions. The master process also initiates a plurality of second processes each of which aggregates information from a corresponding subset of intermediate data structures to produce aggregated data that is, in turn, combined to produce output data.Type: ApplicationFiled: October 31, 2017Publication date: February 22, 2018Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 9830357Abstract: A method processes data records. The method partitions the data records into groups and assigns each group to a respective process of a first plurality of processes, which execute in parallel. For each group, the assigned process extracts information from the data records, applies a script with information processing commands applied sequentially to produce intermediate values, stores the intermediate values in a respective intermediate data structure, and updates the status of the group to indicate completion. When the predefined threshold percentage of the data records are completed, the process assigns each group to a respective second process as a backup. When each of the groups has been completed by at least one process (either the original or the backup), the method executes a second plurality of processes to aggregate intermediate values from the intermediate data structures to produce output data. The aggregation includes intermediate values only once for each group.Type: GrantFiled: August 2, 2016Date of Patent: November 28, 2017Assignee: GOOGLE INC.Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Publication number: 20160342657Abstract: A method processes data records. The method partitions the data records into groups and assigns each group to a respective process of a first plurality of processes, which execute in parallel. For each group, the assigned process extracts information from the data records, applies a script with information processing commands applied sequentially to produce intermediate values, stores the intermediate values in a respective intermediate data structure, and updates the status of the group to indicate completion. When the predefined threshold percentage of the data records are completed, the process assigns each group to a respective second process as a backup. When each of the groups has been completed by at least one process (either the original or the backup), the method executes a second plurality of processes to aggregate intermediate values from the intermediate data structures to produce output data. The aggregation includes intermediate values only once for each group.Type: ApplicationFiled: August 2, 2016Publication date: November 24, 2016Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 9405808Abstract: A method and system for analyzing data records includes allocating groups of records to respective processes of a first plurality of processes executing in parallel. In each respective process of the first plurality of processes, for each record in the group of records allocated to the respective process, a query is applied to the record so as to produce zero or more values. Zero or more emit operators are applied to each of the zero or more produced values so as to add corresponding information to an intermediate data structure. Information from a plurality of the intermediate data structures is aggregated to produce output data.Type: GrantFiled: February 28, 2012Date of Patent: August 2, 2016Assignee: GOOGLE INC.Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 8943309Abstract: A server receives a request from the client. The request includes a cryptographically protected object that includes a respective user identifier and validation value. When the respective user identifier is valid, the validation value fails a first requirement in a predefined manner, and a count of consecutively received cryptographically protected objects whose validation value has failed the first validation requirement is less than a threshold value that is greater than one, the server returns to the client a response to the request in accordance with the respective user identifier, the response including an updated cryptographically protected object that includes the respective user identifier and an updated validation value, and updates the count. When the respective user identifier is valid, the validation value fails a first requirement in the predefined manner, and the count is equal to or exceeds the threshold value, the server performs a predefined remedial action.Type: GrantFiled: December 12, 2006Date of Patent: January 27, 2015Assignee: Google Inc.Inventors: Marius Schilder, Robert C. Pike, Andrew B. Fikes, Michael Burrows
-
Patent number: 8850520Abstract: A first server associated with a first URL receives a request from a client, including a first object having a respective user identifier and validation value. The server evaluates the validation value of the received first object with respect to a first validation requirement. When the validation value of the first object fails the first validation requirement, the server sends a response to the client that causes the client to send a second request to a second URL that is distinct from the first URL. A second server associated with the second URL receives a request from the client that includes a second object, distinct from the first object. The second server evaluates the received second object with respect to a second validation requirement, and when the second object fails the second validation requirement, the second server invalidates the respective user identifier.Type: GrantFiled: December 12, 2006Date of Patent: September 30, 2014Assignee: Google Inc.Inventors: Robert C. Pike, Michael Burrows, Marius Schilder, Andrew B. Fikes
-
Publication number: 20120215787Abstract: A method and system for analyzing data records includes allocating groups of records to respective processes of a first plurality of processes executing in parallel. In each respective process of the first plurality of processes, for each record in the group of records allocated to the respective process, a query is applied to the record so as to produce zero or more values. Zero or more emit operators are applied to each of the zero or more produced values so as to add corresponding information to an intermediate data structure. Information from a plurality of the intermediate data structures is aggregated to produce output data.Type: ApplicationFiled: February 28, 2012Publication date: August 23, 2012Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 8176163Abstract: One or more servers receive requests from clients and send responses. At least a subset of the responses including cookies produced by the one or more servers, and at least a subset of the received requests including cookies that were previously produced by the one or more servers and sent to the clients with responses to previously processed requests. Each of the cookies includes a respective user identifier. The one or more servers analyzing the received cookies to detect a first condition, which indicates that a respective plurality of clients may be using cookies that have a shared user identifier. Upon detecting the first condition, the one or more servers send at least one of the clients of the respective plurality of clients a response that includes a new cookie having a user identifier that is distinct from the shared user identifier.Type: GrantFiled: March 5, 2010Date of Patent: May 8, 2012Assignee: Google Inc.Inventors: Andrew B. Fikes, Michael Burrows, Marius Schilder, Robert C. Pike
-
Patent number: 8126909Abstract: A method and system for analyzing data records includes allocating groups of records to respective processes of a first plurality of processes executing in parallel. In each respective process of the first plurality of processes, for each record in the group of records allocated to the respective process, a query is applied to the record so as to produce zero or more values. Zero or more emit operators are applied to each of the zero or more produced values so as to add corresponding information to an intermediate data structure. Information from a plurality of the intermediate data structures is aggregated to produce output data.Type: GrantFiled: July 31, 2009Date of Patent: February 28, 2012Assignee: Google Inc.Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 7779103Abstract: One or more servers receive requests from clients and send responses. At least a subset of the responses including cookies produced by the one or more servers, and at least a subset of the received requests including cookies that were previously produced by the one or more servers and sent to the clients with responses to previously processed requests. Each of the cookies includes a respective user identifier. The one or more servers analyzing the received cookies to detect a first condition, which indicates that a respective plurality of clients may be using cookies that have a shared user identifier. Upon detecting the first condition, the one or more servers send at least one of the clients of the respective plurality of clients a response that includes a new cookie having a user identifier that is distinct from the shared user identifier.Type: GrantFiled: December 12, 2006Date of Patent: August 17, 2010Assignee: Google Inc.Inventors: Andrew B. Fikes, Michael Burrows, Marius Schilder, Robert C. Pike
-
Publication number: 20100005080Abstract: A method and system for analyzing data records includes allocating groups of records to respective processes of a first plurality of processes executing in parallel. In each respective process of the first plurality of processes, for each record in the group of records allocated to the respective process, a query is applied to the record so as to produce zero or more values. Zero or more emit operators are applied to each of the zero or more produced values so as to add corresponding information to an intermediate data structure. Information from a plurality of the intermediate data structures is aggregated to produce output data.Type: ApplicationFiled: July 31, 2009Publication date: January 7, 2010Inventors: ROBERT C. PIKE, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawar
-
Patent number: 7590620Abstract: A method and system for analyzing data records includes allocating groups of records to respective processes of a first plurality of processes executing in parallel. In each respective process of the first plurality of processes, for each record in the group of records allocated to the respective process, a query is applied to the record so as to produce zero or more values. Zero or more emit operators are applied to each of the zero or more produced values so as to add corresponding information to an intermediate data structure. Information from a plurality of the intermediate data structures is aggregated to produce output data.Type: GrantFiled: September 29, 2004Date of Patent: September 15, 2009Assignee: Google Inc.Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
-
Patent number: 5623666Abstract: An operating system which is particularly adapted to heterogenous distributed systems. Entities available to a process running in the operating system are provided by services. Each service models its entity as a set of files. The entity is controlled by performing operations on the set of files provided by the entity. Services other than those provided by the operating system all employ the same protocol specifying operations on files. The only requirement placed on a service by the operating system is that it be able to accept and respond to messages employing the protocol. The files are named, and the operating system provides a plurality of name spaces, relates each process to one of the name spaces, and permits any process to modify its name space or to create a new name space. Services are disclosed which provide each process using the service with its own set of the service's files and which provide files belonging to one process's namespace to another process executing on a different processor.Type: GrantFiled: May 18, 1995Date of Patent: April 22, 1997Assignee: Lucent Technologies Inc.Inventors: Robert C. Pike, Kenneth L. Thompson
-
Patent number: 5579469Abstract: A system which is a combination of editor, window system, shell, and user interface and which provides a novel environment for the construction of textual applications such as browsers, debuggers, mailers, and so on. The system combines an extremely lean user interface with some automatic heuristics and defaults to achieve significant effects with minimal mouse and keyboard activity. The user interface is driven by a file-oriented programming interface that may be controlled from programs or even shell scripts. By taking care of user interface issues in a central utility, the system further simplifies the job of programming applications that make use of a bitmap display and mouse.Type: GrantFiled: October 19, 1995Date of Patent: November 26, 1996Assignee: Lucent Technologies Inc.Inventor: Robert C. Pike
-
Patent number: 5129013Abstract: An interactive image editor. Editing commands are interactively imputted to a computer by a user to form an image transformation function. The commands define how to alter the pixels of the image and the portions of the image to alter. The editor parses the commands and generates a program for performing the image transformation. The program is then executed, either by interpreting it or by first compiling it on-the-fly. In either case, each affected pixel of the image is transformed in accordance with the command statements.Type: GrantFiled: October 9, 1991Date of Patent: July 7, 1992Assignee: AT&T Bell LaboratoriesInventors: Gerard J. Holzmann, Robert C. Pike
-
Patent number: 4555775Abstract: A graphic terminal is disclosed using bitmaps to represent plural overlapping displays. Graphics software is also disclosed in which the overlapping asynchronous windows or layers are manipulated by manipulating the bitmaps. With this software, the physical screen becomes several logical screens (layers) all running simultaneously, any one of which may be interacted with at any time.Type: GrantFiled: October 7, 1982Date of Patent: November 26, 1985Assignee: AT&T Bell LaboratoriesInventor: Robert C. Pike