Patents by Inventor Scott Schoenthal
Scott Schoenthal 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: 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
-
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: 8060776Abstract: A data storage system has two computers. Each computer is assigned to a set of data. Two copies of each set of data are maintained. A first copy is stored on a first set of disks and a second copy is stored on a second set of disks. Each time that a data is written by a computer, a label is written to each set of disks, the label having fields for a status of each computer, a first ordinal which is increased each time that a new data is written, and a time stamp giving a time at which the last write was performed. After failure of a computer, a processor determines, in response to reading the labels of the first set of disks and the second set of disks, the most up to date copy of the data assigned to the failed computer.Type: GrantFiled: June 19, 2008Date of Patent: November 15, 2011Assignee: NetApp, Inc.Inventors: Scott Schoenthal, Steven H. Rodrigues, Alan L. Rowe, Joydeep sen Sarma, Susan M. Coatney
-
Patent number: 8041924Abstract: A computer storage system is described. A range of volume block numbers (VBNs) is assigned to a volume. A range of storage device block numbers (DBNs) is assigned to each of a plurality of storage devices. A first mapping parameters are created to map a first range of VBN numbers to a first selected range of DBNs using a first portion of a new storage device. A second mapping parameters are created to map a second range of VBN numbers to a second range of DBNs on a second portion of the new storage device.Type: GrantFiled: December 17, 2009Date of Patent: October 18, 2011Assignee: NetApp, Inc.Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
-
Publication number: 20110191780Abstract: 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: March 15, 2011Publication date: August 4, 2011Applicant: NETAPP, INC.Inventors: Srinivasan Viswanathan, James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange
-
Patent number: 7930164Abstract: A computer storage system executes a host operating system on the computer. A plurality of storage operating system simulators are executed by the host operating system, each storage operating system simulator simulating an operating system of a storage system. Input/output operations are performed between the simulators through an interprocess data pathway, the interprocess data pathway connecting storage operating system simulators.Type: GrantFiled: January 28, 2008Date of Patent: April 19, 2011Assignee: NetApp, Inc.Inventors: James R. Grier, Scott Schoenthal
-
Patent number: 7926059Abstract: 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: May 13, 2009Date of Patent: April 12, 2011Assignee: NetApp, Inc.Inventors: Srinivasan Viswanathan, James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange
-
Patent number: 7831864Abstract: The invention provides a method and system for persistent context-based behavior injection in a computing system, such as in a redundant storage system or another system having a layered or modular architecture. Behaviors that are injected can be specified to have triggering conditions, such that the behavior is not injected unless the conditions are true. Triggering conditions may include a selected ordering of conditions and a selected context for each behavior. In a system having a layered architecture, behavior injection might be used to evaluate correct responses in the face of cascaded errors in a specific context or thread, other errors that are related by context, concurrent errors, or multiple errors. Behavior injection uses non-volatile memory to preserve persistence of filter context information across possible system errors, for reporting of the results of behavior injection, and to preserve information across recovery from system errors. Multiple behavior injection threads are also provided.Type: GrantFiled: May 19, 2008Date of Patent: November 9, 2010Assignee: Network Appliance, Inc.Inventors: Scott Schoenthal, Srinivasan Viswanathan
-
Publication number: 20100095060Abstract: A computer storage system is described. A range of volume block numbers (VBNs) is assigned to a volume. A range of storage device block numbers (DBNs) is assigned to each of a plurality of storage devices. A first mapping parameters are created to map a first range of VBN numbers to a first selected range of DBNs using a first portion of a new storage device. A second mapping parameters are created to map a second range of VBN numbers to a second range of DBNs on a second portion of the new storage device.Type: ApplicationFiled: December 17, 2009Publication date: April 15, 2010Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
-
Patent number: 7694173Abstract: A technique manages the addition of disks to a volume of a storage system. A disk addition procedure is encapsulated into a DISKADD object conforming to a configuration management framework used to implement a RAID subsystem of the storage system. The DISKADD object is responsible for determining a set of available disks required to satisfy a disk addition request issued by an operator through a user interface of a storage operating system executing on the storage system. Furthermore, the DISKADD object is responsible for monitoring the state of the disks, including preparation/initialization of the disks (e.g., disk zeroing) and possible disk failures, as well as placing those disks into RAID groups of the volume once preparation completes. Persistent storage of the state of a pending disk addition is then accomplished using an implementation of the configuration management framework.Type: GrantFiled: August 22, 2008Date of Patent: April 6, 2010Assignee: NetApp, Inc.Inventors: Scott Schoenthal, Sunitha S. Sankar, Loellyn J. Cassell
-
Patent number: 7685462Abstract: A method for operating a data storage system is described. The method first constructs an I/O tree representing a logical configuration of storage devices coupled to the storage system, the I/O tree representing a flow of I/O operations to the storage devices. Elements of the I/O tree are represented by objects. A freeze condition is imposed on a selected object of the I/O tree in order to disable a portion of the storage devices serviced by the selected object. Configuration management operations are performed on the portion of the storage devices serviced by the selected object. The freeze condition is removed from the selected object in response to completion of the configuration management, in order to resume I/O operations to the portion of the storage devices serviced by the selected object.Type: GrantFiled: January 8, 2008Date of Patent: March 23, 2010Assignee: NetApp, Inc.Inventors: James Leong, Scott Schoenthal, Srinivasan Viswanathan, Rajesh Sundaram
-
Patent number: 7664913Abstract: A query-based spares management technique enables a storage operating system of a storage system to select disks to be added to one or more RAID groups of a volume. The spares management technique includes an attributes-based disk selection procedure that is performed by the storage operating system in response to an operator-initiated request to add disks to the volume or in response to a demand-driven request resulting from a requirement imposed by the system to add disks to the volume. The disks that are added to the RAID groups of the volume are retrieved from one or more spare pools of disks maintained by the storage system.Type: GrantFiled: March 21, 2003Date of Patent: February 16, 2010Assignee: NetApp, Inc.Inventors: Loellyn J. Cassell, Sunitha S. Sankar, Scott Schoenthal
-
Patent number: 7660966Abstract: A storage operating system is configured to assign volume block numbers (VBNs) to a volume. The system has a plurality of disks, and each disk of the plurality of disks is assigned disk block numbers (DBNs). A raidmap is configured to map the VBNs to the DBNs of the plurality of physical disks, the mapping for a particular disk stored in a disk label for the particular disk. The disk label for the particular disk is then written to the particular disk.Type: GrantFiled: August 2, 2006Date of Patent: February 9, 2010Assignee: NetApp, Inc.Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
-
Publication number: 20090222829Abstract: 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: May 13, 2009Publication date: September 3, 2009Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
-
Patent number: 7539991Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.Type: GrantFiled: March 21, 2002Date of Patent: May 26, 2009Assignee: NetApp, Inc.Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
-
Patent number: 7424637Abstract: A technique manages the addition of disks to a volume of a storage system. A disk addition procedure is encapsulated into a DISKADD object conforming to a configuration management framework used to implement a RAID subsystem of the storage system. The DISKADD object is responsible for determining a set of available disks required to satisfy a disk addition request issued by an operator through a user interface of a storage operating system executing on the storage system. Furthermore, the DISKADD object is responsible for monitoring the state of the disks, including preparation/initialization of the disks (e.g., disk zeroing) and possible disk failures, as well as placing those disks into RAID groups of the volume once preparation completes. Persistent storage of the state of a pending disk addition is then accomplished using an implementation of the configuration management framework.Type: GrantFiled: March 21, 2003Date of Patent: September 9, 2008Assignee: Networks Appliance, Inc.Inventors: Scott Schoenthal, Sunitha S. Sankar, Loellyn J. Cassell
-
Patent number: 7392425Abstract: A data storage system has two computers. Each computer is assigned to a set of data. Two copies of each set of data are maintained. A first copy is stored on a first set of disks and a second copy is stored on a second set of disks. Each time that a data is written by a computer, a label is written to each set of disks, the label having fields for a status of each computer, a first ordinal which is increased each time that a new data is written, and a time stamp giving a time at which the last write was performed. After failure of a computer, a processor determines, in response to reading the labels of the first set of disks and the second set of disks, the most up to date copy of the data assigned to the failed computer.Type: GrantFiled: July 12, 2006Date of Patent: June 24, 2008Assignee: Network Appliance, Inc.Inventors: Scott Schoenthal, Steven H. Rodrigues, Alan L. Rowe, Joydeep sen Sarma, Susan M. Coatney
-
Patent number: 7386762Abstract: The invention provides a method and system for persistent context-based behavior injection in a computing system, such as in a redundant storage system or another system having a layered or modular architecture. Behaviors that are injected can be specified to have triggering conditions, such that the behavior is not injected unless the conditions are true. Triggering conditions may include a selected ordering of conditions and a selected context for each behavior. In a system having a layered architecture, behavior injection might be used to evaluate correct responses in the face of cascaded errors in a specific context or thread, other errors that are related by context, concurrent errors, or multiple errors. Behavior injection uses non-volatile memory to preserve persistence of filter context information across possible system errors, for reporting of the results of behavior injection, and to preserve information across recovery from system errors. Multiple behavior injection threads are also provided.Type: GrantFiled: September 30, 2005Date of Patent: June 10, 2008Assignee: Network Appliance, Inc.Inventors: Scott Schoenthal, Srinivasan Viswanathan
-
Patent number: 7343529Abstract: A computer system is coupled to a remote service provider over a network. The computer system, in response to certain events, may generate an error package, which is transmitted to the remote service provider over the network. The error package includes system logs and may include other pertinent data. The remote service provider receives and unbundles the package, and analyzes the system logs. If it is determined that an error is present, an annotated log is returned to the computer system, and a user is prompted with the corrective action. According to another embodiment of the invention, an error catalog is generated and incorporated into the source code of the operating system of the computer system.Type: GrantFiled: September 28, 2004Date of Patent: March 11, 2008Assignee: Network Appliance, Inc.Inventors: Steven R. Klinkner, Jay B. Perry, Larry R. Lancaster, Jr., Scott A. Schoenthal