Patents by Inventor Robert M. English

Robert M. English 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: 8245207
    Abstract: A method for executing uniprocessor (UP) coded workloads in a computer capable of concurrent thread execution is disclosed. The method identifies threads in the uniprocessor coded workloads (UP-workloads) which can execute concurrently, and identifies threads in the UP-workloads which cannot execute concurrently. First threads which cannot execute concurrently are assigned to a first concurrency group. Second threads which cannot execute concurrently are assigned to a second concurrency group. Any thread in the first concurrency group can execute concurrently with any thread in the second concurrency group. The computer capable of concurrent thread execution then executes the UP-coded workloads in the first concurrency group at substantially the same time as executing the UP-coded workloads in the second concurrency group.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: August 14, 2012
    Assignee: NetApp, Inc.
    Inventors: Robert M. English, Zdenko Kukavica, Konstantinos Roussos
  • Publication number: 20120179891
    Abstract: A file system layout apportions an underlying physical volume into one or more virtual volumes (vvols) of a storage system. The underlying physical volume is an aggregate comprising one or more groups of disks, such as RAID groups, of the storage system. The aggregate has its own physical volume block number (pvbn) space and maintains metadata, such as block allocation structures, within that pvbn space. Each vvol has its own virtual volume block number (vvbn) space and maintains metadata, such as block allocation structures, within that vvbn space. Notably, the block allocation structures of a vvol are sized to the vvol, and not to the underlying aggregate, to thereby allow operations that manage data served by the storage system (e.g., snapshot operations) to efficiently work over the vvols.
    Type: Application
    Filed: January 16, 2012
    Publication date: July 12, 2012
    Inventors: John K. Edwards, Blake H. Lewis, Robert M. English, Eric Hamilton, Peter F. Corbett
  • Patent number: 8219749
    Abstract: A system and method enhances performance of updates to sequential block storage of a storage system. According to an aspect of the invention, a disk array of the storage system is utilized to extend write buffers of the system, thereby rendering a portion of the disk array a disk-based log. To that end, one portion of the disk array is organized into a home location array having a set of sequential home locations for disk blocks. Another portion of the disk array is organized into the disk-based log having a set of log buffers configured to store versions of disk blocks that have yet to be returned to their home locations in the home location array. In addition, non-volatile memory of the storage system is organized as an index configured to provide efficient mappings of disk blocks not yet returned to their home locations.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: July 10, 2012
    Assignee: NetApp, Inc.
    Inventor: Robert M. English
  • Patent number: 8099576
    Abstract: An underlying physical volume of a storage system is an aggregate having a plurality of storage devices. The aggregate has its own physical volume block number (pvbn) space. A file system layout apportions the underlying physical volume into a plurality of virtual volumes of the storage system each having a virtual volume identification (vvid). Each virtual volume has its own virtual volume block number (vvbn) space. The block allocation structures of a virtual volume are sized to the virtual volume, and not to the underlying aggregate, to thereby allow operations that manage data served by the storage system (e.g., snapshot operations) to efficiently work over the virtual volumes. Each storage block in a virtual volume is identified by the triplet: pvbn, vvid, and vvbn.
    Type: Grant
    Filed: August 4, 2008
    Date of Patent: January 17, 2012
    Assignee: NetApp, Inc.
    Inventors: John K. Edwards, Blake H. Lewis, Robert M. English, Eric Hamilton, Peter F. Corbett
  • Patent number: 8055702
    Abstract: A network caching system has a multi-protocol caching filer coupled to an origin server to provide storage virtualization of data served by the filer in response to data access requests issued by multi-protocol clients over a computer network. The multi-protocol caching filer includes a file system configured to manage a sparse volume that “virtualizes” a storage space of the data to thereby provide a cache function that enables access to data by the multi-protocol clients. To that end, the caching filer further includes a multi-protocol engine configured to translate the multi-protocol client data access requests into generic file system primitive operations executable by both the caching filer and the origin server.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: November 8, 2011
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Robert M. English, Paul Christopher Eastham, Qinghua Zheng, Brian Mederic Quirion, Peter Griess, Matthew Benjamin Amdur, Kartik Ayyar, Robert Lieh-Yuan Tsai, David Grunwald, J. Chris Wagner, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 8032704
    Abstract: A method and apparatus for storing data on a computer data storage system are described. Two or more computers are coupled together to form a cluster of computers. One or more data storage devices are coupled to the two or more computers. One or more volumes of data storage devices are implemented on a plurality of computers of the two or more computers, where each volume is a logical arrangement of the one or more storage devices coupled to a selected computer of the plurality of computers. A data container holds data stored by the data storage system. The data container is striped over a plurality of the one or more volumes of data storage devices, whereby data stored in the data container is striped over a plurality of the volumes of data storage devices.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: October 4, 2011
    Assignee: NetApp, Inc.
    Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman
  • Patent number: 7996445
    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: Grant
    Filed: April 27, 2007
    Date of Patent: August 9, 2011
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Robert M. English
  • Patent number: 7996636
    Abstract: A technique uniquely identifies block context signatures in a storage volume hierarchy of a storage system. In particular, the technique assigns unique volume identifiers (“IDs,” e.g., buffer tree or “bufftree” IDs) to volumes of the storage volume hierarchy, and allows clone volumes to determine that data blocks belong to an appropriate ancestor volume (e.g., and were written by the ancestor volume prior to creation of the clone). In this manner, the novel technique may uniquely identify and accurately determine whether an accessed data block is a correct data block (e.g., alleviating occurrences of data ID aliasing).
    Type: Grant
    Filed: November 6, 2007
    Date of Patent: August 9, 2011
    Assignee: NetApp, Inc.
    Inventors: Ashish Prakash, Robert M. English, Eric Hamilton
  • Patent number: 7984259
    Abstract: The present invention provides a system, method, and computer program product for reducing load imbalance in a storage system having a plurality of storage devices organized in one or more RAIDs for storing data by moving data from heavily-loaded storage devices to less-loaded storage devices during normal data access operations. As a result of moving data to less-loaded storage devices, the service latency of those storage devices decreases, thereby optimizing the system's performance.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: July 19, 2011
    Assignee: NetApp, Inc.
    Inventor: Robert M. English
  • Publication number: 20110161980
    Abstract: A load balancer allocates requests to a pool of web servers configured to have low queue capacities. If the queue capacity of a web server is reached, the web server responds to an additional request with a rejection notification to the load balancer, which enables the load balancer to quickly send the rejected request to another web server. Each web server self-monitors its rejection rate. If the rejection rate exceeds a threshold, the number of processes concurrently running on the web server is increased. If the rejection rate falls below a threshold, the number of processes concurrently running on the web server is decreased.
    Type: Application
    Filed: December 31, 2009
    Publication date: June 30, 2011
    Inventors: Robert M. English, Jeffrey Rothschild
  • Patent number: 7921257
    Abstract: A dynamic parity distribution system and technique distributes parity across disks of an array. The dynamic parity distribution system includes a storage operating system that integrates a file system with a RAID system. In response to a request to store (write) data on the array, the file system determines which disks contain free blocks in a next allocated stripe of the array. There may be multiple blocks within the stripe that do not contain file system data (i.e., unallocated data blocks) and that could potentially store parity. One or more of those unallocated data blocks can be assigned to store parity, arbitrarily. According to the dynamic parity distribution technique, the file system determines which blocks hold parity each time there is a write request to the stripe. The technique alternately allows the RAID system to assign a block to contain parity when each stripe is written.
    Type: Grant
    Filed: December 27, 2007
    Date of Patent: April 5, 2011
    Assignee: NetApp, Inc.
    Inventors: Steven R. Kleiman, Robert M. English, Peter F. Corbett
  • Patent number: 7882304
    Abstract: An improved system and method enhances performance of updates to sequential block storage of a storage system. A disk-based sort procedure is provided to establish locality among updates (write data) held in a disk-based log, thereby enabling the write data to be efficiently written to home locations on a home location array. As the write data is received, a log manager of the storage system temporarily stores the data efficiently on the disk-based log. As more write data arrives, the log manager sorts the data in the log in accordance with the sort procedure, thus increasing the locality of data when stored on the home location array. When the log approaches capacity, the log manager writes the sorted data to their home locations on the array with high locality and performance.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: February 1, 2011
    Assignee: NetApp, Inc.
    Inventors: Robert M. English, Steven R. Kleiman
  • Publication number: 20100325377
    Abstract: A technique is disclosed for restoring data of sparse volumes, where one or more block pointers within the file system structure are marked as ABSENT, and fetching the appropriate data from an alternate location on demand. Client data access requests to the local storage system initiate a restoration of the data from a backing store as required. A demand generator can also be used to restore the data as a background process by walking through the sparse volume and restoring the data of absent blocks. A pump module is also disclosed to regulate the access of the demand generator. Once all the data has been restored, the volume contains all data locally, and is no longer a sparse volume.
    Type: Application
    Filed: August 27, 2010
    Publication date: December 23, 2010
    Inventors: Jason Ansel Lango, Yong Eun Cho, Paul Christopher Eastham, Ling Zheng, Stephen L. Manley, John K. Edwards, Robert M. English, Emmanuel Ackaouy
  • Patent number: 7809693
    Abstract: A technique is disclosed for restoring data of sparse volumes, where one or more block pointers within the file system structure are marked as ABSENT, and fetching the appropriate data from an alternate location on demand. Client data access requests to the local storage system initiate a restoration of the data from a backing store as required. A demand generator can also be used to restore the data as a background process by walking through the sparse volume and restoring the data of absent blocks. A pump module is also disclosed to regulate the access of the demand generator. Once all the data has been restored, the volume contains all data locally, and is no longer a sparse volume.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: October 5, 2010
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Yong Eun Cho, Paul Christopher Eastham, Ling Zheng, Stephen L. Manley, John K. Edwards, Robert M. English, Emmanuel Ackaouy
  • Patent number: 7769723
    Abstract: A system and method provides continuous data protection using checkpoints in a write anywhere file system. During a consistency point of a write anywhere file system, freed blocks are identified and are appended to a delete log for retention. A consistency point log is updated with a new entry associated with the consistency point. If the file system needs to retrieve its state at a particular point in time, the stored blocks of the delete log may be recovered.
    Type: Grant
    Filed: April 28, 2006
    Date of Patent: August 3, 2010
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Robert M. English, Stephen L. Manley, Blake H. Lewis
  • Publication number: 20100125598
    Abstract: An architecture, including a file-level protocol, for supporting sparse volumes on a storage system is provided. The file-level protocol provides coherency checking for use in retrieving data stored on a backing store remote from a storage system.
    Type: Application
    Filed: January 27, 2010
    Publication date: May 20, 2010
    Inventors: Jason Ansel Lango, Brian Mederic Quirion, Ling Zheng, Robert Lieh-Yuan Tsai, Matthew Benjamin Amdur, Ram Kesavan, David Grunwald, Kartik Ayyar, Robert M. English, J. Christopher Wagner, Paul Eastham, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 7721045
    Abstract: A method for operating a computer storage system is disclosed. One or more data storage devices are configured to store a data content of a data container. A data structure having a plurality of permitted modification times (mtimes) is generated, the mtimes to control modifying a data stored in the data container. An I/O operation is performed by the storage system in response to a selected mtime. A request for the I/O operation is received from a client, and the data structure having a plurality of permitted modification times (mtimes) is generated in response to the request. The selected mtime is transmitted to the client, and an I/O operation is requested by the client in response to the selected mtime. The I/O operation is performed as an atomic I/O operation.
    Type: Grant
    Filed: March 14, 2008
    Date of Patent: May 18, 2010
    Assignee: NetApp, Inc.
    Inventors: Michael Kazar, Robert M. English, Richard P. Jernigan, IV
  • Patent number: 7702870
    Abstract: A method of operating a storage system includes moving a block of data stored in the storage system to a new location in the storage system, such as for purposes of defragmentation. After the block has been moved to the new location, the storage system receives a request requiring access to the block. The storage system uses metadata appended to an identified block to detect that the block may have been relocated. The metadata can further be used to distinguish a block that has been relocated from a lost write.
    Type: Grant
    Filed: January 19, 2006
    Date of Patent: April 20, 2010
    Assignee: Network Appliance Inc.
    Inventors: Robert M. English, Ashish Prakash
  • Patent number: 7689609
    Abstract: An architecture, including a file-level protocol, for supporting sparse volumes on a storage system is provided. The file-level protocol provides coherency checking for use in retrieving data stored on a backing store remote from a storage system.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: March 30, 2010
    Assignee: NetApp, Inc.
    Inventors: Jason Ansel Lango, Brian Mederic Quirion, Ling Zheng, Robert Lieh-Yuan Tsai, Matthew Benjamin Amdur, Ram Kesavan, David Grunwald, Kartik Ayyar, Robert M. English, J. Christopher Wagner, Paul Eastham, Emmanuel Ackaouy, Ashish Prakash
  • Patent number: 7647451
    Abstract: A technique places content, such as data, of one or more data containers on volumes of a striped volume set (SVS). The placement of data across the volumes of the SVS allows specification of a deterministic pattern of fixed length. That is, the pattern determines a placement of data of a data container that is striped among the volumes of the SVS. The placement pattern is such that the stripes are distributed exactly or nearly equally among the volumes and that, within any local span of a small multiple of the number of volumes, the stripes are distributed nearly equally among the volumes. The placement pattern is also substantially similar for a plurality of SVSs having different numbers of volumes.
    Type: Grant
    Filed: April 24, 2008
    Date of Patent: January 12, 2010
    Assignee: NetApp, Inc.
    Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman