This invention relates generally to the field of server-based digital content distribution and content tracking.
Today, multimedia digital content is available for consumption on a multiplicity of Internet-enabled devices and applications. The sheer variety of devices and applications, however, has given rise to a wide variety of distribution formats, streams, and transport protocols for content providers to organize, arrange, and manage.
Distribution of digital content spans a wide variety of personal media consumption devices and applications, including Adobe-flash enabled websites, smartphone and tablet applications, and Internet-enabled set top boxes. These devices and applications may require different communication protocols and different video and audio streaming compression and codecs. Given the vast array of consumption devices and applications, distribution is a very complicated and technically challenging process.
For example, in today's digital content distribution systems, the client personal media consumption devices typically handle the collection and assembly of the digital content streams from both primary and secondary content providers. In other words, the end user's media player typically bears the responsibility for initiating the stream transfer, receiving the primary digital data (e.g., video or audio programming) from a primary content provider (e.g., network such as BBC in the case of network television or radio) and interspersing that primary content with secondary content (e.g., advertisements or other material) from a secondary content provider (e.g., digital advertisement provider). The synchronization of the process requires that content providers provide compatible digital data in compatible file formats over compatible data streams using compatible transport protocols. Hence, the variety of client devices and applications create compatibility challenges for content providers who are interested in delivering their content across a variety of client personal media consumption devices.
Further complicating the task of delivering digital content, content providers attempt to track user behavior and responses to the digital content. For example, advertising content providers can be interested in who, when, how, or where consumers are exposed to their content. To do so, advertising content providers frequently monitor and track user exposure and responses to different forms of digital advertising, such as video viewing time, and advertising click-throughs, through the use of third party tracking systems.
For illustration,
The use of tracking pixels and links in prior art system 100, however, faces several difficulties. First, the media consumer systems may make use of a variety of distribution formats, streams, and transport protocols which complicates distribution for the media servers. Different formats, streams, and protocols may access the individual pixels of a digital content stream in individualized ways, leading to creating compatibility issues. Secondly, certain media consumer systems may be incompatible (i.e., lack the ability to process the tracking pixel or link) or unable to send the signal to the third party 104. Given the complexity arising from the proliferation of different media consumer devices/systems, there is a growing need to provide a consistent mechanism to monitor and track user behavior and content.
According to one embodiment, a method of the invention includes receiving, at a content distribution system, digital content data from a digital content provider; generating, at the content distribution system, a client digital content stream, wherein the client digital content stream comprises at least the digital content data; sending the client digital content stream from the content distribution system to a client system; and sending a signal from the content distribution system to a tracking system when an event is triggered by at least one of a status of the client digital content stream, a placeholder associated with the client digital content stream, an external event, and metadata in the client digital content stream. The digital content data can be a digital content data stream and may be audio digital content data and/or video digital content data. Accordingly, this method can be used to manage client digital content streams from disparate content sources as well as send event-triggered signals to a tracking system that monitors the client digital content stream.
Another embodiment is a method of the invention includes receiving, at a content server, primary digital content data from a primary content provider; receiving, at a content server, a secondary digital content data from a secondary content provider; generating, at the content server, a client digital content stream, wherein the client digital content stream comprises at least the primary digital content data and the secondary digital content data; sending the client digital content stream from the content server to a client system; and sending a signal from the content server to a tracking system when an event is triggered by at least one of a status of the client digital content stream, a placeholder associated with the client digital content stream, an external event, and metadata in the client digital content stream.
Yet another embodiment of the invention is a computer-readable storage media embodying logic that is operable when executed to perform a series of steps. These steps include receiving, at a content distribution system, primary digital content data from a primary content provider; generating, at the content distribution system, a client digital content stream, wherein the client digital content stream comprises at least the primary digital content data; sending the client digital content stream from the content distribution system to a client system; and sending a signal from the content distribution system to a tracking system when an event is triggered by at least one of a status of the client digital content stream, a placeholder associated with the client digital content stream, an external event, and metadata in the client digital content stream.
The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding part, and in which:
One challenge for digital content distribution and tracking rests in the complexity arising from distributing digital content streams to a myriad of client devices while simultaneously receiving tracking signals from those same client devices. For example, different client media consumption systems may use different protocols, data containers, digital codecs, and bandwidth requirements. When streaming video content, different devices may require video content of different resolutions, color depth and compression/codec formats. In addition, a third party can provide several links within a digital content stream if it wishes to be notified when 0%, 25%, 50%, 75%, and 100% of the digital content data has been played. At each stage, a link for each percentage can be provided. A single link may also contain multiple pieces of information. For example, a single link may contain both the name of a musical track played immediately before the tracked content as well as the length of time the user played back the tracked content. Multiple third parties may track a single piece of digital content, each providing their own links to provide themselves with the pertinent information.
Accordingly, the present invention can manage the complexity of the different data streams and signals at an intermediate level and reduce the complexity for the digital content providers and their respective tracking systems.
According to one aspect, the invention includes a method and apparatus that can receive digital content data, generate a personalized digital content stream, send the personalized digital content stream to a client system, and send a signal to a content tracking system when an event is triggered. In effect, the invention acts as a type of proxy server to the client providers, tracking systems, and client systems, such that the content providers send digital content data and the tracking systems receive tracking signals as if the client systems are connected via a proxy.
The content distribution system 201 sits at the center of the networked system 200, managing the connectivity to all of the other components in the network, such as content providers 202-1 through 202-N, content tracking systems 203-1 through 203-N, and the client systems 204-1 through 204-N. The content distribution system may be a computer system, comprising computer servers and a computer network for managing incoming digital content data from different content providers and transmitting digital content data streams to client systems and sending tracking signals to tracking systems. According to the invention, the content distribution system 201 can receive digital content data from digital content providers 201-1 through 202-N, generate and send client digital content data streams to client systems 204-1 through 204-N, and send tracking signals based on the sent client digital content data streams (and thus playback of the client digital content data stream) to tracking systems 203-1 through 203-N.
Digital content providers 202-1 through 202-N may each be a computer system, computer server, or computer network for a digital content producer such as a television network, a cable network, web video producer, or advertisers. For example, television networks such as FOX, ABC, CBS, ESPN and NBC regularly generate digital video content that may then be played over the Internet in digital consumption devices. Among cable networks, networks such as HBO, Showtime, AMC, and FX do the same. Similarly, many content providers make available digital audio content, including the BBC, PBS, and ESPN.
Tracking systems 203-1 through 203-N may each be a computer system, computer server, or a network of computer servers and systems, that receive signals that track the activity of the digital content streams transmitted by the content distribution system 201. Tracking systems 203-1 through 203-N may be affiliated with the content providers or managed by third parties for purposes of tracking consumption of digital content. For example, a third party may track the ratings/popularity for a particular webcast by tracking how much of the digital content data stream is played back on the client device, e.g., 25%, 50%, 75%, 100%. Alternatively, an advertising agency may track the exposure received by a particular audio/video advertisement, using a tracking signal triggered by playback.
The client systems 204-1 through 204-N may be any number of electronic devices capable of receiving and processing the client digital content data stream, such as a personal computer, a mobile computer, a mobile electronic device, and a personal electronic device. The client systems 204-1 through 204-N can be configured to playback the client digital content data stream through either an application, either a built-in application such as a browser or a customized application designed by a third party.
A communications network connects the content distribution system 201, the content providers 202-1 through 202-N, content tracking systems 203-1 through 203-N, and the client systems 204-1 through 204-N. The communication network can include the Internet, a cellular network, a telephone network, a computer network, a packet switching network, a line switching network, a local area network (LAN), a wide area network (WAN), a global area network, or any number of private networks that can be referred to as an Intranet. Such networks may be implemented with any number of hardware and software components, transmission media and network protocols.
Next, at block 302, the content distribution system 201 (
In some embodiments, digital content data may be delivered from multiple content providers; for example, a primary digital content provider (e.g., 202-1 from
Next, at block 303, the content distribution system 201 (
The generation of the client digital content data stream can involve the content distribution system 201 (
In order to aggregate the digital content data and insert the secondary digital content into the client digital content data stream, the content distribution system 201 (
In some embodiments, insertion of the secondary digital content may require that the content distribution system 201 (
In certain embodiments, placeholders may also be used to trigger signals from the content distribution system 201 (
Next, at block 304, the content distribution system 201 (
In some embodiments, the content distribution system 201 (
Next, at block 305, the content distribution system 201 (
The content distribution system 201 (
The events triggering may be flexibly used to track all manner of playback scenarios. For example, playback progress may be detected using the status of the client digital content data stream. In some embodiments, the content distribution system 201 (
In contrast, events triggered by placeholders inserted into the digital content data stream are generally keyed to playback progress. For example, a placeholder may be inserted at the 25%, 50%, 75%, or 100% mark to trigger tracking signals or the insertion of secondary digital content data, such as advertising data.
Signals from the content distribution system 201 (
If the client digital content data stream, or current portion thereof, does not trigger an event, the content distribution system 201 (
The transmission can be configured to terminate in block 307 upon completion of the transmission of the client digital content data stream from the content distribution server 201 (
Processor 401 can be configured as a central processing unit or application processing unit in the content distribution system 201 from
Input/Output component 402 may comprise a specialized combination of circuitry (such as ports, interfaces, wireless antennas) and software (such as drivers) capable of handling the receiving of digital content data from content providers (e.g., 202-1 through 202-N from
Memory/storage module 403 can be cache memory, flash memory, a magnetic disk drive, an optical drive, a programmable read-only memory (PROM), a read-only memory (ROM), or any other memory or combination of memories. The memory 403, therefore, can be a non-transitory computer readable medium of a variety of types known to those skilled in the art.
Within memory/storage module 403, the digital content management module 404 comprises logic modules for the operation of the content distribution system. When executed, the logic and instructions on the memory 403 perform the operations described herein. The content receiving logic module 408 can be configured to handle the incoming data streams (e.g., during block 302 of
The content organizing logic module 410 can be configured to arrange the received digital content data into the client digital content data streams. In some embodiments, this can involve using identified placeholders to insert secondary digital content data (such as advertisements) into the primary digital content data (audio or video programming). The type of placeholders will determine how the placeholders are interpreted. If the placeholders indicate a position within the digital content data, such as a frame or time interval, the content organizing logic 410 can be configured to calculate the appropriate frame and interval to insert the appropriate secondary digital content data. If the placeholder indicates an acoustic marker, the content organizing logic 410 can be configured to acoustically analyze the digital content data to calculate the appropriate frame or time interval to insert the secondary digital content data.
The content delivery logic module 411 can be configured to prepare the assembled client digital content data stream for delivery to the client system. From the transmission data module 406, the content delivery logic 411 can determine the stream attributes expected by the client system, such the appropriate buffer size, file format and content codec. Depending on the state of the client digital content data stream, the content delivery logic may de-multiplex, de-code and re-encode the client digital content data stream prior to transmission to the client system. The resulting client digital content data stream may be stored in digital content data buffers 405 for transmission during block 304 of
In addition to providing the stream attributes to the content delivery logic 411, the transmission data module 406 manages and maintains information relating to the client system (e.g., 204-1 from
The event handling logic 407 can be configured to manage the transmission of signals to the tracking systems (e.g., 203-1 through 203-N from
Similar to the content distribution system 201 from
After inserting the advertisements into the media stream, the advertisement insertion system can be configured to transmit the media streams to media consumer system 504. This is shown as step 504a in
The media server 502 may each be a computer system, computer server, or computer network for a digital content producer such as a television network, a cable network, web video producer, or Internet radio station. Upon request, media server 502 may send a media stream containing digital content data to the advertisement insertion system 501. The media stream can be configured to include placeholders for the advertisement insertion system 501 to insert advertisements from the advertisement server 503.
The advertisement server 503 may be a computer system, computer server, or computer network for a digital advertisement distributor or producer. The advertisement server 503 can be configured to send advertisements to the advertisement insertion system 501 for insertion into the media stream that ultimately is sent to the media consumer system 504.
The advertisement server 503 may also be configured to receive electronic reporting signals from the advertisement insertion system 501 when a particular advertisement is transmitted to the media consumer system 504 in a media stream. When the reporting signal is received, the advertisement server 503 can be configured to relay the information to third party 505.
The media consumer system 504 may be any number of electronic devices capable of receiving and processing the client digital content data stream, such as a personal computer, a mobile computer, a mobile electronic device, and a personal electronic device. The media consumer system 504 can be configured to playback the media stream (with advertisements) through either an application, either a built-in application such as a browser or a customized application designed by a third party.
The third party 505 may configured to receive electronic reporting signals that a particular advertisement has been delivered to the media consumer system 505 either from the advertisement insertion server 501 or advertisement server 503. In both cases, the third party 505 can be configured to tabulate and collect the tracking information for use in data collection by content providers, producers, and distributors.
Thus, improved techniques for managing digital content data from digital content providers and transmitting tracking signals to external tracking systems have been described. The use of the method and apparatus can, for example, allow content providers to transmit digital content data and receive tracking signals without having to manage the complexities arising from distributing that data to a variety of client systems. The method and apparatus can do this, in part, by sending a tracking signal from the content distribution system to the tracking system.
Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention. Features of the disclosed embodiments can be combined and rearranged in various ways.