Patents by Inventor Sean Quinlan

Sean Quinlan 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: 20160179621
    Abstract: A method of prioritizing data for recovery in a distributed storage system includes, for each stripe of a file having chunks, determining whether the stripe comprises high-availability chunks or low-availability chunks and determining an effective redundancy value for each stripe. The effective redundancy value is based on the chunks and any system domains associated with the corresponding stripe. The distributed storage system has a system hierarchy including system domains. Chunks of a stripe associated with a system domain in an active state are accessible, whereas chunks of a stripe associated with a system domain in an inactive state are inaccessible. The method also includes reconstructing substantially immediately inaccessible, high-availability chunks having an effective redundancy value less than a threshold effective redundancy value and reconstructing the inaccessible low-availability and other inaccessible high-availability chunks, after a threshold period of time.
    Type: Application
    Filed: February 26, 2016
    Publication date: June 23, 2016
    Applicant: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Patent number: 9367562
    Abstract: A method of distributing data in a distributed storage system includes receiving a file into non-transitory memory and dividing the received file into chunks using a computer processor in communication with the non-transitory memory. The method also includes distributing chunks to storage devices of the distributed storage system based on a maintenance hierarchy of the distributed storage system. The maintenance hierarchy includes maintenance units each having active and inactive states. Moreover, each storage device is associated with a maintenance unit. The chunks are distributed across multiple maintenance units to maintain accessibility of the file when a maintenance unit is in an inactive state.
    Type: Grant
    Filed: December 5, 2013
    Date of Patent: June 14, 2016
    Assignee: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa
  • Patent number: 9323615
    Abstract: A method of distributing data in a distributed storage system includes receiving a file into non-transitory memory and dividing the received file into chunks. The chunks are data-chunks and non-data chunks. The method also includes grouping one or more of the data chunks and one or more of the non-data chunks in a group. One or more chunks of the group is capable of being reconstructed from other chunks of the group. The method also includes distributing the chunks of the group to storage devices of the distributed storage system based on a hierarchy of the distributed storage system. The hierarchy includes maintenance domains having active and inactive states, each storage device associated with a maintenance domain, the chunks of a group are distributed across multiple maintenance domains to maintain the ability to reconstruct chunks of the group when a maintenance domain is in an inactive state.
    Type: Grant
    Filed: January 31, 2014
    Date of Patent: April 26, 2016
    Assignee: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • Patent number: 9292389
    Abstract: A method of prioritizing data for recovery in a distributed storage system includes, for each stripe of a file having chunks, determining whether the stripe comprises high-availability chunks or low-availability chunks and determining an effective redundancy value for each stripe. The effective redundancy value is based on the chunks and any system domains associated with the corresponding stripe. The distributed storage system has a system hierarchy including system domains. Chunks of a stripe associated with a system domain in an active state are accessible, whereas chunks of a stripe associated with a system domain in an inactive state are inaccessible. The method also includes reconstructing substantially immediately inaccessible, high-availability chunks having an effective redundancy value less than a threshold effective redundancy value and reconstructing the inaccessible low-availability and other inaccessible high-availability chunks, after a threshold period of time.
    Type: Grant
    Filed: January 31, 2014
    Date of Patent: March 22, 2016
    Assignee: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Publication number: 20150220398
    Abstract: A method of prioritizing data for recovery in a distributed storage system includes, for each stripe of a file having chunks, determining whether the stripe comprises high-availability chunks or low-availability chunks and determining an effective redundancy value for each stripe. The effective redundancy value is based on the chunks and any system domains associated with the corresponding stripe. The distributed storage system has a system hierarchy including system domains. Chunks of a stripe associated with a system domain in an active state are accessible, whereas chunks of a stripe associated with a system domain in an inactive state are inaccessible. The method also includes reconstructing substantially immediately inaccessible, high-availability chunks having an effective redundancy value less than a threshold effective redundancy value and reconstructing the inaccessible low-availability and other inaccessible high-availability chunks, after a threshold period of time.
    Type: Application
    Filed: January 31, 2014
    Publication date: August 6, 2015
    Applicant: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Publication number: 20150220429
    Abstract: A method of distributing data in a distributed storage system includes receiving a file into non-transitory memory and dividing the received file into chunks. The chunks are data-chunks and non-data chunks. The method also includes grouping one or more of the data chunks and one or more of the non-data chunks in a group. One or more chunks of the group is capable of being reconstructed from other chunks of the group. The method also includes distributing the chunks of the group to storage devices of the distributed storage system based on a hierarchy of the distributed storage system. The hierarchy includes maintenance domains having active and inactive states, each storage device associated with a maintenance domain, the chunks of a group are distributed across multiple maintenance domains to maintain the ability to reconstruct chunks of the group when a maintenance domain is in an inactive state.
    Type: Application
    Filed: January 31, 2014
    Publication date: August 6, 2015
    Applicant: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • Publication number: 20150161163
    Abstract: A method of distributing data in a distributed storage system includes receiving a file into non-transitory memory and dividing the received file into chunks using a computer processor in communication with the non-transitory memory. The method also includes distributing chunks to storage devices of the distributed storage system based on a maintenance hierarchy of the distributed storage system. The maintenance hierarchy includes maintenance units each having active and inactive states. Moreover, each storage device is associated with a maintenance unit. The chunks are distributed across multiple maintenance units to maintain accessibility of the file when a maintenance unit is in an inactive state.
    Type: Application
    Filed: December 5, 2013
    Publication date: June 11, 2015
    Applicant: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa
  • Publication number: 20130346540
    Abstract: A system, computer-readable storage medium storing at least one program, and a computer-implemented method for identifying a storage group in a distributed storage system into which data is to be stored is presented. A data structure including information relating to storage groups in a distributed storage system is maintained, where a respective entry in the data structure for a respective storage group includes placement metrics for the respective storage group. A request to identify a storage group into which data is to be stored is received from a computer system. The data structure is used to determine an identifier for a storage group whose placement metrics satisfy a selection criterion. The identifier for the storage group whose placement metrics satisfy the selection criterion is returned to the computer system.
    Type: Application
    Filed: May 21, 2013
    Publication date: December 26, 2013
    Applicant: Google Inc.
    Inventors: Jeffrey Adgate Dean, Sanjay Ghemawat, Yasushi Saito, Andrew Fikes, Christopher Jorgen Taylor, Sean Quinlan, Michal Piotr Szymaniak, Sebastian Kanthak, Wilson Cheng-Yi Hsieh, Alexander Lloyd, Michael James Boyer Epstein
  • Patent number: 8549104
    Abstract: A server system includes a processor and a data structure having an entry for a resource, the entry including a first sequence number. The server has communication procedures for receiving a request from a client to access the resource, where the request includes a second sequence number obtained from a service, and a resource request handling program. Upon receiving the request, the resource request handling program determines whether the server has any record of having previously received a request to access the resource. If not, the server returns a provisional rejection to the client, requiring the client to verify that it holds a lock on the specified resource. A provisional bit in the entry is initially set to indicate that the resource has not been accessed since the system was last initialized. The provisional bit is reset when a request to access the resource is granted.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: October 1, 2013
    Assignee: Google Inc.
    Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
  • Publication number: 20120254302
    Abstract: A server system includes a processor and a data structure having an entry for a resource, the entry including a first sequence number. The server has communication procedures for receiving a request from a client to access the resource, where the request includes a second sequence number obtained from a service, and a resource request handling program. Upon receiving the request, the resource request handling program determines whether the server has any record of having previously received a request to access the resource. If not, the server returns a provisional rejection to the client, requiring the client to verify that it holds a lock on the specified resource. A provisional bit in the entry is initially set to indicate that the resource has not been accessed since the system was last initialized. The provisional bit is reset when a request to access the resource is granted.
    Type: Application
    Filed: June 1, 2012
    Publication date: October 4, 2012
    Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
  • 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: 8200774
    Abstract: A server system includes a processor and a data structure having an entry for a resource, the entry including a first sequence number. The server has communication procedures for receiving a request from a client to access the resource, where the request includes a second sequence number obtained from a service, and a resource request handling program. Upon receiving the request, the resource request handling program determines whether the server has any record of having previously received a request to access the resource. If not, the server returns a provisional rejection to the client, requiring the client to verify that it holds a lock on the specified resource. A provisional bit in the entry is initially set to indicate that the resource has not been accessed since the system was last initialized. The provisional bit is reset when a request to access the resource is granted.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: June 12, 2012
    Assignee: Google Inc.
    Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
  • 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: 8069144
    Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.
    Type: Grant
    Filed: June 9, 2010
    Date of Patent: November 29, 2011
    Assignee: Visto Corporation
    Inventors: Sean Quinlan, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
  • Publication number: 20100268844
    Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.
    Type: Application
    Filed: June 9, 2010
    Publication date: October 21, 2010
    Applicant: VISTO CORPORATION
    Inventors: Sean QUINLAN, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
  • Patent number: 7752166
    Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.
    Type: Grant
    Filed: November 15, 2002
    Date of Patent: July 6, 2010
    Assignee: Visto Corporation
    Inventors: Sean Quinlan, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
  • 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
  • Publication number: 20090143242
    Abstract: The present invention provides sequences and reagents for preparing microarrays with internal controls. Specifically, the present invention defines and provides sequences that are not present in the hybridizing mRNA or cDNA, and therefore can be used both as hybridization controls and for inter-spot normalization.
    Type: Application
    Filed: July 7, 2008
    Publication date: June 4, 2009
    Applicants: MODULAR GENETICS, INC., TRUSTEES OF BOSTON UNIVERSITY
    Inventors: Sean Quinlan, Temple Smith, Prashanth Vishwanath
  • Patent number: 7396646
    Abstract: The present invention provides sequences and reagents for preparing microarrays with internal controls. Specifically, the present invention defines and provides sequences that are not present in the hybridizing mRNA or cDNA, and therefore can be used both as hybridization controls and for inter-spot normalization.
    Type: Grant
    Filed: September 12, 2005
    Date of Patent: July 8, 2008
    Assignees: Modular Genetics, Inc., Trustees of Boston University
    Inventors: Sean Quinlan, Temple Smith, Prashanth Vishwanath