System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
First Claim
1. A method of communication between a client and a continuous media server in a data network, said method comprising the steps of:
- (a) the client sending a first command to the server requesting the server to allocate server resources for a broadcast session including transmission of continuous media data from the server to a destination in the data network; and
then(b) the server receiving the first command and in response allocating server resources for the broadcast session and returning to the client an acknowledgement that server resources have been allocated for the broadcast session; and
then(c) the client receiving the acknowledgement and in response transmitting to the server at least a second command specifying a play-list of continuous media clips from which continuous media data are to be transmitted from the server to said destination during the broadcast session; and
then(d) the server receiving said at least a second command and thereafter beginning the broadcast session by transmitting continuous media data from a first clip in the play-list to said destination; and
then(e) the client sending to the server play-list edit commands during the transmission of continuous media data from at least one clip in the play-list for editing the play-list including the addition of at least one additional clip to the play-list, and the server receiving the play-list edit commands and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination.
7 Assignments
0 Petitions
Accused Products
Abstract
A protocol and interface provides continuous play over multiple clips for extended periods of time, allows a play-list to be edited dynamically after being given to the video server and during playback of clips in the play-list, allows some notion of "current time" to be used during the streaming of continuous media data, and supports features of the "Louth Automation" video disk communications protocol. Preferably, the client application first creates a session with a play-list containing a fixed number of entries; the number should be as small as possible consistent with the client'"'"'s requirements. The client edits this play-list by appending the first few clips and then starts the session playing. Each time transmission of video data of a clip is completed, the clip is removed from the head of the play-list, all other clips are moved down, and a callback is issued to the client with the current, updated, play-list. A callback is also issued with the updated play-list to acknowledge each edit command. Preferably, there is a limit as to how close to air-time a clip normally may be deleted or new material inserted, in order to ensure continuity of transmission of the video stream of each clip. To allow live break-ins or other "emergency" operations, however, the session may be paused and later resumed and subsequent clips may be "trimmed" to reduce their play times to recover the time lost to the break-in.
652 Citations
63 Claims
-
1. A method of communication between a client and a continuous media server in a data network, said method comprising the steps of:
-
(a) the client sending a first command to the server requesting the server to allocate server resources for a broadcast session including transmission of continuous media data from the server to a destination in the data network; and
then(b) the server receiving the first command and in response allocating server resources for the broadcast session and returning to the client an acknowledgement that server resources have been allocated for the broadcast session; and
then(c) the client receiving the acknowledgement and in response transmitting to the server at least a second command specifying a play-list of continuous media clips from which continuous media data are to be transmitted from the server to said destination during the broadcast session; and
then(d) the server receiving said at least a second command and thereafter beginning the broadcast session by transmitting continuous media data from a first clip in the play-list to said destination; and
then(e) the client sending to the server play-list edit commands during the transmission of continuous media data from at least one clip in the play-list for editing the play-list including the addition of at least one additional clip to the play-list, and the server receiving the play-list edit commands and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of communication between a client and a continuous media server in a data network, said method comprising the steps of:
-
(a) the server conducting a broadcast session for the client by transmitting continuous media data from clips in a play-list to a destination in said data network, beginning with continuous media data from a first clip in the play-list; (b) the client sending to the server play-list edit commands during the transmission of continuous media data from at least one clip in the play-list for editing the play-list including the addition of at least one additional clip to the play-list, and the server receiving the play-list edit commands and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination; wherein the server checks whether or not each of said play-list edit commands specifies a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, and when one of said play-list edit commands is found to specify a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, not editing the play-list in response to said one of said play-list edit commands, and instead returning an error message to the client. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of communication between a client and a continuous media server in a data network, said method comprising the steps of:
-
(a) the client sending a first command to the server requesting the server to create a broadcast session for the transmission of continuous media data from the server to a client-specified destination in the data network; and
then(b) the server receiving the first command and in response allocating server resources for the broadcast session and returning to the client a session handle identifying the allocated server resources; and
then(c) the client receiving the session handle and in response transmitting to the server at least one play-list edit command including the session handle and specifying at least one continuous media clip to be transmitted from the server to said destination during the broadcast session; and
then(d) the server receiving said at least one play-list edit command, producing an edited version of the play-list in accordance with said at least one play-list edit command, and acknowledging the play-list edit command by returning to the client the edited version of the play-list; and
then(e) the client receiving the edited version of the play-list and thereafter transmitting a command for beginning the broadcast session; and
then(f) the server receiving the command for beginning the broadcast session and in response beginning the broadcast session by transmitting continuous media data from a first clip in the play-list to said destination; and
then(g) the client sending to the server additional play-list edit commands during the transmission of continuous media data from at least one clip in the play-list for editing the play-list including the addition of at least one additional clip to the play-list, and the server receiving the additional play-list edit commands and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A continuous media server for use in a data network, said continuous media server comprising:
-
data storage for storing clips of continuous media data; and a controller for communicating with clients in the data network and being coupled to the data storage for controlling transmission of continuous media data from the data storage to destinations in the data network; wherein the controller is programmed for; (a) receiving from a client a first command requesting the server to allocate server resources for a broadcast session including transmission of continuous media data from the server to a destination in the data network, and in response allocating server resources for the broadcast session and returning to the client an acknowledgement that server resources have been allocated for the broadcast session; (b) receiving from the client a second command specifying a play-list of continuous media clips from which continuous media data are to be transmitted from the server to said destination during the broadcast session, and thereafter beginning a broadcast session by transmitting continuous media data from a first clip in the play-list to said destination; and (c) receiving from the client play-list edit commands during the transmission of continuous media data from at least one clip in the play-list for editing the play-list including the addition of at least one additional clip to the play-list, and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A continuous media server for use in a data network, said continuous media server comprising:
-
data storage for storing clips of continuous media data; and a controller for communicating with clients in the data network and being coupled to the data storage for controlling transmission of continuous media data from the data storage to destinations in the data network; wherein the controller is programmed for; (a) conducting a broadcast session for the client in which the server transmits continuous media data from clips in a play-list to a destination in said data network, beginning with continuous media data from a first clip in the play-list; and (b) receiving from the client play-list edit commands during the transmission of continuous media data from at least one clip in the play-list, and in response editing the play-list during the broadcast session, including the addition of at least one additional clip to the play-list, without interruption of the transmission of continuous media data from the server to said destination; wherein the controller is programmed for checking whether or not each of said play-list edit commands specifies a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, and when one of said play-list edit commands is found to specify a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, not editing the play-list in response to said one of said play-list edit commands, and instead returning an error message to the client. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A continuous media server for use in a data network, said continuous media server comprising:
-
data storage for storing clips of continuous media data; and a controller for communicating with clients in the data network and being coupled to the data storage for controlling transmission of continuous media data from the data storage to destinations in the data network; wherein the controller is programmed for; (a) receiving from the client a command requesting the server to create a broadcast session for the transmission of continuous media data from the server to a client-specified destination in the data network, and in response allocating server resources for the broadcast session and returning to the client a session handle identifying the allocated server resources; (b) receiving from the client at least one play-list edit command including the session handle and specifying at least one continuous media clip to be transmitted from the server to said destination during the broadcast session, editing a play-list for the session in accordance with the play-list edit command to produce an edited version of the play-list, and returning to the client the edited version of the play-list; (c) receiving from the client a command for beginning the broadcast session and in response beginning the broadcast session by beginning transmission of continuous media data from a first clip in the play-list to said destination; and (d) receiving from the client additional play-list edit commands during the transmission of continuous media data from at least one clip in the play-list, and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination. - View Dependent Claims (38, 39, 40, 41, 42)
-
-
43. A program storage device storing a program executable by a continuous media server in a data network, said program being executable by the server for:
-
(a) controlling the server for receiving from a client a first command requesting the server to allocate server resources for a broadcast session including transmission of continuous media data from the server to a destination in the data network, and in response allocating server resources for the broadcast session and returning to the client an acknowledgement that server resources have been allocated for the broadcast session; (b) controlling the server for receiving from the client a second command specifying a play-list of continuous media clips from which continuous media data are to be transmitted from the server to said destination during the broadcast session, and thereafter beginning a broadcast session by transmitting continuous media data from a first clip in the play-list to said destination; and (c) controlling the server for receiving from the client play-list edit commands during the transmission of continuous media data from at least one clip in the play-list, and in response editing the play-list, including the addition of at least one additional clip to the play-list, without interruption of the transmission of continuous media data from the server to said destination during the broadcast session. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A program storage device storing a program executable by a continuous media server in a data network, said program being executable by the server for:
-
(a) controlling the server for conducting a broadcast session for the client in which the server transmits continuous media data from clips in a play-list to a destination in said data network, beginning with continuous media data from a first clip in the play-list; and (b) controlling the server for receiving from the client play-list edit commands during the transmission of continuous media data from at least one clip in the play-list, and in response editing the play-list during the broadcast session, including the addition of at least one additional clip to the play-list, without interruption of the transmission of continuous media data from the server to said destination; wherein the program is executable by the server for checking whether or not each of said play-list edit commands specifies a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, and when one of said play-list edit commands is found to specify a change of continuous media too close to broadcast time to avoid an interruption of transmission of the continuous media data from the server to said destination, for not editing the play-list in response to said one of said play-list edit commands, and instead returning an error message to the client. - View Dependent Claims (54, 55, 56, 57)
-
-
58. A program storage device storing a program executable by a continuous media server in a data network, said program being executable by the server for:
-
(a) controlling the server for receiving from the client a command requesting the server to create a broadcast session for the transmission of continuous media data from the server to a client-specified destination in the data network, and in response allocating server resources for the broadcast session and returning to the client a session handle identifying the allocated server resources; (b) controlling the server for receiving from the client at least one play-list edit command including the session handle and specifying at least one continuous media clip to be transmitted from the server to said destination during the broadcast session, and for editing a play-list for the session in accordance with the play-list edit command to produce an edited version of the play-list, and for returning to the client the edited version of the play-list; (c) controlling the server for receiving from the client a command for beginning the broadcast session and in response beginning the broadcast session by beginning transmission of continuous media data from a first clip in the play-list to said destination; and (d) controlling the server for receiving from the client additional play-list edit commands during the transmission of continuous media data from at least one clip in the play-list, and in response editing the play-list during the broadcast session without interruption of the transmission of continuous media data from the server to said destination. - View Dependent Claims (59, 60, 61, 62, 63)
-
Specification