Patents by Inventor Thomas R. Ulrich

Thomas R. Ulrich 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: 20020174295
    Abstract: An enhanced file system with failure tolerance is described. The enhanced file system includes a plurality of disk drives for storing parity groups, each parity group comprising storage blocks. The storage blocks include one or more data blocks and a parity block associated with the data blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity group reside on the same disk drive. A recovery module dynamically recovers data lost when a disk drive becomes unavailable. The recovery module produces a reconstructed block by using information in the remaining storage blocks of a parity group corresponding to an unavailable storage block, and stores the reconstructed block on a functioning drive. The file system metadata is updated to indicate where the reconstructed block is stored.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 21, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020174296
    Abstract: A system and method for enhanced disk replacement via hot swapping with variable parity is described. The system and method operate on a computer storage system that includes a plurality of disk drives for storing distributed parity groups. Each distributed parity group includes storage blocks. The storage blocks include one or more data blocks and a parity block that is associated with the one or more data blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity set reside on the same disk drive. The computer storage system further includes file system metadata to describe a location of each of the storage blocks. The computer storage system further includes a resource-allocation module to recognize a new disk drive that is hot-swapped into the plurality of disk drives during file system operation and to use the new disk drive to store one or more storage blocks.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 21, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020169827
    Abstract: A system and method for adding file system processors, also known as hot adding, is described. The system and method for adding file system processors operate on a computer network file system that includes a first file server that is operably connected to a network fabric. The system and method for adding file system processors also include a file system that includes first file system information loaded on the first file server. The file system is configured to create second file system information on a second file server that comes online sometime after the first file server has begun servicing file requests. The file system is configured to allow a requester to locate files that are stored by the first file server and files that are stored by the second file server without prior knowledge as to which file server stores the files.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 14, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbor George Priester
  • Publication number: 20020165942
    Abstract: A data path accelerator with variable parity, variable length, and variable extent groups is described. The data path accelerator includes a network interface for communicating with one or more clients and a storage interface for communicating with one or more disk drives. A metafile processor is configured to queue network transaction requests to the network interface and to queue storage transaction requests to the storage interface. The metafile processor is further configured to manage file system metafile information. The file system metafile information includes disk locations of one or more distributed parity groups on the one or more disk drives. Each distributed parity group includes one or more data blocks and a parity block. The file system metafile information further includes information regarding a length of each distributed parity group.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 7, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester, David H. Barry, Leonard D. Olsen, Danny Lam, Ronald K. Godshalk
  • Publication number: 20020166026
    Abstract: A system and method for data blocking mapping on a computer storage system that includes a plurality of disk drives for storing parity groups. Each parity group includes storage blocks. The storage blocks include one or more data blocks and a parity block that is associated with the one or more data blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity set reside on the same disk drive. File system metadata includes information to describe the data blocks in one or more parity groups.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 7, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020166079
    Abstract: A system and method for dynamic data recovery is described. The system and method for dynamic data recovery operates on a computer storage system that includes a plurality of disk drives for storing parity groups. Each parity group includes storage blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity set reside on the same disk drive. The computer storage system further includes a recovery module to dynamically recover data that is lost when at least a portion of one disk drive in the plurality of disk drives becomes unavailable. The recovery module is configured to produce a reconstructed block by using information in the remaining storage blocks of a parity set that corresponds to an unavailable storage block.
    Type: Application
    Filed: January 29, 2002
    Publication date: November 7, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020161850
    Abstract: A data path controller architecture for a file server is described. The system includes a network interface for communicating with one or more clients and a storage interface for communicating with one or more disk drives. The file server further includes a data engine that is configured to communicate with the storage interface to receive file data from the one or more disk drives. The data engine is further configured to communicate with the network interface to send file data to the one or more clients. A CPU is configured to queue transaction requests for the data engine in response to file requests from the one or more clients. The data engine is configured to receive file data in response to at least a portion of the transaction requests. The data engine is further configured to send file data to the one or more clients in response to at least a portion of the transaction requests.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 31, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbor George Priester
  • Publication number: 20020161973
    Abstract: A programmable data path accelerator is described. The programmable data path accelerator operates on a file server that includes a network interface for communicating with one or more clients. The network interface includes a network transaction queue. A metafile processor is configured to communicate with the network interface across a first memory-mapped bus and is configured to communicate with the storage interface across a second memory-mapped bus. A data engine configured to communicate with the network interface across the first memory-mapped bus and to communicate with the storage interface across the second memory-mapped bus.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 31, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George, David H. Barry, Leonard D. Olsen, Danny Lam, Ronald K. Godshalk
  • Publication number: 20020161846
    Abstract: A data path controller architecture is disclosed. The architecture includes a network interface for communicating with one or more clients, a storage interface for communicating with one or more disk drives. A data engine configured to communicate with the storage interface to receive file data from the one or more disk drives. The data engine communicates with the network interface to send file data to the one or more clients. A CPU is configured to queue transaction requests for the data engine in response to file requests from the clients. The data engine receives file data in response to at least a portion of the transaction requests. The data engine sends file data to the one or more clients in response to the transaction requests.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 31, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester, David H. Barry, Leonard D. Olsen, Danny Lam, Ronald K. Godshalk
  • Publication number: 20020156973
    Abstract: An enhanced disk array is described. The enhanced disk includes a plurality of disk drives for storing distributed parity groups. Each distributed parity group has a number of storage blocks including one or more data blocks and a parity block. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity group reside on the same disk drive. File system metadata describes a location of each storage block by specifying a disk identifier and a logical block identifier of a first logical block of each storage block. An allocation module allocates space for a new distributed parity group on two or more disk drives by allocating space for each storage block of the new distributed parity group from free space on each of the disk drives.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 24, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020156974
    Abstract: A redundant dynamically distributed file system is described. The redundant dynamically distributed file system operates on a computer network and includes a first file server that is operably connected to a network fabric and a second file server that is operably connected to the network fabric. The redundant dynamically distributed file system further includes first file system information loaded on the first file server and second file system information loaded on the second file server. The first file system information and the second file system information are configured to allow a client computer that is operably connected to the network fabric to locate files owned by the first file server and files owned by the second file server without prior knowledge as to which file server owns the files.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 24, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020156891
    Abstract: A file system that balances the loading of filers and the capacity of drives that are associated with the filers is described. The file system includes a first disk drive that includes a first unused capacity and a second disk drive that includes a second unused capacity, wherein the second unused capacity is smaller than the first unused capacity. The file system further includes a first filer that is configured to fill requests from clients through access to at least the first disk drive. The file system further includes a second filer that is configured to fill requests from clients through access to at least the second disk drive. The second filer is configured to select an infrequently accessed file from the second disk drive and to push the infrequently accessed files to the first disk drive, thereby improving a balance of unused capacity between the first and second disk drives without substantially affecting a loading for each of the first and second filers.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 24, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub
  • Publication number: 20020156840
    Abstract: A computer network file system is described. The computer network file system includes first metadata, which is managed primarily by a first file server that is operably connected to a network fabric. The first metadata includes first file location information, and the first file location information includes at least one server id. The computer network file system also includes second metadata, which is managed primarily by a second file server that is operably connected to a network fabric. The second metadata includes second file location information, and the second file location information includes at least one server id. The first metadata and the second metadata are configured to allow a requester to locate files that are stored by the first file server and files that are stored by the second file server in a directory structure that spans the first file server and the second file server.
    Type: Application
    Filed: January 29, 2002
    Publication date: October 24, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020138559
    Abstract: A dynamically distributed file system is described. The dynamically distributed file system operates on a computer network and includes a first file server that is operably connected to a network fabric and a second file server that is operably connected to the network fabric. The dynamically distributed file system further includes first file system information loaded on the first file server and second file system information loaded on the second file server. The first file system information and the second file system information are configured to allow a client computer that is operably connected to the network fabric to locate files stored by the first file server and files stored by the second file server without prior knowledge as to which file server stores the files.
    Type: Application
    Filed: January 29, 2002
    Publication date: September 26, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbur George Priester
  • Publication number: 20020124137
    Abstract: A system and method for enhancing disk array performance via variable-parity-based load balancing is described. The system and method operate on a computer storage system that includes a plurality of disk drives for storing distributed parity groups. Each distributed parity group includes storage blocks. The storage blocks include one or more data blocks and a parity block that is associated with the one or more data blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity set reside on the same disk drive. The computer storage system further includes file system metadata to describe a location of each of the storage blocks. The computer storage system further includes a load-balancing module to dynamically move storage blocks of the distributed parity groups among the plurality of disk drives to balance transaction loading of the plurality of disk drives and thereby to improve throughput of the computer storage system.
    Type: Application
    Filed: January 29, 2002
    Publication date: September 5, 2002
    Inventors: Thomas R. Ulrich, James R. Schweitzer, Gregory D. Bolstad, Jay G. Randall, John R. Staub, Wilbor George Priester