Patent US5799150A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5799150A Expired / Lapsed US ⏱️ 0.0 years remaining

System for sending list of media data objects to server which may be read by client and receiving from the server indicator of allocated resource

Assignee: Avid Technology Inc
•
Filing: 1997-02-20
•
Granted: 1998-08-25
•
Expires: 2017-02-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The problems of latency, flow control and data loss, and data movement within a client system memory are solved in a distributed multimedia system so as to enable real-time transmission of broadcast quality media data over the network. Latency is reduced by an estimation by the server of client needs. Data loss is prevented and flow control is provided by permitting the server to send only as much information as the network interface can reliably receive. Data movement is minimized by copying data directly from the network interface to memory in a display processor or audio processor.

Inventors

  • 👤 James Hamilton
  • 👤 Richard Hennessy
  • 👤 Pong Choa
  • 👤 Avinash Chopde
  • 👤 Eric Peters
  • 👤 Jay Koutavas

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 13:01
CPC Classifications
H; H04; H04N; H04N7/00; H04N7/16; H04N7/173; H04N7/17309; H04N7/17336; G; G06; G06F; G06F16/00; G06F16/10; G06F16/40; H04L; H04L47/00; H04L47/10; H04L47/24; H04L47/2416; H04L47/27; H04L47/30; H04L49/00; H04L49/90; H04L49/9036; H04L49/9063; H04L49/9068; H04L49/9073; H04L65/00; H04L65/60; H04L65/61; H04L65/612; H04L65/80; H04L67/00; H04L67/50; H04L67/56; H04L67/564; H04N21/00; H04N21/20; H04N21/23; H04N21/231; H04N21/23106; H04N21/232; H04N21/238; H04N21/40; H04N21/43; H04N21/442; H04N21/44209; H04N21/47; H04N21/472; H04N21/47202; H04N21/60; H04N21/65; H04N21/658; H04N21/6581; H04N21/6582; H04N21/80; H04N21/85; H04N21/854; H04N21/8549

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 229 words
A distributed multimedia network system, comprising: a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files; and a client computer, connected to the server computer by a computer network, and having means for sending the server computer a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file, and means for sending a request for media data of one of the media data objects to the server computer; wherein the server computer includes: means for allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; means for retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and for caching the retrieved media data in the allocated buffer; and means, operative in response to the request from the client computer for media data of one of the media objects, for transmitting the media data of the media object to the client computer from the allocated buffer in the memory of the server computer.
Claim 2
Dependent Claim 229 words
A distributed multimedia network system, comprising: a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files; and a client computer, connected to the server computer by a computer network, and having means for sending the server computer a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file, and means for sending a request for media data of one of the media data objects to the server computer; wherein the server computer includes: means for allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; means for retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and for caching the retrieved media data in the allocated buffer; and means, operative in response to the request from the client computer for media data of one of the media objects, for transmitting the media data of the media object to the client computer from the allocated buffer in the memory of the server computer.
Claim 3
Dependent Claim 49 words
The distributed multimedia network system of claim 1, further comprising, in the client computer, means for authorizing the server computer to send only an amount of data which the client computer is capable of processing for controlling flow of media data from the server computer to the client computer.
Claim 4
Dependent Claim 56 words
The distributed multimedia network system of claim 2, wherein the means for authorizing includes means for sending the server computer window packets indicative of an amount of data the client can reliably receive, and wherein the server computer includes means for sending only as much media data as indicated by any set of window packets received.
Claim 5
Dependent Claim 52 words
The distributed multimedia network system of claim 1, further comprising, in the client computer, means for receiving packet of media data from the server computer and means for processing the media data to automatically and directly transfer the media data to memory used by a display system for displaying the media data.
Claim 6
Dependent Claim 54 words
The distributed multimedia network system of claim 4, wherein the client computer includes a receive channel for each type of media data and a separate direct memory access controller for each receive channel for transferring media data from the network to the memory used by the display system for the type of media data.
Claim 7
Dependent Claim 51 words
The distributed multimedia network system of claim 1, wherein the client computer includes a multimedia authoring system, and wherein the means for sending the list of media objects to the server computer includes means for receiving the list as a selection of media files to be edited by the authoring system.
Claim 8
Dependent Claim 54 words
The distributed multimedia network system of claim 1, wherein the client computer includes a multimedia playback system, and wherein the means for sending the list of media objects to the server computer includes means for receiving the list as a composition of a plurality of media files to be played by the playback system.
Claim 9
Dependent Claim 23 words
The distributed multimedia network system of claim 6, wherein the media data is a sequence of digital still images defining broadcast quality video.
Claim 10
Dependent Claim 15 words
The distributed multimedia network system of claim 8, wherein the playback system broadcasts video data.
Claim 11
Dependent Claim 35 words
The distributed multimedia network system of claim 1, wherein the means for requesting data is operative in response to needs for media data by one or more media data playback systems of the client computer.
Claim 12
Dependent Claim 130 words
The distributed multimedia network system of claim 1, wherein the means for sending the server computer a list of media data objects which may be requested by the client computer comprises: means for creating the list of media objects; means for sending a request to the server computer to allocate a resource for storing the media objects; means for receiving an identifier of the resource from the server computer; means for sending a request to the server computer to associate media objects from the list with the resource, including an identifier of the resource, an indication of the location in the resource where the object is to be inserted, an identifier of the media object and an offset and a range in a media data file of the media object.
Claim 13
Dependent Claim 76 words
The distributed multimedia network system of claim 1, wherein the means for allocating a buffer in a memory in the server computer for the media data objects in the list comprises: means for allocating a resource; means for opening for each media object the media data file and allocating a flow by linking a cache buffer to the resource and the data file; means for sending to the client computer an identifier of each flow allocated.
Claim 14
Dependent Claim 42 words
The distributed multimedia network system of claim 12, wherein the request from the client computer to read media data of a media data object includes an indication of the identifier of the flow associated with the media data object on the server.
Claim 15
Dependent Claim 33 words
The distributed multimedia network system of claim 1, wherein the means for reading the media data into the buffer includes means for maintaining a window about a currently active point in the buffer.
Claim 16
Dependent Claim 40 words
The distributed multimedia network system of claim 1, wherein the client computer creates a list of media objects for each type of media data, and wherein the server computer allocates a buffer for each list created by the client computer.
Claim 17
Dependent Claim 210 words
A server computer, for use in a distributed multimedia network system including a client computer connected to the server computer by a computer network, comprising: a nonvolatile storage medium on which media data is stored in a plurality of media data files; a memory having a faster access time than that nonvolatile storage medium; means for receiving, from the client computer, a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; means for allocating a buffer in the memory for the media data objects in the list; means for retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; means for receiving, from the client computer, a request for media data of one of the media data objects; and means, operative in response to the request for media data of one of the media objects, for transmitting the media data of the media object to the client computer from the allocated buffer in the memory.
Claim 18
Dependent Claim 210 words
A server computer, for use in a distributed multimedia network system including a client computer connected to the server computer by a computer network, comprising: a nonvolatile storage medium on which media data is stored in a plurality of media data files; a memory having a faster access time than that nonvolatile storage medium; means for receiving, from the client computer, a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; means for allocating a buffer in the memory for the media data objects in the list; means for retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; means for receiving, from the client computer, a request for media data of one of the media data objects; and means, operative in response to the request for media data of one of the media objects, for transmitting the media data of the media object to the client computer from the allocated buffer in the memory.
Claim 19
Dependent Claim 54 words
The server computer of claim 16, wherein the means for authorizing includes means for sending the server computer window packets indicative of an amount of data the client can reliably receive, and wherein the server computer includes means for sending only as much media data as indicated by any set of window packets received.
Claim 20
Dependent Claim 69 words
The server computer of claim 16, wherein the means for allocating a buffer in the memory for the media data objects in the list comprises: means for allocating a resource; means for opening for each media object the media data file and allocating a flow by linking the buffer to the resource and the data file; means for sending to the client computer an identifier of each flow allocated.
Claim 21
Dependent Claim 40 words
The server computer of claim 18, wherein the request from the client computer to read media data of a media data object includes an indication of the identifier of the flow associated with the media data object on the server.
Claim 22
Dependent Claim 31 words
The server computer of claim 16, wherein the means for reading the media data into the buffer includes means for maintaining a window about a currently active point in the buffer.
Claim 23
Dependent Claim 153 words
A client computer for use in a distributed multimedia network system including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files, wherein the server computer is connected to the client computer by a computer network, comprising: means for sending the server computer a list of media data objects which may be read by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; means for receiving from the server computer an indicator of a resource allocated at the server computer for storing the media data of the media objects; and means for sending a request for media data of one of the media data objects to the server computer, including the indicator of the allocated resource for storing the media data.
Claim 24
Dependent Claim 153 words
A client computer for use in a distributed multimedia network system including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files, wherein the server computer is connected to the client computer by a computer network, comprising: means for sending the server computer a list of media data objects which may be read by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; means for receiving from the server computer an indicator of a resource allocated at the server computer for storing the media data of the media objects; and means for sending a request for media data of one of the media data objects to the server computer, including the indicator of the allocated resource for storing the media data.
Claim 25
Dependent Claim 43 words
The client computer of claim 21, further comprising means for authorizing the server computer to send only an amount of data which the client computer is capable of processing for controlling flow of media data from the server computer to the client computer.
Claim 26
Dependent Claim 31 words
The client computer of claim 22, wherein the means for authorizing includes means for sending the server computer window packets indicative of an amount of data the client can reliably receive.
Claim 27
Dependent Claim 46 words
The client computer of claim 21, further comprising means for receiving packet of media data from the server computer and means for processing the media data to automatically and directly transfer the media data to memory used by a display system for displaying the media data.
Claim 28
Dependent Claim 49 words
The client computer of claim 24, further comprising a receive channel for each type of media data and a separate direct memory access controller for each receive channel for transferring media data from the network to the memory used by the display system for the type of media data.
Claim 29
Dependent Claim 46 words
The client computer of claim 21, further comprising a multimedia authoring system, and wherein the means for sending the list of media objects to the server computer includes means for receiving the list as a selection of media files to be edited by the authoring system.
Claim 30
Dependent Claim 49 words
The client computer of claim 21, further comprising a multimedia playback system, and wherein the means for sending the list of media objects to the server computer includes means for receiving the list as a composition of a plurality of media files to be played by the playback system.
Claim 31
Dependent Claim 21 words
The client computer of claim 27, wherein the media data is a sequence of digital still images defining broadcast quality video.
Claim 32
Dependent Claim 13 words
The client computer of claim 28, wherein the playback system broadcasts video data.
Claim 33
Dependent Claim 33 words
The client computer of claim 21, wherein the means for requesting data is operative in response to needs for media data by one or more media data playback systems of the client computer.
Claim 34
Dependent Claim 128 words
The client computer of claim 21, wherein the means for sending the server computer a list of media data objects which may be requested by the client computer comprises: means for creating the list of media objects; means for sending a request to the server computer to allocate a resource for storing the media objects; means for receiving an identifier of the resource from the server computer; means for sending a request to the server computer to associate media objects from the list with the resource, including an identifier of the resource, an indication of the location in the resource where the object is to be inserted, an identifier of the media object and an offset and a range in a media data file of the media object.
Claim 35
Dependent Claim 239 words
A process for communicating media data in a distributed multimedia network system, including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files and a client computer connected to the server computer by a computer network, the process comprising the steps of: the client computer sending the server computer a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; the server computer allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; the server computer retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; the client computer sending a request for media data of one of the media data objects to the server computer; and the server computer operating in response to the request from the client computer for media data of one of the media objects to transmit the media data of the media object to the client computer from the allocated buffer in the memory of the server computer.
Claim 36
Dependent Claim 239 words
A process for communicating media data in a distributed multimedia network system, including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files and a client computer connected to the server computer by a computer network, the process comprising the steps of: the client computer sending the server computer a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; the server computer allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; the server computer retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; the client computer sending a request for media data of one of the media data objects to the server computer; and the server computer operating in response to the request from the client computer for media data of one of the media objects to transmit the media data of the media object to the client computer from the allocated buffer in the memory of the server computer.
Claim 37
Dependent Claim 31 words
The process of claim 32, wherein the step of authorizing includes the step of sending the server computer window packets indicative of an amount of data the client can reliably receive.
Claim 38
Dependent Claim 55 words
The process of claim 32, further comprising the step of receiving in the client computer packets of media data from the server computer and the step of processing the media data at the client computer to automatically and directly transfer the media data to memory used by a display system for displaying the media data.
Claim 39
Dependent Claim 32 words
The process of claim 32, wherein the step of requesting data is performed in response to needs for media data by one or more media data playback systems of the client computer.
Claim 40
Dependent Claim 122 words
The process of claim 32, wherein the step of sending the server computer a list of media data objects which may be requested by the client computer comprises the steps of: creating the list of media objects; sending a request to the server computer to allocate a resource for storing the media objects; receiving an identifier of the resource from the server computer; sending a request to the server computer to associate media objects from the list with the resource, including an identifier of the resource, an indication of the location in the resource where the object is to be inserted, an identifier of the media object and an offset and a range in a media data file of the media object.
Claim 41
Dependent Claim 69 words
The process of claim 32, wherein the step of allocating a buffer in a memory in the server computer for the media data objects in the list comprises the steps of: allocating a resource; opening for each media object the media data file and allocating a flow by linking the buffer to the resource and the data file; sending to the client computer an identifier of each flow allocated.
Claim 42
Dependent Claim 37 words
The process of claim 32, wherein the client computer creates a list of media objects for each type of media data, and wherein the server computer allocates a buffer for each list created by the client computer.
Claim 43
Dependent Claim 224 words
A process for communicating media data in a distributed multimedia network system, including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files and a client computer connected to the server computer by a computer network, the process comprising the steps, performed by the server computer, of: receiving, from the client computer, a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; receiving, from the client computer, a request for media data of one of the media data objects; and in response to the request from the client computer for media data of one of the media objects, transmitting the media data of the media object to the client computer from the allocated buffer in the memory.
Claim 44
Dependent Claim 224 words
A process for communicating media data in a distributed multimedia network system, including a server computer having a nonvolatile storage medium on which media data is stored in a plurality of media data files and a client computer connected to the server computer by a computer network, the process comprising the steps, performed by the server computer, of: receiving, from the client computer, a list of media data objects which may be requested by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; allocating a buffer in a memory in the server computer for the media data objects in the list, wherein the memory has a faster access time than that nonvolatile storage medium; retrieving media data of the media data objects in the list from the plurality of media data files stored on the nonvolatile storage medium and caching the retrieved media data in the allocated buffer; receiving, from the client computer, a request for media data of one of the media data objects; and in response to the request from the client computer for media data of one of the media objects, transmitting the media data of the media object to the client computer from the allocated buffer in the memory.
Claim 45
Dependent Claim 51 words
The process of claim 39, wherein the step of authorizing includes the step of receiving from the client computer window packets indicative of an amount of data the client can reliably receive, and wherein the server computer sends as much media data as indicated by any set of window packets received.
Claim 46
Dependent Claim 69 words
The process of claim 39, wherein the step of allocating a buffer in a memory in the server computer for the media data objects in the list comprises the steps of: allocating a resource; opening for each media object the media data file and allocating a flow by linking the buffer to the resource and the data file; sending to the client computer an identifier of each flow allocated.
Claim 47
Dependent Claim 34 words
The distributed multimedia network system of claim 39, wherein the step of reading the media data into the buffer includes the step of maintaining a window about a currently active point in the buffer.
Claim 48
Dependent Claim 155 words
A process for reading data from a server computer in a distributed multimedia network system having a nonvolatile storage medium on which media data is stored in a plurality of media data files, wherein the server computer is connected to a client computer by a computer network, comprising the steps, performed by the client computer, of: sending the server computer a list of media data objects which may be read by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; receiving from the server computer an indicator of a resource allocated at the server computer for storing the media data of the media objects; and sending a request for media data of one of the media data objects to the server computer, including the indicator of the allocated resource for storing the media data.
Claim 49
Dependent Claim 155 words
A process for reading data from a server computer in a distributed multimedia network system having a nonvolatile storage medium on which media data is stored in a plurality of media data files, wherein the server computer is connected to a client computer by a computer network, comprising the steps, performed by the client computer, of: sending the server computer a list of media data objects which may be read by the client computer, wherein each media data object includes an indicator of one of the plurality of media data files and a range of data within the media data file; receiving from the server computer an indicator of a resource allocated at the server computer for storing the media data of the media objects; and sending a request for media data of one of the media data objects to the server computer, including the indicator of the allocated resource for storing the media data.
Claim 50
Dependent Claim 43 words
The process of claim 43, further comprising, the step of authorizing the server computer to send only an amount of data which the client computer is capable of processing for controlling flow of media data from the server computer to the client computer.
Claim 51
Dependent Claim 31 words
The process of claim 44, wherein the step of authorizing includes the step of sending the server computer window packets indicative of an amount of data the client can reliably receive.
Claim 52
Dependent Claim 44 words
The process of claim 43, further comprising, the step of receiving packets of media data from the server computer and processing the media data to automatically and directly transfer the media data to memory used by a display system for displaying the media data.
Claim 53
Dependent Claim 32 words
The process of claim 43, wherein the step of requesting data is performed in response to needs for media data by one or more media data playback systems of the client computer.
Claim 54
Dependent Claim 119 words
The process of claim 43, wherein the step of sending the server computer a list of media data objects which may be requested by the client computer comprises: creating the list of media objects; sending a request to the server computer to allocate a resource for storing the media objects; receiving an identifier of the resource from the server computer; sending a request to the server computer to associate media objects from the list with the resource, including an identifier of the resource, an indication of the location in the resource where the object is to be inserted, an identifier of the media object and an offset and a range in a media data file of the media object.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-24 2002-02-23 2002-08-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-24 2006-02-23 2006-08-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-24 2010-02-23 2010-08-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag