Patents by Inventor Robert L. Fair

Robert L. Fair 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: 7783611
    Abstract: A system and method for enabling write operations to files undergoing write allocation is provided. The system and method generate a shadow state entry of metadata associated with an inode of the file upon receipt of a write operation. During the write allocation process for the inode, the shadow state information is merged with the data stored in the inode to be written to disk.
    Type: Grant
    Filed: November 10, 2003
    Date of Patent: August 24, 2010
    Assignee: NetApp, Inc.
    Inventors: Eric Hamilton, Jeffrey S. Kimmel, Robert L. Fair, Ashish Prakash
  • Patent number: 7757056
    Abstract: A system and method efficiently calculates an estimated amount of storage required to split a clone volume from its parent volume. The system and method is illustratively embodied as a command line interface (CLI) command, i.e., a clone split estimate command, executed by an estimation module of a storage system. Notably, the estimation module cooperates with a file system of the storage system to quickly access data structures containing information used to perform the storage calculation without the need to access each block of the clone and parent volumes.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: July 13, 2010
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 7752180
    Abstract: A network storage filer implements a four-phase commit protocol to coordinate consistency points among a group of volumes (a “group consistency point”) such that, upon recovery, all volumes of the group reflect consistency points taken at the same time. The filer records progress at each phase while creating the consistency points of the volumes. Upon recovery, the same or a different filer uses the last recorded progress indicator to ascertain whether the consistency points were completed on all of the volumes in the group. If all the volume consistency points of the group consistency point were completed, the filer users the volume consistency points to mount the volumes. Otherwise, the filer uses an earlier group consistency point to mount the volumes. In either ease, the volumes are consistent with each other.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: July 6, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Eric Hamilton, Jeffrey S. Kimmel
  • Patent number: 7752395
    Abstract: A network storage server has a non-volatile mass storage facility, a main cache and a victim cache. A technique of intelligently determining whether to cache a data block in the victim cache includes determining whether to store the data block in the victim cache based on a first caching policy and the type of data contained within the data block. The first caching policy may be a global policy. The determination of whether to store the data block in the victim cache further may be based on a second caching policy, which may be a volume-specific control of service (CoS) policy.
    Type: Grant
    Filed: February 28, 2007
    Date of Patent: July 6, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Naveen Bali
  • Patent number: 7739250
    Abstract: A system and method for managing file data during consistency points in a file system is provided. A buffer data control structure is modified to include a flags array that tracks various status flags for both a current and a next consistency point (CP). By utilizing multiple pointers within a buffer control structure, the file system may permit write operations to continue to a file undergoing write allocation. Received writes during a write allocation procedure are stored in raw data buffers and the buffer control structure is marked as being dirty for a next CP.
    Type: Grant
    Filed: July 15, 2008
    Date of Patent: June 15, 2010
    Assignee: NetApp, Inc.
    Inventors: Eric Hamilton, Jeffrey S. Kimmel, Robert L. Fair, Ashish Prakash
  • Patent number: 7734888
    Abstract: A file system receives a request to set a capacity guarantee for a virtual volume associated with a logical aggregation of physical storage. In response, the file system sets the capacity guarantee to indicate that the logical aggregation of physical storage is to provide a specified amount of space to the virtual volume. The amount of space provided to the virtual volume may be based, at least in part, on a guarantee type. The guarantee type may include, for example, volume, file, none, or partial.
    Type: Grant
    Filed: April 8, 2005
    Date of Patent: June 8, 2010
    Assignee: Netapp, Inc.
    Inventors: Eric C. Hamilton, Peter Griess, Robert L. Fair, Himanshu Aggarwal, John K. Edwards
  • Patent number: 7721062
    Abstract: A system and method for detecting buffer leaks in a files system utilizing consistency points is provided. Upon receipt of a write operation, a buffer check control structure is written to a raw data buffer. The buffer check control structure comprises a set of magic numbers and a consistency point counter identifying the current CP. At write allocation time, the buffer check control structure is examined to determine that the buffer is being committed to disk during the correct CP.
    Type: Grant
    Filed: November 10, 2003
    Date of Patent: May 18, 2010
    Assignee: NetApp, Inc.
    Inventors: Robert L. Fair, Eric Hamilton
  • Patent number: 7698506
    Abstract: A technique for partially offloading, from a main cache in a storage server, the storage of cache tags for data blocks in a victim cache of the storage server, is described. The technique includes storing, in the main cache, a first subset of the cache tag information for each of the data blocks, and storing, in a victim cache of the storage server, a second subset of the cache tag information for each of the data blocks. This technique avoids the need to store the second subset of the cache tag information in the main cache.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: April 13, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, William P. McGovern, Thomas C. Holland, Jason Sylvain
  • Patent number: 7694166
    Abstract: A clustered storage server detects an offline condition in another storage server in the cluster and executes a cluster takeover procedure which includes taking control of the storage system associated with the offline storage server, and merging a local control-of-service policy with a control-of-service policy associated with the offline storage server.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: April 6, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Darrell G. Suggs, Robert L. Fair, Jeffrey S. Kimmel, Alan L. Rowe, Joydeep Sen Sarma
  • Patent number: 7676633
    Abstract: A network storage server has a non-volatile mass storage facility, a main cache and a victim cache. A technique of efficient, non-blocking storage of data in the victim cache includes, responding to a caller process by, without blocking the caller process, selecting a first storage unit for eviction from the main cache, destaging the first storage unit for storage in the victim cache without copying the first storage unit, and identifying a second storage unit to the caller process as available to be overwritten in the main cache.
    Type: Grant
    Filed: January 31, 2007
    Date of Patent: March 9, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Naveen Bali
  • Patent number: 7631148
    Abstract: A storage system is provided that implements a file system configured to optimize the amount of readahead data retrieved for each read stream managed by the file system. The file system relies on various factors to adaptively select an optimized readahead size for each read stream. Such factors may include the number of read requests processed in the read stream, an amount of client-requested data requested in the read stream, a read-access style associated with the read stream, and so forth. The file system is also configured to minimize cache pollution by adaptively selecting when readahead operations are performed for each read stream and determining how long each read stream's retrieved data is retained in memory.
    Type: Grant
    Filed: January 8, 2004
    Date of Patent: December 8, 2009
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 7593948
    Abstract: A system and method are provided to manage different types of workload. The method comprises receiving a request, determining a class of the request, determining a priority level associated with the class of the request, and servicing the request utilizing the priority level of the class of the request. The class of the request may be associated with a target volume, as well as with a network protocol, or with a network port.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: September 22, 2009
    Assignee: Network Appliance, Inc.
    Inventors: Darrell Suggs, John Scott, Robert L. Fair
  • Patent number: 7549014
    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: April 22, 2005
    Date of Patent: June 16, 2009
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair
  • Publication number: 20080270706
    Abstract: A data storage system pre-fetches data blocks from a mass storage device, then determines whether reallocation of the pre-fetched blocks would improve access to them. If access would be improved, the pre-fetched blocks are written to different areas of the mass storage device. Several different implementations of such data storage systems are described.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Inventors: Robert L. Fair, Robert M. English
  • Patent number: 7409511
    Abstract: A cloning technique enables efficient and substantially instantaneous creation of a clone that is a writable copy of a “parent” virtual volume (vvol) in an aggregate of a storage system. A base snapshot is provided from the parent vvol. In addition, a new vvol is created, along with a new file system identifier, a new subdirectory in the aggregate and a new storage label file. The new vvol is embodied as a clone and comprises an appropriately sized container file, wherein initially the container file has no data. Moreover, a volume information (volinfo) block for the clone is created that is a slightly modified version of the volinfo block from the base snapshot; the modified volinfo block is written to the container file. The clone is then instantiated by loading a file system associated with the new vvol onto the clone and bringing the clone “online”.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: August 5, 2008
    Assignee: Network Appliance, Inc.
    Inventors: John K. Edwards, Robert L. Fair
  • Patent number: 7409522
    Abstract: A method and system for reallocating the data blocks of a logical data entity are described. According to one aspect of the invention, the physical arrangement of data blocks of a logical data entity are analyzed to determine a fragmentation level. Next the fragmentation level is compared with a fragmentation threshold previously assigned to the logical data entity. If the fragmentation level exceeds the fragmentation threshold, only those data blocks of the logical data entity that are within a predefined allocation area having a predetermined number of contiguous data blocks that are not associated with the logical data entity are reallocated.
    Type: Grant
    Filed: October 26, 2005
    Date of Patent: August 5, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, John K. Edwards
  • Patent number: 7401093
    Abstract: A system and method for managing file data during consistency points in a file system is provided. A buffer data control structure is modified to include a flags array that tracks various status flags for both a current and a next consistency point (CP). By utilizing multiple pointers within a buffer control structure, the file system may permit write operations to continue to a file undergoing write allocation. Received writes during a write allocation procedure are stored in raw data buffers and the buffer control structure is marked as being dirty for a next CP.
    Type: Grant
    Filed: November 10, 2003
    Date of Patent: July 15, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Eric Hamilton, Jeffrey S. Kimmel, Robert L. Fair, Ashish Prakash
  • Publication number: 20080133872
    Abstract: A storage system implements a storage operating system configured to concurrently perform speculative readahead for a plurality of different read streams. Unlike previous implementations, the operating system manages a separate set of readahead metadata for each of the plurality of read streams. Consequently, the operating system can “match” a received client read request with a corresponding read stream, then perform readahead operations for the request in accordance with the read stream's associated set of metadata. Because received client read requests are matched to their corresponding read streams on a request-by-request basis, the operating system can concurrently perform readahead operations for multiple read streams, regardless of whether the read streams' file read requests are received by the storage system in sequential, nearly-sequential or random orders.
    Type: Application
    Filed: February 6, 2008
    Publication date: June 5, 2008
    Applicant: NETWORK APPLIANCE, INC.
    Inventor: Robert L. Fair
  • Patent number: 7334094
    Abstract: A clone splitting technique enables efficient online splitting of blocks shared between a parent virtual volume (vvol) and a clone in accordance with a shared block splitting procedure executing on a storage system. Online splitting of shared blocks denotes allowing execution of read/write operations directed to the clone, as well as to the parent vvol, as the shared blocks are split. The clone splitting technique removes any connection between a clone and its parent vvol, thereby allowing the clone to be used as a first-class volume. Moreover, the technique removes such connection while allowing both the clone and parent vvol to remain available online and writeable (accessible) to clients during the shared block splitting procedure.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: February 19, 2008
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair
  • Patent number: 7334095
    Abstract: A system and method creates a writable clone of a read-only volume. A base snapshot is generated on a source volume on a source storage system and is duplicated as a read-only base snapshot replica on a target volume on a destination storage system. A copy (“clone) is then substantially instantaneously created from the read-only base snap-shot replica, thereby creating a writable clone of a read-only volume.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: February 19, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, John K. Edwards