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: 10782889
    Abstract: 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: Grant
    Filed: May 10, 2016
    Date of Patent: September 22, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Tao Jin, Jason M. Fox, Naveen Bali
  • Patent number: 10691369
    Abstract: 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: Grant
    Filed: April 23, 2018
    Date of Patent: June 23, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Naveen Bali, Neha Siddha, Michael E. Root
  • Patent number: 10691370
    Abstract: 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: Grant
    Filed: August 14, 2018
    Date of Patent: June 23, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Praveen Killamsetti, Tomasz Barszczak, Naveen Bali, Michael E. Root
  • Publication number: 20200057564
    Abstract: 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: Application
    Filed: August 14, 2018
    Publication date: February 20, 2020
    Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Praveen KILLAMSETTI, Tomasz BARSZCZAK, Naveen BALI, Michael E. ROOT
  • Publication number: 20190324651
    Abstract: 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: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Naveen BALI, Neha SIDDHA, Michael E. ROOT
  • Patent number: 10423332
    Abstract: 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: Grant
    Filed: September 14, 2015
    Date of Patent: September 24, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Naveen Bali, Tao Jin
  • Patent number: 9933946
    Abstract: 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: Grant
    Filed: July 17, 2015
    Date of Patent: April 3, 2018
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Evan Chiu, Naveen Bali, Tao Jin
  • Publication number: 20170329714
    Abstract: 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: Application
    Filed: May 10, 2016
    Publication date: November 16, 2017
    Inventors: Tao Jin, Jason M. Fox, Naveen Bali
  • Publication number: 20160217049
    Abstract: 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: Application
    Filed: January 15, 2016
    Publication date: July 28, 2016
    Inventors: Naveen Bali, Richard J. Jooss, Jason M. Fox
  • Publication number: 20160077738
    Abstract: 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: Application
    Filed: July 17, 2015
    Publication date: March 17, 2016
    Inventors: Evan Chiu, Naveen Bali, Tao Jin
  • Publication number: 20160077996
    Abstract: 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: Application
    Filed: September 14, 2015
    Publication date: March 17, 2016
    Inventors: Naveen Bali, Tao Jin
  • Patent number: 9146783
    Abstract: 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: Grant
    Filed: October 2, 2013
    Date of Patent: September 29, 2015
    Assignee: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Publication number: 20140033221
    Abstract: 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: Application
    Filed: October 2, 2013
    Publication date: January 30, 2014
    Applicant: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Patent number: 8578386
    Abstract: 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: Grant
    Filed: April 1, 2009
    Date of Patent: November 5, 2013
    Assignee: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Patent number: 8255630
    Abstract: 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: Grant
    Filed: August 13, 2008
    Date of Patent: August 28, 2012
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Naresh Patel
  • Patent number: 8176251
    Abstract: 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: Grant
    Filed: August 5, 2008
    Date of Patent: May 8, 2012
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Naresh Patel, Yasuhiro Endo
  • Patent number: 8065658
    Abstract: 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: Grant
    Filed: August 7, 2007
    Date of Patent: November 22, 2011
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Amit Prakash Sawant
  • Patent number: 7962562
    Abstract: 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: Grant
    Filed: April 30, 2004
    Date of Patent: June 14, 2011
    Assignee: NetApp, Inc.
    Inventors: Ravi K. Budhia, Naveen Bali
  • Patent number: 7836025
    Abstract: 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: Grant
    Filed: September 18, 2007
    Date of Patent: November 16, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Joseph Tupy
  • Patent number: 7787383
    Abstract: 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: Grant
    Filed: March 4, 2005
    Date of Patent: August 31, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Ravi K. Budhia