Patents by Inventor JOHN LUTHER GUTHRIE, II

JOHN LUTHER GUTHRIE, II 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: 10484015
    Abstract: A data storage system includes multiple head nodes and data storage sleds. The data storage sleds include multiple mass storage devices and a sled controller. Respective ones of the head nodes are configured to obtain credentials for accessing particular portions of the mass storage devices of the data storage sleds. A sled controller of a data storage sled determines whether a head node attempting to perform a write on a mass storage device of a data storage sled that includes the sled controller is presenting with the write request a valid credential for accessing the mass storage devices of the data storage sled. If the credentials are valid, the sled controller causes the write to be performed and if the credentials are invalid, the sled controller returns a message to the head node indicating that it has been fenced off from the mass storage device.
    Type: Grant
    Filed: December 28, 2016
    Date of Patent: November 19, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Norbert P. Kusters, Nachiappan Arumugam, Christopher Nathan Watson, Marc John Brooker, David R. Richardson, Danny Wei, John Luther Guthrie, II, Leah Shalev
  • Patent number: 10452680
    Abstract: Master-slave pairs can be used to provide data redundancy in an electronic data environment. A master peer can include a B-tree with references to the corresponding data. When provisioning a slave, the master can send a point-in-time copy of the B-tree to the slave, which can allocate the necessary space on local storage and update the references of the B-tree to point to the local storage for the slave. If the master and slave become disconnected, one of the peers can function as a solo master until the peers are again connected, at which point the old peer can be brought current or a new slave provisioned. A log peer can also be provisioned by a solo master, which can store data for operations received during the disconnect for use in catching up a slave peer, which could be the old slave, the log peer, or a new peer.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: October 22, 2019
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II
  • Patent number: 10191813
    Abstract: Persistent storage for a master copy is provided using operation numbers. A master copy can include a persistent key-value store such as a B-tree with references to corresponding data. When provisioning a slave copy, the master copy sends a point-in-time copy of the B-tree to the slave copy, which stores a copy of the B-tree, allocates the necessary space, and updates the references of the B-tree to point to a local storage before the data is transferred. When writing the data to persistent storage, a snapshot created on the master copy is an operation that is replicated to the slave copy. The snapshot is generated using a volume view that includes changes to chunks of data of the master copy since a previous snapshot, as determined using the operation number for the previous snapshot. Data (and metadata) for the snapshot is written to persistent storage while new input/output operations are processed.
    Type: Grant
    Filed: September 1, 2017
    Date of Patent: January 29, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II
  • Publication number: 20180357173
    Abstract: A block-based storage system may implement page cache write logging. Write requests for a data volume maintained at a storage node may be received at a storage node. A page cache for may be updated in accordance with the request. A log record describing the page cache update may be stored in a page cache write log maintained in a persistent storage device. Once the write request is performed in the page cache and recorded in a log record in the page cache write log, the write request may be acknowledged. Upon recovery from a system failure where data in the page cache is lost, log records in the page cache write log may be replayed to restore to the page cache a state of the page cache prior to the system failure.
    Type: Application
    Filed: August 20, 2018
    Publication date: December 13, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: Danny Wei, John Luther Guthrie, II, James Michael Thompson, Benjamin Arthur Hawks, Norbert P. Kusters
  • Patent number: 10055352
    Abstract: A block-based storage system may implement page cache write logging. Write requests for a data volume maintained at a storage node may be received at a storage node. A page cache for may be updated in accordance with the request. A log record describing the page cache update may be stored in a page cache write log maintained in a persistent storage device. Once the write request is performed in the page cache and recorded in a log record in the page cache write log, the write request may be acknowledged. Upon recovery from a system failure where data in the page cache is lost, log records in the page cache write log may be replayed to restore to the page cache a state of the page cache prior to the system failure.
    Type: Grant
    Filed: March 11, 2014
    Date of Patent: August 21, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Danny Wei, John Luther Guthrie, II, James Michael Thompson, Benjamin Arthur Hawks, Norbert P. Kusters
  • Publication number: 20180232308
    Abstract: A data storage system includes a head node and mass storage devices. The head node is configured to flush data stored in a storage of the head node, based at least in part on one or more triggers being met, from the storage of the head node to a set of the mass storage devices of the data storage system. The flushed data is written to a segment of free storage space across the set of the mass storage devices allocated for the given data flush operation. In some embodiments, a head node may flush both current version data and point-in-time version data to the set of mass storage devices. Also, the data storage system maintains an index that indicates storage locations of data for particular portions of a volume before and after the data is flushed to the set of mass storage devices.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: Norbert Paul Kusters, Nachiappan Arumugam, Andre Podnozov, Shobha Agrawal, Shreyas Ramalingam, Danny Wei, David R. Richardson, Marc John Brooker, Christopher Nathan Watson, John Luther Guthrie, II, Ravi Nankani
  • Publication number: 20180232165
    Abstract: A data storage system includes a head node and mass storage devices. The head node is configured to flush data stored in a storage of the head node to a set of the mass storage devices of the data storage system. A head node may flush both current version data and point-in-time version data to the set of mass storage devices. Also, the data storage system maintains an index that indicates storage locations of data for particular portions of a volume before and after the data is flushed to the set of mass storage devices. In some embodiments an index includes a current version reference for a volume or portion of a volume and one or more point-in-time snapshot references.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: Norbert Paul Kusters, Nachiappan Arumugam, Andre Podnozov, Shobha Agrawal, Shreyas Ramalingam, Danny Wei, David R. Richardson, Marc John Brooker, Christopher Nathan Watson, John Luther Guthrie, II, Ravi Nankani
  • Publication number: 20180183868
    Abstract: A data storage system includes a rack, multiple head nodes, multiple data storage sleds, and at least two networking devices. The at least two network devices are configured to implement at least two redundant networks within the data storage system. Also, each of the head nodes is assigned at least two network addresses for communication with the data storage sleds of the data storage system via the at least two networking devices. The data storage sleds each include multiple mass storage devices and a sled controller that is configured to couple with the at least two network switches. In some embodiments, the data storage system further includes redundant power systems within a rack in which the head nodes, the data storage sleds, and the at least two networking devices are mounted.
    Type: Application
    Filed: December 28, 2016
    Publication date: June 28, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: NORBERT P. KUSTERS, NACHIAPPAN ARUMUGAM, CHRISTOPHER NATHAN WATSON, MARC JOHN BROOKER, DAVID R. RICHARDSON, DANNY WEI, JOHN LUTHER GUTHRIE, II
  • Publication number: 20180181330
    Abstract: A data storage system includes multiple head nodes and data storage sleds. The data storage sleds include multiple mass storage devices and a sled controller. Respective ones of the head nodes are configured to obtain credentials for accessing particular portions of the mass storage devices of the data storage sleds. A sled controller of a data storage sled determines whether a head node attempting to perform a write on a mass storage device of a data storage sled that includes the sled controller is presenting with the write request a valid credential for accessing the mass storage devices of the data storage sled. If the credentials are valid, the sled controller causes the write to be performed and if the credentials are invalid, the sled controller returns a message to the head node indicating that it has been fenced off from the mass storage device.
    Type: Application
    Filed: December 28, 2016
    Publication date: June 28, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: NORBERT P. KUSTERS, NACHIAPPAN ARUMUGAM, CHRISTOPHER NATHAN WATSON, MARC JOHN BROOKER, DAVID R. RICHARDSON, DANNY WEI, JOHN LUTHER GUTHRIE, II, LEAH SHALEV
  • Publication number: 20180181348
    Abstract: A data storage system includes multiple data storage units and a zonal control plane. The zonal control plane assigns volumes to respective ones of the data storage units. The data storage units include multiple head nodes and data storage sleds. At least one of the head nodes implements a local control plane for the data storage unit. Also, the head nodes of each data storage unit are configured to service read and write requests directed to one or more volumes serviced by the data storage unit independent of the zonal control plane.
    Type: Application
    Filed: December 28, 2016
    Publication date: June 28, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: NORBERT P. KUSTERS, NACHIAPPAN ARUMUGAM, CHRISTOPHER NATHAN WATSON, MARC JOHN BROOKER, DAVID R. RICHARDSON, DANNY WEI, JOHN LUTHER GUTHRIE, II
  • Publication number: 20180181315
    Abstract: A data storage system includes multiple head nodes and multiple data storage sleds mounted in a rack. For a particular volume or volume partition one of the head nodes is designated as a primary head node for the volume or volume partition. The primary head node is configured to store data for the volume in a data storage of the primary head node and cause the data to be replicated to a secondary head node. The primary head node is also configured to cause the data for the volume to be stored in a plurality of respective mass storage devices each in different ones of the plurality of data storage sleds of the data storage system.
    Type: Application
    Filed: December 28, 2016
    Publication date: June 28, 2018
    Applicant: Amazon Technologies, Inc.
    Inventors: NORBERT P. KUSTERS, NACHIAPPAN ARUMUGAM, CHRISTOPHER NATHAN WATSON, MARC JOHN BROOKER, DAVID R. RICHARDSON, DANNY WEI, JOHN LUTHER GUTHRIE, II
  • Publication number: 20180165112
    Abstract: Systems and methods are described for a storage processing service that processes multiple storage commands. The storage processing service uses tags from test storage commands to determine whether a test storage service is to be instantiated that reflects a corresponding production service. Test storage commands with the same tag are tested on that test service. Additionally, the storage processing service determines a strategy for testing processes on production services when the storage system is overloaded. In one embodiment, the test service manager can determine to stop testing processes for a period of time, and issue a shed command that queues or sheds test storage commands. Advantageously, a shed command, while active at a storage processing service, may alleviate the overload on production services. The test service manager can continue to monitor the storage system to determine whether the overload continues to exist.
    Type: Application
    Filed: March 3, 2017
    Publication date: June 14, 2018
    Inventors: Brian Todd Burruss, John Luther Guthrie, II, Marc Stephen Olson, Madhuvanesh Parthasarathy
  • Patent number: 9983825
    Abstract: A block-based storage system may implement efficient replication for restoring a data volume from a reduced durability state. A storage node that is not replicating write requests for a data volume may determine that replication for the data volume is to be enabled. A peer storage node may be identified that maintains a stale replica of the data volume. One or more replication operations may be performed to update stale data chunks in the stale replica of the data volume with current data chunks without updating data chunks in the stale replica of the data volume that are current. Stale replicas that are no longer needed may be deleted according timeouts or the amount of stale data in the replica.
    Type: Grant
    Filed: July 31, 2017
    Date of Patent: May 29, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Danny Wei, Kerry Quintin Lee, John Luther Guthrie, II, Jianhua Fan, James Michael Thompson, Nandakumar Gopalakrishnan
  • Patent number: 9893972
    Abstract: Systems and methods are described providing detailed input/output (I/O) metric information that is collected and gathered by an agent of the storage volume. An I/O request is received by a storage volume, and the agent associates primary and secondary identifiers with that I/O request. For example, a trace may be associated with that I/O request. The agent may store this I/O metric information in a ring buffer. Further, after collection and aggregation, statistics may be published by an I/O metric service that further processes the data provided by the agent. Advantageously, interdependent relationships associated with the I/O request or I/O operations of that request may be included in those statistics. This may allow an operator to evaluate the performance of I/O requests for a network.
    Type: Grant
    Filed: December 15, 2014
    Date of Patent: February 13, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Marc Stephen Olson, Jeevan Shankar, James Michael Thompson, Danny Wei, John Robert Smiley, John Luther Guthrie, II, Nachiappan Arumugam, Benjamin Arthur Hawks
  • Publication number: 20170364411
    Abstract: The present disclosure provides persistent storage for a master copy using operation numbers. A master copy can include a B-tree with references to corresponding data. When provisioning a slave copy, the master copy sends a point-in-time copy of the B-tree to the slave copy, which stores a copy of the B-tree, allocates the necessary space, and updates the references of the B-tree to point to a local storage before the data is transferred. When writing the data to persistent storage, a snapshot created on the master copy is an operation that is replicated to the slave copy. The snapshot is generated using a volume view that includes changes to chunks of data of the master copy since a previous snapshot, as determined using the operation number for the previous snapshot. Data (and metadata) for the snapshot is written to persistent storage while new I/O operations are processed.
    Type: Application
    Filed: September 1, 2017
    Publication date: December 21, 2017
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II
  • Publication number: 20170351462
    Abstract: A slave storage is provisioned using metadata of a master B-tree and updates to references (e.g., offsets) pertaining to data operations of the master B-tree. Master-slave pairs can be used to provide data redundancy, and a master copy can include the master B-tree with references to corresponding data. When provisioning a slave copy, the master sends a B-tree copy to the slave, which stores the slave B-tree copy, allocates the necessary space on local storage, and updates respective offsets of the slave B-tree copy to point to the local storage. Data from the master can then be transferred to the slave and stored according to a note and commit process that ensures operational sequence of the data. Operations received to the master during the process can be committed to the slave copy until the slave is consistent with the master and able to take over as master in the event of a failure.
    Type: Application
    Filed: August 9, 2017
    Publication date: December 7, 2017
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II
  • Publication number: 20170329528
    Abstract: A block-based storage system may implement efficient replication for restoring a data volume from a reduced durability state. A storage node that is not replicating write requests for a data volume may determine that replication for the data volume is to be enabled. A peer storage node may be identified that maintains a stale replica of the data volume. One or more replication operations may be performed to update stale data chunks in the stale replica of the data volume with current data chunks without updating data chunks in the stale replica of the data volume that are current. Stale replicas that are no longer needed may be deleted according timeouts or the amount of stale data in the replica.
    Type: Application
    Filed: July 31, 2017
    Publication date: November 16, 2017
    Applicant: Amazon Technologies, Inc.
    Inventors: Danny Wei, Kerry Quintin Lee, John Luther Guthrie, II, Jianhua Fan, James Michael Thompson, Nandakumar Gopalakrishnan
  • Patent number: 9792231
    Abstract: Systems and methods are described for dynamically detecting outliers in a set of input/output (I/O) metrics collected and aggregated by a storage volume network. An I/O request is received by a storage volume network, and an agent of the storage volume network associates primary and secondary identifiers with that I/O request. For example, a trace may be associated with a request to write data to a storage volume network, and spans may be associated with the individual operations required to fulfill that request. Once gathered, I/O metrics may be aggregated based on the associated identifiers. I/O metric information regarding outliers may be received from the storage volume network, processed, and published by an I/O metrics service to identify the outliers among the primary and secondary identifiers. These outliers may then be stored for further analysis, and may be utilized to determine improvements to the performance of a storage volume network.
    Type: Grant
    Filed: December 15, 2014
    Date of Patent: October 17, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: James Michael Thompson, Marc Stephen Olson, Jeevan Shankar, Danny Wei, John Robert Smiley, John Luther Guthrie, II, Nachiappan Arumugam, Benjamin Arthur Hawks
  • Patent number: 9792060
    Abstract: Write optimization for block-based storage performing snapshot operations may be implemented. Write requests for a particular data volume may be received for which a snapshot operation is in progress. A determination may be made as to whether a data chunk of the data volume modified as part of the write request has not yet been stored to a remote snapshot data store as part of the snapshot operation. For a data chunk that is to be modified and that has not yet been stored, the data chunk may be stored in a local in-memory volume snapshot buffer. Once the data chunk is stored in the in-memory volume snapshot buffer, the write request may be performed and acknowledged as complete. The data chunk may be sent to the remote snapshot data store asynchronously with regard to the acknowledgment of the write request.
    Type: Grant
    Filed: July 21, 2016
    Date of Patent: October 17, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Danny Wei, Nandakumar Gopalakrishnan, Jiahua He, John Luther Guthrie, II, James Michael Thompson, Jianhua Fan, Fnu Amit Anand Amleshwaram, Kerry Quintin Lee
  • Patent number: 9753813
    Abstract: Persistent storage for a master copy is provided using operation numbers. A master copy can include a persistent key-value store such as a B-tree with references to corresponding data. When provisioning a slave copy, the master copy sends a point-in-time copy of the B-tree to the slave copy, which stores a copy of the B-tree, allocates the necessary space, and updates the references of the B-tree to point to a local storage before the data is transferred. When writing the data to persistent storage, a snapshot created on the master copy is an operation that is replicated to the slave copy. The snapshot is generated using a volume view that includes changes to chunks of data of the master copy since a previous snapshot, as determined using the operation number for the previous snapshot. Data (and metadata) for the snapshot is written to persistent storage while new EO operations are processed.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: September 5, 2017
    Assignee: Amazon Technologies, Inc.
    Inventors: Jianhua Fan, Benjamin Arthur Hawks, Norbert Paul Kusters, Nachiappan Arumugam, Danny Wei, John Luther Guthrie, II