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: 8245207Abstract: 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: GrantFiled: April 18, 2008Date of Patent: August 14, 2012Assignee: NetApp, Inc.Inventors: Robert M. English, Zdenko Kukavica, Konstantinos Roussos
-
Publication number: 20120179891Abstract: 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: ApplicationFiled: January 16, 2012Publication date: July 12, 2012Inventors: John K. Edwards, Blake H. Lewis, Robert M. English, Eric Hamilton, Peter F. Corbett
-
Patent number: 8219749Abstract: 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: GrantFiled: April 27, 2007Date of Patent: July 10, 2012Assignee: NetApp, Inc.Inventor: Robert M. English
-
Patent number: 8099576Abstract: 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: GrantFiled: August 4, 2008Date of Patent: January 17, 2012Assignee: NetApp, Inc.Inventors: John K. Edwards, Blake H. Lewis, Robert M. English, Eric Hamilton, Peter F. Corbett
-
Patent number: 8055702Abstract: 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: GrantFiled: April 24, 2006Date of Patent: November 8, 2011Assignee: 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: 8032704Abstract: 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: GrantFiled: July 31, 2009Date of Patent: October 4, 2011Assignee: NetApp, Inc.Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman
-
Patent number: 7996445Abstract: 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: GrantFiled: April 27, 2007Date of Patent: August 9, 2011Assignee: Network Appliance, Inc.Inventors: Robert L. Fair, Robert M. English
-
Patent number: 7996636Abstract: 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: GrantFiled: November 6, 2007Date of Patent: August 9, 2011Assignee: NetApp, Inc.Inventors: Ashish Prakash, Robert M. English, Eric Hamilton
-
Patent number: 7984259Abstract: 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: GrantFiled: December 17, 2007Date of Patent: July 19, 2011Assignee: NetApp, Inc.Inventor: Robert M. English
-
Publication number: 20110161980Abstract: 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: ApplicationFiled: December 31, 2009Publication date: June 30, 2011Inventors: Robert M. English, Jeffrey Rothschild
-
Patent number: 7921257Abstract: 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: GrantFiled: December 27, 2007Date of Patent: April 5, 2011Assignee: NetApp, Inc.Inventors: Steven R. Kleiman, Robert M. English, Peter F. Corbett
-
Patent number: 7882304Abstract: 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: GrantFiled: October 30, 2007Date of Patent: February 1, 2011Assignee: NetApp, Inc.Inventors: Robert M. English, Steven R. Kleiman
-
Publication number: 20100325377Abstract: 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: ApplicationFiled: August 27, 2010Publication date: December 23, 2010Inventors: Jason Ansel Lango, Yong Eun Cho, Paul Christopher Eastham, Ling Zheng, Stephen L. Manley, John K. Edwards, Robert M. English, Emmanuel Ackaouy
-
Patent number: 7809693Abstract: 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: GrantFiled: April 24, 2006Date of Patent: October 5, 2010Assignee: 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: 7769723Abstract: 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: GrantFiled: April 28, 2006Date of Patent: August 3, 2010Assignee: NetApp, Inc.Inventors: Ling Zheng, Robert M. English, Stephen L. Manley, Blake H. Lewis
-
Publication number: 20100125598Abstract: 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: ApplicationFiled: January 27, 2010Publication date: May 20, 2010Inventors: 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: 7721045Abstract: 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: GrantFiled: March 14, 2008Date of Patent: May 18, 2010Assignee: NetApp, Inc.Inventors: Michael Kazar, Robert M. English, Richard P. Jernigan, IV
-
Patent number: 7702870Abstract: 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: GrantFiled: January 19, 2006Date of Patent: April 20, 2010Assignee: Network Appliance Inc.Inventors: Robert M. English, Ashish Prakash
-
Patent number: 7689609Abstract: 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: GrantFiled: April 24, 2006Date of Patent: March 30, 2010Assignee: 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: 7647451Abstract: 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: GrantFiled: April 24, 2008Date of Patent: January 12, 2010Assignee: NetApp, Inc.Inventors: Peter F. Corbett, Robert M. English, Steven R. Kleiman