Patents by Inventor Naveen Bali
Naveen Bali 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: 10782889Abstract: Methods, storage arrays and computer readable media for path discovery to ports of a Fibre Channel storage system that includes a multi-array pool and is part of a group of arrays are provided. One example method includes executing a pull operation via a group leader array of the group of arrays. The pull operation is configured to gather port status of each one of the arrays in the group of arrays. The method further executes a push operation via the group leader array of the group of arrays. The push operation is configured to populate a local cache of each array in the group of arrays with the port status of each one of the arrays in the group of arrays. The method executes the pull operation and the push operation on a periodic schedule, such that changes that occur at particular ones of the arrays of the group of arrays are pushed to each one of the arrays in the group of arrays.Type: GrantFiled: May 10, 2016Date of Patent: September 22, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Tao Jin, Jason M. Fox, Naveen Bali
-
Patent number: 10691369Abstract: In some examples, with respect to pool partner based replication, a first pool may be generated for a first storage array and may include a first volume of data stored in a storage space of the first storage array. A second pool may be generated for a second storage array and may include a second volume to receive data replicated from the first volume. Based on the generation of the second pool, first and second pool partners respectively representing end points for communication with the first and second pools may be generated. A volume collection may be generated and may include identifications of the first pool partner and the second pool partner, and a first volume identification of the first volume. Based on the volume collection, replication of the first volume may be performed from the first pool to the second volume of the second pool.Type: GrantFiled: April 23, 2018Date of Patent: June 23, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Naveen Bali, Neha Siddha, Michael E. Root
-
Patent number: 10691370Abstract: According to examples, an apparatus may include a processor and a non-transitory machine-readable storage medium comprising instructions executable by the processor to assign a first object identifier and a data identifier to a first volume, the first object identifier being assigned exclusively to the first volume. The instructions may also be executable by the processor to identify an identifier of a second volume, determined whether the identifier of the second volume matches the data identifier, and based on a determination that the identifier of the second volume matches the data identifier of the first volume, configure a replication relationship between the first volume and the second volume.Type: GrantFiled: August 14, 2018Date of Patent: June 23, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Praveen Killamsetti, Tomasz Barszczak, Naveen Bali, Michael E. Root
-
Publication number: 20200057564Abstract: According to examples, an apparatus may include a processor and a non-transitory machine-readable storage medium comprising instructions executable by the processor to assign a first object identifier and a data identifier to a first volume, the first object identifier being assigned exclusively to the first volume. The instructions may also be executable by the processor to identify an identifier of a second volume, determined whether the identifier of the second volume matches the data identifier, and based on a determination that the identifier of the second volume matches the data identifier of the first volume, configure a replication relationship between the first volume and the second volume.Type: ApplicationFiled: August 14, 2018Publication date: February 20, 2020Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Praveen KILLAMSETTI, Tomasz BARSZCZAK, Naveen BALI, Michael E. ROOT
-
Publication number: 20190324651Abstract: In some examples, with respect to pool partner based replication, a first pool may be generated for a first storage array and may include a first volume of data stored in a storage space of the first storage array. A second pool may be generated for a second storage array and may include a second volume to receive data replicated from the first volume. Based on the generation of the second pool, first and second pool partners respectively representing end points for communication with the first and second pools may be generated. A volume collection may be generated and may include identifications of the first pool partner and the second pool partner, and a first volume identification of the first volume. Based on the volume collection, replication of the first volume may be performed from the first pool to the second volume of the second pool.Type: ApplicationFiled: April 23, 2018Publication date: October 24, 2019Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Naveen BALI, Neha SIDDHA, Michael E. ROOT
-
Patent number: 10423332Abstract: Storage arrays, systems and methods for processing commands to enable SCSI-level forwarding between an active controller and a standby controller are provided. In one example, the standby controller has ports that operate in an asymmetric logical unit access (ALUA) standby (SB) mode. One such method includes receiving a command by a port of the standby controller, wherein the port operates in the ALUA SB mode. The method includes identifying that the command is of a type that is predefined for forwarding, and forwarding the command from a SCSI layer of the standby controller to a SCSI layer of the active controller. The method further includes processing the command in a user space of the active controller to generate return data and forwarding the return data from the active controller to the standby controller. The method additionally includes sending the return data to the initiator, over the port of the standby controller.Type: GrantFiled: September 14, 2015Date of Patent: September 24, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Naveen Bali, Tao Jin
-
Patent number: 9933946Abstract: Methods and systems for processing failover operations in a storage array configured for Fiber Channel communication are provided. One example method includes executing a primary process in user space of a controller of the storage array. The primary process is configured to process request commands from one or more initiators and has access to a volume manager for serving data input/output (I/O) requests. The primary process has a connection to a port of storage array when in operation. The method further executes a secondary process in the user space of the controller to process request commands from one or more of the initiators. The secondary process is not provided access to the volume manger and is provided access to data for responding to non-I/O requests. The secondary process is not provided a connection to the port when the primary process is in operation.Type: GrantFiled: July 17, 2015Date of Patent: April 3, 2018Assignee: Hewlett Packard Enterprise Development LPInventors: Evan Chiu, Naveen Bali, Tao Jin
-
Publication number: 20170329714Abstract: Methods, storage arrays and computer readable media for path discovery to ports of a Fibre Channel storage system that includes a multi-array pool and is part of a group of arrays are provided. One example method includes executing a pull operation via a group leader array of the group of arrays. The pull operation is configured to gather port status of each one of the arrays in the group of arrays. The method further executes a push operation via the group leader array of the group of arrays. The push operation is configured to populate a local cache of each array in the group of arrays with the port status of each one of the arrays in the group of arrays. The method executes the pull operation and the push operation on a periodic schedule, such that changes that occur at particular ones of the arrays of the group of arrays are pushed to each one of the arrays in the group of arrays.Type: ApplicationFiled: May 10, 2016Publication date: November 16, 2017Inventors: Tao Jin, Jason M. Fox, Naveen Bali
-
Publication number: 20160217049Abstract: Methods, storage arrays and computer readable media for triggering a failover between an active controller and a standby controller of a storage array are provided. One method includes determining by the active controller a number of connected fabrics available between ports of the active controller and a host and determining by the standby controller a number of connected fabrics available between the ports of the standby controller and the host. The method further includes executing a policy configuration to determine if the number of connected fabrics for each of the active controller and the standby controller meet a threshold for triggering the failover. The failover being a forced failover where the active controller takes a role of the standby controller and the standby controller takes a role of the active controller.Type: ApplicationFiled: January 15, 2016Publication date: July 28, 2016Inventors: Naveen Bali, Richard J. Jooss, Jason M. Fox
-
Publication number: 20160077738Abstract: Methods and systems for processing failover operations in a storage array configured for Fibre Channel communication are provided. One example method includes executing a primary process in user space of a controller of the storage array. The primary process is configured to process request commands from one or more initiators and has access to a volume manager for serving data input/output (I/O) requests. The primary process has a connection to a port of storage array when in operation. The method further executes a secondary process in the user space of the controller to process request commands from one or more of the initiators. The secondary process is not provided access to the volume manger and is provided access to data for responding to non-I/O requests. The secondary process is not provided a connection to the port when the primary process is in operation.Type: ApplicationFiled: July 17, 2015Publication date: March 17, 2016Inventors: Evan Chiu, Naveen Bali, Tao Jin
-
Publication number: 20160077996Abstract: Storage arrays, systems and methods for processing commands to enable SCSI-level forwarding between an active controller and a standby controller are provided. In one example, the standby controller has ports that operate in an asymmetric logical unit access (ALUA) standby (SB) mode. One such method includes receiving a command by a port of the standby controller, wherein the port operates in the ALUA SB mode. The method includes identifying that the command is of a type that is predefined for forwarding, and forwarding the command from a SCSI layer of the standby controller to a SCSI layer of the active controller. The method further includes processing the command in a user space of the active controller to generate return data and forwarding the return data from the active controller to the standby controller. The method additionally includes sending the return data to the initiator, over the port of the standby controller.Type: ApplicationFiled: September 14, 2015Publication date: March 17, 2016Inventors: Naveen Bali, Tao Jin
-
Patent number: 9146783Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.Type: GrantFiled: October 2, 2013Date of Patent: September 29, 2015Assignee: NetApp, Inc.Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
-
Publication number: 20140033221Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.Type: ApplicationFiled: October 2, 2013Publication date: January 30, 2014Applicant: NetApp, Inc.Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
-
Patent number: 8578386Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.Type: GrantFiled: April 1, 2009Date of Patent: November 5, 2013Assignee: NetApp, Inc.Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
-
Patent number: 8255630Abstract: The present invention includes storing in a main memory data block tags corresponding to blocks of data previously inserted into a buffer cache memory and then evicted from the buffer cache memory or written over in the buffer cache memory. Counters associated with the tags are updated when look-up requests to look up data block tags are received from a cache look-up algorithm.Type: GrantFiled: August 13, 2008Date of Patent: August 28, 2012Assignee: Network Appliance, Inc.Inventors: Naveen Bali, Naresh Patel
-
Patent number: 8176251Abstract: The present invention includes dynamically analyzing look-up requests from a cache look-up algorithm to look-up data block tags corresponding to blocks of data previously inserted into a cache memory, to determine a cache related parameter. After analysis of a specific look-up request, a block of data corresponding to the tag looked up by the look-up request may be accessed from the cache memory or from a mass storage device.Type: GrantFiled: August 5, 2008Date of Patent: May 8, 2012Assignee: Network Appliance, Inc.Inventors: Naveen Bali, Naresh Patel, Yasuhiro Endo
-
Patent number: 8065658Abstract: An automated tool for partitioning the source code of a software system at heuristic architectural boundaries identified by a bug-reporting process, and for representing the architecture of the software system as a set of visual attributes without constraining the representation to any particular predefined architectural style. The attributes are visualized applying multi-dimensional mapping techniques to software components to generate visual maps of the relationships and interactions among software components that cannot be easily understood or assimilated in a non-graphical form.Type: GrantFiled: August 7, 2007Date of Patent: November 22, 2011Assignee: Network Appliance, Inc.Inventors: Naveen Bali, Amit Prakash Sawant
-
Patent number: 7962562Abstract: A network storage system includes a non-volatile memory to store data including a log of received data access requests, and a cluster interconnect adapter through which to send data to a cluster partner. The nonvolatile memory and the cluster interconnect adapter are implemented in a single device connected to an expansion bus in the network storage system. Communication with the nonvolatile memory is carried out using LDMA, and communication with the cluster partner is carried out using RDMA via the cluster interconnect adapter. LDMA and RDMA functionality are merged in a common software stack.Type: GrantFiled: April 30, 2004Date of Patent: June 14, 2011Assignee: NetApp, Inc.Inventors: Ravi K. Budhia, Naveen Bali
-
Patent number: 7836025Abstract: A nonvolatile system memory of a server of a network file computer system temporarily stores data received from client computers prior to the data being stored on a mass storage device. A single copy of the data and pointers which corresponds to the memory addresses of the data are stored in a temporary memory storage portion, preferably partitioned from nonvolatile system memory. The pointers are used to access the data to enable the transfer and writing of the data from the temporary memory storage to the mass storage device. Writing the data occurs during the normal operation of the network file computer system or after an unclean shutdown. The use of the pointers increases the performance of the network file computer system by conserving system memory storage space and reducing system memory traffic.Type: GrantFiled: September 18, 2007Date of Patent: November 16, 2010Assignee: Network Appliance, Inc.Inventors: Naveen Bali, Joseph Tupy
-
Patent number: 7787383Abstract: The status of an appliance may be monitored using promiscuous packets and network reads. In order to establish a peer-to-peer connection between two appliances, a connection manager may issue a communication to a first appliance to establish a connection with a second, remote appliance. The connection manager issues a similar communication to the second appliance. The first appliance issues a promiscuous packet to the second appliance including connection information to establish a peer connection between the two appliances. The first appliance continues to issue the promiscuous packets even after the connection is established to indicate that the first appliance is still available. If the second appliance does not receive a promiscuous packet, the second appliance may attempt to perform a read over the connection. If the attempt to perform a read fails, the second appliance can notify the connection manager that the connection is no longer active.Type: GrantFiled: March 4, 2005Date of Patent: August 31, 2010Assignee: Network Appliance, Inc.Inventors: Naveen Bali, Ravi K. Budhia