← Back to Patent Explorer
US6785768B2 Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: Avid Technology Inc
•
Filing: 2002-05-14
•
Granted: 2004-08-31
•
Expires: 2022-05-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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. Redundancy information corresponding to each segment also is distributed randomly over the storage units. The redundancy information for a segment may be a copy of the segment, such that each segment is stored on at least two storage units. The redundancy information also may be based on two or more segments. This random distribution of segments of data and corresponding redundancy information improves both scalability and reliability. When a storage unit fails, its load is distributed evenly over to remaining storage units and its lost data may be recovered because of the redundancy information. When an application requests a selected segment of data, the request may be 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. Small data files also may be stored on storage units that combine small files into larger segments of data using a log structured file system. This combination of techniques results in a system which can transfer both multiple, independent high-bandwidth streams of data and small data files in a scalable manner in both directions between multiple applications and multiple storage units.

Inventors

  • 👤 Eric C. Peters
  • 👤 Stanley Rabinowitz
  • 👤 Herbert R. Jacobs

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 00:06
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/80; H04N21/83; H04N21/845; H04N21/8456; G; G06; G06F; G06F16/00; G06F16/70; G06F16/71; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/16; G06F11/20; G06F11/2053; G06F11/2094; G06F11/2097; G06F16/10; G06F16/18; G06F16/182; G06F16/184; H04L; H04L65/00; H04L65/60; H04L65/61; H04L65/612; H04L67/00; H04L67/01; H04L67/10; H04L67/1095; H04L67/1097; H04L69/00; H04L69/40; H04N21/20; H04N21/21; H04N21/218; H04N21/21815; H04N21/2182; H04N21/23; H04N21/231; H04N21/23103; H04N21/23116; H04N21/2312; H04N21/2315; H04N21/232; H04N21/239; H04N21/2393; H04N21/2396; H04N21/24; H04N21/2405; H04N21/241; H04N21/25; H04N21/262; H04N21/40; H04N21/43; H04N21/44; H04N21/44004; H04N21/442; H04N21/47; H04N21/472; H04N21/47202; H04N21/60; H04N21/65; H04N21/658; H04N21/6581; H04N7/00; H04N7/16; H04N7/173; H04N7/17309; H04N7/17336; G06F11/1658; G06F11/1662; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1028; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 243 words
A process for transferring temporal media data over a network from a plurality of storage units for playback on a client, wherein the temporal media data is divided into segments distributed over the plurality of storage units, wherein each storage unit has persistent storage and one or more buffers for storing data read from persistent storage for transmission over the network; wherein the client has a sequence of playback buffers, wherein each playback buffer temporarily stores a segment of the temporal media data before playback, and wherein data in the sequence of playback buffers is played back according to the sequence of the playback buffers, such that each playback buffer has a playback time, the process comprising: issuing requests to the storage units to read segments of the temporal media data from the persistent storage into the one or more buffers on the storage units; ordering empty playback buffers in the sequence of playback buffers by playback time and whether data for placement in each playback buffer is expected to be available in the one or more buffers in the storage units; selecting the playback buffer with the earliest playback time and for which the data for placement in the playback buffer is expected to be available in the one or more buffers in the storage units; and accessing the storage units for the data for placement in the selected playback buffer; repeating the steps of issuing, ordering, selecting and accessing during playback.
Claim 2
Dependent Claim 243 words
A process for transferring temporal media data over a network from a plurality of storage units for playback on a client, wherein the temporal media data is divided into segments distributed over the plurality of storage units, wherein each storage unit has persistent storage and one or more buffers for storing data read from persistent storage for transmission over the network; wherein the client has a sequence of playback buffers, wherein each playback buffer temporarily stores a segment of the temporal media data before playback, and wherein data in the sequence of playback buffers is played back according to the sequence of the playback buffers, such that each playback buffer has a playback time, the process comprising: issuing requests to the storage units to read segments of the temporal media data from the persistent storage into the one or more buffers on the storage units; ordering empty playback buffers in the sequence of playback buffers by playback time and whether data for placement in each playback buffer is expected to be available in the one or more buffers in the storage units; selecting the playback buffer with the earliest playback time and for which the data for placement in the playback buffer is expected to be available in the one or more buffers in the storage units; and accessing the storage units for the data for placement in the selected playback buffer; repeating the steps of issuing, ordering, selecting and accessing during playback.
Claim 3
Dependent Claim 21 words
The process of claim 1 , wherein the segments of the temporal media data are stored nonsequentially on the storage units.
Claim 4
Dependent Claim 49 words
The process of claim 2 , wherein each segment of the temporal media data is stored on one of the storage units and a copy of the segment is stored on another of the storage units, the process further comprising, for each segment, selecting one of the storage units.
Claim 5
Dependent Claim 31 words
The process of claim 3 , wherein each storage unit includes a queue of requests and the selected storage unit is the storage unit with approximately the shortest queue of requests.
Claim 6
Dependent Claim 46 words
The process of claim 4 , in a system in which multiple clients access the storage units, further comprising ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 7
Dependent Claim 49 words
The process of claim 1 , wherein each segment of the temporal media data is stored on one of the storage units and a copy of the segment is stored on another of the storage units, the process further comprising, for each segment, selecting one of the storage units.
Claim 8
Dependent Claim 31 words
The process of claim 6 , wherein each storage unit includes a queue of requests and the selected storage unit is the storage unit with approximately the shortest queue of requests.
Claim 9
Dependent Claim 45 words
The process of claim 7 , a system in which multiple clients access the storage units, further comprising ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 10
Dependent Claim 46 words
The process of claim 2 , in a system in which multiple clients access the storage units, further comprising ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 11
Dependent Claim 46 words
The process of claim 1 , in a system in which multiple clients access the storage units, further comprising ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 12
Dependent Claim 253 words
A client system for transferring temporal media data over a network from a plurality of storage units for playback on the client system, wherein the temporal media data is divided into segments distributed over the plurality of storage units, wherein each storage unit has persistent storage and one or more buffers for storing data read from persistent storage for transmission over the network, wherein the client system comprises: a sequence of playback buffers, wherein each playback buffer temporarily stores a segment of the temporal media data before playback, and wherein data in the sequence of playback buffers is played back according to the sequence of the playback buffers, such that each playback buffer has a playback time, means for issuing requests to the storage units to read segments of the temporal media data from the persistent storage into the one or more buffers on the storage units; means for ordering empty playback buffers in the sequence of playback buffers by playback time and whether data for placement in each playback buffer is expected to be available in the one or more buffers in the storage units; means for selecting the playback buffer with the earliest playback time and for which the data for placement in the playback buffer is expected to be available in the one or more buffers in the storage units; means for accessing the storage units for the data for placement in the selected playback buffer; and means for controlling the means for issuing, ordering, selecting and accessing during playback.
Claim 13
Dependent Claim 253 words
A client system for transferring temporal media data over a network from a plurality of storage units for playback on the client system, wherein the temporal media data is divided into segments distributed over the plurality of storage units, wherein each storage unit has persistent storage and one or more buffers for storing data read from persistent storage for transmission over the network, wherein the client system comprises: a sequence of playback buffers, wherein each playback buffer temporarily stores a segment of the temporal media data before playback, and wherein data in the sequence of playback buffers is played back according to the sequence of the playback buffers, such that each playback buffer has a playback time, means for issuing requests to the storage units to read segments of the temporal media data from the persistent storage into the one or more buffers on the storage units; means for ordering empty playback buffers in the sequence of playback buffers by playback time and whether data for placement in each playback buffer is expected to be available in the one or more buffers in the storage units; means for selecting the playback buffer with the earliest playback time and for which the data for placement in the playback buffer is expected to be available in the one or more buffers in the storage units; means for accessing the storage units for the data for placement in the selected playback buffer; and means for controlling the means for issuing, ordering, selecting and accessing during playback.
Claim 14
Dependent Claim 22 words
The client system of claim 11 , wherein the segments of the temporal media data are stored nonsequentially on the storage units.
Claim 15
Dependent Claim 53 words
The client system of claim 12 , wherein each segment of the temporal media data is stored on one of the storage units and a copy of the segment is stored on another of the storage units, the client system further comprising, for each segment, means for selecting one of the storage units.
Claim 16
Dependent Claim 32 words
The client system of claim 13 , wherein each storage unit includes a queue of requests and the selected storage unit is the storage unit with approximately the shortest queue of requests.
Claim 17
Dependent Claim 49 words
The client system of claim 14 , in a system in which multiple clients access the storage units, further comprising means for ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 18
Dependent Claim 53 words
The client system of claim 11 , wherein each segment of the temporal media data is stored on one of the storage units and a copy of the segment is stored on another of the storage units, the client system further comprising, for each segment, means for selecting one of the storage units.
Claim 19
Dependent Claim 32 words
The client system of claim 16 , wherein each storage unit includes a queue of requests and the selected storage unit is the storage unit with approximately the shortest queue of requests.
Claim 20
Dependent Claim 49 words
The client system of claim 17 , in a system in which multiple clients access the storage units, further comprising means for ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 21
Dependent Claim 49 words
The client system of claim 12 , in a system in which multiple clients access the storage units, further comprising means for ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.
Claim 22
Dependent Claim 49 words
The client system of claim 11 , in a system in which multiple clients access the storage units, further comprising means for ensuring that each storage unit sends data to only one client at a time and each client requests data from only one storage unit at a time.

