Claims
- 1. A distributed data storage system for allowing one or more client systems to access data, comprising:
a plurality of independent storage units for storing the data; wherein the data is stored on the plurality of storage units in files, wherein each file includes segments of data and redundancy information for each segment, wherein each segment has an identifier, and wherein the redundancy information for each segment includes at least one copy of the segment, and wherein, for each file, the segments and the redundancy information for each segment are distributed among the plurality of storage units; wherein each storage unit comprises means for maintaining information associating the identifier of each segment stored on the storage unit with the location of each segment on the storage unit; wherein the distributed data storage system includes means for maintaining information associating the identifier of each segment with indications of the storage units from the plurality of storage units on which each segment and the redundancy information for the segment is stored; wherein the distributed data storage system includes means for identifying one of the storage units to be removed; and wherein the distributed data storage system includes means, operative in response to an identification of one of the storage units to be removed, for redistributing data on the identified storage unit to other storage units, including
means for determining, for each segment of data stored on the identified storage unit, another storage unit on which the segment is stored; means for sending, for each segment of data stored on the identified storage unit, a request to the other storage unit on which the segment is stored to send a copy of the segment to a different storage unit, wherein each request includes the identifier of the segment.
- 2. The distributed data storage system of claim 1, wherein each copy of each segment is assigned to one of the plurality of storage units according to a probability distribution defined as a function of relative specifications of the storage units.
- 3. A process for recovering data in a distributed data storage system comprising a plurality of storage units for storing the data, wherein copies of segments of the data stored on the storage units are randomly distributed among the plurality of storage units, the process being performed when failure of one of the storage units is detected, comprising the steps of:
identifying segments of which copies were stored on the failed storage unit; identifying storage units on which another copy of the identified segments was stored; and randomly distributing a copy of the identified copies among the plurality of storage units.
- 4. A process for combining streams of video data to produce composited video data for storing the composited video data in a distributed system comprising a plurality of storage units for storing video data, wherein copies of segments of the video data stored on the storage units are randomly distributed among the plurality of storage units, comprising the steps of:
reading the streams of video data from the plurality of storage units; combining the streams of video data to produce the composited video data; dividing the composited video data into segments; and randomly distributing copies of the segments of the composited video data among the plurality of storage units.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. §120, and is a continuation of:
[0002] U.S. patent application Ser. No. 10/186,929, filed on Jul. 1, 2002, pending, which is a continuation of U.S. patent application Ser. No. 09/006,070, filed on Jan. 12, 1998, now issued as U.S. Pat. No. 6,415,373; which is a continuation of U.S. patent application Ser. No. 08/997,769, filed on Dec. 24, 1997, now abandoned;
[0003] all of which are incorporated herein by reference.
Continuations (3)
|
Number |
Date |
Country |
Parent |
10186929 |
Jul 2002 |
US |
Child |
10883387 |
Jul 2004 |
US |
Parent |
09006070 |
Jan 1998 |
US |
Child |
10186929 |
Jul 2002 |
US |
Parent |
08997769 |
Dec 1997 |
US |
Child |
09006070 |
Jan 1998 |
US |