US2020153881A1PendingUtilityA1

Streaming media delivery system

Assignee: WAG ACQUISITION L L CPriority: Sep 12, 2000Filed: Jan 10, 2020Published: May 14, 2020
Est. expirySep 12, 2020(expired)· nominal 20-yr term from priority
H04N 21/44004H04L 49/9084H04L 49/901H04N 21/6125H04L 69/16H04N 21/23406H04N 21/23805H04N 21/2407H04L 65/80H04N 21/64776H04L 29/06455H04L 65/4084H04L 49/90H04L 29/06027H04L 65/4076H04L 65/611H04L 65/612
67
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
I claim: 
     
         1 . A method for distributing an audio or video program over the Internet, the method comprising:
 filling a first data structure of a server system to a first predetermined level with sequential media data elements,
 the server system comprising at least one computer, 
 each media data element comprising a digitally encoded portion of a first audio or video program; 
   maintaining approximately the first predetermined level of media data elements in the first data structure by removing the oldest media data element from the first data structure at about the playback rate of that oldest media data element;   receiving at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer;   sending, to each requesting system, any media data elements in the first data structure unsent to that requesting system, whenever such unsent media data elements are in the first data structure, wherein,
 each sending is at a transmission rate as fast as the data connection between the server system and each requesting system allows; and 
 all of the media data elements that are sent by the server system to the requesting systems are sent from the first data structure as the media data elements were first stored therein. 
   
     
     
         2 . The method of  claim 1 , further comprising:
 filling a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of a second audio or video program; 
   maintaining approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   receiving at least one request, at the server system, via at least one data connection over the Internet, for the second audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   sending, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         3 . The method of  claim 1 , further comprising:
 filling a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of the first audio or video program; 
   maintaining approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   receiving at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   sending, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         4 . The method of  claim 1 , wherein each requesting system is associated with one of the at least one data connection. 
     
     
         5 . The method of  claim 1 , wherein the sending is via a reliable transmission protocol. 
     
     
         6 . The method of  claim 3 , wherein the reliable transmission protocol is TCP. 
     
     
         7 . A server system for distributing an audio or video program over the Internet, 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 fill a first data structure of the server system to a first predetermined level with sequential media data elements, each media data element comprising a digitally encoded portion of a first audio or video program;   a machine-readable, executable routine containing instructions to cause one of the at least one computers to maintain approximately the first predetermined level of media data elements in the first data structure by removing the oldest media data element from the first data structure at about the playback rate of that oldest media data element;   a machine-readable, executable routine containing instructions to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer;   a machine-readable, executable routine containing instructions to cause one of the at least one computers to send, to each requesting system, any media data elements in the first data structure unsent to that requesting system, whenever such unsent media data elements are in the first data structure, wherein,
 each sending is at a transmission rate as fast as the data connection between the server system and each requesting system allows; and 
 all of the media data elements that are sent by the server system to the requesting systems are sent from the first data structure as the media data elements were first stored therein. 
   
     
     
         8 . The server system of  claim 7 , further comprising:
 a machine-readable, executable routine containing instructions to cause one of the at least one computers to fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of a second audio or video program; 
   a machine-readable, executable routine containing instructions to cause one of the at least one computers to maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   a machine-readable, executable routine containing instructions to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the second audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   a machine-readable, executable routine containing instructions to cause one of the at least one computers to send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         9 . The server system of  claim 7 , further comprising:
 a machine-readable, executable routine containing instructions to cause one of the at least one computers to fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of the first audio or video program; 
   a machine-readable, executable routine containing instructions to cause one of the at least one computers to maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   a machine-readable, executable routine containing instructions to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   a machine-readable, executable routine containing instructions to cause one of the at least one computers to send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         10 . The server system of  claim 7 , wherein each requesting system is associated with one of the at least one data connection. 
     
     
         11 . The server system of  claim 7 , wherein the sending is via a reliable transmission protocol. 
     
     
         12 . The server system of  claim 11 , wherein the reliable transmission protocol is TCP. 
     
     
         13 . A computer program product for distributing an audio or video program over the Internet from a server system comprising at least one computer having a connection to the Internet, 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 fill a first data structure of the server system to a first predetermined level with sequential media data elements, each media data element comprising a digitally encoded portion of a first audio or video program;   instructions executable to cause one of the at least one computers to maintain approximately the first predetermined level of media data elements in the first data structure by removing the oldest media data element from the first data structure at about the playback rate of that oldest media data element;   instructions executable to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer;   instructions executable to cause one of the at least one computers to send, to each requesting system, any media data elements in the first data structure unsent to that requesting system, whenever such unsent media data elements are in the first data structure, wherein,
 each sending is at a transmission rate as fast as the data connection between the server system and each requesting system allows; and 
 all of the media data elements that are sent by the server system to the requesting systems are sent from the first data structure as the media data elements were first stored therein. 
   
     
     
         14 . The computer program product of  claim 13 , further comprising:
 instructions executable to cause one of the at least one computers to fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of a second audio or video program; 
   instructions executable to cause one of the at least one computers to maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   instructions executable to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the second audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   instructions executable to cause one of the at least one computers to send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         15 . The method of  claim 1 , further comprising:
 instructions executable to cause one of the at least one computers to fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of the first audio or video program; 
   instructions executable to cause one of the at least one computers to maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   instructions executable to cause one of the at least one computers to receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   instructions executable to cause one of the at least one computers to send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         16 . The computer program product of  claim 13 , wherein each requesting system is associated with one of the at least one data connection. 
     
     
         17 . The computer program product of  claim 13 , wherein the sending is via a reliable transmission protocol. 
     
     
         18 . The computer program product of  claim 17 , wherein the reliable transmission protocol is TCP. 
     
     
         19 . A server system for distributing a live audio or video program over the Internet, the server system comprising at least one computer having a connection to the Internet, the server system being adapted to:
 fill a first data structure of the server system to a first predetermined level with sequential media data elements, each media data element comprising a digitally encoded portion of a first audio or video program;   maintain approximately the first predetermined level of media data elements in the first data structure by removing the oldest media data element from the first data structure at about the playback rate of that oldest media data element;   receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer;   send, to each requesting system, any media data elements in the first data structure unsent to that requesting system, whenever such unsent media data elements are in the first data structure, wherein,
 each sending is at a transmission rate as fast as the data connection between the server system and each requesting system allows; and 
 all of the media data elements that are sent by the server system to the requesting systems are sent from the first data structure as the media data elements were first stored therein. 
   
     
     
         20 . The server system of  claim 19 , further adapted to:
 fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of a second audio or video program; 
   maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   receive at least one request, at the server system, via at least one data connection over the Internet, for the second audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         21 . The server system of  claim 19 , further adapted to:
 fill a second data structure of the server system to a second predetermined level with sequential media data elements,
 each media data element comprising a digitally encoded portion of the first audio or video program; 
   maintain approximately the second predetermined level of media data elements in the second data structure by removing the oldest media data element from the second data structure at about the playback rate of that oldest media data element;   receive at least one request, at the server system, via at least one data connection over the Internet, for the first audio or video program, each received request originating from a requesting system, each requesting system comprising at least one computer; and   send, to each requesting system, any media data elements in the second data structure unsent to that requesting system, whenever such unsent media data elements are in the second data structure.   
     
     
         22 . The server system of  claim 19 , wherein each requesting system is associated with one of the at least one data connection. 
     
     
         23 . The server system of  claim 19 , wherein the sending is via a reliable transmission protocol. 
     
     
         24 . The server system of  claim 23 , wherein the reliable transmission protocol is TCP.

Join the waitlist — get patent alerts

Track US2020153881A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.