×

Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner

  • US 20070016727A1
  • Filed: 09/18/2006
  • Published: 01/18/2007
  • Est. Priority Date: 12/24/1997
  • Status: Active Grant
First Claim
Patent Images

1. A distributed data storage system for allowing one or more client systems to access data over a computer network, comprising:

  • a plurality of independent storage units for storing the data and interconnected by the computer network;

    wherein the data is stored on the plurality of storage units in files, wherein each file includes segments of data, wherein each segment has an identifier, and wherein two or more copies of each segment are distributed among the plurality of storage units, such that each segment is stored on at least two of the storage units, and wherein the segments of data are distributed nonsequentially among the plurality of storage units;

    computer readable storage including data that associates, for each segment of a file, the identifier of the segment with an indication of each of the storage units on which a copy of the segment is stored;

    wherein each client system comprises;

    a network interface connected to the computer network for receiving and sending data over the computer network; and

    a processor connected to the network interface;

    wherein the processor accesses the data that associates, for each segment of a file, the identifier of the segment with an indication of each of the storage units on which a copy of the segment is stored, to select a storage unit for each segment to be read from the file;

    wherein the processor instructs the network interface to send a request, for each segment to be read from the file, to the selected storage unit for the segment, wherein the request includes the identifier of the requested segment of the file; and

    wherein each storage unit comprises;

    storage for storing the data;

    a memory containing data defining information that associates, for each segment stored on the storage unit, the identifier of the segment with the location of the segment in the storage;

    a network interface connected to the computer network for receiving and sending data over the computer network; and

    a processor connected to the network interface, the memory and the storage;

    wherein the processor, in response to a request received over the computer network from one of the client systems for a segment of a file, determines the location of the segment in the storage using the information that associates the identifier of the segment with the location of the segment in the storage, and retrieves the requested segment from the storage;

    wherein the processor instructs the network interface to send the retrieved segment to the client system.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×