Patents by Inventor Stephen H. Strange

Stephen H. Strange 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: 10664366
    Abstract: A third vote consensus technique enables a first node, i.e., a surviving node, of a two-node cluster to establish a quorum and continue to operate in response to failure of a second node of the cluster. Each node maintains configuration information organized as a cluster database (CDB) which may be changed according to a consensus-based protocol. Changes to the CDB are logged on a third copy file system (TCFS) stored on a local copy of TCFS (L-TCFS). A shared copy of the TCFS (i.e., S-TCFS) may be stored on shared storage devices of one or more storage arrays coupled to the nodes. The local copy of the TCFS (i.e., L-TCFS) represents a quorum vote for each node of the cluster, while the S-TCFS represents an additional “tie-breaker” vote of a consensus-based protocol. The additional vote may be obtained from the shared storage devices by the surviving node as a third vote to establish the quorum and enable the surviving node to cast two of three votes (i.e.
    Type: Grant
    Filed: November 15, 2017
    Date of Patent: May 26, 2020
    Assignee: NetApp, Inc.
    Inventors: Bob Schatz, John Muth, Stephen H. Strange
  • Patent number: 10360120
    Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s).
    Type: Grant
    Filed: August 25, 2017
    Date of Patent: July 23, 2019
    Assignee: NetApp, Inc.
    Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
  • Patent number: 10282137
    Abstract: The present invention uniquely names storage devices in a global storage environment with hierarchical storage domains. In particular, according to one or more embodiments of the present invention a storage device (e.g., a disk) is connected at a particular location within the global storage environment. That particular location is associated with a path of each of one or more hierarchical storage domains in which the storage device is located. Accordingly, a name is assigned to the storage device that is the path of the hierarchical storage domains in which the storage device is located.
    Type: Grant
    Filed: August 21, 2015
    Date of Patent: May 7, 2019
    Assignee: NETAPP, INC.
    Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
  • Patent number: 9940196
    Abstract: Methods and systems for a storage environment are provided. For example, one method includes receiving a request from a storage server at an offload engine for reconstructing data lost due to a failed storage device of a parity group having a plurality of storage devices; retrieving data and parity by the offload engine from the parity group storage devices that are operational; determining by the offload engine XOR of the retrieved data and parity; presenting XOR of data and parity by the offload engine to the storage server with context information associated with the retrieved data; and reconstructing lost data by the storage server using the XOR of data and parity and the context information provided by the offload engine.
    Type: Grant
    Filed: April 21, 2016
    Date of Patent: April 10, 2018
    Assignee: NETAPP, INC.
    Inventors: Richard Christopher Fore, Atul Goel, Stephen H. Strange, Kyle Sterling
  • Publication number: 20180074924
    Abstract: A third vote consensus technique enables a first node, i.e., a surviving node, of a two-node cluster to establish a quorum and continue to operate in response to failure of a second node of the cluster. Each node maintains configuration information organized as a cluster database (CDB) which may be changed according to a consensus-based protocol. Changes to the CDB are logged on a third copy file system (TCFS) stored on a local copy of TCFS (L-TCFS). A shared copy of the TCFS (i.e., S-TCFS) may be stored on shared storage devices of one or more storage arrays coupled to the nodes. The local copy of the TCFS (i.e., L-TCFS) represents a quorum vote for each node of the cluster, while the S-TCFS represents an additional “tie-breaker” vote of a consensus-based protocol. The additional vote may be obtained from the shared storage devices by the surviving node as a third vote to establish the quorum and enable the surviving node to cast two of three votes (i.e.
    Type: Application
    Filed: November 15, 2017
    Publication date: March 15, 2018
    Inventors: Bob Schatz, John Muth, Stephen H. Strange
  • Publication number: 20170351589
    Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s).
    Type: Application
    Filed: August 25, 2017
    Publication date: December 7, 2017
    Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
  • Patent number: 9836366
    Abstract: A third vote consensus technique enables a first node, i.e., a surviving node, of a two-node cluster to establish a quorum and continue to operate in response to failure of a second node of the cluster. Each node maintains configuration information organized as a cluster database (CDB) which may be changed according to a consensus-based protocol. Changes to the CDB are logged on a third copy file system (TCFS) stored on a local copy of TCFS (L-TCFS). A shared copy of the TCFS (i.e., S-TCFS) may be stored on shared storage devices of one or more storage arrays coupled to the nodes. The local copy of the TCFS (i.e., L-TCFS) represents a quorum vote for each node of the cluster, while the S-TCFS represents an additional “tie-breaker” vote of a consensus-based protocol. The additional vote may be obtained from the shared storage devices by the surviving node as a third vote to establish the quorum and enable the surviving node to cast two of three votes (i.e.
    Type: Grant
    Filed: October 27, 2015
    Date of Patent: December 5, 2017
    Assignee: NetApp, Inc.
    Inventors: Bob Schatz, John Muth, Stephen H. Strange
  • Publication number: 20170308435
    Abstract: Methods and systems for a storage environment are provided. For example, one method includes receiving a request from a storage server at an offload engine for reconstructing data lost due to a failed storage device of a parity group having a plurality of storage devices; retrieving data and parity by the offload engine from the parity group storage devices that are operational; determining by the offload engine XOR of the retrieved data and parity; presenting XOR of data and parity by the offload engine to the storage server with context information associated with the retrieved data; and reconstructing lost data by the storage server using the XOR of data and parity and the context information provided by the offload engine.
    Type: Application
    Filed: April 21, 2016
    Publication date: October 26, 2017
    Applicant: NETAPP, INC.
    Inventors: Richard Christopher Fore, Atul Goel, Stephen H. Strange, Kyle Sterling
  • Patent number: 9785525
    Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s).
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: October 10, 2017
    Assignee: NetApp, Inc.
    Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
  • Publication number: 20170116095
    Abstract: A third vote consensus technique enables a first node, i.e., a surviving node, of a two-node cluster to establish a quorum and continue to operate in response to failure of a second node of the cluster. Each node maintains configuration information organized as a cluster database (CDB) which may be changed according to a consensus-based protocol. Changes to the CDB are logged on a third copy file system (TCFS) stored on a local copy of TCFS (L-TCFS). A shared copy of the TCFS (i.e., S-TCFS) may be stored on shared storage devices of one or more storage arrays coupled to the nodes. The local copy of the TCFS (i.e., L-TCFS) represents a quorum vote for each node of the cluster, while the S-TCFS represents an additional “tie-breaker” vote of a consensus-based protocol. The additional vote may be obtained from the shared storage devices by the surviving node as a third vote to establish the quorum and enable the surviving node to cast two of three votes (i.e.
    Type: Application
    Filed: October 27, 2015
    Publication date: April 27, 2017
    Inventors: Bob Schatz, John Muth, Stephen H. Strange
  • Publication number: 20170091056
    Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s).
    Type: Application
    Filed: September 24, 2015
    Publication date: March 30, 2017
    Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
  • Patent number: 9411514
    Abstract: A data access request to a file system is decomposed into a plurality of lower-level I/O tasks. A logical combination of physical storage components is represented as a hierarchical set of objects. A parent I/O task is generated from a first object in response to the data access request. A child I/O task is generated from a second object to implement a portion of the parent I/O task. The parent I/O task is suspended until the child I/O task completes. The child I/O task is executed in response to an occurrence of an event that a resource required by the child I/O task is available. The parent I/O task is resumed upon an event indicating completion of the child I/O task. Scheduling of any child I/O task is not conditional on execution of the parent I/O task, and a state diagram regulates the child I/O tasks.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: August 9, 2016
    Assignee: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 9378258
    Abstract: Method and system for replacing a first node and a second of a clustered storage system by a third node and a fourth node are provided. The method includes migrating all storage objects managed by the first node to the second node; replacing the first node by the third node and migrating all the storage objects managed by the first node and the second node to the third node; and replacing the second node by the fourth node and then migrating the storage objects previously managed by the second node but currently managed by the third node to the fourth node. The nodes may also be replaced by operationally connecting the third node and the fourth node to storage managed by the first node and the second node; joining the third node and the fourth node to a same cluster as the first node and the second node.
    Type: Grant
    Filed: August 7, 2013
    Date of Patent: June 28, 2016
    Assignee: NetApp, Inc.
    Inventors: Poonam P. Dhavale, Stephen H. Strange
  • Publication number: 20160117113
    Abstract: The present invention uniquely names storage devices in a global storage environment with hierarchical storage domains. In particular, according to one or more embodiments of the present invention a storage device (e.g., a disk) is connected at a particular location within the global storage environment. That particular location is associated with a path of each of one or more hierarchical storage domains in which the storage device is located. Accordingly, a name is assigned to the storage device that is the path of the hierarchical storage domains in which the storage device is located.
    Type: Application
    Filed: August 21, 2015
    Publication date: April 28, 2016
    Applicant: NETAPP, INC.
    Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
  • Patent number: 9134921
    Abstract: The present invention uniquely names storage devices in a global storage environment with hierarchical storage domains. In particular, according to one or more embodiments of the present invention a storage device (e.g., a disk) is connected at a particular location within the global storage environment. That particular location is associated with a path of each of one or more hierarchical storage domains in which the storage device is located. Accordingly, a name is assigned to the storage device that is the path of the hierarchical storage domains in which the storage device is located.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: September 15, 2015
    Assignee: NetApp, Inc.
    Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
  • Publication number: 20150046745
    Abstract: Method and system for replacing a first node and a second of a clustered storage system by a third node and a fourth node are provided. The method includes migrating all storage objects managed by the first node to the second node; replacing the first node by the third node and migrating all the storage objects managed by the first node and the second node to the third node; and replacing the second node by the fourth node and then migrating the storage objects previously managed by the second node but currently managed by the third node to the fourth node. The nodes may also be replaced by operationally connecting the third node and the fourth node to storage managed by the first node and the second node; joining the third node and the fourth node to a same cluster as the first node and the second node.
    Type: Application
    Filed: August 7, 2013
    Publication date: February 12, 2015
    Applicant: NETAPP, INC.
    Inventors: Poonam P. Dhavale, Stephen H. Strange
  • Patent number: 8832368
    Abstract: A slice manager module, in the operating system of a storage server, manages the virtual slicing of a mass storage device. The slice manager module receives a notification that a mass storage device has been added to an array of mass storage devices coupled to the storage system. The slice manager module reads header information in the mass storage device to determine a format of the mass storage device. If the mass storage device has not been previously sliced, the slice manager module virtually slices the mass storage device into a plurality of slices, where virtually slicing the mass storage device includes specifying an offset in the mass storage device where each of the plurality of slices is located.
    Type: Grant
    Filed: February 18, 2010
    Date of Patent: September 9, 2014
    Assignee: NetApp, Inc.
    Inventors: Susan M. Coatney, Stephen H. Strange, Douglas W. Coatney, Atul Goel
  • Publication number: 20140173198
    Abstract: A data access request to a file system is decomposed into a plurality of lower-level I/O tasks. A logical combination of physical storage components is represented as a hierarchical set of objects. A parent I/O task is generated from a first object in response to the data access request. A child I/O task is generated from a second object to implement a portion of the parent I/O task. The parent I/O task is suspended until the child I/O task completes. The child I/O task is executed in response to an occurrence of an event that a resource required by the child I/O task is available. The parent I/O task is resumed upon an event indicating completion of the child I/O task. Scheduling of any child I/O task is not conditional on execution of the parent I/O task, and a state diagram regulates the child I/O tasks.
    Type: Application
    Filed: December 20, 2013
    Publication date: June 19, 2014
    Applicant: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 8621465
    Abstract: A data access request to a file system is decomposed into a plurality of lower-level I/O tasks. A logical combination of physical storage components is represented as a hierarchical set of objects. A parent I/O task is generated from a first object in response to the data access request. A child I/O task is generated from a second object to implement a portion of the parent I/O task. The parent I/O task is suspended until the child I/O task completes. The child I/O task is executed in response to an occurrence of an event that a resource required by the child I/O task is available. The parent I/O task is resumed upon an event indicating completion of the child I/O task. Scheduling of any child I/O task is not conditional on execution of the parent I/O task, and a state diagram regulates the child I/O tasks.
    Type: Grant
    Filed: March 15, 2011
    Date of Patent: December 31, 2013
    Assignee: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 8386834
    Abstract: A storage server receives a notification indicating a failure of a mass storage device in a storage array. The storage server determines whether a number of failures exceeds a fault tolerance level of the array and if the number of failures exceeds the fault tolerance level, recovers an address space corresponding to the failed storage device. When recovering the address space, the storage server replaces the failed storage device with a spare storage device having an identifiable pattern stored thereon and determines whether a file system on the storage system can automatically invalidate cached data blocks on the failed storage device.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: February 26, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Atul Goel, Stephen H. Strange