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: 20220171781
    Abstract: 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: Application
    Filed: February 16, 2022
    Publication date: June 2, 2022
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 11275743
    Abstract: 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: Grant
    Filed: October 31, 2017
    Date of Patent: March 15, 2022
    Assignee: Google LLC
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Publication number: 20180052890
    Abstract: 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: Application
    Filed: October 31, 2017
    Publication date: February 22, 2018
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 9830357
    Abstract: 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: Grant
    Filed: August 2, 2016
    Date of Patent: November 28, 2017
    Assignee: GOOGLE INC.
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Publication number: 20160342657
    Abstract: 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: Application
    Filed: August 2, 2016
    Publication date: November 24, 2016
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 9405808
    Abstract: 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: Grant
    Filed: February 28, 2012
    Date of Patent: August 2, 2016
    Assignee: GOOGLE INC.
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 8943309
    Abstract: 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: Grant
    Filed: December 12, 2006
    Date of Patent: January 27, 2015
    Assignee: Google Inc.
    Inventors: Marius Schilder, Robert C. Pike, Andrew B. Fikes, Michael Burrows
  • Patent number: 8850520
    Abstract: 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: Grant
    Filed: December 12, 2006
    Date of Patent: September 30, 2014
    Assignee: Google Inc.
    Inventors: Robert C. Pike, Michael Burrows, Marius Schilder, Andrew B. Fikes
  • Publication number: 20120215787
    Abstract: 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: Application
    Filed: February 28, 2012
    Publication date: August 23, 2012
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 8176163
    Abstract: 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: Grant
    Filed: March 5, 2010
    Date of Patent: May 8, 2012
    Assignee: Google Inc.
    Inventors: Andrew B. Fikes, Michael Burrows, Marius Schilder, Robert C. Pike
  • Patent number: 8126909
    Abstract: 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: Grant
    Filed: July 31, 2009
    Date of Patent: February 28, 2012
    Assignee: Google Inc.
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 7779103
    Abstract: 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: Grant
    Filed: December 12, 2006
    Date of Patent: August 17, 2010
    Assignee: Google Inc.
    Inventors: Andrew B. Fikes, Michael Burrows, Marius Schilder, Robert C. Pike
  • Publication number: 20100005080
    Abstract: 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: Application
    Filed: July 31, 2009
    Publication date: January 7, 2010
    Inventors: ROBERT C. PIKE, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawar
  • Patent number: 7590620
    Abstract: 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: Grant
    Filed: September 29, 2004
    Date of Patent: September 15, 2009
    Assignee: Google Inc.
    Inventors: Robert C. Pike, Sean Quinlan, Sean M. Dorward, Jeffrey Dean, Sanjay Ghemawat
  • Patent number: 5623666
    Abstract: 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: Grant
    Filed: May 18, 1995
    Date of Patent: April 22, 1997
    Assignee: Lucent Technologies Inc.
    Inventors: Robert C. Pike, Kenneth L. Thompson
  • Patent number: 5579469
    Abstract: 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: Grant
    Filed: October 19, 1995
    Date of Patent: November 26, 1996
    Assignee: Lucent Technologies Inc.
    Inventor: Robert C. Pike
  • Patent number: 5129013
    Abstract: 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: Grant
    Filed: October 9, 1991
    Date of Patent: July 7, 1992
    Assignee: AT&T Bell Laboratories
    Inventors: Gerard J. Holzmann, Robert C. Pike
  • Patent number: 4555775
    Abstract: 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: Grant
    Filed: October 7, 1982
    Date of Patent: November 26, 1985
    Assignee: AT&T Bell Laboratories
    Inventor: Robert C. Pike