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: 20200348860Abstract: 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: ApplicationFiled: May 2, 2019Publication date: November 5, 2020Inventors: Sanjib Mallick, Kundan Kumar, Vinay G. Rao
-
Patent number: 10817181Abstract: 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: GrantFiled: December 24, 2018Date of Patent: October 27, 2020Assignee: EMC IP Holding Company LLCInventors: Sanjib Mallick, Vinay G. Rao, Subin George, Arieh Don
-
Patent number: 10764371Abstract: 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: GrantFiled: July 13, 2018Date of Patent: September 1, 2020Assignee: EMC IP Holding Company LLCInventors: Vinay G. Rao, Subin George, Arieh Don
-
Patent number: 10757189Abstract: 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: GrantFiled: April 30, 2018Date of Patent: August 25, 2020Assignee: EMC IP Holding Company LLCInventors: Sanjib Mallick, Vinay G. Rao, Maneesh Pusalkar, Arieh Don
-
Publication number: 20200252319Abstract: 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: ApplicationFiled: January 31, 2019Publication date: August 6, 2020Applicant: EMC IP Holding Company LLCInventors: Michael E. Specht, Vinay G. Rao, Subin George, Arieh Don
-
Publication number: 20200204495Abstract: 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: ApplicationFiled: December 24, 2018Publication date: June 25, 2020Inventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
-
Publication number: 20200204475Abstract: 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: ApplicationFiled: December 24, 2018Publication date: June 25, 2020Inventors: Sanjib Mallick, Vinay G. Rao, Subin George, Arieh Don
-
Patent number: 10637917Abstract: 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: GrantFiled: April 30, 2018Date of Patent: April 28, 2020Assignee: EMC IP Holding Company LLCInventors: Sanjib Mallick, Vinay G. Rao, Jaeyoo Jung, Arieh Don
-
Publication number: 20200106698Abstract: 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: ApplicationFiled: September 28, 2018Publication date: April 2, 2020Inventors: Vinay G. Rao, Subin George, Scott Rowlands, Arieh Don
-
Patent number: 10606496Abstract: 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: GrantFiled: September 26, 2018Date of Patent: March 31, 2020Assignee: EMC IP Holding Company LLCInventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
-
Publication number: 20200097203Abstract: 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: ApplicationFiled: September 26, 2018Publication date: March 26, 2020Inventors: Sanjib Mallick, Vinay G. Rao, Arieh Don
-
Publication number: 20200021654Abstract: 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: ApplicationFiled: July 16, 2018Publication date: January 16, 2020Inventors: Vinay G. Rao, Sanjib Mallick, Krishna Deepak Nuthakki, Arieh Don
-
Publication number: 20200021653Abstract: 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: ApplicationFiled: July 13, 2018Publication date: January 16, 2020Inventors: Vinay G. Rao, Subin George, Arieh Don
-
Patent number: 10503672Abstract: 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: GrantFiled: April 26, 2018Date of Patent: December 10, 2019Assignee: EMC IP Holding Company LLCInventors: Thomas F. O'Neill, Sanjib Mallick, Arieh Don, Vinay G. Rao
-
Patent number: 10503437Abstract: 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: GrantFiled: April 30, 2018Date of Patent: December 10, 2019Assignee: EMC IP Holding Company LLCInventors: Owen Martin, Arieh Don, Vinay G. Rao
-
Patent number: 10476960Abstract: 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: GrantFiled: May 1, 2018Date of Patent: November 12, 2019Assignee: EMC IP Holding Company LLCInventors: Vinay G. Rao, Sanjib Mallick, Arieh Don
-
Publication number: 20190342388Abstract: 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: ApplicationFiled: May 1, 2018Publication date: November 7, 2019Inventors: Vinay G. Rao, Sanjib Mallick, Arieh Don
-
Publication number: 20190334987Abstract: 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: ApplicationFiled: April 30, 2018Publication date: October 31, 2019Inventors: Sanjib Mallick, Vinay G. Rao, Maneesh Pusalkar, Arieh Don
-
Publication number: 20190332319Abstract: 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: ApplicationFiled: April 30, 2018Publication date: October 31, 2019Applicant: EMC IP Holding Company LLCInventors: Owen Martin, Arieh Don, Vinay G. Rao
-
Publication number: 20190332554Abstract: 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: ApplicationFiled: April 26, 2018Publication date: October 31, 2019Applicant: EMC IP Holding Company LLCInventors: Thomas F. O'Neill, Sanjib Mallick, Arieh Don, Vinay G. Rao