IP Library Granted Patent US 7,111,115
Granted Patent B2
US 7,111,115 · App. 10/883,387 · Granted Sep 19, 2006

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

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,111,115
App. No.
10/883,387
Granted
Sep 19, 2006
Kind
B2
Abstract

Multiple applications request data from multiple storage units over a computer network. The data is divided into segments and each segment is distributed randomly on one of several storage units, independent of the storage units on which other segments of the media data are stored. At least one additional copy of each segment also is distributed randomly over the storage units, such that each segment is stored on at least two storage units. This random distribution of multiple copies of segments of data improves both scalability and reliability. When an application requests a selected segment of data, the request is processed by the storage unit with the shortest queue of requests. Random fluctuations in the load applied by multiple applications on multiple storage units are balanced nearly equally over all of the storage units. This combination of techniques results in a system which can transfer multiple, independent high-bandwidth streams of data in a scalable manner in both directions between multiple applications and multiple storage units.

Claims (22)

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 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 maintains 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 maintains 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 redistributing data from an identified storage unit to other storage units, including means for sending, for each segment of data stored on the identified storage unit, a request to store a copy of the segment to a selected one of the other storage units, wherein each request includes the identifier of the segment.

4. The distributed data storage system of claim 3 , wherein the means for redistributing data comprises:

means for determining, for each segment of data stored on the identified storage unit, another storage unit on which the segment is stored; and

wherein the means for sending sends, for each segment of data stored on the identified storage unit, a request to the determined other storage unit on which the segment is stored to send a copy of the segment to the selected one of the other storage units, wherein each request includes the identifier of the segment.

5. The distributed data storage system of claim 4 , wherein the identified storage unit is a faulty storage unit.

6. The distributed data storage system of claim 3 , wherein the request to the selected one of the other storage units is sent by the identified storage unit and includes a copy of the segment.

7. The distributed data storage system of claim 6 , wherein the identified storage unit is a storage unit to be removed.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2021
From: CERBERUS BUSINESS FINANCE, LLC
To: AVID TECHNOLOGY, INC.
Reel/Frame 055731/0019 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Mar 1, 2016
From: KEYBANK NATIONAL ASSOCIATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 037970/0201 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Feb 26, 2016
From: AVID TECHNOLOGY, INC.
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 037939/0958 →
PATENT SECURITY AGREEMENT Recorded Jun 23, 2015
From: AVID TECHNOLOGY, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS THE ADMINISTRATIVE AGENT
Reel/Frame 036008/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2011
From: PETERS, ERIC C.; RABINOWITZ, STANLEY; FASCIANO, PETER J.
To: AVID TECHNOLOGY, INC.
Reel/Frame 025997/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2011
From: JACOBS, HERBERT R.; POLYBUS SYSTEMS CORPORATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 025997/0232 →