References Cited (Backward Citations)

US4887204A Cited
US5485474A Cited
US5517652A Cited
US5544347A Cited
US5442749A Cited
US5333299A Cited
US5423037A Cited
US5555404A Cited
US5262875A Cited
US5623690A Cited
US5420984A Cited
US5559641A Cited
US5371852A Cited
US5754882A Cited
US5734925A Cited
US5581784A Cited
US5737595A Cited
US5526132A Cited
US5559549A Cited
US5394526A Cited
US5463765A Cited
US5508732A Cited
US5553005A Cited
US5550577A Cited
US5585852A Cited
US5692128A Cited
US5550982A Cited
US5510905A Cited
US5559984A Cited
US5610841A Cited
US5542087A Cited
US5473362A Cited
EP0657801A1 Cited
US5647047A Cited
US5594924A Cited
US5592626A Cited
US5544327A Cited
US5521630A Cited
EP0701198A1 Cited
US5555244A Cited
US5732239A Cited
US5434994A Cited
US5757415A Cited
US5583561A Cited
US5642171A Cited
US5566297A Cited
US5546118A Cited
US5920702A Cited
US5583868A Cited
US5537533A Cited
US5559764A Cited
US5586264A Cited
US5694334A Cited
US5712976A Cited
US5574845A Cited
US5915094A Cited
US5799174A Cited
US5537408A Cited
US5559808A Cited
US5684963A Cited
GB2299424A Cited
US6112223A Cited
EP0740247A2 Cited
US5592612A Cited
US5644720A Cited
US5768681A Cited
EP0767585A2 Cited
US6047309A Cited
US6160547A Cited
US5862312A Cited
US5996089A Cited
US5829046A Cited
US5737747A Cited
US5933603A Cited
US5949948A Cited
US5950015A Cited
GB2312318B Cited
GB2312319B Cited
GB2312316B Cited
GB2312317B Cited
US6021408A Cited
US5926649A Cited
US6138221A Cited
US6185621B1 Cited
US6282155B1 Cited
US6061732A Cited
US5956734A Cited
US5960446A Cited
US5999976A Cited
US5893086A Cited
US6021508A Cited
US5974424A Cited
US6023706A Cited
US6032216A Cited
US5963963A Cited
US5987477A Cited
US5940838A Cited
US5950199A Cited
US5940841A Cited
US5946686A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-08-31 2008-03-01 2008-08-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-08-31 2012-03-01 2012-08-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-08-31 2016-03-01 2016-08-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag