Messaging service for providing updates for multimedia content of a live event delivered over the internet
First Claim
Patent Images
1. A messaging server computing device comprising:
- a hardware interface configured to provide a set of one or more network connections coupled to the Internet;
a first tangible storage device configured as a subscription data store;
at least one processor device configured to interact with the subscription data store and the set of one or more network connections to;
receive through the set of network connections a subscription request from each of a plurality of media players, each respective media player of the plurality of media players operating on a client device coupled to the Internet; and
subscribe each respective media player of the plurality of media players to a messaging service for multimedia content of a live event to be encoded according to a timeline that is associated with an anchor point in time and delivered over the Internet substantially in real time as the live event is occurring by a content server using a unique content identifier by storing an entry in the subscription data store that indicates the respective media player is subscribed to receive updates for the unique content identifier; and
wherein the at least one processor device is further configured to;
receive an update for the unique content identifier from an encoding system that encodes the multimedia content through one of the set of network connections, wherein the update indicates a current duration of the multimedia content of the live event encoded into streamlets by the encoding system and stored on the content server; and
in response to the update for the unique content identifier received from the encoding system;
perform a lookup operation in the subscription data store using the unique content identifier to determine which of the plurality of media players are subscribed to the messaging service for the multimedia content of the live event; and
send an update message to each of the plurality of media players subscribed to the messaging service for the multimedia content of the live event over the set of network connections, wherein;
the update message indicates the current duration of the multimedia content of the live event encoded into streamlets according to the timeline;
the update message further includes real-time control information that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event;
each of the plurality of media players subscribed to the messaging service is configured to request the streamlets of the multimedia content of the live event for delivery over the Internet from the content server based on the current duration to avoid requesting multimedia content occurring after the current duration that is not available for delivery;
each of the plurality of media players subscribed to the messaging service is to play the requested streamlets of the multimedia content of the live event based the real-time control information to allow playback of the multimedia content of the live event at a specified point in time according to the timeline of the live event; and
each of the plurality of media players subscribed to the messaging service plays a video during the advertisement break in the timeline that is selected from a plurality of videos, wherein the selected video has a duration in time that is less than the scheduled duration of the advertisement break in the multimedia content of the live event.
8 Assignments
0 Petitions
Accused Products
Abstract
Messaging services for providing updates for multimedia content delivered over the Internet for a live event. In one embodiment, a messaging server provides real-time updates for multimedia content of a live event delivered over the Internet to multiple media players that request the multimedia content over the Internet. In one embodiment, the real-time updates indicate when the multimedia content is available for delivery over the Internet. In another embodiment, the real-time updates can be used to dynamically insert advertisement markers for advertisement breaks in the multimedia content.
161 Citations
26 Claims
-
1. A messaging server computing device comprising:
-
a hardware interface configured to provide a set of one or more network connections coupled to the Internet; a first tangible storage device configured as a subscription data store; at least one processor device configured to interact with the subscription data store and the set of one or more network connections to; receive through the set of network connections a subscription request from each of a plurality of media players, each respective media player of the plurality of media players operating on a client device coupled to the Internet; and subscribe each respective media player of the plurality of media players to a messaging service for multimedia content of a live event to be encoded according to a timeline that is associated with an anchor point in time and delivered over the Internet substantially in real time as the live event is occurring by a content server using a unique content identifier by storing an entry in the subscription data store that indicates the respective media player is subscribed to receive updates for the unique content identifier; and wherein the at least one processor device is further configured to; receive an update for the unique content identifier from an encoding system that encodes the multimedia content through one of the set of network connections, wherein the update indicates a current duration of the multimedia content of the live event encoded into streamlets by the encoding system and stored on the content server; and in response to the update for the unique content identifier received from the encoding system; perform a lookup operation in the subscription data store using the unique content identifier to determine which of the plurality of media players are subscribed to the messaging service for the multimedia content of the live event; and send an update message to each of the plurality of media players subscribed to the messaging service for the multimedia content of the live event over the set of network connections, wherein; the update message indicates the current duration of the multimedia content of the live event encoded into streamlets according to the timeline; the update message further includes real-time control information that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; each of the plurality of media players subscribed to the messaging service is configured to request the streamlets of the multimedia content of the live event for delivery over the Internet from the content server based on the current duration to avoid requesting multimedia content occurring after the current duration that is not available for delivery; each of the plurality of media players subscribed to the messaging service is to play the requested streamlets of the multimedia content of the live event based the real-time control information to allow playback of the multimedia content of the live event at a specified point in time according to the timeline of the live event; and each of the plurality of media players subscribed to the messaging service plays a video during the advertisement break in the timeline that is selected from a plurality of videos, wherein the selected video has a duration in time that is less than the scheduled duration of the advertisement break in the multimedia content of the live event. - View Dependent Claims (2, 3, 4, 24)
-
-
5. A client computing device comprising:
-
a hardware interface providing a set of one or more network connections to the Internet; and at least one processor operating on the client computing device to implement a media player, wherein the processor communicates with a messaging server through a first network connection of the set of one or more network connections to; send a subscription request to the messaging server over the first network connection to subscribe to a messaging service for multimedia content of a live event, wherein the multimedia content is being encoded and delivered substantially in real time as the live event is occurring, the subscription request including a unique content identifier for the multimedia content of the live event; receive an update message for the multimedia content of the live event over the first network connection, the update message indicating a current duration of the multimedia content of the live event that has been encoded into streamlets and stored on a content server, and the update message including real-time control information that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; and update a timeline of the live event using the current duration and the real-time control information, wherein the timeline of the live event is associated with an anchor point in time and indicates when the streamlets of the multimedia content of the live event are available to be requested for delivery by the content server over the Internet to allow the streamlets of the multimedia content of the live event to be played at a specified point in time according to the timeline of the live event; and wherein the at least one processor of the client computing device is further coupled to the content server through a second network connection of the set of one or more network connections to; determine what streamlets of the multimedia content of the live event to request for delivery by the content server over the second network connection based on the current duration; stage the requested streamlets of the multimedia content of the live event into a sequence of streamlets for playback of the multimedia content of the live event according to the timeline of the live event by determining when to play the requested streamlets of the multimedia content of the live event based on the timeline of the live event and the real-time control information; extract video frames from the sequence of streamlets of the multimedia content of the live event; and decode the video frames and render the decoded video frames as an output to a display; wherein the at least one processor of the client computing device is further configured to play a digital advertisement during the advertisement break that is selected from a plurality of available advertisements, wherein the selected advertisement has a duration in time that is less than the scheduled duration of the advertisement break in the multimedia content of the live event. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 25)
-
-
13. A computer-implemented method executed by a computing device that comprises a processor, data storage and interface to the Internet, the method comprising:
-
receiving, by a the computing device over a set of one or more network connections coupled to the Internet via the interface, a subscription request for multimedia content of a live event from each of a plurality of client devices, each respective client device coupled to the Internet and operating as a media player to a user of the client device, wherein the multimedia content is being encoded and delivered substantially in real time as the live event is occurring; subscribing, by the computing device, the plurality of media players to a messaging service for the multimedia content of the live event by storing an entry in a subscription data store that indicates the respective media player is subscribed to receive updates for a unique content identifier of the multimedia content of the live event; receiving, by the computing device over one of the set of one or more network connections, an update for the unique content identifier that indicates a current duration of the multimedia content of the live event encoded into streamlets by an encoder and stored on a content server, and that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; and in response to receiving the update for the unique content identifier; performing, by the computing device, a lookup operation in the subscription data store using the unique content identifier to determine which of the plurality of media players are subscribed to the messaging service for the multimedia content of the live event; and sending, by the computing device to each of the plurality of subscribed media players over the set of network connections, an update message that indicates the current duration of the multimedia content of the live event encoded into streamlets and includes real-time control information, wherein; each of the plurality of subscribed media players requests the streamlets of the multimedia content of the live event for delivery over the Internet by the content server based on the current duration to avoid requesting multimedia content that is not available for delivery; each of the plurality of subscribed media players is to play the requested streamlets of the multimedia content of the live event based the real-time control information to allow playback of the multimedia content of the live event at a specified point in time according to a timeline of the live event that is associated with an anchor point in time; and each of the plurality of subscribed media players is further configured to play a digital advertisement during the advertisement break that is selected from a plurality of available advertisements, wherein the selected advertisement has a duration in time that is shorter than the scheduled duration of the advertisement break in the multimedia content of the live event.
-
-
14. A computer-implemented method executed by a client device that comprises a processor, data storage and interface to the Internet, the method comprising:
-
requesting, by a media player operating on the client device coupled to the Internet subscribed to a messaging service for multimedia content of a live event, an encoded portion of the multimedia content of the live event from a content server over a first set of one or more network connections to the Internet via the interface according to a timeline of the live event, wherein the multimedia content is being encoded and delivered substantially in real time as the live event is occurring, and wherein the timeline of the live event is associated with an anchor point in time and indicates when the encoded portion of the multimedia content of the live event is to be played by the media player according to a schedule of the live event; receiving, by the media player, an update message from the messaging service over at least one of the first set of network connections to update the timeline of the live event, wherein the update message includes real-time control information and indicates when a subsequent encoded portion of the multimedia content of the live event is available for delivery by the content server over the Internet, and that further indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; updating, by the media player, the timeline of the live event using the real-time control information, the timeline of the live event indicating when to play the subsequent encoded portion of the multimedia content of the live event according to the schedule of the live event; and requesting, by the media player, the subsequent encoded portion of the multimedia content of the live event for delivery by the content server over the set of one or more network connections for playback according to the updated timeline of the live event, wherein the client device plays a digital advertisement during the advertisement break that is selected from a plurality of available advertisements, wherein the selected advertisement has a duration in time that is shorter than the advertisement break in the multimedia content of the live event. - View Dependent Claims (15, 16)
-
-
17. A computer-implemented method performed by a messaging server device having a processor, a digital data storage and a hardware interface to the Internet, the method comprising:
-
receiving, by the messaging server device over a set of one or more network connections coupled to the Internet via the hardware interface, a subscription request for multimedia content of a live event from each of a plurality of client devices, each client device coupled to the Internet and providing a media player to a user of the client device, wherein the multimedia content is being encoded and delivered substantially in real time as the live event is occurring; subscribing, by the messaging server device, each respective media player of the plurality of client devices to a messaging service for the multimedia content of the live event using a unique content identifier for the multimedia content of the live event; receiving, by the messaging server device, an update that indicates a current duration of an encoded portion of the multimedia content of the live event stored by a content server according to a timeline that is associated with an anchor point in time and that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; and sending, by the messaging server device to each of the plurality of media players subscribed to the messaging service over the set of network connections, an update message that indicates the current duration of the encoded portion of the multimedia content of the live event available for delivery by the content server and includes real-time control information, wherein; each of the plurality of media players is to request the encoded portion of the multimedia content of the live event for delivery over the Internet from the content server based on the current duration and the real-time control information to allow the encoded portion of the multimedia content of the live event to be played on its respective client device at a specified point in time according to a timeline of the live event; and wherein each of the plurality of media players plays a digital advertisement during the advertisement break that is selected from a plurality of available advertisements for that media player, wherein the selected advertisement has a duration in time that is shorter than the advertisement break in the multimedia content of the live event to thereby reduce an error time for that media player, wherein the error time indicates a delay in playback after a minimum possible lag-behind-live value of the multimedia content. - View Dependent Claims (18, 19)
-
-
20. A data processing system comprising:
-
a set of one or more hardware encoders to receive multimedia content of a live event, to encode portions of the multimedia content of the live event into streamlets, and to store the streamlets on a content server, wherein the multimedia content is received and encoded substantially in real time as the live event is occurring; a messaging server system having a processor and an interface that is coupled to the Internet over a first set of one or more network connections to receive updates that indicate a current duration of the portions of the multimedia content of the live event encoded and stored on the content server and provide update messages that include real-time control information that indicates the current duration of the encoded portions of the multimedia content of the live event available for delivery by the content server over the Internet according to a timeline that is associated with an anchor point in time, and that indicates a start time and a scheduled duration of an advertisement break in the multimedia content of the live event; and a plurality of client devices, each configured as a media player and coupled to the Internet via a second set of one or more network connections, each client device configured to; receive the update messages from the messaging server over the second set of network connections to update a timeline of the live event using the current duration and the real-time control information, wherein the timeline of the live event is associated with an anchor point in time and indicates when the encoded portion of the multimedia content of the live event is to be played by the respective media player at a specified point in time according to the timeline of the live event; determine what streamlets to request for delivery by the content server over the second set of network connections and determine when to play the requested streamlets of the multimedia content of the live event based on the timeline of the live event to allow the multimedia content of the live event to be played by the respective media player according to the timeline of the live event; and play a digital advertisement during the advertisement break that is selected from a plurality of available advertisements for that media player, wherein the selected advertisement has a duration in time that is shorter than the advertisement break in the multimedia content of the live event to thereby reduce an error time for that media player, wherein the error time indicates a delay in playback after a minimum possible lag-behind-live value of the multimedia content. - View Dependent Claims (21, 22, 23, 26)
-
Specification