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: 10664366Abstract: 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: GrantFiled: November 15, 2017Date of Patent: May 26, 2020Assignee: NetApp, Inc.Inventors: Bob Schatz, John Muth, Stephen H. Strange
-
Patent number: 10360120Abstract: 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: GrantFiled: August 25, 2017Date of Patent: July 23, 2019Assignee: NetApp, Inc.Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
-
Patent number: 10282137Abstract: 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: GrantFiled: August 21, 2015Date of Patent: May 7, 2019Assignee: NETAPP, INC.Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
-
Patent number: 9940196Abstract: 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: GrantFiled: April 21, 2016Date of Patent: April 10, 2018Assignee: NETAPP, INC.Inventors: Richard Christopher Fore, Atul Goel, Stephen H. Strange, Kyle Sterling
-
Publication number: 20180074924Abstract: 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: ApplicationFiled: November 15, 2017Publication date: March 15, 2018Inventors: Bob Schatz, John Muth, Stephen H. Strange
-
Publication number: 20170351589Abstract: 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: ApplicationFiled: August 25, 2017Publication date: December 7, 2017Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
-
Patent number: 9836366Abstract: 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: GrantFiled: October 27, 2015Date of Patent: December 5, 2017Assignee: NetApp, Inc.Inventors: Bob Schatz, John Muth, Stephen H. Strange
-
Publication number: 20170308435Abstract: 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: ApplicationFiled: April 21, 2016Publication date: October 26, 2017Applicant: NETAPP, INC.Inventors: Richard Christopher Fore, Atul Goel, Stephen H. Strange, Kyle Sterling
-
Patent number: 9785525Abstract: 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: GrantFiled: September 24, 2015Date of Patent: October 10, 2017Assignee: NetApp, Inc.Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
-
Publication number: 20170116095Abstract: 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: ApplicationFiled: October 27, 2015Publication date: April 27, 2017Inventors: Bob Schatz, John Muth, Stephen H. Strange
-
Publication number: 20170091056Abstract: 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: ApplicationFiled: September 24, 2015Publication date: March 30, 2017Inventors: Steven S. Watanabe, Stephen H. Strange, John Muth, Kimberly A. Malone, Kayuri H. Patel
-
Patent number: 9411514Abstract: 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: GrantFiled: December 20, 2013Date of Patent: August 9, 2016Assignee: NetApp, Inc.Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
-
Patent number: 9378258Abstract: 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: GrantFiled: August 7, 2013Date of Patent: June 28, 2016Assignee: NetApp, Inc.Inventors: Poonam P. Dhavale, Stephen H. Strange
-
Publication number: 20160117113Abstract: 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: ApplicationFiled: August 21, 2015Publication date: April 28, 2016Applicant: NETAPP, INC.Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
-
Patent number: 9134921Abstract: 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: GrantFiled: April 23, 2007Date of Patent: September 15, 2015Assignee: NetApp, Inc.Inventors: Dongfeng Li, Edward R. Zayas, Randal Thelen, Stephen H. Strange, Susan M. Coatney
-
Publication number: 20150046745Abstract: 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: ApplicationFiled: August 7, 2013Publication date: February 12, 2015Applicant: NETAPP, INC.Inventors: Poonam P. Dhavale, Stephen H. Strange
-
Patent number: 8832368Abstract: 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: GrantFiled: February 18, 2010Date of Patent: September 9, 2014Assignee: NetApp, Inc.Inventors: Susan M. Coatney, Stephen H. Strange, Douglas W. Coatney, Atul Goel
-
Publication number: 20140173198Abstract: 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: ApplicationFiled: December 20, 2013Publication date: June 19, 2014Applicant: NetApp, Inc.Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
-
Patent number: 8621465Abstract: 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: GrantFiled: March 15, 2011Date of Patent: December 31, 2013Assignee: NetApp, Inc.Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
-
Patent number: 8386834Abstract: 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: GrantFiled: April 30, 2010Date of Patent: February 26, 2013Assignee: Network Appliance, Inc.Inventors: Atul Goel, Stephen H. Strange