Patents by Inventor Christian Eric Schrock
Christian Eric Schrock 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: 11947423Abstract: A method of operating a distributed storage system, the method includes identifying missing chunks of a file. The file is divided into stripes that include data chunks and non-data chunks. The method also includes identifying non-missing chunks available for reconstructing the missing chunks and reconstructing missing data chunks before reconstructing missing non-data chunks using the available non-missing chunks.Type: GrantFiled: July 12, 2021Date of Patent: April 2, 2024Assignee: Google LLCInventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
-
Publication number: 20210342225Abstract: A method of operating a distributed storage system, the method includes identifying missing chunks of a file. The file is divided into stripes that include data chunks and non-data chunks. The method also includes identifying non-missing chunks available for reconstructing the missing chunks and reconstructing missing data chunks before reconstructing missing non-data chunks using the available non-missing chunks.Type: ApplicationFiled: July 12, 2021Publication date: November 4, 2021Applicant: Google LLCInventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
-
Patent number: 11080140Abstract: A method of operating a distributed storage system, the method includes identifying unhealthy chunks of a file. The file is divided into stripes that include data chunks and non-data chunks. The method also includes identifying healthy chunks available for reconstructing the unhealthy chunks and reconstructing unhealthy data chunks before reconstructing unhealthy non-data chunks using the available healthy chunks. When the unhealthy chunk is an unhealthy word-check chunk: reconstructing the unhealthy word-check chunk using healthy word-check chunks and healthy code-check-word-check chunks; determining whether reconstruction of the unhealthy word-check chunk is possible using only healthy word-check chunks and healthy code-check-word-check chunks; and when reconstruction of the unhealthy word-check chunk is not possible using only healthy word-check chunks and healthy code-check-word-check chunks, reconstructing the unhealthy word-check chunk using any healthy chunks.Type: GrantFiled: September 29, 2017Date of Patent: August 3, 2021Assignee: Google LLCInventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
-
Patent number: 10481972Abstract: A system and method are provided for verifying and reconstructing a file using cyclic redundancy checks (CRCs). A writer client sends a file, which includes data chunks including one or more data blocks, and code chunks including one or more code blocks. One or more storage devices store the packets underlying the one or more data blocks and their respective packet CRCs. A curator server stores a first CRC for each complete data chunk and each complete code chunk and determines that an incomplete code chunk has one or more missing code blocks. The curator server generates a second CRC for each of the complete data chunks and the complete code chunks using the packet CRCs, and compares the generated second CRCs with the respective stored first CRCs. The curator server generates a missing chunk CRC for the incomplete code chunk using the packet CRCs.Type: GrantFiled: February 13, 2018Date of Patent: November 19, 2019Assignee: Google LLCInventors: Andre Lebedev, Christian Eric Schrock
-
Patent number: 9898360Abstract: A method that prevents unnecessary data recovery includes receiving, at a data processing device, a status of a resource of a distributed system. When the status of the resource indicates a resource failure, the method includes executing instructions on the data processing device to determine whether the resource failure is correlated to any other resource failures within the distributed system. When the resource failure is correlated to other resource failures within the distributed system, the method includes delaying execution on the data processing device of a remedial action associated with the resource. However, when the resource failure is uncorrelated to other resource failures within the distributed system, the method includes initiating execution on the data processing device of the remedial action associated with the resource.Type: GrantFiled: December 28, 2015Date of Patent: February 20, 2018Assignee: Google LLCInventors: Christian Eric Schrock, Robert Cypher, Steven Robert Schirripa
-
Patent number: 9823980Abstract: 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: November 22, 2016Date of Patent: November 21, 2017Assignee: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Patent number: 9804925Abstract: A method of operating a distributed storage system, the method includes identifying missing chunks of a file. The file is divided into stripes that include data chunks and non-data chunks. The method also includes identifying non-missing chunks available for reconstructing the missing chunks and reconstructing missing data chunks before reconstructing missing non-data chunks using the available non-missing chunks.Type: GrantFiled: February 25, 2014Date of Patent: October 31, 2017Assignee: Google Inc.Inventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
-
Patent number: 9747155Abstract: A method of distributing data in a distributed storage system includes receiving a file and dividing the received file into chunks. The chunks are data-chunks and non-data chunks. The method further includes grouping chunks into a group and determining a distribution of the chunks of the group among storage devices of the distributed storage system based on a maintenance hierarchy of the distributed storage system. The maintenance hierarchy includes hierarchical maintenance levels and maintenance domains. Each maintenance domain has an active state or an inactive state; and each storage device is associated with at least one maintenance domain. The method also includes distributing the chunks of the group to the storage devices based on the determined distribution. The chunks of the group are distributed across multiple maintenance domains to maintain an ability to reconstruct chunks of the group when a maintenance domain is in the inactive state.Type: GrantFiled: November 3, 2016Date of Patent: August 29, 2017Assignee: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
Publication number: 20170075741Abstract: 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: November 22, 2016Publication date: March 16, 2017Applicant: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Publication number: 20170075753Abstract: A method of distributing data in a distributed storage system includes receiving a file and dividing the received file into chunks. The chunks are data-chunks and non-data chunks. The method further includes grouping chunks into a group and determining a distribution of the chunks of the group among storage devices of the distributed storage system based on a maintenance hierarchy of the distributed storage system. The maintenance hierarchy includes hierarchical maintenance levels and maintenance domains. Each maintenance domain has an active state or an inactive state; and each storage device is associated with at least one maintenance domain. The method also includes distributing the chunks of the group to the storage devices based on the determined distribution. The chunks of the group are distributed across multiple maintenance domains to maintain an ability to reconstruct chunks of the group when a maintenance domain is in the inactive state.Type: ApplicationFiled: November 3, 2016Publication date: March 16, 2017Applicant: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
Patent number: 9535790Abstract: 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: February 26, 2016Date of Patent: January 3, 2017Assignee: Google Inc.Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
-
Patent number: 9514015Abstract: 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: March 24, 2016Date of Patent: December 6, 2016Assignee: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
Publication number: 20160203066Abstract: 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: March 24, 2016Publication date: July 14, 2016Applicant: Google Inc.Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
-
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: 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: 9311194Abstract: A method for efficiently using resources (e.g., memory devices) in data centers of a distributed storage system includes identifying high-availability jobs and low-availability jobs that demand usage of resources of the distributed system. The method further includes allocating resource usage to the jobs, determining a first load of the jobs on resources available during a failure event, and determining a second load of the jobs on the resources lost during the failure event. The method includes determining a scaled third load of the jobs on the resources available during the failure event based on the first and second loads and reallocating resource usage assigned to the low-availability jobs to the high-availability jobs during the failure event. The reallocation is associated with the scaled third load of the jobs.Type: GrantFiled: March 28, 2014Date of Patent: April 12, 2016Assignee: Google Inc.Inventors: Robert Cypher, Healfdene Goguen, Steven Robert Schirripa, 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
-
Patent number: 9223644Abstract: A method that prevents unnecessary data recovery includes receiving, at a data processing device, a status of a resource of a distributed system. When the status of the resource indicates a resource failure, the method includes executing instructions on the data processing device to determine whether the resource failure is correlated to any other resource failures within the distributed system. When the resource failure is correlated to other resource failures within the distributed system, the method includes delaying execution on the data processing device of a remedial action associated with the resource. However, when the resource failure is uncorrelated to other resource failures within the distributed system, the method includes initiating execution on the data processing device of the remedial action associated with the resource.Type: GrantFiled: February 25, 2014Date of Patent: December 29, 2015Assignee: Google Inc.Inventors: Christian Eric Schrock, Robert Cypher, Steven Robert Schirripa
-
Patent number: 9128825Abstract: Systems and methods are discussed relating to allocation of memory from a fixed pool of fast memory within a data center having a data storage area equipped with that memory. Techniques include: receiving a request to write data in the storage area; identifying a file group associated with the write request; analyzing previous data activity traces associated with the file group; determining an available fast memory amount based on the total amount of fast memory in the fixed pool and a currently allocated amount of fast memory; determining a fast memory allocation for the file group based on the previous data activity traces, the available fast memory, and a fast memory constraint, the memory allocation including an allocation amount and a write probability; and providing information about the memory allocation to a file system of the data center, which writes the data based on the allocation amount and write probability.Type: GrantFiled: May 17, 2013Date of Patent: September 8, 2015Assignee: GOOGLE INC.Inventors: Christoph Albrecht, Murray Stokely, Arif Merchant, Christian Eric Schrock, Xudong Shi
-
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