Patents by Inventor Steven Kleiman

Steven Kleiman 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).

  • 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: 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: 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
  • Publication number: 20060184731
    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: Application
    Filed: April 29, 2005
    Publication date: August 17, 2006
    Inventors: Peter Corbett, Robert English, Steven Kleiman
  • Publication number: 20060107135
    Abstract: A “row-diagonal” (R-D) parity technique reduces overhead of computing diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of two 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. The R-D parity technique provides a uniform stripe depth and an optimal amount of parity information.
    Type: Application
    Filed: December 16, 2005
    Publication date: May 18, 2006
    Inventors: Peter Corbett, Steven Kleiman, Robert English
  • Patent number: 6961749
    Abstract: The invention provides a file server system and a method for operating that system, which is easily scalable in number and type of individual components. A plurality of file servers are coupled using inter-node connectivity, such as an inter-node network, so that any one node can be accessed from any other node. Each file server includes a pair of file server nodes, each of which has a memory and each of which conducts file server operations by simultaneously writing to its own memory and to that of its twin, the pair being used to simultaneously control a set of storage elements such as disk drives. File server requests directed to particular mass storage elements are routed among file servers using an inter-node switch and processed by the file servers controlling those particular storage elements. The mass storage elements are disposed and controlled to form a redundant array, such as a RAID storage system.
    Type: Grant
    Filed: August 25, 1999
    Date of Patent: November 1, 2005
    Assignee: Network Appliance, Inc.
    Inventor: Steven Kleiman
  • Patent number: 6915447
    Abstract: The invention provides a storage system that is highly available even in the face of component failures in the storage system, and a method for operating that storage system. A first and a second file server each includes a file server request log for storing incoming file server requests. Both the first and second file servers have access to a common set of mass storage elements. Each incoming file server request is copied to both the first and second file servers; the first file server processes the file server request while the second file server maintains a copy in its file server request log. Each file server operates using a file system that maintains consistent state after each file server request. On failover, the second file server can perform those file server requests in its file server request log since the most recent consistent state. There is no single point of failure that prevents access to any individual mass storage element.
    Type: Grant
    Filed: September 21, 2001
    Date of Patent: July 5, 2005
    Assignee: Network Appliance, Inc.
    Inventor: Steven Kleiman
  • Publication number: 20050114594
    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: November 24, 2003
    Publication date: May 26, 2005
    Inventors: Peter Corbett, Steven Kleiman, Robert English
  • Publication number: 20050114727
    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: November 24, 2003
    Publication date: May 26, 2005
    Inventors: Peter Corbett, Robert English, Steven Kleiman
  • Publication number: 20050097270
    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: Application
    Filed: November 3, 2003
    Publication date: May 5, 2005
    Inventors: Steven Kleiman, Robert English, Peter Corbett
  • Patent number: 6604118
    Abstract: The invention provides a method and system for duplicating all or part of a file system while maintaining consistent copies of the file system. The file server maintains a set of snapshots, each indicating a set of storage blocks making up a consistent copy of the file system as it was at a known time. Each snapshot can be used for a purpose other than maintaining the coherency of the file system, such as duplicating or transferring a backup copy of the file system to a destination storage medium. In a preferred embodiment, the snapshots can be manipulated to identify sets of storage blocks in the file system for incremental backup or copying, or to provide a file system backup that is both complete and relatively inexpensive.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: August 5, 2003
    Assignee: Network Appliance, Inc.
    Inventors: Steven Kleiman, David Hitz, Guy Harris, Sean O'Malley
  • Publication number: 20010044807
    Abstract: The invention provides a method and system for duplicating all or part of a file system while maintaining consistent copies of the file system. The file server maintains a set of snapshots, each indicating a set of storage blocks making up a consistent copy of the file system as it was at a known time. Each snapshot can be used for a purpose other than maintaining the coherency of the file system, such as duplicating or transferring a backup copy of the file system to a destination storage medium. In a preferred embodiment, the snapshots can be manipulated to identify sets of storage blocks in the file system for incremental backup or copying, or to provide a file system backup that is both complete and relatively inexpensive.
    Type: Application
    Filed: July 31, 1998
    Publication date: November 22, 2001
    Inventors: STEVEN KLEIMAN, DAVID HITZ, GUY HARRIS, SEAN O'MALLEY
  • Patent number: 6317844
    Abstract: The invention provides a storage system that is highly available even in the face of component failures in the storage system, and a method for operating that storage system. A first and a second file server each includes a file server request log for storing incoming file server requests. Both the first and second file servers have access to a common set of mass storage elements. Each incoming file server request is copied to both the first and second file servers; the first file server processes the file server request while the second file server maintains a copy in its file server request log. Each file server operates using a file system that maintains consistent state after each file server request. On failover, the second file server can perform those file server requests in its file server request log since the most recent consistent state. There is no single point of failure that prevents access to any individual mass storage element.
    Type: Grant
    Filed: March 10, 1998
    Date of Patent: November 13, 2001
    Assignee: Network Appliance, Inc.
    Inventor: Steven Kleiman
  • Patent number: 5862450
    Abstract: A video server is taught which is capable of outputting a plurality of video streams simultaneously. Each video stream is synchronized at two levels of synchronization: coarse-grain and fine-grain. The coarse-grain synchronization is carried out in software over a plurality of packets of data, and the fine-grain synchronization carried out using the network clock. By utilizing both coarse-grain and fine-grain synchronization as taught by this invention, drift and jitter are controlled, providing accurate presentation of constant bit rate data to a receiving device. As another feature of this invention, a bit pump is utilized which includes header information such as constant bit rate information, and information regarding the rates associated with the coarse-grain and fine-grain synchronization. By utilizing this preinitialized header information, CPU demands are reduced as compared with prior art systems in which the CPU must look up timing information from the data to be transmitted.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: January 19, 1999
    Assignee: Sun Microsytems, Inc.
    Inventors: Kallol Mandal, Steven Kleiman
  • Patent number: 5761416
    Abstract: A novel video server is taught which allows for additional output bandwidth from the server by using multiple physical network interfaces over a single IP subnetwork. This approach is particularly well suited for use with video servers that store and deliver multimedia bit streams by allowing all clients to share the same subnetwork with the server. In this manner, the bandwidth from each of the physical network interface can be combined as needed and assigned as needed in service to any plurality of destinations in the network, allowing all bandwidth to be available for use with one or more clients.
    Type: Grant
    Filed: December 27, 1996
    Date of Patent: June 2, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Kallol Mandal, Steven Kleiman
  • Patent number: 5633810
    Abstract: A novel video server is taught which allows for additional output bandwidth from the server by using multiple physical network interfaces over a single IP subnetwork. This approach is particularly well suited for use with video servers that store and deliver multimedia bit streams by allowing all clients to share the same subnetwork with the server. In this manner, the bandwidth from each of the physical network interface can be combined as needed and assigned as needed in service to any plurality of destinations in the network, allowing all bandwidth to be available for use with one or more clients.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: May 27, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Kallol Mandal, Steven Kleiman
  • Patent number: 5555401
    Abstract: A method and apparatus for automatically generating device names in a computer system, wherein device names are generated to reflect the physical realities of system configuration. An existing device driver interface is employed, wherein a parent device driver's bus.sub.-- ctl function, along with a child device driver's probe and attach routines, are used to generate device names.
    Type: Grant
    Filed: November 22, 1995
    Date of Patent: September 10, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Tom Allen, Joseph E. Provino, William F. Pittore, Steven Kleiman