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: 11947423
    Abstract: 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: Grant
    Filed: July 12, 2021
    Date of Patent: April 2, 2024
    Assignee: Google LLC
    Inventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
  • Publication number: 20210342225
    Abstract: 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: Application
    Filed: July 12, 2021
    Publication date: November 4, 2021
    Applicant: Google LLC
    Inventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
  • Patent number: 11080140
    Abstract: 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: Grant
    Filed: September 29, 2017
    Date of Patent: August 3, 2021
    Assignee: Google LLC
    Inventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
  • Patent number: 10481972
    Abstract: 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: Grant
    Filed: February 13, 2018
    Date of Patent: November 19, 2019
    Assignee: Google LLC
    Inventors: Andre Lebedev, Christian Eric Schrock
  • Patent number: 9898360
    Abstract: 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: Grant
    Filed: December 28, 2015
    Date of Patent: February 20, 2018
    Assignee: Google LLC
    Inventors: Christian Eric Schrock, Robert Cypher, Steven Robert Schirripa
  • Patent number: 9823980
    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: November 22, 2016
    Date of Patent: November 21, 2017
    Assignee: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Patent number: 9804925
    Abstract: 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: Grant
    Filed: February 25, 2014
    Date of Patent: October 31, 2017
    Assignee: Google Inc.
    Inventors: Lidor Carmi, Christian Eric Schrock, Steven Robert Schirripa
  • Patent number: 9747155
    Abstract: 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: Grant
    Filed: November 3, 2016
    Date of Patent: August 29, 2017
    Assignee: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • Publication number: 20170075741
    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: November 22, 2016
    Publication date: March 16, 2017
    Applicant: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Publication number: 20170075753
    Abstract: 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: Application
    Filed: November 3, 2016
    Publication date: March 16, 2017
    Applicant: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • Patent number: 9535790
    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: February 26, 2016
    Date of Patent: January 3, 2017
    Assignee: Google Inc.
    Inventors: Steven Robert Schirripa, Christian Eric Schrock, Robert Cypher, Sean Quinlan
  • Patent number: 9514015
    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: March 24, 2016
    Date of Patent: December 6, 2016
    Assignee: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • Publication number: 20160203066
    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: March 24, 2016
    Publication date: July 14, 2016
    Applicant: Google Inc.
    Inventors: Robert Cypher, Sean Quinlan, Steven Robert Schirripa, Lidor Carmi, Christian Eric Schrock
  • 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: 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: 9311194
    Abstract: 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: Grant
    Filed: March 28, 2014
    Date of Patent: April 12, 2016
    Assignee: Google Inc.
    Inventors: Robert Cypher, Healfdene Goguen, Steven Robert Schirripa, 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
  • Patent number: 9223644
    Abstract: 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: Grant
    Filed: February 25, 2014
    Date of Patent: December 29, 2015
    Assignee: Google Inc.
    Inventors: Christian Eric Schrock, Robert Cypher, Steven Robert Schirripa
  • Patent number: 9128825
    Abstract: 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: Grant
    Filed: May 17, 2013
    Date of Patent: September 8, 2015
    Assignee: GOOGLE INC.
    Inventors: Christoph Albrecht, Murray Stokely, Arif Merchant, Christian Eric Schrock, Xudong Shi
  • 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