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: 20160179621Abstract: 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: ApplicationFiled: February 26, 2016Publication date: June 23, 2016Applicant: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Patent number: 9367562Abstract: 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: GrantFiled: December 5, 2013Date of Patent: June 14, 2016Assignee: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa
-
Patent number: 9323615Abstract: 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: GrantFiled: January 31, 2014Date of Patent: April 26, 2016Assignee: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
Patent number: 9292389Abstract: 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: GrantFiled: January 31, 2014Date of Patent: March 22, 2016Assignee: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Publication number: 20150220398Abstract: 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: ApplicationFiled: January 31, 2014Publication date: August 6, 2015Applicant: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Publication number: 20150220429Abstract: 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: ApplicationFiled: January 31, 2014Publication date: August 6, 2015Applicant: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
Publication number: 20150161163Abstract: 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: ApplicationFiled: December 5, 2013Publication date: June 11, 2015Applicant: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa
-
Publication number: 20130346540Abstract: 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: ApplicationFiled: May 21, 2013Publication date: December 26, 2013Applicant: 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: 8549104Abstract: 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: GrantFiled: June 1, 2012Date of Patent: October 1, 2013Assignee: Google Inc.Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
-
Publication number: 20120254302Abstract: 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: ApplicationFiled: June 1, 2012Publication date: October 4, 2012Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
-
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: 8200774Abstract: 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: GrantFiled: September 30, 2004Date of Patent: June 12, 2012Assignee: Google Inc.Inventors: Joshua A. Redstone, Sean Quinlan, Michael Burrows
-
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: 8069144Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.Type: GrantFiled: June 9, 2010Date of Patent: November 29, 2011Assignee: Visto CorporationInventors: Sean Quinlan, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
-
Publication number: 20100268844Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.Type: ApplicationFiled: June 9, 2010Publication date: October 21, 2010Applicant: VISTO CORPORATIONInventors: Sean QUINLAN, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
-
Patent number: 7752166Abstract: Aspects of the invention provide for information to be synchronized in an asynchronous manner among two or more computing devices.Type: GrantFiled: November 15, 2002Date of Patent: July 6, 2010Assignee: Visto CorporationInventors: Sean Quinlan, Daniel J. Mendez, Rajiv Joshi, Yuri Ardulov
-
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
-
Publication number: 20090143242Abstract: 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: ApplicationFiled: July 7, 2008Publication date: June 4, 2009Applicants: MODULAR GENETICS, INC., TRUSTEES OF BOSTON UNIVERSITYInventors: Sean Quinlan, Temple Smith, Prashanth Vishwanath
-
Patent number: 7396646Abstract: 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: GrantFiled: September 12, 2005Date of Patent: July 8, 2008Assignees: Modular Genetics, Inc., Trustees of Boston UniversityInventors: Sean Quinlan, Temple Smith, Prashanth Vishwanath