Patents by Inventor Peter Corbett

Peter Corbett 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: 11144374
    Abstract: Example implementations relate to preserving data availability in a constrained deployment of an HA system (e.g., an HA storage system) in the presence of pending faults. According to an example, a first arbiter, acting as a witness to facilitate maintaining quorum for the HA system, and a first node are provided within a first failure domain; and a second arbiter, serving as a backup arbiter, and a second node are provided within a second failure domain. Responsive to receipt of an indication of a pending fault impacting the first failure domain by a member of the current configuration of the HA system, establishment of a new configuration, excluding the first arbiter and including the second arbiter, is initiated. Responsive to a majority of the current configuration installing the new configuration, the second arbiter is enabled to serve as the active arbiter by transferring state information to the second arbiter.
    Type: Grant
    Filed: September 20, 2019
    Date of Patent: October 12, 2021
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Bradford Glade, Peter Corbett
  • Publication number: 20210089376
    Abstract: Example implementations relate to preserving data availability in a constrained deployment of an HA system (e.g., an HA storage system) in the presence of pending faults. According to an example, a first arbiter, acting as a witness to facilitate maintaining quorum for the HA system, and a first node are provided within a first failure domain; and a second arbiter, serving as a backup arbiter, and a second node are provided within a second failure domain. Responsive to receipt of an indication of a pending fault impacting the first failure domain by a member of the current configuration of the HA system, establishment of a new configuration, excluding the first arbiter and including the second arbiter, is initiated. Responsive to a majority of the current configuration installing the new configuration, the second arbiter is enabled to serve as the active arbiter by transferring state information to the second arbiter.
    Type: Application
    Filed: September 20, 2019
    Publication date: March 25, 2021
    Inventors: Bradford Glade, Peter Corbett
  • Patent number: 9857982
    Abstract: A storage system includes data storage devices, bus conductors, and mobile reader/writer devices. Each of the storage devices is positioned between insulators, is at one of a plurality of locations on one of one or more shelf assemblies, and comprises a processor coupled to a memory and an interface device. One of the bus conductors is adjacent each of the insulators. Each of the reader/writer devices includes a transport apparatus, a processor and a memory. The transport apparatus is configured to move one of the reader/writer devices to one or more of the locations when engaged. The processor is coupled to the transport apparatus and the memory and is configured to execute machine executable code to: engage the transport apparatus to position one of the reader/writer devices to one of the locations in response to a received operation; couple power to one of the storage devices; and execute the operation.
    Type: Grant
    Filed: September 8, 2017
    Date of Patent: January 2, 2018
    Assignee: NetApp, Inc.
    Inventors: David Slik, Peter Corbett
  • Publication number: 20170371307
    Abstract: A storage system includes data storage devices, bus conductors, and mobile reader/writer devices. Each of the storage devices is positioned between insulators, is at one of a plurality of locations on one of one or more shelf assemblies, and comprises a processor coupled to a memory and an interface device. One of the bus conductors is adjacent each of the insulators. Each of the reader/writer devices includes a transport apparatus, a processor and a memory. The transport apparatus is configured to move one of the reader/writer devices to one or more of the locations when engaged. The processor is coupled to the transport apparatus and the memory and is configured to execute machine executable code to: engage the transport apparatus to position one of the reader/writer devices to one of the locations in response to a received operation; couple power to one of the storage devices; and execute the operation.
    Type: Application
    Filed: September 8, 2017
    Publication date: December 28, 2017
    Inventors: David Slik, Peter Corbett
  • Patent number: 9766811
    Abstract: A flash-based storage warehouse system includes flash memory devices and reader/writer devices that are moveable to different locations in a structure. Each of the flash memory devices are at one of the different locations in the structure. Each of the reader/writer devices includes a locomotion apparatus configured to move the corresponding one of the reader/writer devices to a different location in the structure and a processor coupled to a memory and the locomotion apparatus that is configured to execute machine executable code to: engage the locomotion apparatus to adjustably position one of reader/writer devices to one of the locations in the structure in response to a received operation; couple power via the corresponding one of the reader/writer devices to one of the flash memory devices at the one of the locations in the structure; and execute the operation on the flash memory device at the location in the structure.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: September 19, 2017
    Assignee: NetApp, Inc.
    Inventors: David Slik, Peter Corbett
  • Patent number: 8874864
    Abstract: An on-disk structure of a file system has the capability to maintain snapshot and file system metadata on a storage system. The on-disk structure arranges file system data sequentially on disk within regions, wherein each region comprises a predetermined amount of disk space represented by blocks. The snapshot and file system metadata is maintained within level 1 (L1) indirect blocks of the on-disk structure. Each L1 indirect block describes (i.e., represents) a corresponding region of the on-disk structure of the file system; in the case of an active region, e.g., an L1 indirect block represents an active file data portion of a large file. The L1 indirect block that references an active region also performs file block number-to-disk block number mapping for the region.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: October 28, 2014
    Assignee: NetApp, Inc.
    Inventors: Peter Corbett, Michael Kazar
  • Publication number: 20140013046
    Abstract: An on-disk structure of a file system has the capability to maintain snapshot and file system metadata on a storage system. The on-disk structure arranges file system data sequentially on disk within regions, wherein each region comprises a predetermined amount of disk space represented by blocks. The snapshot and file system metadata is maintained within level 1 (L1) indirect blocks of the on-disk structure. Each L1 indirect block describes (i.e., represents) a corresponding region of the on-disk structure of the file system; in the case of an active region, e.g., an L1 indirect block represents an active file data portion of a large file. The L1 indirect block that references an active region also performs file block number-to-disk block number mapping for the region.
    Type: Application
    Filed: September 10, 2013
    Publication date: January 9, 2014
    Applicant: NetApp, Inc.
    Inventors: Peter Corbett, Michael Kazar
  • Patent number: 8296320
    Abstract: A storage server maintains a number of datasets (e.g., exported file systems or other resources). For each dataset, certain clients are allowed to have access (e.g., read access, write access, root access, etc.) and certain other clients are not allowed to have access. Access permission information is maintained to specify which clients are allowed to have access and what kind of access. A method and system are introduced to use a radix tree to store access permission information in a cache, therefore allowing the storage server to quickly retrieve access information relevant to a particular client. One advantage of using radix tree to maintain access permission information is that radix tree is very efficient at storing hierarchical information, such as IP addresses. Radix tree is also very efficient at representing subnets in particular.
    Type: Grant
    Filed: April 30, 2007
    Date of Patent: October 23, 2012
    Assignee: Network Appliance, Inc.
    Inventors: Peter Corbett, Saadia Shaheen Khan, Vadim Finkelstein, Mukesh Kacker
  • Patent number: 8176012
    Abstract: A system and method that provides users of network data storage with the ability to gain advantages of a clustered storage server system, in which volumes from multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system and method extends the global namespace of the clustered storage server system to allow access to one or more volumes stored on one or more remote storage servers over at least one network pathway communicably connecting the remote storage servers and the clustered storage server system. In addition, the system and method allows loads to the clustered system and to the remote storage servers to be balanced or shared by generating at least one set of mirrored volumes accessible via the extended global namespace of the clustered system.
    Type: Grant
    Filed: October 6, 2008
    Date of Patent: May 8, 2012
    Assignee: NetApp, Inc.
    Inventors: Faramarz Rabii, Peter Corbett
  • Patent number: 8156163
    Abstract: A storage controller is operable concurrently as an independent storage server and as at least a portion of a node of a storage server cluster. A network storage system comprises multiple storage controllers and multiple independent storage servers, each storage server implemented in a separate storage controller, each of the storage server configured to present to users a separate system image of stored data. The storage servers are independently operable and manageable. The system further includes a storage server cluster that includes cooperating storage server nodes, distributed among the storage controllers. The storage server cluster presents to users a single system image of data stored in the server cluster independently of the node or nodes in which said data resides. The storage server cluster is operable independently of the independent storage servers and is operable concurrently with operation of at least one of the independent storage servers.
    Type: Grant
    Filed: June 23, 2009
    Date of Patent: April 10, 2012
    Assignee: NetApp, Inc.
    Inventors: Eric C. Hamilton, Peter Corbett
  • Patent number: 8078622
    Abstract: A system and method that provides users of network data storage systems with the ability to gain the advantages of a clustered storage server system, in which volumes stored on multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system employs an extended virtual global hierarchical namespace that allows client systems to access, via the extended global namespace, volumes stored on the clustered storage server system and on one or more storage servers that are remote from and do not constitute a part of the clustered system. The extended global namespace can also be employed to perform migration of volume data among the multiple nodes of the clustered storage server system and the remote storage servers.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: December 13, 2011
    Assignee: Network Appliance, Inc.
    Inventors: Faramarz Rabii, Hooman Vassef, Peter Corbett, Keith Arner
  • Publication number: 20100114889
    Abstract: A system and method that provides users of network data storage systems with the ability to gain the advantages of a clustered storage server system, in which volumes stored on multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system employs an extended virtual global hierarchical namespace that allows client systems to access, via the extended global namespace, volumes stored on the clustered storage server system and on one or more storage servers that are remote from and do not constitute a part of the clustered system. The extended global namespace can also be employed to perform migration of volume data among the multiple nodes of the clustered storage server system and the remote storage servers.
    Type: Application
    Filed: October 30, 2008
    Publication date: May 6, 2010
    Applicant: NETAPP, INC.
    Inventors: Faramarz Rabii, Hooman Vassef, Peter Corbett, Keith Arner
  • Publication number: 20070180348
    Abstract: A method for enabling recovery from concurrent failure of a plurality of storage devices in a storage array is disclosed. The method stores data on a first plurality of storage devices of the storage array. The first plurality of storage devices may have a number of storage devices equal to a prime number greater then three. Row parity is stored on one or more storage devices of the storage array. A diagonal parity set is computed for the plurality of storage devices. The diagonal parity set is stored on an additional diagonal parity device, the diagonal parity device separate from the first plurality of storage devices.
    Type: Application
    Filed: February 23, 2007
    Publication date: August 2, 2007
    Inventors: Peter Corbett, Steven Kleiman, Robert English
  • Publication number: 20070180303
    Abstract: A uniform and symmetric, double failure-correcting technique protects against two or fewer disk failures in a disk array of a storage system. A RAID system of the storage system generates two disks worth of “redundant” information for storage in the array, wherein the redundant information (e.g., parity) is illustratively derived from computations along both diagonal parity sets (“diagonals”) and row parity sets (“rows”). Specifically, the RAID system computes row parity along rows of the array and diagonal parity along diagonals of the array. However, the contents of the redundant (parity) information disks interact such that neither disk contains purely (solely) diagonal or row redundancy information; the redundant information is generated using diagonal parity results in row parity computations (and vice versa).
    Type: Application
    Filed: January 16, 2007
    Publication date: August 2, 2007
    Inventors: Peter Corbett, Robert English, Steven Kleiman
  • Publication number: 20070101069
    Abstract: A lightweight coherency control protocol ensures consistency of data containers, such as a file, and associated data buffers stored on one or more volumes served by a plurality of nodes, e.g., storage systems, connected as a cluster. Each data buffer is associated with a current cache sequence number comprising a load generation value and an update count value. The load generation value is incremented every time an inode of a file is loaded into a memory of the storage system. Once the inode is loaded and its load generation value is set, then the appropriate buffer of a buffer tree for the file is loaded into the memory. The update count value is incremented each time the buffer is updated with a write request/operation. Therefore, each buffer loaded into memory is tagged with the load generation value and an update count from the time that buffer is loaded.
    Type: Application
    Filed: November 1, 2005
    Publication date: May 3, 2007
    Inventors: Peter Corbett, J. Wagner
  • Publication number: 20070089045
    Abstract: A triple parity (TP) technique reduces overhead of computing diagonal and anti-diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of three storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. Similarly, the anti-diagonal parity is computed along anti-diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the anti-diagonal parity sets except one is stored on the anti-diagonal parity disk. The TP technique provides a uniform stripe depth and an optimal amount of parity information.
    Type: Application
    Filed: December 15, 2005
    Publication date: April 19, 2007
    Inventors: Peter Corbett, Atul Goel
  • Publication number: 20070083710
    Abstract: A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.
    Type: Application
    Filed: December 5, 2006
    Publication date: April 12, 2007
    Inventors: Peter Corbett, Steven Kleiman, Robert English
  • Publication number: 20060248273
    Abstract: Provided is a method and system for data allocation within a storage system architecture. One or more nodes of the storage system architecture provides access to striped data stored on a striped volume set. Each node can store a volume of the striped volume set. Further, the striped volume set is identified by a striping table. When modifying the storage system architecture, such as adding a volume to, or removing a volume from, the striped volume set, the striping table is rearranged to accurately identify the location of striped data on the striped volume set. At least one restriping process implemented on the striping table affects the volume utilization efficiency, hot-spotting behavior, and distribution efficiency of the striped volume set.
    Type: Application
    Filed: April 29, 2005
    Publication date: November 2, 2006
    Applicant: NETWORK APPLIANCE, INC.
    Inventors: Richard Jernigan, Allen Tracht, Peter Corbett
  • Publication number: 20060242542
    Abstract: A method for correcting double failures in a storage array has the following steps. A storage array is organized as a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a row parity storage device. Row parity is computed for each row of each sub-array. The row parity of a particular sub-array is stored on a row parity storage device of the particular sub-array. A diagonal parity is computed across the concatenated sub-arrays. A double storage device failure is corrected using both the sub-array row parity and the diagonal parity.
    Type: Application
    Filed: April 12, 2006
    Publication date: October 26, 2006
    Inventors: Robert English, Peter Corbett, Steven Kleiman
  • Publication number: 20060224917
    Abstract: A method for storing data for correction of multiple data storage failures in a storage array is presented. The storage array is organized as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array. A plurality of diagonal parity sets is computed, one diagonal parity set for each sub-array. A global diagonal parity is computed by logically combining together a plurality of the diagonal parity sets. The global diagonal parity is stored in a plurality of global diagonal parity storage blocks.
    Type: Application
    Filed: June 2, 2006
    Publication date: October 5, 2006
    Inventors: Steven Kleiman, Robert English, Peter Corbett