Patents by Inventor Vinay G. Rao

Vinay G. Rao 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).

  • Publication number: 20200348860
    Abstract: An apparatus comprises a host device configured to communicate over a network with a storage system. The host device comprises a plurality of nodes each comprising a plurality of processing devices and at least one communication adapter. The host device comprises a multi-path input-output (MPIO) driver that is configured to obtain an input-output (IO) operation that targets a given logical volume. The MPIO driver identifies a source node and a plurality of paths between the source node and the given logical volume. The MPIO driver determines a load factor and a distance for each identified path. The MPIO driver determines a weight associated with each identified path based at least in part on the determined load factor and distance and selects a target path based at least in part on the determined weight. The MPIO driver delivers the obtained IO operation to the given logical volume via the selected target path.
    Type: Application
    Filed: May 2, 2019
    Publication date: November 5, 2020
    Inventors: Sanjib Mallick, Kundan Kumar, Vinay G. Rao
  • Patent number: 10817181
    Abstract: An apparatus comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a multi-path input-output driver configured to schedule input-output operations for delivery to the storage system over the network. The multi-path input-output driver is further configured to measure latencies of respective ones of a plurality of paths from the host device to the storage system, to schedule particular ones of the input-output operations for delivery to the storage system over particular ones of the paths based at least in part on the measured latencies, and to control transmission of the particular input-output operations over the particular paths in accordance with the scheduling.
    Type: Grant
    Filed: December 24, 2018
    Date of Patent: October 27, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Sanjib Mallick, Vinay G. Rao, Subin George, Arieh Don
  • Patent number: 10764371
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to generate a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, and to send the command to the storage system over the network. The command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device. The command may further comprise a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.
    Type: Grant
    Filed: July 13, 2018
    Date of Patent: September 1, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vinay G. Rao, Subin George, Arieh Don
  • Patent number: 10757189
    Abstract: An apparatus in one embodiment comprises a host device that includes a set of input-output (IO) queues and a multi-path input-output (MPIO) driver that selects IO operations from the set of IO queues for delivery to a storage system over a network. The MPIO driver determines service level objectives (SLOs) for respective sources of the IO operations, determines latencies of storage devices of the storage system, assigns an initial time-to-become-urgent (TTBU) value to each of at least a subset of the IO operations based at least in part on the SLO of its source and one or more of the determined latencies, adjusts at least a subset of the TTBU values based at least in part on amounts of time spent by the corresponding IO operations in the set of IO queues, and selects IO operations from the set of IO queues for delivery to the storage system based at least in part on their respective TTBU values as adjusted.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: August 25, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Sanjib Mallick, Vinay G. Rao, Maneesh Pusalkar, Arieh Don
  • Publication number: 20200252319
    Abstract: Combinations of host ports and storage ports (e.g., I-T pairs) on a storage network that are zoned but not masked may be determined, without accessing a switch or network administrator. Heartbeat communications (heartbeats) may be transmitted from host systems to each storage device of a storage system of which the host system is aware, along the one or more I/O paths of which the host is aware to the storage port of the I/O path. The storage devices may include one or more nominal devices defined for I-T pairs for which I/O connectivity has not been defined for any storage devices. The storage system may maintain a master heartbeat (heartbeat) table that may include a plurality of entries, each entry corresponding to a combination of a host port, storage port and storage device, and storing a time stamp value for a most recent heartbeat received for the combination.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Applicant: EMC IP Holding Company LLC
    Inventors: Michael E. Specht, Vinay G. Rao, Subin George, Arieh Don
  • Publication number: 20200204495
    Abstract: An apparatus comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to maintain payload size counters to track outstanding command payload for respective ones of a plurality of paths from the host device to the storage system, to detect an oversubscription condition relating to at least one of the paths based at least in part on values of one or more of the payload size counters, and to initiate one or more automated actions responsive to the detected oversubscription condition.
    Type: Application
    Filed: December 24, 2018
    Publication date: June 25, 2020
    Inventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
  • Publication number: 20200204475
    Abstract: An apparatus comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a multi-path input-output driver configured to schedule input-output operations for delivery to the storage system over the network. The multi-path input-output driver is further configured to measure latencies of respective ones of a plurality of paths from the host device to the storage system, to schedule particular ones of the input-output operations for delivery to the storage system over particular ones of the paths based at least in part on the measured latencies, and to control transmission of the particular input-output operations over the particular paths in accordance with the scheduling.
    Type: Application
    Filed: December 24, 2018
    Publication date: June 25, 2020
    Inventors: Sanjib Mallick, Vinay G. Rao, Subin George, Arieh Don
  • Patent number: 10637917
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device includes a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to particular ports of the storage system over the network in accordance with a load balancing algorithm. The multi-path input-output driver is further configured to receive notification from one or more of the ports indicating that at least a given one of the ports has exceeded a designated threshold level of port load, and to adjust the load balancing algorithm based at least in part on the received notification.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: April 28, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Sanjib Mallick, Vinay G. Rao, Jaeyoo Jung, Arieh Don
  • Publication number: 20200106698
    Abstract: An illustrative embodiment includes a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to determine fabric identifiers for respective ones of a plurality of paths from the host device to the storage system, and to select particular ones of the paths for delivery of the input-output operations to the storage system based at least in part on the fabric identifiers. The fabric identifiers may be determined for the respective paths, for example, based at least in part on responses to a predetermined command sent over the paths by the multi-path input-output driver.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 2, 2020
    Inventors: Vinay G. Rao, Subin George, Scott Rowlands, Arieh Don
  • Patent number: 10606496
    Abstract: A first host device in an illustrative embodiment comprises a multi-path input-output (MPIO) driver configured to separate paths from the first host device to first and second storage systems into a first set of paths to the first storage system and a second set of paths to the second storage system, and to monitor performance of at least subsets of the first and second sets of paths. Responsive to detection of a performance deviation between the first and second sets of paths that exceeds a specified threshold, the MPIO driver automatically places the paths of the set exhibiting lower performance in a standby mode of operation and the paths of the other set in an active mode of operation. Absent any such performance deviation, the MPIO driver automatically places the paths of one of the sets in the standby mode of operation and the paths of the other one of the sets in the active mode of operation.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: March 31, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
  • Publication number: 20200097203
    Abstract: A first host device in an illustrative embodiment comprises a multi-path input-output (MPIO) driver configured to separate paths from the first host device to first and second storage systems into a first set of paths to the first storage system and a second set of paths to the second storage system, and to monitor performance of at least subsets of the first and second sets of paths. Responsive to detection of a performance deviation between the first and second sets of paths that exceeds a specified threshold, the MPIO driver automatically places the paths of the set exhibiting lower performance in a standby mode of operation and the paths of the other set in an active mode of operation. Absent any such performance deviation, the MPIO driver automatically places the paths of one of the sets in the standby mode of operation and the paths of the other one of the sets in the active mode of operation.
    Type: Application
    Filed: September 26, 2018
    Publication date: March 26, 2020
    Inventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
  • Publication number: 20200021654
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to send a predetermined command to the storage system over each of a plurality of paths from the host device to the storage system, to monitor a response time for the predetermined command on each of the paths, and to detect a performance issue with at least a given one of the paths based at least in part on the monitored response time. The predetermined command illustratively comprises a Small Computer System Interface (SCSI) “immediate” command of a particular type, such as a Test Unit Ready (TUR) command.
    Type: Application
    Filed: July 16, 2018
    Publication date: January 16, 2020
    Inventors: Vinay G. Rao, Sanjib Mallick, Krishna Deepak Nuthakki, Arieh Don
  • Publication number: 20200021653
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to generate a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, and to send the command to the storage system over the network. The command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device. The command may further comprise a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.
    Type: Application
    Filed: July 13, 2018
    Publication date: January 16, 2020
    Inventors: Vinay G. Rao, Subin George, Arieh Don
  • Patent number: 10503672
    Abstract: Described are techniques for processing I/O operations that may include: issuing, by a process of an application on a host, an I/O operation; tagging the I/O operation with a tag value in accordance with a process name associated with the process that issued the I/O operation; sending the I/O operation from the host to a data storage system; and determining, on the data storage system, an service level objective (SLO) for the I/O operation in accordance with the tag value of the I/O operation. The process name may include a first portion and a second customizable or configurable portion used to distinguish between different instance of the same application process. It may be determined which of multiple time-dependent SLOs for the process name is active and used with the I/O operation based on a receipt or processing time associated with the I/O operation.
    Type: Grant
    Filed: April 26, 2018
    Date of Patent: December 10, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Thomas F. O'Neill, Sanjib Mallick, Arieh Don, Vinay G. Rao
  • Patent number: 10503437
    Abstract: Execution of I/O operations for an application is managed to improve consistency of performance for an I/O performance metric for the application. Such control may be achieved by defining a value for a performance resilience objective (PRO) parameter, and applying the PRO value to I/O requests of the application. The PRO value may define a value indicative of an extent to which I/O performance can deviate from a performance objective (e.g., as defined by a service level) over time; i.e., a tolerance for such deviation. Components of a computer network may be configured to apply PRO values to I/O requests for one or more applications. The PRO values of applications may be distributed to one or more components of a data storage system and one or more components of a host system, and these components may be configured to apply the PRO values to I/O requests of the subject applications.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: December 10, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Owen Martin, Arieh Don, Vinay G. Rao
  • Patent number: 10476960
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to receive per-host path change information from the storage system indicating a change in at least one path from the host device to the storage system, to automatically initiate a path discovery scan in the host device based at least in part on the received per-host path change information, and to add one or more new paths identified in the path discovery scan to a set of active paths for the host device. The per-host path change information received from the storage system may comprise a value of a path change counter maintained by the storage system for the host device.
    Type: Grant
    Filed: May 1, 2018
    Date of Patent: November 12, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Vinay G. Rao, Sanjib Mallick, Arieh Don
  • Publication number: 20190342388
    Abstract: An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to receive per-host path change information from the storage system indicating a change in at least one path from the host device to the storage system, to automatically initiate a path discovery scan in the host device based at least in part on the received per-host path change information, and to add one or more new paths identified in the path discovery scan to a set of active paths for the host device. The per-host path change information received from the storage system may comprise a value of a path change counter maintained by the storage system for the host device.
    Type: Application
    Filed: May 1, 2018
    Publication date: November 7, 2019
    Inventors: Vinay G. Rao, Sanjib Mallick, Arieh Don
  • Publication number: 20190334987
    Abstract: An apparatus in one embodiment comprises a host device that includes a set of input-output (IO) queues and a multi-path input-output (MPIO) driver that selects IO operations from the set of IO queues for delivery to a storage system over a network. The MPIO driver determines service level objectives (SLOs) for respective sources of the IO operations, determines latencies of storage devices of the storage system, assigns an initial time-to-become-urgent (TTBU) value to each of at least a subset of the IO operations based at least in part on the SLO of its source and one or more of the determined latencies, adjusts at least a subset of the TTBU values based at least in part on amounts of time spent by the corresponding IO operations in the set of IO queues, and selects IO operations from the set of IO queues for delivery to the storage system based at least in part on their respective TTBU values as adjusted.
    Type: Application
    Filed: April 30, 2018
    Publication date: October 31, 2019
    Inventors: Sanjib Mallick, Vinay G. Rao, Maneesh Pusalkar, Arieh Don
  • Publication number: 20190332319
    Abstract: Execution of I/O operations for an application is managed to improve consistency of performance for an I/O performance metric for the application. Such control may be achieved by defining a value for a performance resilience objective (PRO) parameter, and applying the PRO value to I/O requests of the application. The PRO value may define a value indicative of an extent to which I/O performance can deviate from a performance objective (e.g., as defined by a service level) over time; i.e., a tolerance for such deviation. Components of a computer network may be configured to apply PRO values to I/O requests for one or more applications. The PRO values of applications may be distributed to one or more components of a data storage system and one or more components of a host system, and these components may be configured to apply the PRO values to I/O requests of the subject applications.
    Type: Application
    Filed: April 30, 2018
    Publication date: October 31, 2019
    Applicant: EMC IP Holding Company LLC
    Inventors: Owen Martin, Arieh Don, Vinay G. Rao
  • Publication number: 20190332554
    Abstract: Described are techniques for processing I/O operations that may include: issuing, by a process of an application on a host, an I/O operation; tagging the I/O operation with a tag value in accordance with a process name associated with the process that issued the I/O operation; sending the I/O operation from the host to a data storage system; and determining, on the data storage system, an service level objective (SLO) for the I/O operation in accordance with the tag value of the I/O operation. The process name may include a first portion and a second customizable or configurable portion used to distinguish between different instance of the same application process. It may be determined which of multiple time-dependent SLOs for the process name is active and used with the I/O operation based on a receipt or processing time associated with the I/O operation.
    Type: Application
    Filed: April 26, 2018
    Publication date: October 31, 2019
    Applicant: EMC IP Holding Company LLC
    Inventors: Thomas F. O'Neill, Sanjib Mallick, Arieh Don, Vinay G. Rao