×

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 8,984,223 B2
  • Filed: 07/01/2013
  • Issued: 03/17/2015
  • Est. Priority Date: 12/24/1997
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a distributed data storage system comprising a plurality of storage units for storing data and interconnected by a computer network, wherein stored data from a file is divided into segments that are distributed among the plurality of storage units, 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, a method for allowing one or more client systems to access segments of data from a file, comprising:

  • each client system;

    accessing a catalog manager 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;

    for each segment to be read, selecting one of the at least two storage units storing the segment;

    sending over the network a request for the segment directly to the selected storage unit, wherein the request includes the identifier of the requested segment; and

    each storage unit;

    maintaining 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 storage;

    receiving a request over the computer network from one of the client systems for a segment, wherein the received request includes the identifier of the requested segment;

    determining the location of the segment in the storage using the information that associates the identifier of the requested segment with the location of the segment in the storage;

    retrieving the requested segment from the storage; and

    sending the retrieved segment over the computer network to the client system that requested the segment.

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