Patents by Inventor Curtis Hrischuk

Curtis Hrischuk 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: 9542115
    Abstract: Methods and systems for managing resources in a storage system are provided. The methods include tracking performance of a plurality of resources used for reading and writing information at storage devices in a networked storage system, each resource represented by a logical object in a hierarchical structure and performance data associated with each logical object is maintained by a processor executing a management application out of a memory device; identifying a root object associated with a resource having a performance issue as indicated by a threshold violation for the resource; selecting a related object associated with a resource similar to the resource of the root object by the management application for comparing performance data of the root object with the related object; and using the comparison to verify that the root object is a root cause of the performance issue.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: January 10, 2017
    Assignee: NETAPP, INC.
    Inventors: Curtis Hrischuk, David Gilbert Roberts, Ulhas Pai, Kushagra Mittal, Peter Adam Smith, Purushottam Jha
  • Patent number: 9542346
    Abstract: Methods and systems for monitoring quality of service (QOS) data for a plurality of storage volumes from a storage operating system of a storage system are provided. A performance manager collects the QOS data from the storage operating system and the QOS data includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. An expected range for future QOS data is generated based on the collected QOS data. The QOS data is monitored for each storage volume for determining whether a current QOS data for each storage volume is within the expected range.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: January 10, 2017
    Assignee: NETAPP, Inc.
    Inventors: Curtis Hrischuk, Siu Wu, Leon Fairbanks, Kevin Faulkner
  • Publication number: 20160378389
    Abstract: Methods and systems for managing resources in a storage system are provided. The methods include tracking performance of a plurality of resources used for reading and writing information at storage devices in a networked storage system, each resource represented by a logical object in a hierarchical structure and performance data associated with each logical object is maintained by a processor executing a management application out of a memory device; identifying a root object associated with a resource having a performance issue as indicated by a threshold violation for the resource; selecting a related object associated with a resource similar to the resource of the root object by the management application for comparing performance data of the root object with the related object; and using the comparison to verify that the root object is a root cause of the performance issue.
    Type: Application
    Filed: June 23, 2015
    Publication date: December 29, 2016
    Applicant: NETAPP, INC.
    Inventors: Curtis Hrischuk, David Gilbert Roberts, Ulhas Pai, Kushagra Mittal, Peter Adam Smith, Purushottam Jha
  • Patent number: 9465548
    Abstract: Methods and systems for managing resources in a networked storage environment are provided. One method includes using a queuing model for a resource that processes a plurality of requests at a networked storage environment for predicting a relationship between latency and utilization of the resource. The queueing model uses inter-arrival time and service time to determine latency, where inter-arrival time is a duration that tracks when requests arrive at the resource and the service time tracks a duration for servicing the requests by the resource. The method further includes identifying optimum utilization of the resource using the predicted relationship between latency and utilization, where the optimum utilization is an indicator of resource utilization beyond which throughput gains for a workload is smaller than increase in latency; and determining available performance capacity for the resource using the optimum utilization and actual utilization of the resource.
    Type: Grant
    Filed: July 22, 2015
    Date of Patent: October 11, 2016
    Assignee: NETAPP, INC.
    Inventors: Curtis Hrischuk, Alma Dimnaku, Phil Larson
  • Patent number: 9411834
    Abstract: Methods and systems for identifying a victim storage volume from among a plurality of storage volumes based on a comparison of current Quality of Service (QOS) data with a dynamic threshold value that is based on historical QOS collected data for the plurality of storage volumes are provided. A performance manager collects the current and historical QOS data from a storage operating system of the storage system, which includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. The current and historical QOS data for the resources used by the victim storage volume are retrieved and compared with the current QOS data of each resource to an expected range based on the historical QOS data. Another storage volume is identified as a bully when its usage of a resource in contention contributes to creating the victim storage volume.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: August 9, 2016
    Assignee: NETAPP, INC.
    Inventors: Curtis Hrischuk, Siu Wu, Leon Fairbanks, Kevin Faulkner
  • Patent number: 9088479
    Abstract: A method, system and computer program product for selecting an appropriate platform to run an application deployed in a cloud computing environment. The appropriate platform is selected by employing a two phase process, where the first phase occurs prior to the deployment of the application and the second phase occurs after the application has been deployed. In the first phase, the cloud computing node selects a platform using various factors, such as application binaries, application metadata and artifacts, and qualities of service and application requirements. In the second phase, the cloud computing node determines whether an alternative platform needs to be implemented for subsequent deployments of the application using various factors, such as application runtime metrics and garbage collection metrics. In this manner, an appropriate platform is automatically selected thereby removing the requirement for the user to indicate the type of platform for the target environment.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: July 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Steven D. Ims, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20150199388
    Abstract: Methods and systems for identifying a victim storage volume from among a plurality of storage volumes based on a comparison of current Quality of Service (QOS) data with a dynamic threshold value that is based on historical QOS collected data for the plurality of storage volumes are provided. A performance manager collects the current and historical QOS data from a storage operating system of the storage system, which includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. The current and historical QOS data for the resources used by the victim storage volume are retrieved and compared with the current QOS data of each resource to an expected range based on the historical QOS data. Another storage volume is identified as a bully when its usage of a resource in contention contributes to creating the victim storage volume.
    Type: Application
    Filed: January 14, 2014
    Publication date: July 16, 2015
    Applicant: NETAPP, INC.
    Inventors: Curtis Hrischuk, Siu Wu, Leon Fairbanks, Kevin Faulkner
  • Publication number: 20150199136
    Abstract: Methods and systems for monitoring quality of service (QOS) data for a plurality of storage volumes are provided. QOS data is collected for the plurality of storage volumes and includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. An expected range for future QOS data based on the collected QOS data is generated. The process then determines a deviation of each potential bully storage volume of a resource used by any victim storage volume, where the deviation of each bully storage volume is based on a number of current I/O requests (IOPS) that are processed by each potential bully storage volume, a forecasted value of TOPS and a predicted upper threshold TOPS value for each potential bully storage volume; and filters the potential bully storage volumes based on an impact of each potential bully storage volume.
    Type: Application
    Filed: November 7, 2014
    Publication date: July 16, 2015
    Inventors: Kevin Faulkner, Leon Fairbanks, Siu Wu, Vinod Vasant Pai, Curtis Hrischuk
  • Publication number: 20150199148
    Abstract: Methods and systems for monitoring quality of service (QOS) data for a plurality of storage volumes from a storage operating system of a storage system are provided. A performance manager collects the QOS data from the storage operating system and the QOS data includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. An expected range for future QOS data is generated based on the collected QOS data. The QOS data is monitored for each storage volume for determining whether a current QOS data for each storage volume is within the expected range.
    Type: Application
    Filed: January 14, 2014
    Publication date: July 16, 2015
    Applicant: NETAPP, INC.
    Inventors: Curtis Hrischuk, Siu Wu, Leon Fairbanks, Kevin Faulkner
  • Publication number: 20150199141
    Abstract: Methods and systems for inter-cluster storage system monitoring and analysis are provided. The method includes monitoring a non-volatile memory delay center for a first storage cluster having a first node and a second node configured to operate as a first high availability pair, where data for a write request to write data to the first node is also written to the second node as well as to a second cluster having a third node and a fourth node, where the third node and the fourth node are also configured to operate as a second high availability pair to store the data for the write request at one or both of the third and fourth node. The non-volatile memory delay center is used to monitor and detect latency due to any delay caused by a non-volatile memory of the first node used as a write cache.
    Type: Application
    Filed: November 3, 2014
    Publication date: July 16, 2015
    Inventors: Kevin Faulkner, Leon Fairbanks, Phil Larson, Siu Wu, Vinod Vasant Pai, Abdul Basit, Curtis Hrischuk
  • Publication number: 20150201017
    Abstract: Methods and systems for presenting a plurality of options to a client for using storage space in a cloud computing environment are provided. Each option is associated with a latency target and/or a throughput target. The latency target provides a delay in processing input/output (I/O) requests and the throughput target provides a number of I/O requests that are processed within a unit of time. An existing volume is assigned to the client when the existing volume meets a guaranteed latency target and/or a guaranteed throughput target for an option selected from the plurality of options, otherwise a new volume is allocated.
    Type: Application
    Filed: January 14, 2014
    Publication date: July 16, 2015
    Applicant: NETAPP, INC.
    Inventors: Curtis Hrischuk, Phil Larson
  • Patent number: 9083608
    Abstract: A method, system and computer program product for selecting an appropriate platform to run an application deployed in a cloud computing environment. The appropriate platform is selected by employing a two phase process, where the first phase occurs prior to the deployment of the application and the second phase occurs after the application has been deployed. In the first phase, the cloud computing node selects a platform using various factors, such as application binaries, application metadata and artifacts, and qualities of service and application requirements. In the second phase, the cloud computing node determines whether an alternative platform needs to be implemented for subsequent deployments of the application using various factors, such as application runtime metrics and garbage collection metrics. In this manner, an appropriate platform is automatically selected thereby removing the requirement for the user to indicate the type of platform for the target environment.
    Type: Grant
    Filed: January 24, 2012
    Date of Patent: July 14, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Steven D. Ims, Zachary H. Jones, Aaron J. Quirk
  • Patent number: 9075643
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Grant
    Filed: January 23, 2012
    Date of Patent: July 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Patent number: 9075645
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: July 7, 2015
    Assignee: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20130247041
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Application
    Filed: April 22, 2013
    Publication date: September 19, 2013
    Applicant: International Business Machines Corporation
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20130191826
    Abstract: A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.
    Type: Application
    Filed: January 23, 2012
    Publication date: July 25, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20130191528
    Abstract: A method, system and computer program product for selecting an appropriate platform to run an application deployed in a cloud computing environment. The appropriate platform is selected by employing a two phase process, where the first phase occurs prior to the deployment of the application and the second phase occurs after the application has been deployed. In the first phase, the cloud computing node selects a platform using various factors, such as application binaries, application metadata and artifacts, and qualities of service and application requirements. In the second phase, the cloud computing node determines whether an alternative platform needs to be implemented for subsequent deployments of the application using various factors, such as application runtime metrics and garbage collection metrics. In this manner, an appropriate platform is automatically selected thereby removing the requirement for the user to indicate the type of platform for the target environment.
    Type: Application
    Filed: January 24, 2012
    Publication date: July 25, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ivan M. Heninger, Curtis Hrischuk, Steven D. Ims, Zachary H. Jones, Aaron J. Quirk
  • Publication number: 20070288548
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to data synchronization and provide a method, system and computer program product for protocol optimization for client and server synchronization. In one embodiment a protocol optimization method for client and server synchronization can be provided. The method can include receiving server updates from a synchronization server, and applying each update to a client data store in parallel to requesting additional ones of the server updates from the synchronization server before completing the application to the client data store. In one aspect of the embodiment, receiving server updates from a synchronization server can include receiving server update subsets of a singular server update for a synchronization conversation from a synchronization server.
    Type: Application
    Filed: May 9, 2006
    Publication date: December 13, 2007
    Applicant: International Business Machines Corporation
    Inventors: Thomas Creamer, Curtis Hrischuk
  • Publication number: 20070260654
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to load balancing in an enterprise environment and provide a method, system and computer program product for garbage collection sensitive load balancing. In a first embodiment of the invention, a load balancing method can include selectively avoiding server resources experiencing garbage collection when routing workloads to server resources in a load balanced cluster of server resources. For example, selectively avoiding server resources experiencing garbage collection when routing workloads to server resources in a load balanced cluster of server resources, can include detecting a garbage collection operation in a particular server resource, and avoiding routing of a workload to the particular server resource until the garbage collection operation has completed.
    Type: Application
    Filed: May 8, 2006
    Publication date: November 8, 2007
    Applicant: International Business Machines Corporation
    Inventors: Thomas Creamer, Curtis Hrischuk
  • Publication number: 20070260843
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to load balancing in an enterprise environment and provide a method, system and computer program product for garbage collection sensitive load balancing. In an embodiment of the invention, a method for memory tuning for garbage collection and CPU utilization optimization can be provided. The method can include benchmarking an application across multiple different heap sizes to accumulate garbage collection metrics and utilizing the garbage collection metrics accumulated during benchmarking to compute both CPU utilization and garbage collection time for each of a selection of candidate heap sizes. One of the candidate heap sizes can be matched to a desired CPU utilization and garbage collection time. As such, the matched one of the candidate heap sizes can be applied to a host environment.
    Type: Application
    Filed: May 8, 2006
    Publication date: November 8, 2007
    Applicant: International Business Machines Corporation
    Inventors: Thomas Creamer, Curtis Hrischuk