×

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 9,432,460 B2
  • Filed: 10/05/2015
  • Issued: 08/30/2016
  • Est. Priority Date: 12/24/1997
  • Status: Expired due to Fees
First Claim
Patent Images

1. A data storage system, comprising:

  • a plurality of client computers, each client computer having a file system through which applications executed on the client computer access data;

    a plurality of storage servers coupled to the plurality of client computers via a computer network, each storage server comprising storage configured to store segments of the data accessible through the file systems of the plurality of client computers; and

    catalog storage configured to store information indicating storage servers from among the plurality of storage servers on which the segments of the data are stored;

    at least one of the client computers being configured to;

    receive information indicating storage servers, among the plurality of storage servers, available for storing segments of the data;

    the file system of the at least one of the client computers being configured to, in response to a request from an application to write data;

    divide the data to be written into a plurality of segments, each segment having an identifier;

    for each segment of the plurality of segments, select, using the received information, two of the available storage servers for storing the segment, such that each segment is stored on at least two different storage servers, and the segments are distributed nonsequentially among the plurality of storage servers; and

    communicate over the computer network directly with the selected storage servers to transmit the segments of the data to the selected storage servers for storage; and

    each storage server being configured to;

    receive segments over the computer network from client computers that request segments to be stored;

    after receiving a request over the computer network from one of the client computers to store a segment, wherein the received request includes the identifier of the segment, determine a location for the segment in the storage of the storage server; and

    store data in the storage of the storage server representing, for each segment stored on the storage server, an association between the identifier for the segment with the location of the segment in the storage of the storage server; and

    the catalog manager being further configured to update the information indicating storage servers from among the plurality of storage servers on which the segments of the data are stored based on successful writing of the segments of the data to the plurality of storage servers.

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