Streaming media delivery system
DC CAFCFirst Claim
Patent Images
1. A method for distributing a live audio or video program over the Internet from a server system to a plurality of user systems, the method comprising:
- receiving at the server system a continuous digitally encoded stream for the audio or video program, via a data connection from a live source, in real time, the server system comprising at least one computer;
upon receipt of the stream by the server system,supplying, at the server system, media data elements representing the program, each media data element comprising a digitally encoded portion of the program and having a playback rate,serially identifying the media data elements, said serial identification indicating a time sequence of the media data elements, andstoring the media data elements in a data structure under the control of the server system;
receiving requests at the server system via one or more data connections over the Internet, for one or more of the media data elements stored in the data structure, each received request specifying one or more serial identifiers of the requested one or more media data elements, each received request originating from a requesting user system of a plurality of user systems; and
responsive to the requests, sending, by the server system, the one or more media data elements having the one or more specified serial identifiers, to the requesting user systems corresponding to the requests;
whereinthe data connection between the server system and each requesting user system has a data rate more rapid than the playback rate of the one or more media data elements sent via that connection;
each sending is at a transmission rate as fast as the data connection between the server system and each requesting user system allows;
the one or more media data elements sent are selected without depending on the server system maintaining a record of the last media data element sent to the requesting user systems;
all of the media data elements that are sent by the server system to the plurality of user systems are sent in response to the requests; and
all of the media data elements that are sent by the server system to the requesting user systems are sent from the data structure under the control of the server system as the media data elements were first stored therein.
6 Assignments
Litigations
3 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 under control of a transport mechanism. A server buffer is prefilled with a predetermined amount of the audio/video data. When the transport mechanism causes data to be sent to the user'"'"'s computer, it is sent 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.
-
Citations
12 Claims
-
1. A method for distributing a live audio or video program over the Internet from a server system to a plurality of user systems, the method comprising:
-
receiving at the server system a continuous digitally encoded stream for the audio or video program, via a data connection from a live source, in real time, the server system comprising at least one computer; upon receipt of the stream by the server system, supplying, at the server system, media data elements representing the program, each media data element comprising a digitally encoded portion of the program and having a playback rate, serially identifying the media data elements, said serial identification indicating a time sequence of the media data elements, and storing the media data elements in a data structure under the control of the server system; receiving requests at the server system via one or more data connections over the Internet, for one or more of the media data elements stored in the data structure, each received request specifying one or more serial identifiers of the requested one or more media data elements, each received request originating from a requesting user system of a plurality of user systems; and responsive to the requests, sending, by the server system, the one or more media data elements having the one or more specified serial identifiers, to the requesting user systems corresponding to the requests;
whereinthe data connection between the server system and each requesting user system has a data rate more rapid than the playback rate of the one or more media data elements sent via that connection; each sending is at a transmission rate as fast as the data connection between the server system and each requesting user system allows; the one or more media data elements sent are selected without depending on the server system maintaining a record of the last media data element sent to the requesting user systems; all of the media data elements that are sent by the server system to the plurality of user systems are sent in response to the requests; and all of the media data elements that are sent by the server system to the requesting user systems are sent from the data structure under the control of the server system as the media data elements were first stored therein. - View Dependent Claims (2, 3, 4)
-
-
5. A server system for distributing a live audio or video program over the Internet to a plurality of user systems, the server system comprising:
-
at least one computer having a connection to the Internet; a machine-readable, executable routine containing instructions to cause one of the at least one computers to receive a continuous digitally encoded stream for the live audio or video program, via a data connection from a live source, in real time; a machine-readable, executable routine containing instructions to cause one of the at least one computers, upon receipt of the stream by the server system, to supply, at the server system, media data elements representing the program, each media data element comprising a digitally encoded portion of the program and having a playback rate, to serially identify the media data elements, said serial identification indicating a time sequence of the media data elements, and to store the media data elements in a data structure under the control of the server system; a machine-readable, executable routine containing instructions to cause one of the at least one computers to receive requests at the server system via one or more data connections over the Internet, for one or more of the media data elements stored in the data structure, each received request specifying one or more serial identifiers of the requested one or more media data elements, each received request originating from a requesting user system of a plurality of user systems; and a machine-readable, executable routine containing instructions to cause one of the at least one computers to send, responsive to the requests, the one or more media data elements having the one or more specified serial identifiers, to the requesting user systems corresponding to the requests;
wherein,the data connection between the server system and each requesting user system has a data rate more rapid than the playback rate of the one or more media data elements sent via that connection; each sending is at a transmission rate as fast as the data connection between the server system and each requesting user system allows; the one or more media data elements sent are selected without depending on the server system maintaining a record of the last media data element sent to the requesting user systems; all of the media data elements that are sent by the server system to the plurality of user systems are sent in response to the requests; and all of the media data elements that are sent by the server system to the requesting user systems are sent from the data structure under the control of the server system as the media data elements were first stored therein. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product for distributing a live audio or video program over the Internet from a server system comprising at least one computer to a plurality of user systems, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions comprising:
-
instructions executable to cause one of the at least one computers to receive a continuous digitally encoded stream for the audio or video program, via a data connection from a live source, in real time; instructions executable to cause one of the at least one computers, upon receipt of the stream by the server system, to supply, at the server system, media data elements representing the program, each media data element comprising a digitally encoded portion of the program and having a playback rate, to serially identify the media data elements, said serial identification indicating a time sequence of the media data elements, and to store the media data elements in a data structure under the control of the server system; instructions executable to cause one of the at least one computers to receive requests at the server system via one or more data connections over the Internet, for one or more of the media data elements stored in in the data structure, each received request specifying one or more serial identifiers of the requested one or more media data elements, each received request originating from a requesting user system of a plurality of user systems; and instructions executable to cause one of the at least one computers to send, responsive to the requests, the one or more media data elements having the one or more specified serial identifiers, to the requesting user systems corresponding to the requests;
wherein,the data connection between the server system and each requesting user system has a data rate more rapid than the playback rate of the one or more media data elements sent via that connection; each sending is at a transmission rate as fast as the data connection between the server system and each requesting user system allows; the one or more media data elements sent are selected without depending on the server system maintaining a record of the last media data element sent to the requesting user systems; all of the media data elements that are sent by the server system to the plurality of user systems are sent in response to the requests; and all of the media data elements that are sent by the server system to the requesting user systems are sent from the data structure under the control of the server system as the media data elements were first stored therein. - View Dependent Claims (10, 11, 12)
-
Specification