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: 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
  • 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: 8060776
    Abstract: 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: Grant
    Filed: June 19, 2008
    Date of Patent: November 15, 2011
    Assignee: NetApp, Inc.
    Inventors: Scott Schoenthal, Steven H. Rodrigues, Alan L. Rowe, Joydeep sen Sarma, Susan M. Coatney
  • Patent number: 8041924
    Abstract: 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: Grant
    Filed: December 17, 2009
    Date of Patent: October 18, 2011
    Assignee: NetApp, Inc.
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Publication number: 20110191780
    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: March 15, 2011
    Publication date: August 4, 2011
    Applicant: NETAPP, INC.
    Inventors: Srinivasan Viswanathan, James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange
  • Patent number: 7930164
    Abstract: 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: Grant
    Filed: January 28, 2008
    Date of Patent: April 19, 2011
    Assignee: NetApp, Inc.
    Inventors: James R. Grier, Scott Schoenthal
  • Patent number: 7926059
    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: May 13, 2009
    Date of Patent: April 12, 2011
    Assignee: NetApp, Inc.
    Inventors: Srinivasan Viswanathan, James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange
  • Patent number: 7831864
    Abstract: 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: Grant
    Filed: May 19, 2008
    Date of Patent: November 9, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Scott Schoenthal, Srinivasan Viswanathan
  • Publication number: 20100095060
    Abstract: 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: Application
    Filed: December 17, 2009
    Publication date: April 15, 2010
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Patent number: 7694173
    Abstract: 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: Grant
    Filed: August 22, 2008
    Date of Patent: April 6, 2010
    Assignee: NetApp, Inc.
    Inventors: Scott Schoenthal, Sunitha S. Sankar, Loellyn J. Cassell
  • Patent number: 7685462
    Abstract: 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: Grant
    Filed: January 8, 2008
    Date of Patent: March 23, 2010
    Assignee: NetApp, Inc.
    Inventors: James Leong, Scott Schoenthal, Srinivasan Viswanathan, Rajesh Sundaram
  • Patent number: 7664913
    Abstract: 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: Grant
    Filed: March 21, 2003
    Date of Patent: February 16, 2010
    Assignee: NetApp, Inc.
    Inventors: Loellyn J. Cassell, Sunitha S. Sankar, Scott Schoenthal
  • Patent number: 7660966
    Abstract: 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: Grant
    Filed: August 2, 2006
    Date of Patent: February 9, 2010
    Assignee: NetApp, Inc.
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Publication number: 20090222829
    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: May 13, 2009
    Publication date: September 3, 2009
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7539991
    Abstract: 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: Grant
    Filed: March 21, 2002
    Date of Patent: May 26, 2009
    Assignee: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7424637
    Abstract: 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: Grant
    Filed: March 21, 2003
    Date of Patent: September 9, 2008
    Assignee: Networks Appliance, Inc.
    Inventors: Scott Schoenthal, Sunitha S. Sankar, Loellyn J. Cassell
  • Patent number: 7392425
    Abstract: 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: Grant
    Filed: July 12, 2006
    Date of Patent: June 24, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Scott Schoenthal, Steven H. Rodrigues, Alan L. Rowe, Joydeep sen Sarma, Susan M. Coatney
  • Patent number: 7386762
    Abstract: 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: Grant
    Filed: September 30, 2005
    Date of Patent: June 10, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Scott Schoenthal, Srinivasan Viswanathan
  • Patent number: 7343529
    Abstract: 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: Grant
    Filed: September 28, 2004
    Date of Patent: March 11, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Klinkner, Jay B. Perry, Larry R. Lancaster, Jr., Scott A. Schoenthal