Patents by Inventor Gurunatha Karaje

Gurunatha Karaje 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: 11632304
    Abstract: An assessment of computing system performance may include evaluating, within a time window, the average latency of operations of a certain type and size with respect to a peer performance model constructed for operations of the same type and size. Such evaluation may result in the determination of a peer performance score. The peer performance score may be used to label performance characteristics of the computing system that are measured within the same time window. A library of such performance characteristics labeled with respective peer performance scores may be constructed by examining multiple computing systems, and such library may be used to construct one or more symptom models. Each symptom model may map a performance characteristic to a symptom severity score, which indicates the severity of a symptom of the computing system.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: April 18, 2023
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Guoli Sun, David Nellinger Adamson, Gurunatha Karaje, Vladimir Semitchev
  • Publication number: 20220255993
    Abstract: A technique includes causing an agent device to setup a replication partnership between a first storage node and a second storage. Causing the agent device to setup the replication partnership includes configuring a proxy server that is associated with the second storage node to establish a secure communication channel for the replication partnership over a public network. Configuring the proxy server includes storing in the proxy server credentials for authenticating the first storage node to use the secure communication channel; and establishing port translations to be used in the secure communication channel in communicating replication data between the first storage node and the second storage node. Causing the agent device to setup the replication partnership may also include communicating replication partnership information to the second node.
    Type: Application
    Filed: January 21, 2022
    Publication date: August 11, 2022
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Kevin Kauffman, Nguyen Truong, Cristian Medina Abkarian, Michael E. Root, Liam McArdle, Zaid Bin Tariq
  • Patent number: 11233850
    Abstract: A technique includes causing an agent device to setup a replication partnership between a first storage node and a second storage. Causing the agent device to setup the replication partnership includes configuring a proxy server that is associated with the second storage node to establish a secure communication channel for the replication partnership over a public network. Configuring the proxy server includes storing in the proxy server credentials for authenticating the first storage node to use the secure communication channel; and establishing port translations to be used in the secure communication channel in communicating replication data between the first storage node and the second storage node. Causing the agent device to setup the replication partnership may also include communicating replication partnership information to the second node.
    Type: Grant
    Filed: April 17, 2018
    Date of Patent: January 25, 2022
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Kevin Kauffman, Nguyen Truong, Cristian Medina Abkarian, Michael E. Root, Liam McArdle, Zaid Bin Tariq
  • Patent number: 10768823
    Abstract: Methods, systems, and programs are presented for controlling the flow of data into a device in the presence of writes that are unaligned along boundaries associated with a block size. One method includes operations for identifying admission data rates for volumes, and for tracking a utilization rate of a memory that stores data of incoming writes. The method determines if incoming writes include unaligned data. When the memory utilization rate is above a first threshold, a first flow control is applied that includes a reduction of admission rates of volumes having unaligned writes while maintaining admission rates of volumes without unaligned writes. When the utilization rate is above a second threshold that is greater than the first threshold, a second flow control is applied in addition to the first flow control. The second flow control includes a reduction of a system admission rate for all incoming writes.
    Type: Grant
    Filed: April 12, 2016
    Date of Patent: September 8, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Mandar Samant, Sourabh Yerfule, Zhaosheng Zhu, Vanco Buca
  • Patent number: 10769172
    Abstract: Examples include globalized object names in a global namespace. Some examples may relate to creation of an object with a globalized object name in a global namespace based on a determination. The determination may relate to a global namespace name pattern or the determination may be based on globalization information.
    Type: Grant
    Filed: March 28, 2018
    Date of Patent: September 8, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Nguyen Truong, Kevin Kauffman, Gurunatha Karaje
  • Patent number: 10545791
    Abstract: Methods for scheduling operations in a scheduler hierarchy of a storage system. One method includes scheduling a first IO having a first cost at a first flow scheduler of a first flow configured to schedule IOs accessing a volume as executed on a first core processor. A global cost is updated with the first cost, wherein the global cost is shared by a plurality of flows of a plurality of core processors. An intervening cost is determined of at least one IO possibly scheduled before the first set of IOs by one or more flow schedulers of one or more flows configured to schedule IOs accessing the volume as executed on the plurality of core processors. A current cost is updated based on the first cost and the intervening cost. IOs and MBPS limits are set independently for the volume, each controlling scheduling through a corresponding accumulating current cost.
    Type: Grant
    Filed: January 20, 2017
    Date of Patent: January 28, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sourabh Yerfule, Gurunatha Karaje, Mandar Samant, Sagar Trehan
  • Patent number: 10534542
    Abstract: Methods and systems are presented for allocating resources based on dynamic core allocation in a scheduler hierarchy of a storage system. One method includes reserving a set of core processors including one or more core processors for execution of system IOs in the data storage system. The data storage system includes a controller including non-volatile memory (NVRAM) for handling IOs and a first central processing unit (CPU) having a plurality of core processors, a solid state memory (SSD) configured as a read cache memory, and permanent data storage. The method includes dynamically adjusting the number of core processors in the set based on a current utilization of a resource. The method includes scheduling an IO on a first core processor of the plurality of core processors that has the least magnitude of scheduled utilization.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: January 14, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sagar Trehan, Gurunatha Karaje, Zhaosheng Zhu
  • Patent number: 10467246
    Abstract: Methods, systems, and programs are presented for replicating data across scale-out storage systems. One method includes replicating, from an upstream to a downstream system, a volume snapshot having one or more bins. Locations for the bins of the snapshot are identified, the location for each bin including the upstream array storing the bin and the downstream array storing a replicated version of the bin. Each bin is validated by comparing an upstream bin checksum of the bin with a downstream bin checksum of the replicated version of the bin. When the checksums are different, a plurality of chunks are defined in the bin, and for each chunk in the bin an upstream chunk checksum calculated by the upstream array is compared with a downstream chunk checksum calculated by the downstream array. The chunk is sent from the upstream to the downstream array when the chunk checksums are different.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: November 5, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Nimesh Bhagat, Tomasz Barszczak, Gurunatha Karaje
  • Publication number: 20190320018
    Abstract: A technique includes causing an agent device to setup a replication partnership between a first storage node and a second storage. Causing the agent device to setup the replication partnership includes configuring a proxy server that is associated with the second storage node to establish a secure communication channel for the replication partnership over a public network. Configuring the proxy server includes storing in the proxy server credentials for authenticating the first storage node to use the secure communication channel; and establishing port translations to be used in the secure communication channel in communicating replication data between the first storage node and the second storage node. Causing the agent device to setup the replication partnership may also include communicating replication partnership information to the second node.
    Type: Application
    Filed: April 17, 2018
    Publication date: October 17, 2019
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Kevin Kauffman, Nguyen Truong, Cristian Medina Abkarian, Michael E. Root, Liam McArdle, Zaid Bin Tariq
  • Publication number: 20190303489
    Abstract: Examples include globalized object names in a global namespace. Some examples may relate to creation of an object with a globalized object name in a global namespace based on a determination. The determination may relate to a global namespace name pattern or the determination may be based on globalization information.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 3, 2019
    Inventors: Nguyen Truong, Kevin Kauffman, Gurunatha Karaje
  • Patent number: 10423447
    Abstract: Methods for scheduling operations in a scheduler hierarchy of a storage system. One method includes scheduling a first IO having a first cost at a first flow scheduler of a first flow configured to schedule IOs accessing a volume as executed on a first core processor. A global cost is updated with the first cost, wherein the global cost is shared by a plurality of flows of a plurality of core processors. An intervening cost is determined of at least one IO possibly scheduled before the first set of IOs by one or more flow schedulers of one or more flows configured to schedule IOs accessing the volume as executed on the plurality of core processors. A current cost is updated based on the first cost and the intervening cost. IOs and MBPS limits are set independently for the volume, each controlling scheduling through a corresponding accumulating current cost.
    Type: Grant
    Filed: January 20, 2017
    Date of Patent: September 24, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sourabh Yerfule, Gurunatha Karaje, Mandar Samant, Sagar Trehan
  • Patent number: 10394606
    Abstract: Methods and systems are presented for allocating resources based on dynamic weight accumulation performed in a bottom-up fashion in a scheduler hierarchy of a storage system. One method includes assigning weights to leaf schedulers at a bottom level of schedulers in a scheduler hierarchy comprising a plurality of levels of schedulers. Between two levels, each parent scheduler is associated with a unique plurality of children schedulers. For each leaf scheduler that is active, the method includes propagating a corresponding weight of a corresponding leaf scheduler to every higher level in the scheduler hierarchy, such that a corresponding scheduler at a corresponding level is associated with an accumulation of weights of its descendent schedulers. The method includes distributing resources assigned to the scheduler hierarchy based on accumulated weights at each level, such that the corresponding scheduler is proportioned resources based on the accumulation of weights of its descendent schedulers.
    Type: Grant
    Filed: September 20, 2016
    Date of Patent: August 27, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sourabh Yerfule, Mandar Samant, Gurunatha Karaje
  • Patent number: 10387202
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.
    Type: Grant
    Filed: September 27, 2016
    Date of Patent: August 20, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Ajay Gulati, Umesh Maheshwari, Tomasz Barszczak, Vanco Buca
  • Patent number: 10387051
    Abstract: Examples include acquisition of IOPS limits and MBPS limits independently at a parent scheduler in a scheduler hierarchy of a storage system, wherein the scheduler hierarchy includes a parent level and a child level below the parent level. Examples include setting IOPS limits and MBPS limits independently at each child scheduler placed within the child level of the scheduler hierarchy. Examples include receiving a CPU resource allocation at the parent scheduler, wherein the CPU resource allocation is convertible to an IOPS allocation at the parent scheduler. Example include distributing the IOPS allocation among the child schedulers below the parent scheduler such that each of the child schedulers receive the same distribution of the IOPS allocation. Example include allocating IOPS between the child schedulers based on their corresponding IOPS limits.
    Type: Grant
    Filed: August 24, 2017
    Date of Patent: August 20, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sourabh Yerfule, Gurunatha Karaje, Mandar Samant, Sagar Trehan
  • Publication number: 20190065078
    Abstract: Examples include acquisition of IOPS limits and MBPS limits independently at a parent scheduler in a scheduler hierarchy of a storage system, wherein the scheduler hierarchy includes a parent level and a child level below the parent level. Examples include setting IOPS limits and MBPS limits independently at each child scheduler placed within the child level of the scheduler hierarchy. Examples include receiving a CPU resource allocation at the parent scheduler, wherein the CPU resource allocation is convertible to an IOPS allocation at the parent scheduler. Example include distributing the IOPS allocation among the child schedulers below the parent scheduler such that each of the child schedulers receive the same distribution of the IOPS allocation. Example include allocating IOPS between the child schedulers based on their corresponding IOPS limits.
    Type: Application
    Filed: August 24, 2017
    Publication date: February 28, 2019
    Inventors: Sourabh Yerfule, Gurunatha Karaje, Mandar Samant, Sagar Trehan
  • Patent number: 10185592
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Grant
    Filed: March 20, 2017
    Date of Patent: January 22, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Patent number: 10027984
    Abstract: When data blocks of a data seglet are compressed using a shared dictionary and when the requested data block (or blocks) do not include the last data block of the data seglet, an optimization in the read path may involve decompressing a certain portion of the data seglet from a starting position of the data seglet to a decompression endpoint of the data seglet, but not including the portion of the data seglet following the decompression endpoint. Such technique may involve the storing of a mapping that maps, for each data block within the data seglet, an identifier of the data block to a decompression endpoint that indicates a portion of the data seglet that includes the data block.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: July 17, 2018
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Hy Vu, Rajat Sharma, Senthil Kumar Ramamoorthy, Srikant Varadan
  • Publication number: 20180152733
    Abstract: When data blocks of a data seglet are compressed using a shared dictionary and when the requested data block (or blocks) do not include the last data block of the data seglet, an optimization in the read path may involve decompressing a certain portion of the data seglet from a starting position of the data seglet to a decompression endpoint of the data seglet, but not including the portion of the data seglet following the decompression endpoint. Such technique may involve the storing of a mapping that maps, for each data block within the data seglet, an identifier of the data block to a decompression endpoint that indicates a portion of the data seglet that includes the data block.
    Type: Application
    Filed: May 9, 2017
    Publication date: May 31, 2018
    Inventors: Gurunatha Karaje, Hy Vu, Rajat Sharma, Senthil Kumar Ramamoorthy, Srikant Varadan
  • Publication number: 20180123931
    Abstract: An assessment of computing system performance may include evaluating, within a time window, the average latency of operations of a certain type and size with respect to a peer performance model constructed for operations of the same type and size. Such evaluation may result in the determination of a peer performance score. The peer performance score may be used to label performance characteristics of the computing system that are measured within the same time window. A library of such performance characteristics labeled with respective peer performance scores may be constructed by examining multiple computing systems, and such library may be used to construct one or more symptom models. Each symptom model may map a performance characteristic to a symptom severity score, which indicates the severity of a symptom of the computing system.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 3, 2018
    Inventors: Guoli Sun, David Nellinger Adamson, Gurunatha Karaje, Vladimir Semitchev
  • Publication number: 20170293426
    Abstract: Methods, systems, and programs are presented for controlling the flow of data into a device in the presence of writes that are unaligned along boundaries associated with a block size. One method includes operations for identifying admission data rates for volumes, and for tracking a utilization rate of a memory that stores data of incoming writes. The method determines if incoming writes include unaligned data. When the memory utilization rate is above a first threshold, a first flow control is applied that includes a reduction of admission rates of volumes having unaligned writes while maintaining admission rates of volumes without unaligned writes. When the utilization rate is above a second threshold that is greater than the first threshold, a second flow control is applied in addition to the first flow control. The second flow control includes a reduction of a system admission rate for all incoming writes.
    Type: Application
    Filed: April 12, 2016
    Publication date: October 12, 2017
    Inventors: Gurunatha Karaje, Mandar Samant, Sourabh Yerfule, Zhaosheng Zhu, Vanco Buca