Patent US5799150A successfully refreshed from Google Patents.
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
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.
References Cited (Backward Citations)
US3654708A
Cited
US4609358A
Cited
US4825354A
Cited
US4949248A
Cited
EP0459753A2
Cited
WO1991020144A1
Cited
EP0529864A1
Cited
US5313635A
Cited
US5309564A
Cited
US5642515A
Cited
US5341474A
Cited
WO1994001964A1
Cited
US5627996A
Cited
US5385475A
Cited
US5440336A
Cited
US5548726A
Cited
US5537585A
Cited
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 |