Patents Assigned to Network Appliance, Inc.
  • Patent number: 7849180
    Abstract: Available performance capacities of storage servers and storage devices in a storage infrastructure are determined using a plurality of metrics, wherein each of the storage devices is managed by one of the storage servers. Each aggregate is hosted by a storage server and includes multiple storage devices. A relationship between the plurality of metrics is analyzed. An aggregate from which to allocate storage capacity to a volume from a plurality of aggregates is selected based on the available performance capacities and the relationship between the plurality of metrics. The selection is performed without information about properties of the volume. Storage capacity of the selected aggregate is automatically allocated to the volume. After said allocation, the plurality of aggregates is approximately load balanced.
    Type: Grant
    Filed: April 29, 2008
    Date of Patent: December 7, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Darren Charles Sawyer, Kesari Mishra, Swaminathan Ramany
  • Patent number: 7844701
    Abstract: A rule-based performance analysis tool and a method analyze metrics from a network storage system and generate recommendations for resolving actual or anticipated performance problems. The tool and method collect system metrics from one or more sources, including a storage appliance and optional user-reported comments and/or information about proposed changes to the network storage system. A rule base is applied against the collected metrics and user inputs. Each rule is associated with one or more metrics and has one or more threshold values. A rule can analyze a rate of change of a metric. For each triggered rule, the tool provides an output that includes an explanation of the rule, a suggested action to alleviate or avoid the problem that triggered the rule and, optionally, a priority level. The outputs are presented in a hierarchical display.
    Type: Grant
    Filed: August 1, 2005
    Date of Patent: November 30, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Swami Ramany, Brian Hackworth
  • Patent number: 7839123
    Abstract: The battery apparatus introduced here provides a tool for reliably measuring the run time to empty of a battery used in a network storage server for protection of data during a failure mode. The battery run time to empty can be determined by a management controller based on battery information generated by a controller and received at the management controller. The information received at the management controller includes run time to empty, voltage, current and current battery capacity.
    Type: Grant
    Filed: March 5, 2010
    Date of Patent: November 23, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Allen J. Kilbourne, II, George Totolos, Jr.
  • 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: 7836020
    Abstract: A system is provided to improve storage server performance. The system comprises a receiving component of a storage server to receive a partner server's file system metadata while the partner server operates in a normal mode. The partner server's file system metadata is stored in the storage servers metadata cache and is used to mount the partner server's file system when the first server transitions into a takeover mode of operation.
    Type: Grant
    Filed: April 3, 2006
    Date of Patent: November 16, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Sriram S. Rao, Joydeep Sen Sarma, Alan L. Rowe
  • Patent number: 7836033
    Abstract: A method and apparatus for synchronizing updates to a large set of global counters are described. In one embodiment, the method includes making updates to a global state in response to a file system making changes to data in memory. In parallel, updates are made to a copy of the global state in a temporary buffer in response to the file system flushing the data changes to a mass storage device. The temporary buffer thus includes a set of deltas representing the changes to be made to the global state in response to the changed data in memory being pushed to the mass storage device. The method further includes merging the deltas in the temporary buffer with the global state.
    Type: Grant
    Filed: January 24, 2006
    Date of Patent: November 16, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Jay R. Moorthi, Jonathan T. Wall
  • Patent number: 7831864
    Abstract: The invention provides a method and system for persistent context-based behavior injection in a computing system, such as in a redundant storage system or another system having a layered or modular architecture. Behaviors that are injected can be specified to have triggering conditions, such that the behavior is not injected unless the conditions are true. Triggering conditions may include a selected ordering of conditions and a selected context for each behavior. In a system having a layered architecture, behavior injection might be used to evaluate correct responses in the face of cascaded errors in a specific context or thread, other errors that are related by context, concurrent errors, or multiple errors. Behavior injection uses non-volatile memory to preserve persistence of filter context information across possible system errors, for reporting of the results of behavior injection, and to preserve information across recovery from system errors. Multiple behavior injection threads are also provided.
    Type: Grant
    Filed: May 19, 2008
    Date of Patent: November 9, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Scott Schoenthal, Srinivasan Viswanathan
  • Patent number: 7827201
    Abstract: An apparatus and method for referencing physical location of data objects stored within a logical container. The method may include receiving an access request from a client for a particular data object stored in a logical container having a plurality of data objects stored collectively in the logical container, and referencing a physical location of the particular data object within the logical container in response to the access request. The logical container includes at least one block, and each block of the logical container includes multiple extents to store data from at least one data object. The block is a fundamental unit of storage space.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Patent number: 7827192
    Abstract: A management server maintains a set of metadata describing a storage structure of a storage server. In response to a change of the storage structure, the management server automatically updates the set of metadata. The management server also manages information indicating what portion of the set of metadata is cached locally at a storage management client application. If that portion of the set of metadata is updated in response to the change of the storage structure, the management server sends information to update the metadata cached locally at the storage management client application so that the cached metadata is consistent with the set of metadata at the management server. By caching data at the storage management client application and at the network storage management server, the present invention advantageously avoids sending unnecessary requests to the storage server, thereby reducing network latency.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventor: Yusuf Batterywala
  • Patent number: 7827441
    Abstract: A disk-less quorum device in a clustered storage system includes non-volatile memory to store status information regarding the cluster and each storage controller in the cluster. The quorum device maintains a bitmap, shared by the controllers in the cluster, in the non-volatile memory. The bitmap indicates the status of a write operation to any data block or parity block. A “dirty” data unit in the bitmap indicates that a write operation has been submitted but is not yet finished. Upon submitting a write request (to update a data block or a parity block) to the storage facility, a controller sets the corresponding data unit “dirty” in the bitmap. After receiving an acknowledgement from the storage facility indicating that the operation has been completed, the controller clears the corresponding data unit. If a controller fails during a write operation, another controller can use the bitmap to re-establish data consistency.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventor: Thomas Rudolf Wenzel
  • Patent number: 7827366
    Abstract: A system, a method, and a computer program product for providing continuous data protection and long-term data protection of data in a storage system. A persistent point-in-time Image (PPI) image of the data is created and stored at a first storage. The data at the first storage is updated frequently to provide continuous data protection. A copy of the dataset is created and stored in a secondary storage. The copy of the dataset stored in a secondary storage is updated and backed up less frequently than the PPIs image of data stored at the first storage to ensure long-term data protection.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Gokul Nadathur, Andrew C. Meyer, Mike Szelong, Aseem Vaid
  • Patent number: 7827349
    Abstract: A storage system, such as a storage server, receives a list of volume block numbers (VBNs) in a multi-block read request. In response to the request, the storage system coalesces the list into one or more chains of sequential VBNs. The storage system issues each chain to the storage subsystem.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair
  • Patent number: 7821864
    Abstract: A method of managing power states of memory modules while performing memory access operations is disclosed. Memory modules are in a power saving state until an access operation involving the module is to be performed. The module is placed in an operational mode, then the access operation is performed, then the module is returned to the power saving state. Apparatus and systems using the method are also disclosed and claimed.
    Type: Grant
    Filed: March 26, 2007
    Date of Patent: October 26, 2010
    Assignee: Network Appliance, Inc.
    Inventors: George Totolos, Jr., Scott M. Westbrook
  • Patent number: 7822758
    Abstract: A method of operating a storage server includes executing a process of restoring a data set in an active file system of the storage server from a persistent point-in-time image of a data set, and during the process of restoring the data set, servicing input/output requests directed at the data set by a client of the storage server.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: October 26, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Ashish Prakash, David B. Bolen
  • Patent number: 7818408
    Abstract: Virtual interfaces on a cluster of servers in a mass data storage system are automatically reconfigured by transferring an internet protocol (IP) address hosting responsibility from one operative port to another operative port within the cluster, in response to a change in operative status of any port within the cluster.
    Type: Grant
    Filed: April 24, 2008
    Date of Patent: October 19, 2010
    Assignee: Network Appliance, Inc.
    Inventors: James Andrew Ignatuk, David Phillip Kutz
  • Patent number: 7818498
    Abstract: Integrating a file system with a RAID array that exports precise information about the arrangement of data blocks in the RAID subsystem. The present invention uses separate current-write location (CWL) pointers for each disk in the disk array where the pointers simply advance through the disks as writes occur. The present invention writes on the disk with the lowest CWL pointer. A new disk is chosen only when the algorithm starts allocating space for a new file, or when it has allocated N blocks on the same disk for a single file. A sufficient number of blocks are defined as all the buffers in a chunk of N sequential buffers in a file. The result is that CWL pointers are never more than N blocks apart on different disks, and large files have N consecutive blocks on the same disk.
    Type: Grant
    Filed: March 13, 2007
    Date of Patent: October 19, 2010
    Assignee: Network Appliance, Inc.
    Inventors: David Hitz, Michael Malcolm, James Lau, Byron Rakitzis
  • Patent number: 7814210
    Abstract: Non-disruptive server replacement for session-based clients. An embodiment of a method includes establishment of a session between a storage server and a client, with the storage server including a session data structure for the session, and transferring an operation of the storage server to a replacement storage server. Transferring the operation of the storage server includes generating an image the session data structure and placing the image in the replacement storage server, transferring operation of the session data structure in the storage server to the image of the session data structure in the replacement storage server, and transferring a network address of the storage server to the replacement storage server.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: October 12, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Garrett Mueller, Roger Cox, Gyanendra Pradhan
  • Patent number: 7814131
    Abstract: A storage system, such as a file server, uses pathname aliasing and exports a stored resource to clients by advertising to the clients a different pathname than the actual pathname of the resource.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: October 12, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Thomas D. Haynes, Mark Muhlestein, David B. Noveck
  • Patent number: 7809868
    Abstract: A storage system filter provides protocol aware filter operations that avoid I/O blocking or calling thread holding. A filter framework includes a filter controller that handles request and response calls to filters that are registered with the filter framework. Filters may be loaded and unloaded in a consistent state, and the filter framework provides services for the filters for common functions. Filters may operate in a user mode or a kernel mode and may be invoked in a synchronous, an asynchronous, or an asynchronous release mode. Filter registration may include registration for I/O resources, and may include tagging of I/O requests and responses to contribute to preventing conflicts.
    Type: Grant
    Filed: April 23, 2007
    Date of Patent: October 5, 2010
    Assignee: Network Appliance, Inc.
    Inventor: Paul Yuedong Mu
  • Patent number: 7809692
    Abstract: A method and system for generating and restoring a backup image are disclosed. According to one aspect of the invention, a server receives a request to generate a backup image. The request includes a selection a backup path. Based on the backup path, the server generates a list of files and/or directories to backup. However, before writing the files to the backup image, the server generates an offset map to indicate where in the backup image each file will be located. The server then writes the offset map to the backup image. During a restore operation, the server receives a request to restore files, including a selection of files and/or directories to restore. The server reads the offset map from the beginning of the backup image to quickly determine the location in the backup image of selected files.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: October 5, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Arvind Pruthi, Kiyoshi Komatsu