Patents by Inventor Jared CANTWELL
Jared CANTWELL 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: 11886363Abstract: Disclosed are systems, computer-readable mediums, and methods for managing client performance in a storage system. In one example, the storage system receives a request from a client to write data to the storage system. The storage system estimates, based on a system metric associated with the storage system reflecting usage of the storage system, a requested write QoS parameter for storing the data by the storage system during a first time period. The storage system further determines a target write QoS parameter for the client based on the estimated requested write QoS parameter and an allocated write QoS parameter for the client. Then, the storage system independently regulates read performance and write performance of the client using a controller to adjust the write performance toward the determined target write QoS parameter within the first time period based on feedback regarding the estimated requested write QoS parameter.Type: GrantFiled: May 9, 2022Date of Patent: January 30, 2024Assignee: NetApp, Inc.Inventors: Austino Longo, Jared Cantwell
-
Publication number: 20220261362Abstract: Disclosed are systems, computer-readable mediums, and methods for managing client performance in a storage system. In one example, the storage system receives a request from a client to write data to the storage system. The storage system estimates, based on a system metric associated with the storage system reflecting usage of the storage system, a requested write QoS parameter for storing the data by the storage system during a first time period. The storage system further determines a target write QoS parameter for the client based on the estimated requested write QoS parameter and an allocated write QoS parameter for the client. Then, the storage system independently regulates read performance and write performance of the client using a controller to adjust the write performance toward the determined target write QoS parameter within the first time period based on feedback regarding the estimated requested write QoS parameter.Type: ApplicationFiled: May 9, 2022Publication date: August 18, 2022Inventors: Austino Longo, Jared Cantwell
-
Patent number: 11386120Abstract: Disclosed are systems, computer-readable mediums, and methods for receiving a start replication message to replicate a source volume to a replicated volume. A source system forwards I/O requests to the replica server. A data structure associated with the replicated volume is initialized. A write request is received from the source system. The write data is written to the replicated volume and the data structure is updated. Source metadata associated with the source volume is received. The source metadata is compared with prior metadata associated with a prior point-in-time image of the source volume to determine blocks of data that have changed since the prior point-in-time image of the source volume. A first block is determined to not be retrieved based upon the data structure. A second block is determined to be retrieved based upon the data structure. The second block is received and written to the replicated volume.Type: GrantFiled: April 20, 2020Date of Patent: July 12, 2022Assignee: NetApp, Inc.Inventors: Jared Cantwell, Bill Minckler, Joe Roback, Jim Wittig
-
Patent number: 11327910Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input/output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: GrantFiled: March 16, 2021Date of Patent: May 10, 2022Assignee: NetApp, Inc.Inventors: Austino Longo, Jared Cantwell
-
Patent number: 11216204Abstract: A technique maintains multiple copies of data served by storage nodes of a cluster during upgrade of a storage node to ensure continuous protection of the data served by the nodes. The data is logically organized as one or more volumes on storage devices of the cluster and includes metadata that describe the data of each volume. A data protection system may be configured to maintain two copies of the data in the cluster during upgrade to a storage node that is assigned to host one of the copies of the data but that is taken offline during the upgrade. As a result, a slice service of the node may become unavailable during the upgrade. In response to the unavailability of the slice service, the technique redirects replicated data targeted to the slice service to a standby slice service according to a degraded redundant metadata (DRuM) service of the cluster.Type: GrantFiled: November 19, 2019Date of Patent: January 4, 2022Assignee: NetApp, Inc.Inventors: James Philip Wittig, Jared Cantwell, Mark Olson
-
Patent number: 11194501Abstract: A technique is configured to maintain multiple copies of data served by storage nodes of a cluster during upgrade of a storage node to ensure continuous protection of the data served by the nodes. The data is logically organized as one or more volumes on storage devices of the cluster and includes metadata that describe the data of each volume. A data protection system may be configured to maintain at least two copies of the data in the cluster during upgrade to a storage node that is assigned to host one of the copies of the data but that is taken offline during the upgrade. As a result, an original slice service of the node may be rendered unavailable during the upgrade. In response, the technique redirects replicated data targeted to the original slice service to a standby pool of slice services in accordance with a degraded redundant metadata service of the cluster.Type: GrantFiled: January 24, 2020Date of Patent: December 7, 2021Assignee: NetApp, Inc.Inventors: James Philip Wittig, Forrest Trimbell, Daniel David McCarthy, Jared Cantwell, Mark Olson, Christopher Cason
-
Publication number: 20210334247Abstract: A technique provides efficient management of policies for objects of a distributed storage architecture configured to service storage requests issued by one or more clients of a storage cluster. The objects may include volumes for storing data served by storage nodes of the cluster and the policies may include quality of service (QoS) policies. The technique enables dynamic grouping of the volumes as management domains and applying attributes, such as performance settings of the QoS policies, to the management domains. A group of volumes may be organized as a management domain and a QoS policy may be applied to the domain. If membership of the management domain is modified, the QoS policy is automatically applied to the added volume or stripped from the removed volume. If a performance setting of the policy is modified, the modification is atomically applied and propagated to each volume of the management domain.Type: ApplicationFiled: April 24, 2020Publication date: October 28, 2021Inventors: Austino Nicholas Longo, Jared Cantwell, Charles Randall
-
Publication number: 20210232314Abstract: A technique is configured to maintain multiple copies of data served by storage nodes of a cluster during upgrade of a storage node to ensure continuous protection of the data served by the nodes. The data is logically organized as one or more volumes on storage devices of the cluster and includes metadata that describe the data of each volume. A data protection system may be configured to maintain at least two copies of the data in the cluster during upgrade to a storage node that is assigned to host one of the copies of the data but that is taken offline during the upgrade. As a result, an original slice service of the node may be rendered unavailable during the upgrade. In response, the technique redirects replicated data targeted to the original slice service to a standby pool of slice services in accordance with a degraded redundant metadata service of the cluster.Type: ApplicationFiled: January 24, 2020Publication date: July 29, 2021Inventors: James Philip Wittig, Forrest Trimbell, Daniel David McCarthy, Jared Cantwell, Mark Olson, Christopher Cason
-
Publication number: 20210200702Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input/output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: ApplicationFiled: March 16, 2021Publication date: July 1, 2021Inventors: Austino Longo, Jared Cantwell
-
Publication number: 20210149566Abstract: A technique maintains multiple copies of data served by storage nodes of a cluster during upgrade of a storage node to ensure continuous protection of the data served by the nodes. The data is logically organized as one or more volumes on storage devices of the cluster and includes metadata that describe the data of each volume. A data protection system may be configured to maintain two copies of the data in the cluster during upgrade to a storage node that is assigned to host one of the copies of the data but that is taken offline during the upgrade. As a result, a slice service of the node may become unavailable during the upgrade. In response to the unavailability of the slice service, the technique redirects replicated data targeted to the slice service to a standby slice service according to a degraded redundant metadata (DRuM) service of the cluster.Type: ApplicationFiled: November 19, 2019Publication date: May 20, 2021Inventors: James Philip Wittig, Jared Cantwell, Mark Olson
-
Patent number: 10997098Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input-output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: GrantFiled: May 5, 2020Date of Patent: May 4, 2021Assignee: NetApp, Inc.Inventors: Austino Longo, Jared Cantwell
-
Publication number: 20200401537Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input-output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: ApplicationFiled: May 5, 2020Publication date: December 24, 2020Inventors: Austin Longo, Jared Cantwell
-
Publication number: 20200250201Abstract: Disclosed are systems, computer-readable mediums, and methods for receiving a start replication message to replicate a source volume to a replicated volume. A source system forwards I/O requests to the replica server. A data structure associated with the replicated volume is initialized. A write request is received from the source system. The write data is written to the replicated volume and the data structure is updated. Source metadata associated with the source volume is received. The source metadata is compared with prior metadata associated with a prior point-in-time image of the source volume to determine blocks of data that have changed since the prior point-in-time image of the source volume. A first block is determined to not be retrieved based upon the data structure. A second block is determined to be retrieved based upon the data structure. The second block is received and written to the replicated volume.Type: ApplicationFiled: April 20, 2020Publication date: August 6, 2020Inventors: Jared Cantwell, William Minckler, Joe Roback, James Philip Wittig
-
Patent number: 10642763Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input-output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: GrantFiled: September 20, 2016Date of Patent: May 5, 2020Assignee: NetApp, Inc.Inventors: Austin Longo, Jared Cantwell
-
Patent number: 10628443Abstract: Disclosed are systems, computer-readable mediums, and methods for receiving a start replication message to replicate a source volume to a replicated volume. A source system forwards I/O requests to the replica server. A data structure associated with the replicated volume is initialized. A write request is received from the source system. The write data is written to the replicated volume and the data structure is updated. Source metadata associated with the source volume is received. The source metadata is compared with prior metadata associated with a prior point-in-time image of the source volume to determine blocks of data that have changed since the prior point-in-time image of the source volume. A first block is determined to not be retrieved based upon the data structure. A second block is determined to be retrieved based upon the data structure. The second block is received and written to the replicated volume.Type: GrantFiled: April 13, 2015Date of Patent: April 21, 2020Assignee: NetApp, Inc.Inventors: Jared Cantwell, William Minckler, Joe Roback, James Philip Wittig
-
Patent number: 10452608Abstract: Systems, computer-readable mediums, and methods are configured to receive a first request to write a first data block to a solid state storage device. A second request is received to associate the first data block with a first snapshot identifier (ID). The first data block is stored on the solid state storage device in response to the first request. The first data block is stored on a first segment of a plurality of physical segments of memory on the solid state storage device. A first data pointer that corresponds to the first snapshot ID is generated in response to the second request. The first data pointer points to the first data block stored on the solid state storage device.Type: GrantFiled: October 17, 2016Date of Patent: October 22, 2019Assignee: NetApp, Inc.Inventors: Jared Cantwell, Saxon Parker
-
Patent number: 10382343Abstract: Data traffic of different customers or tenants can be efficiently handled at a shared node while still being isolated from each other. An application instance can create multiple network stack that are isolated from each other and intelligently manage threads across the isolated network stack instances. To intelligently manage the threads across the network stack instances, each thread maintains data that identifies the network stack to which the thread is assigned. With this information, the application can intelligently use a thread already assigned to a network stack that will process the data traffic and avoid the performance impact of a system call to assign the thread to the network stack.Type: GrantFiled: June 1, 2017Date of Patent: August 13, 2019Assignee: NetApp, Inc.Inventors: Peter P. Waskiewicz, Jr., Jared Cantwell, Marshall McMullen, Carl Jeffrey Seelye
-
Publication number: 20180287951Abstract: Data traffic of different customers or tenants can be efficiently handled at a shared node while still being isolated from each other. An application instance can create multiple network stack that are isolated from each other and intelligently manage threads across the isolated network stack instances. To intelligently manage the threads across the network stack instances, each thread maintains data that identifies the network stack to which the thread is assigned. With this information, the application can intelligently use a thread already assigned to a network stack that will process the data traffic and avoid the performance impact of a system call to assign the thread to the network stack.Type: ApplicationFiled: June 1, 2017Publication date: October 4, 2018Inventors: Peter P. Waskiewicz, JR., Jared Cantwell, Marshall McMullen, Carl Jeffrey Seelye
-
Publication number: 20180107674Abstract: Systems, computer-readable mediums, and methods are configured to receive a first request to write a first data block to a solid state storage device. A second request is received to associate the first data block with a first snapshot identifier (ID). The first data block is stored on the solid state storage device in response to the first request. The first data block is stored on a first segment of a plurality of physical segments of memory on the solid state storage device. A first data pointer that corresponds to the first snapshot ID is generated in response to the second request. The first data pointer points to the first data block stored on the solid state storage device.Type: ApplicationFiled: October 17, 2016Publication date: April 19, 2018Inventors: Jared Cantwell, Saxon Parker
-
Publication number: 20180081832Abstract: Disclosed are systems, computer-readable mediums, and methods for managing input-output operations within a system including at least one client and a storage system. A processor receives information regarding allocated input-output operations (IOPS) associated with a client accessing a storage system storing client data. The information includes a number of allocated total IOPS, a number of allocated read IOPS, and a number of allocated write IOPS. The processor also receives a requested number of write IOPS associated with the at least one client's request to write to the storage system. The processor determines a target write IOPS based on the number of allocated total IOPS, the number of allocated write IOPS and the requested number of write IOPS, and executes the determined target write IOPS within the first time period.Type: ApplicationFiled: September 20, 2016Publication date: March 22, 2018Inventors: Austin Longo, Jared Cantwell