Patents Assigned to Network Appliance, Inc.
  • Publication number: 20140089618
    Abstract: A method and system for providing storage using a daemon model. An example system comprises a parent daemon trigger configured to launch a parent storage daemon in response to a storage command from a client, a parent daemon module to perform storage access pre-processing operations to generate initialization data, a storage command detector, a child process trigger module to launch a child process in response to a subsequent storage command, and a child processing module to process subsequent storage commands using the child process.
    Type: Application
    Filed: June 12, 2009
    Publication date: March 27, 2014
    Applicant: Network Appliance, Inc.
    Inventors: Vishwanath Pattar, Kumarvel Thillai, Adithya Vishwanath
  • Patent number: 8620970
    Abstract: A filesystem can be converted to a different version by creating a new data structure according to a new format of the different version and transforming the data from the filesystem to the new data structure. Transforming the data can include changing the format of the data in the filesystem to be compatible with the new data structure format. The data may be incorporated into the new data structure by copying the data, or creating indirect reference mechanisms to point to the original data.
    Type: Grant
    Filed: October 3, 2006
    Date of Patent: December 31, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Robert English, Ram Kesavan
  • Publication number: 20130254481
    Abstract: A method, apparatus, and system of presentation of a read-only clone Logical Unit Number (LUN) to a host device as a snapshot of a parent LUN are disclosed. In one embodiment, a method includes generating a read-write clone LUN of a parent LUN and coalescing an identical data instance of the read-write clone LUN and the parent LUN in a data block of a volume of a storage system. A block transfer protocol layer is modified to refer the read-write clone LUN as a read-only clone LUN, according to the embodiment. Furthermore, according to the embodiment, the read-only clone LUN is presented to a host device as a snapshot of the parent LUN.
    Type: Application
    Filed: March 4, 2013
    Publication date: September 26, 2013
    Applicant: Network Appliance, Inc.
    Inventors: Ameya Prakash Usgaonkar, Kamlesh Advani
  • Patent number: 8458138
    Abstract: In one aspect, dynamic determination generates a storage resource graph corresponding to a storage topology. The generating may comprise iterating through storage resources in the storage topology and using a discovery handler to generate a node in the storage resource graph corresponding to each of the iterated storage resources. Dynamic determination generates an operation graph by iterating through nodes in the storage resource graph and using an operating handler to generate operation-specific metadata corresponding to each iterated node of the storage resource graph. Dynamic generating executes the operation graph in a way specific to the operation.
    Type: Grant
    Filed: November 3, 2009
    Date of Patent: June 4, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Eric Sirianni, Philip Bryan Clay
  • Patent number: 8453036
    Abstract: A storage server resizes an array of mass storage devices and distributes data blocks stored in the array of mass storage devices evenly in a declustered organization across the resized array of mass storage devices. Resizing the array of mass storage devices may include adding a new mass storage device to the array or removing a mass storage device from the array. During resizing a data block is moved from one mass storage device to another mass storage device to minimize the imbalance of parity groups shared by the new mass storage devices in the array, as well as minimize the number of data blocks to be moved to uniformly balance the load across the new mass storage device.
    Type: Grant
    Filed: February 1, 2010
    Date of Patent: May 28, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Atul Goel, Yan Li
  • Patent number: 8452921
    Abstract: A physical host machine determines that a storage device from a network storage system is available to the host machine as a pass-through disk. Virtualization software running on the host machine assigns the pass-through disk to a temporary resource group on the host machine. The pass-through disk is logically attached to the virtual machine running on the host machine and made available to an operating system and application running on the virtual machine.
    Type: Grant
    Filed: March 17, 2010
    Date of Patent: May 28, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Song Li, Thien Nguyen
  • Patent number: 8429360
    Abstract: Embodiments of the present invention provide a method and system, in a network storage system, for efficiently migrating a storage object (vdisk) from a first storage server (source) to a second storage server (destination) using data of a related vdisk at the destination. A related vdisk includes an earlier created vdisk (parent) from which the vdisk to be migrated (child) is generated (cloned). By virtue of the cloned relationship, the parent and child have a portion of data blocks in common. When a parent is available at the destination, only the changed data blocks between the parent and child need to be migrated for efficiently constructing the child at the destination.
    Type: Grant
    Filed: November 13, 2009
    Date of Patent: April 23, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Rahul Iyer, Deepak Kenchammana-Hosekote, Arthur F. Lent
  • Patent number: 8429514
    Abstract: A parity pattern defines a repeated distribution of parity blocks within a distributed parity disk array (“DPDA”). The parity pattern identifies on which disks the parity block or blocks for a stripe are located. When a new disk is added to the DPDA, the parity pattern is modified so that the distribution of parity blocks within the parity pattern is even. Parity blocks within the DPDA are then redistributed to conform with the modified parity pattern.
    Type: Grant
    Filed: September 24, 2008
    Date of Patent: April 23, 2013
    Assignee: Network Appliance, Inc.
    Inventor: Atul Goel
  • Patent number: 8402514
    Abstract: A method, apparatus, and system are described herein, in which system resources and operations are assigned to roles in a role-based access control system, and the roles are assigned to a plurality of users. An RBAC system is used to resolve the client request to perform an operation on a resource, the RBAC system using a hierarchy of the plurality of resources to determine if a user is permitted to perform the operation on a parent of the resource in the hierarchy of resources. The RBAC system also determines if a user is permitted to perform the operation on the resource if a user group to which the user belongs to has the required access.
    Type: Grant
    Filed: November 17, 2006
    Date of Patent: March 19, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Timothy J. Thompson, James Hartwell Holl, II, William Raoul Durant
  • Patent number: 8387127
    Abstract: A data security appliance intercepts out-of-band control traffic directed to a data storage device, wherein the out-of-band control traffic includes a command to change a configuration of the data storage device. The data security appliance is reconfigured in accordance with the command in order to conform with a new configuration of the data storage device.
    Type: Grant
    Filed: November 28, 2007
    Date of Patent: February 26, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Andrew Narver, Yuval Frandzel, Anant Chaudhary, Zi-Bin Yang, Vaibhave Agarwal
  • Patent number: 8386834
    Abstract: A storage server receives a notification indicating a failure of a mass storage device in a storage array. The storage server determines whether a number of failures exceeds a fault tolerance level of the array and if the number of failures exceeds the fault tolerance level, recovers an address space corresponding to the failed storage device. When recovering the address space, the storage server replaces the failed storage device with a spare storage device having an identifiable pattern stored thereon and determines whether a file system on the storage system can automatically invalidate cached data blocks on the failed storage device.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: February 26, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Atul Goel, Stephen H. Strange
  • Patent number: 8370401
    Abstract: An apparatus and method for merging the data of a first container and a second container into a target container that includes at least one block having a plurality of extents to store data objects. The apparatus may include a storage sever coupled to a plurality of storage devices. The storage server is configured to merge multiple data objects of the plurality of containers that store a data object per each container into a target container that stores multiple data objects within the target container.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: February 5, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Colin Stebbins Gordon, Pratap Vikram Singh, Donald Alvin Trimmer
  • Patent number: 8364644
    Abstract: A data set on a physical storage device is associated with an active bitmap and a persistent point-in-time image (PPI) exclusion bitmap, where each bit in the bitmaps is associated with a data block in the data set. The active bitmap and the PPI exclusion bitmap are used to determine which of the data blocks in the data set are to be included in a PPI of the data set.
    Type: Grant
    Filed: April 22, 2009
    Date of Patent: January 29, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Sandeep Yadav, Subramaniam V. Periyagaram
  • Patent number: 8364920
    Abstract: Lun clones are transferred from a primary server to a secondary server. The lun clones on the secondary server maintain the same data storage space saving relationship with backing luns of the lun clones as exists on the primary server. Incremental backups and restores of the lun clones between the primary and secondary servers involves transferring less than the total number of data blocks associated with the lun clone.
    Type: Grant
    Filed: April 6, 2009
    Date of Patent: January 29, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Brian Parkison, Stephen Wu, Alan Driscoll, Vikas Yadav, David Minnich, Rithin Shetty
  • Patent number: 8364985
    Abstract: Encryption using copy-on-encrypt determines that plaintext data stored in a plaintext buffer is to be written out to an encrypted storage resource. In response to the determining, an encryption buffer is allocated. The plaintext data is copied from the plaintext buffer to the encryption buffer and the encryption buffer is encrypted. Encrypted data from the encryption buffer is written to the encrypted storage resource. The encryption buffer is de-allocated. Read or write requests from a client are satisfied by retrieving the plaintext data from the plaintext buffer.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: January 29, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Ananthan Subramanian, Zi-Bin Yang
  • Patent number: 8359430
    Abstract: A data storage system can automatically improve the layout of data blocks on a mass storage subsystem by collecting optimization information during both read and write activities, then processing the optimization information to limit the impact of optimization activities on the system's response to client requests. Processing read-path optimization information and write-path optimization information through shared rate-limiting logic simplifies system administration and promotes phased implementation, which can reduce the difficulty of developing a self-optimizing storage server.
    Type: Grant
    Filed: August 30, 2007
    Date of Patent: January 22, 2013
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair
  • Patent number: 8359334
    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: October 1, 2010
    Date of Patent: January 22, 2013
    Assignee: Network Appliance, Inc.
    Inventors: David Hitz, Michael Malcolm, James Lau, Byron Rakitzis
  • Patent number: 8347293
    Abstract: Multiple domains are created for processes of a storage server. The processes are capable of execution on a plurality of processors in the storage server. The domains include a first domain, which includes multiple threads that can execute processes in the first domain in parallel, to service data access requests. A data set managed by the storage server is logically divided into multiple subsets, and each of the subsets is assigned to exactly one of the threads in the first domain, for processing of data access requests directed to the data set.
    Type: Grant
    Filed: October 20, 2005
    Date of Patent: January 1, 2013
    Assignee: Network Appliance, Inc.
    Inventors: Jason A. Lango, Robert M. English, Yasuhiro Endo, Mehul S. Shah, William P. McGovern
  • Patent number: 8347265
    Abstract: A method of exposing the functionality of an application in a command interface includes generating a command line interpreter (“CLI”) from a component of an application. The application's components are used to automatically generate the CLI to interpret commands to access the functionality of the application. The generated CLI parses, maps, and dispatches the commands and any associated arguments in accordance with the application's components. Application metadata is used to modify the generated CLI to customize the exposure of the functionality of the application in the command interface.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: January 1, 2013
    Assignee: Network Appliance, Inc.
    Inventor: Eric Sirianni
  • Patent number: 8327250
    Abstract: Verifying data integrity and parity consistency of data blocks in an array of mass storage devices includes retrieving a row parity algebraic signature and a diagonal parity algebraic signature for one or more data blocks, a row parity block and a diagonal parity block. The row parity algebraic signatures of the one or more data blocks are logically combined to generate a first result and the first result is compared to the retrieved row parity algebraic signature for the row parity block. The diagonal parity algebraic signatures of the one or more data blocks and the row parity block are logically combined to generate a second result and the second result is compared to the retrieved diagonal parity algebraic signature for the diagonal parity block.
    Type: Grant
    Filed: April 21, 2009
    Date of Patent: December 4, 2012
    Assignee: Network Appliance, Inc.
    Inventor: Atul Goel