Providing a presentation on a network having a plurality of synchronized media types
First Claim
1. A system for synchronizing display of at least one non-streaming portion of at least one presentation with at least one streaming portion of the presentation when the non-streaming and the streaming portions of the presentation are performed on at least a first network node via at least one communications network, the system comprising at least the following:
- a time generator for outputting at least first and second timing data for synchronizing performance of said non-streaming and streaming portions at the at least first network node, wherein the second timing data is for a corresponding content in the streaming portion;
a presentation controlling node coupled to receive the first timing data and for transmitting to the at least first network node, via the communications network, presentation control information including;
(a) at least a first presentation command related to displaying the non-streaming portion at the first network node, and (b) a first time value derived from said first timing data, wherein said first time value is indicative of a time for performing the at least first presentation command at the first network node;
a presentation time determining component at said first network node for determining a second time value indicative of a time for performing at least part of said streaming portion at said first network node, wherein said second time value is determined from said second timing data by locating in the streaming portion received at the first network node, the corresponding content for the second timing data;
a time delay determining component at said first network node for determining a time delay between said first time value and the second time value;
a presentation synchronization component for using said time delay to delay the performing, at said first network node, of the non-streaming portion relative to the streaming portion.
17 Assignments
0 Petitions
Accused Products
Abstract
A presentation system is disclosed for synchronizing a performance of a plurality of presentation content portions at a network node, wherein, when two such content portions are to be presented concurrently at the network node, at least one is delayed until the other such portion can be presented concurrently therewith. In one embodiment, the content portions are transmitted via at least a portion of the Internet to a plurality of network nodes, wherein the presentation system can distribute the presentation content data to the network nodes via a plurality of network routes and presentation formats. Additionally, the present invention can provide various portions of the content data from a plurality of network server nodes, and during a performance of the presentation, the presentation receiving network nodes can determine a particular variation of the presentation to retrieve from the network server nodes. In particular, the retrieval of presentation data depends upon the transmission characteristics of the network such as data transmission rate. Thus, if a low transmission data rate is detected at a first network node, presentation elements of a reduced size can be retrieved.
-
Citations
35 Claims
-
1. A system for synchronizing display of at least one non-streaming portion of at least one presentation with at least one streaming portion of the presentation when the non-streaming and the streaming portions of the presentation are performed on at least a first network node via at least one communications network, the system comprising at least the following:
-
a time generator for outputting at least first and second timing data for synchronizing performance of said non-streaming and streaming portions at the at least first network node, wherein the second timing data is for a corresponding content in the streaming portion; a presentation controlling node coupled to receive the first timing data and for transmitting to the at least first network node, via the communications network, presentation control information including;
(a) at least a first presentation command related to displaying the non-streaming portion at the first network node, and (b) a first time value derived from said first timing data, wherein said first time value is indicative of a time for performing the at least first presentation command at the first network node;a presentation time determining component at said first network node for determining a second time value indicative of a time for performing at least part of said streaming portion at said first network node, wherein said second time value is determined from said second timing data by locating in the streaming portion received at the first network node, the corresponding content for the second timing data; a time delay determining component at said first network node for determining a time delay between said first time value and the second time value; a presentation synchronization component for using said time delay to delay the performing, at said first network node, of the non-streaming portion relative to the streaming portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for synchronizing a performance of at least one non-streaming portion of a presentation with at least one streaming portion of the presentation when the non-streaming and streaming portions of the presentation are performed on at least first and second network nodes, via at least one communications network, method comprising at least the following:
-
storing a plurality of segments of a presentation for network access, via one or more content supplying nodes of a communications network, wherein there are subcollections of one or more of the segments, each subcollection having a predetermined presentation order and there are a first and a second of the subcollections, wherein said first subcollection is replaceable with said second subcollection when presenting the presentation; identifying a plurality of network nodes for presenting the presentation, including the first and second network nodes; outputting at least one occurrence of each of first and second timing data for synchronizing a non-streaming portion, and a streaming portion of the presentation at the first and second client nodes, wherein the second timing data identifies a timing for each of one or more presentation extents in the streaming portion; first providing, via the communications network, one or more first instances of presentation control information to the first network node for controlling the presentation at the first network node; second providing, via the communications network, one or more second instances of presentation control information to the second network node for controlling the presentation at the second network node; wherein, for each network node of said first and second network nodes, said corresponding one of the first and second instances of presentation control information includes at least (a1) through (a3) following; (a1) identifications of said content supplying nodes, (a2) at least a first presentation command related to displaying the non-streaming portion at the network node, and (a3) a presentation time value derived from said first timing data, wherein said presentation time value is indicative of a time for performing the at least first presentation command at the network node; first transmitting said first subcollection from one or more of said content supplying nodes for presenting at the first network node, wherein said first instance(s) of presentation control information is used for obtaining said first subcollection at the first network node; second transmitting said second subcollection from one or more of said content supplying nodes for presenting at the second network node substantially simultaneously with the presenting of the first subcollection at the first network node, wherein said second instance(s) of presentation control information is used by the second network node for presenting said second subcollection at the second network node; synchronizing a performance of the presentation at the first network node with a performance of the presentation at the second network node, wherein each node (N) of said first and second network nodes include (b1) through (b3) following; (b1) a corresponding presentation time determining component for determining a stream time value relative to performing at least part of said streaming portion, wherein the stream time value is determined from the second timing data by performing a step of matching a content for the streaming portion with a content for one of the presentation extents, (b2) a corresponding time delay component for determining a time delay between the stream time value and a corresponding instance of the presentation time value; and (b3) a presentation synchronization component for using said time delay to delay a performance, at the node N, of the non-streaming presentation portion relative to a performance of the streaming presentation portion. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method for presenting a networked presentation, comprising the steps of:
-
first providing, via a communications network, one or more first instances of presentation control information to a first network node for controlling a first performance of the presentation at the first network node; second providing, via the communications network, one or more second instances of presentation control information to a second network node for controlling a second performance of the presentation at the second network node; wherein the presentation control information instances from each of said first and second instances are used to substantially synchronize the first and second performances of the presentation; wherein, of the first and second instances of presentation control information further provides, to a corresponding one of the first and second network nodes, (a1) through (a4) following; (a1) an identification of content supplying nodes for supplying at least a non-streaming portion for performing the presentation, (a2) at least a first presentation command related to displaying the non-streaming portion at the corresponding network node, (a3) presentation timing information (PTI) indicative of a time for performing the at least first presentation command at the corresponding network node; and (a4) stream timing information (STI) for synchronizing a stream portion of the presentation with the non-streaming portion at the corresponding network node, wherein STI includes timing data indicative of a corresponding content in the stream portion, and additionally includes a representation of the content; first transmitting to the first and second network nodes quantity of the streaming portion; second transmitting to the first and second network nodes quantity of the non-streaming portion; wherein for each performance (P) of the first and second performances of the presentation, (b1) through (b3) occur; (b1) a stream time value (STV), indicative of a time for performing at least part of said streaming portion quantity, is determined from a received occurrence of the STI by locating in the streaming portion quantity, the representation of the content of STI, (b2) a time delay between the STV and a corresponding instance of the PTI is determined; and (b3) there is synchronization, at the network node providing the performance P, between the stream portion quantity and the non-stream portion quantity, said synchronization using said time delay of (b2) to delay presenting the non-streaming portion extent relative to presenting the streaming portion extent. - View Dependent Claims (28, 29, 30)
-
-
31. A system for synchronizing display of at least one non-streaming portion of at least one presentation with at least one streaming portion of the presentation when the non-streaming and the streaming portions of the presentation are performed on at least a first network node via at least one communications network, the system comprising at least the following:
-
a time generator for outputting at least first and second timing data for synchronizing performance of said non-streaming and streaming portions at the at least first network node; a presentation controlling node coupled to receive the first timing data and for transmitting to the at least first network node, via the communications network, presentation control information including;
(a) at least a first presentation command related to displaying at least a portion of the presentation at the first network node, and (b) a first time value derived from said first timing data, wherein said first time value is indicative of a time for performing the at least first presentation command at the first network node;wherein the presentation control information provides information for identifying a first collection of one or more presentation segments for presenting on the at least first network node, and for identifying an alternative collection of one or more presentation segments for presenting on the at least first network node, wherein the first and the alternative collections are each replaceable with the other when presenting the presentation; a computational component for determining network performance information of the communications network, wherein said computational component determines said network performance information using network data obtained from network transmissions detected at said at least first network node; a first segment selector, activated after said at least first network node receives said presentation control information, for selecting, using said network performance information, as a selected collection, one of said first and said alternative collections for transmitting to said at least first network node; a presentation time determining component at said first network node for determining a second time value relative to performing at least part of said streaming portion at said first network node, wherein said second time value is determined using said second timing data; a time delay determining component at said first network node for determining a time delay between said first time value and the second time value; and a presentation synchronization component for using said time delay to delay the performing, at said first network node, of the non-streaming portion relative to the streaming portion.
-
-
32. A system for synchronizing display of at least one non-streaming portion of at least one presentation with at least one streaming portion of the presentation when the non-streaming and the streaming portions of the presentation are performed on at least a first network node via at least one communications network, the system comprising at least the following:
-
a time generator for outputting at least first and second timing data for synchronizing performance of said non-streaming and streaming portions at the at least first network node; a presentation controlling node coupled to receive the first timing data and for transmitting to the at least first network node, via the communications network, presentation control information including;
(a) at least a first presentation command related to displaying at least a portion of the presentation at the first network node, and (b) a first time value derived from said first timing data, wherein said first time value is indicative of a time for performing the at least first presentation command at the first network node;wherein the presentation control information provides information for identifying a first collection of one or more presentation segments for presenting on the at least first network node, and for identifying an alternative collection of one or more presentation segments for presenting on the at least first network node, wherein the first and the alternative collections are each replaceable with the other when presenting the presentation; a computational component for determining network performance information of the communications network, wherein said computational component determines said network performance information using network data obtained from network transmissions detected at said at least first network node; a first segment selector, activated after said at least first network node receives said presentation control information, for selecting, using said network performance information, as a selected collection, one of said first and said alternative collections for transmitting to said at least first network node; wherein the selected collection is transmitted to the at least first network node; wherein a second collection of presentation segments is transmitted to a second network node; wherein the selected collection and the second collection are presented, respectively, via the first and second network nodes substantially concurrently, and the selected and second collections have corresponding presentation contents; a presentation time determining component at said first network node for determining a second time value relative to performing at least part of said streaming portion at said first network node, wherein said second time value is determined using said second timing data; a time delay determining component at said first network node for determining a time delay between said first time value and the second time value; and a presentation synchronization component for using said time delay to delay the performing, at said first network node, of the non-streaming portion relative to the streaming portion.
-
-
33. A system for synchronizing display of at least one non-streaming portion of at least one presentation with at least one streaming portion of the presentation when the non-streaming and the streaming portions of the presentation are performed on at least a first network node via at least one communications network, the system comprising at least the following:
-
a time generator for outputting at least first and second timing data for synchronizing performance of said non-streaming and streaming portions at the at least first network node; a presentation controlling node coupled to receive the first timing data and for transmitting to the at least first network node, via the communications network, presentation control information including;
(a) at least a first presentation command related to displaying at least a portion of the presentation at the first network node, and (b) a first time value derived from said first timing data, wherein said first time value is indicative of a time for performing the at least first presentation command at the first network node;wherein the presentation control information provides information for identifying a first collection of one or more presentation segments for presenting on the at least first network node, and for identifying an alternative collection of one or more presentation segments for presenting on the at least first network node, wherein the first and the alternative collections are each replaceable with the other when presenting the presentation; a computational component for determining network performance information of the communications network, wherein said computational component determines said network performance information using network data obtained from network transmissions detected at said at least first network node; wherein said computational component includes a network analyzer for determining said network performance information using one or more of the following types of said network data;
(a) a data transmission rate of said communications network at said first network node;
(b) a fluctuation in bandwidth of said communications network at said first network node; and
(c) a statistical prediction of a bandwidth of said communications network at said first network node;a first segment selector, activated after said at least first network node receives said presentation control information, for selecting, using said network performance information, as a selected collection, one of said first and said alternative collections for transmitting to said at least first network node; a presentation time determining component at said first network node for determining a second time value relative to performing at least part of said streaming portion at said first network node, wherein said second time value is determined using said second timing data; a time delay determining component at said first network node for determining a time delay between said first time value and the second time value; and a presentation synchronization component for using said time delay to delay the performing, at said first network node, of the non-streaming portion relative to the streaming portion.
-
-
34. A method for synchronizing a performance of at least one non-streaming portion of a presentation with at least one streaming portion of the presentation when the non-streaming and streaming portions of the presentation are performed on at least first and second network nodes, via at least one communications network, the method comprising at least the following:
-
storing a plurality of segments of a presentation for network access, via one or more content supplying nodes of a communications network, wherein there are subcollections of one or more of the segments, each subcollection having a predetermined presentation order, and there are first and second of the subcollections, wherein said first subcollection is replaceable with said second subcollection when presenting the presentation; identifying a plurality of network nodes for presenting the presentation, including the first and second network nodes; outputting at least first and second timing data for synchronizing non-streaming and streaming portions of the presentation at the first and second client nodes; first providing, via the communications network, one or more first instances of presentation control information to the first network node for controlling the presentation at the first network node; second providing, via the communications network, one or more second instances of presentation control information to the second network node for controlling the presentation at the second network node; wherein the steps of first providing, and second providing are performed substantially simultaneously, using the Internet as at least a portion of the communications network; wherein, for each network node of the first and second network nodes, the corresponding one of the first and second instances of presentation control information includes at least (a1) through (a3) following; (a1) identifications of the content supplying nodes, (a2) at least a first presentation command related to displaying the non-streaming portion at the network node, and (a3) a presentation time value derived from the first timing data, wherein the presentation time value is indicative of a time for performing the at least first presentation command at the network node; first transmitting the first subcollection from one or more of the content supplying nodes for presenting at the first network node, wherein the first instance(s) of presentation control information is used for obtaining the first subcollection at the first network node; second transmitting the second subcollection from one or more of the content supplying nodes for presenting at the second network node substantially simultaneously with the presenting of the first subcollection at the first network node, wherein the second instance(s) of presentation control information is used by the second network node for presenting the second subcollection at the second network node; synchronizing a performance of the presentation at the first network node with a performance of the presentation at the second network node so that each of the subcollections presented at the first network node is presented substantially simultaneously with some one of the subcollections at the second network node; wherein each node (N) of the first and second network nodes include (b
1) through (b3) following;(b1) a corresponding presentation time determining component for determining a stream time value relative to performing at least part of the streaming portion, (b2) a corresponding time delay component for determining a time delay between the stream time value and a corresponding instance of the presentation time value; and (b3) a presentation synchronization component for using said time delay to delay a performance, at the node N, of the non-streaming presentation portion relative to a performance of the streaming portion; wherein said step of synchronizing includes obtaining, by said first network node, a network performance measurement of a network transmission from a first of the content supplying network nodes to the first network node.
-
-
35. A method for synchronizing a performance of at least one non-streaming portion of a presentation with at least one streaming portion of the presentation when the non-streaming and streaming portions of the presentation are performed on at least first and second network nodes, via at least one communications network, the method comprising at least the following:
-
storing a plurality of segments of a presentation for network access, via one or store content supplying nodes of a communications network, wherein there are subcollections of one or more of the segments, each subcollection having a predetermined presentation order, and there are first and second of the subcollections, wherein said first subcollection is replaceable with said second subcollection when presenting the presentation; identifying a plurality of network nodes for presenting the presentation, including the first and second network nodes; outputting at least first and second timing data for synchronizing non-streaming and streaming portions of the presentation at the first and second client nodes; first providing, via the communications network, one or more first instances of presentation control information to the first network node for controlling the presentation at the first network node; second providing, via the communications network, one or more second instances of presentation control information to the second network node for controlling the presentation at the second network node; wherein, for each network node of said first and second network nodes, said corresponding one of the first and second instances of presentation control information includes at least (a1) through (a3) following; (a1) identifications of the content supplying nodes, (a2) at least a first presentation command related to displaying the non-streaming portion at the network node, and (a3) a presentation time value derived from the first timing data, wherein the presentation time value is indicative of a time for performing the at least first presentation command at the network node; first transmitting the first subcollection from one or more of the content supplying nodes for presenting at the first network node, wherein the first instance(s) of presentation control information is used for obtaining the first subcollection at the first network node; second transmitting the second subcollection from one or more of the content supplying nodes for presenting at the second network node substantially simultaneously with the presenting of the first subcollection at the first network node, wherein the second instance(s) of presentation control information is used by the second network node for presenting the second subcollection at the second network node; establishing whether the first subcollection is cached at said first network node within a desired time prior to a performance of the first subcollection; wherein the desired time is determined by comparing;
(a) a transmission rate of the communications network between the first network node, and at least one of said content supplying nodes; and
(b) a transmission rate of the communications network between the second network node, and at least one of said content supplying nodes;synchronizing a performance of the presentation at the first network node with a performance of the presentation at the second network node; wherein each node (N) of the first and second network nodes include (b1) through (b3) following; (b1) a corresponding presentation time determining component for determining a stream time value relative to performing at least part of the streaming portion, (b2) a corresponding time delay component for determining a time delay between the stream time value and a corresponding instance of the presentation time value; and (b3) a presentation synchronization component for using said time delay to delay a performance, at the node N, of the non-streaming presentation portion relative to a performance of the streaming portion.
-
Specification