Streaming media buffering system
First Claim
Patent Images
1. A system, for distributing streaming media via a data communications medium such as the Internet, said streaming media composed of a plurality of time-sequenced data elements, comprising:
- (a) a server connected to said data communications medium for transmitting said data elements;
(b) a server buffer for storing at least one of said data elements for transmission;
(c) means for receiving said data elements sequentially;
(d) a server buffer manager comprising means for supplying said server buffer with a predetermined number of data elements at a constant time-sequenced fill rate, and when said server buffer is full, for each new data element to be received into the buffer, deleting the oldest data element from the buffer;
(e) at least one user computer connected to said server via said data communications medium;
(f) a user buffer associated with said user computer and being provided with means for storing a predetermined number of said data elements, which predetermined number may be different from the predetermined number of data elements to be stored in the server buffer; and
(g) a user buffer manager associated with said user computer and being provided with means for receiving data elements into the buffer, and playing out audio/video material from said user buffer at a constant time-sequenced depletion rate;
(h) a means for maintaining a record for each user of the last data element that had been sent, and for causing additional media data to be sent until all the data elements in the server buffer have been sent to said user computer, said means arranged in such a way as to maintain the pre-determined number of data elements in the user buffer, whereby said server sends said sequential data elements at a data rate as fast as the data connection between the server and the user computer will support.
6 Assignments
0 Petitions
Accused Products
Abstract
Streaming media, such as audio or video files, is sent via the Internet. The media are immediately played on a user'"'"'s computer. Audio/video data is transmitted from the server more rapidly than it is played out by the user system. The audio/video data in the user buffer accumulates; and interruptions in playback as well as temporary modem delays are avoided.
148 Citations
16 Claims
-
1. A system, for distributing streaming media via a data communications medium such as the Internet, said streaming media composed of a plurality of time-sequenced data elements, comprising:
-
(a) a server connected to said data communications medium for transmitting said data elements;
(b) a server buffer for storing at least one of said data elements for transmission;
(c) means for receiving said data elements sequentially;
(d) a server buffer manager comprising means for supplying said server buffer with a predetermined number of data elements at a constant time-sequenced fill rate, and when said server buffer is full, for each new data element to be received into the buffer, deleting the oldest data element from the buffer;
(e) at least one user computer connected to said server via said data communications medium;
(f) a user buffer associated with said user computer and being provided with means for storing a predetermined number of said data elements, which predetermined number may be different from the predetermined number of data elements to be stored in the server buffer; and
(g) a user buffer manager associated with said user computer and being provided with means for receiving data elements into the buffer, and playing out audio/video material from said user buffer at a constant time-sequenced depletion rate;
(h) a means for maintaining a record for each user of the last data element that had been sent, and for causing additional media data to be sent until all the data elements in the server buffer have been sent to said user computer, said means arranged in such a way as to maintain the pre-determined number of data elements in the user buffer, whereby said server sends said sequential data elements at a data rate as fast as the data connection between the server and the user computer will support. - View Dependent Claims (2)
-
-
3. A system for distributing streaming media via a data communications medium such as the Internet, said streaming media composed of a plurality of time-sequenced data elements, comprising:
-
(a) a source computer system being provided with media source material data elements, and being connected to said data communications medium for transmitting said data elements to a server computer;
(b) a server connected to said data communications medium for receiving said data elements from said source computer system, and for transmitting said data elements to user computers;
(c) a server buffer for storing at least one of said data element for transmission;
(d) a means for receiving said data elements sequentially;
(e) a server buffer manager comprising means for receiving said data elements that have been transmitted by the source computer system, supplying said server buffer with a predetermined number of data elements at a constant time-sequenced fill rate, and when said server buffer is full, for each new data element to be received into the buffer, deleting the oldest data element from the buffer;
(f) at least one user computer connected to said distribution server via said data communications medium;
(g) a user buffer associated with said user computer and being provided with means for storing a predetermined number of said data elements, which predetermined number may be different from the predetermined number of data elements to be stored in the server buffer; and
(h) a user buffer manager associated with said user computer and being provided with means for receiving data elements into the buffer, and playing out audio/video material from said user buffer at a constant time-sequenced depletion rate;
(i) a means for maintaining a record for each user of the last data element that had been sent, and for causing additional media data to be sent until all the data elements in the server buffer have been sent to said user computer, said means arranged in such a way as to maintain the pre-determined number of data elements in the user buffer;
whereby said server sends said sequential data elements at a data rate as fast as the data connection between the server and the user computer will support. - View Dependent Claims (4)
-
-
5. A method for distributing streaming media via a data communications medium such as the Internet from a server, said streaming media composed of a plurality of time-sequenced data elements, comprising the steps of:
-
(a) providing a plurality of time-sequenced data elements;
(b) loading a predetermined number of said data elements sequentially into a server buffer, which process continues indefinitely as long as there is media data available;
(c) when said server buffer is full with said predetermined number of said data elements, deleting from said server buffer the oldest data element each time a new data element is loaded into the buffer, the loading arrangement being adapted to maintain the predetermined number of data elements in the buffer;
(d) sending via said data communications medium a group of said data elements sequentially from said server buffer to a user computer connected to said Internet as fast as the connection between the server and the user computer will allow;
(e) loading said sent group of data elements into a user'"'"'s buffer associated with said user computer;
(f) playing said media on said user computer as soon as said data elements first arrive, said played data elements being deleted from said user buffer;
(g) maintaining a record of the last data element having been sent to a user;
(h) if said user buffer is not full, sending the next sequential data elements to said user computer in such a manner that fills the user buffer to a predetermined number of data elements, and maintains that predetermined number of data elements in the buffer; and
(i) repeating steps “
(b)”
through “
(h)”
until all of said data elements of the streaming media are played by said user computer. - View Dependent Claims (6)
-
-
7. A system for distributing streaming media via a data communications medium such as the Internet, said streaming media being composed of a plurality of time-sequenced data elements, comprising:
-
(a) a server connected to said data communications medium for transmitting said data elements;
(b) a server buffer for storing up to a pre-determined number of said data elements for transmission;
(c) means for supplying said server buffer with said data elements;
(d) server buffer manager means for deleting the data element that is the oldest from said server buffer for each new data element to be received into said server buffer when said server buffer is full;
(e) at least one user computer connected to said data communications medium;
(f) transmission means associated with said server for sending said data elements stored in said server buffer to said user computer via said data communications medium;
(g) a user buffer associated with said user computer and being provided with means for storing up to a predetermined number of said data elements, which predetermined number may be different from said predetermined number of data elements to be stored in said server buffer;
(h) receiving means associated with said user computer for receiving data elements sent from said server via said data communications medium, and for storing said received data elements in said user buffer;
(i) playing means for playing out audio/video material from said user buffer, said playing out comprising generating audio or video on said user computer from said data elements;
(j) deleting means for deleting said played out data elements from said user buffer; and
(k) sending means when said user buffer is not full, to send data elements from said server buffer to said user computer at a rate faster than the rate at which said data elements are played out. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for distributing streaming media via a data communications medium such as the Internet from a server, said streaming media being composed of a plurality of time-sequenced data elements, comprising the steps of:
-
(a) providing a plurality of time-sequenced data elements;
(b) loading a predetermined number of said data elements into a server buffer causing it to be full;
(c) when said server buffer is full with said predetermined number of said data elements, loading said server buffer with said data elements at a rate approximately equal to the rate at which said data elements are played out when converted to audio or video, and deleting from said server buffer the oldest data element each time a new data element is loaded into said buffer, the loading and deleting arrangement being adapted to maintain the predetermined number of data elements in said buffer;
(d) sending via said data communications medium a group of said data elements sequentially from said server buffer to a user computer as fast as the connection between the server and the user computer will allow;
(e) loading said sent group of data elements into a user'"'"'s buffer associated with said user computer;
(f) playing said media on said user computer as soon as said data elements first arrive, said played data elements being deleted from said user buffer;
(g) if said user buffer is not full, sending the next sequential data elements to said user computer at a rate as fast as the connection between said server and said user computer will support in such a manner that fills the user buffer to a predetermined number of data elements, and maintains that predetermined number of data elements in the buffer; and
(h) repeating steps “
(b)”
through “
(g)”
until all of said data elements of the streaming media are played by said user computer. - View Dependent Claims (16)
-
Specification