1. Field of the Invention
The present invention relates generally to content delivery via an electronic network, and in particular, to a method, apparatus, and article of manufacture for a platform that enables real-time buying and selling of content.
2. Description of the Related Art
In traditional Internet communications, a user requests a web page (via a link or by typing in a uniform resource locator (URL) in a web page). Alternatively, in a media player, a user may also request media content (e.g., music, video/audio, text, graphics, etc.). Such a request may be for a specific piece of media content (e.g., a particular song) or may be for a category of content (e.g., rock music). In response, a server is responsible for determining/selecting and delivering the content to the user. Traditionally, the particular content that is delivered to the user is either the specific content requested by the user or is selected via a single selection algorithm such as a collaborative filter algorithm. However, such a single selection algorithm fails to meet the flexibility and customization needed to deliver certain content to users. In this regard, certain content owners may be willing to incur additional charges for prioritized selection/delivery of their content. The prior art fails to provide a means for enabling such selection/delivery.
Embodiments of the invention provide a media exchange platform (MEP) that is a platform that enables real time buying and selling of content exposure and media consumption. A decision and transaction processing engine provides the ability to flexibly select the content that is to be delivered to a user. Such an engine further enables the use of a selection system that may utilize a variety of different selection systems/algorithms in combination with each other.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
In one embodiment, the computer 102 operates by the general purpose processor 104A performing instructions defined by the computer program 110 under control of an operating system 108. The computer program 110 and/or the operating system 108 may be stored in the memory 106 and may interface with the user and/or other devices to accept input and commands and, based on such input and commands and the instructions defined by the computer program 110 and operating system 108 to provide output and results.
Output/results may be presented on the display 122 or provided to another device for presentation or further processing or action. In one embodiment, the display 122 comprises a liquid crystal display (LCD) having a plurality of separately addressable liquid crystals. Alternatively, the display 122 may comprise a light emitting diode (LED) display having clusters of red, green and blue diodes driven together to form full-color pixels. Each liquid crystal or pixel of the display 122 changes to an opaque or translucent state to form a part of the image on the display in response to the data or information generated by the processor 104 from the application of the instructions of the computer program 110 and/or operating system 108 to the input and commands. The image may be provided through a graphical user interface (GUI) module 118A. Although the GUI module 118A is depicted as a separate module, the instructions performing the GUI functions can be resident or distributed in the operating system 108, the computer program 110, or implemented with special purpose memory and processors.
In one or more embodiments, the display 122 is integrated with/into the computer 102 and comprises a multi-touch device having a touch sensing surface (e.g., track pod or touch screen) with the ability to recognize the presence of two or more points of contact with the surface. Examples of a multi-touch devices include mobile devices (e.g., iPhone™, Nexus STM, Droid™ devices, etc.), tablet computers (e.g., iPad™, HP Touchpad™), portable/handheld game/music/video player/console devices (e.g., iPod Touch™, MP3 players, Nintendo 3DS™, PlayStation Portable™, etc.), touch tables, and walls (e.g., where an image is projected through acrylic and/or glass, and the image is then backlit with LEDs).
Some or all of the operations performed by the computer 102 according to the computer program 110 instructions may be implemented in a special purpose processor 104B. In this embodiment, the some or all of the computer program 110 instructions may be implemented via firmware instructions stored in a read only memory (ROM), a programmable read only memory (PROM) or flash memory within the special purpose processor 104B or in memory 106. The special purpose processor 104B may also be hardwired through circuit design to perform some or all of the operations to implement the present invention. Further, the special purpose processor 104B may be a hybrid processor, which includes dedicated circuitry for performing a subset of functions, and other circuits for performing more general functions such as responding to computer program instructions. In one embodiment, the special purpose processor is an application specific integrated circuit (ASIC).
The computer 102 may also implement a compiler 112 which allows an application program 110 written in a programming language such as COBOL, Pascal, C++, FORTRAN, or other language to be translated into processor 104 readable code. Alternatively, the compiler 112 may be an interpreter that executes instructions/source code directly, translates source code into an intermediate representation that is executed, or that executes stored precompiled code. Such source code may be written in a variety of programming languages such as Java™, Perl™, Basic™, etc. After completion, the application or computer program 110 accesses and manipulates data accepted from I/O devices and stored in the memory 106 of the computer 102 using the relationships and logic that was generated using the compiler 112.
The computer 102 also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for accepting input from and providing output to other computers 102.
In one embodiment, instructions implementing the operating system 108, the computer program 110, and the compiler 112 are tangibly embodied in a non-transient computer-readable medium, e.g., data storage device 120, which could include one or more fixed or removable data storage devices, such as a zip drive, floppy disc drive 124, hard drive, CD-ROM drive, tape drive, etc. Further, the operating system 108 and the computer program 110 are comprised of computer program instructions which, when accessed, read and executed by the computer 102, causes the computer 102 to perform the steps necessary to implement and/or use the present invention or to load the program of instructions into a memory, thus creating a special purpose data structure causing the computer to operate as a specially programmed computer executing the method steps described herein. Computer program 110 and/or operating instructions may also be tangibly embodied in memory 106 and/or data communications devices 130, thereby making a computer program product or article of manufacture according to the invention. As such, the terms “article of manufacture,” “program storage device” and “computer program product” as used herein are intended to encompass a computer program accessible from any computer readable device or media.
Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the computer 102.
A network 202 such as the Internet connects clients 102 to server computers 206. Network 202 may utilize ethernet, coaxial cable, wireless communications, radio frequency (RF), etc. to connect and provide the communication between clients 102 and servers 206. Clients 102 may execute a client application or web browser and communicate with server computers 206 executing web servers 210. Such a web browser is typically a program such as MICROSOFT INTERNET EXPLORER™, MOZILLA FIREFOX™, OPERA™, APPLE SAFARI™, GOOGLE CHROME™, etc. Further, the software executing on clients 102 may be downloaded from server computer 206 to client computers 102 and installed as a plug in or ACTIVEX™ control of a web browser. Accordingly, clients 102 may utilize ACTIVEX™ components/component object model (COM) or distributed COM (DCOM) components to provide a user interface on a display of client 102. The web server 210 is typically a program such as MICROSOFT'S INTERNET INFORMATION SERVER™.
Web server 210 may host an Active Server Page (ASP) or Internet Server Application Programming Interface (ISAPI) application 212, which may be executing scripts. The scripts invoke objects that execute business logic (referred to as business objects). The business objects then manipulate data in database 216 through a database management system (DBMS) 214. Alternatively, database 216 may be part of or connected directly to client 102 instead of communicating/obtaining the information from database 216 across network 202. When a developer encapsulates the business functionality into objects, the system may be referred to as a component object model (COM) system. Accordingly, the scripts executing on web server 210 (and/or application 212) invoke COM objects that implement the business logic. Further, server 206 may utilize MICROSOFT'S™ Transaction Server (MTS) to access required data stored in database 216 via an interface such as ADO (Active Data Objects), OLE DB (Object Linking and Embedding DataBase), or ODBC (Open DataBase Connectivity).
Generally, these components 200-216 all comprise logic and/or data that is embodied in/or retrievable from device, medium, signal, or carrier, e.g., a data storage device, a data communications device, a remote computer or device coupled to the computer via a network or via another data communications device, etc. Moreover, this logic and/or data, when read, executed, and/or interpreted, results in the steps necessary to implement and/or use the present invention being performed.
Although the term “user computer”, “client computer”, and/or “server computer” is referred to herein, it is understood that such computers 102 and 206 may include thin client devices with limited or full processing capabilities, portable devices such as cell phones, notebook computers, pocket computers, multi-touch devices, and/or any other device with suitable processing, communication, and input/output capability.
Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with computers 102 and 206.
Embodiments of the invention are implemented as a software application (i.e., a media exchange platform [MEP]) executing on a client 102, server computer 206, or a combination of both client 102 and server 206. Further, as described above, the client 102 or server computer 206 may comprise a thin client device or a portable device that has a multi-touch-based display (i.e., a tablet device), a mobile phone, a gaming system, an IP (internet protocol) enabled television, a television set top box, or other internet enabled device running on various platforms and operating systems.
The MEP is a platform that enables real time buying and selling of content exposure and media consumption. The sellers are internet properties operating websites or applications with dynamic media streaming or dynamic content displaying capabilities. The buyers are artists, producers, performers, entertainers, advertisers, or other parties who create or represent creators of content or media that would like to promote their content (media) by driving increased exposure through paying for consumption (exposure) to target audiences. Media can be music, video, or any multimedia digital streaming format. Content can be text and/or graphic based including articles, links, images, animations, etc. As used herein, media content refers to media and/or content that may be exchanged (e.g., bought or sold)
As illustrated, the first step (1) is that of the user 302 (e.g., client 102) requesting dynamic media or content from a website/application 304 (e.g., server 206).
In response, at (2), the website/application 304 conducts a server side or client side request to a decisioning engine 306. The request includes the media type expected, the user attributes, the context attributes, and price floor data. In reply, at (3), the decisioning engine 306 evaluates the request against booked media targeting (matching) criteria, bid rate, budget level, and capping. The winning media asset or asset identifier for the websites/catalog/own hosted media is sent back to the website application 304 to deliver the media to the user 302.
Thus, as illustrated at arrow (4), the media/content is delivered to the user for consumption. In addition, at (5), the media exposure event may be transmitted from the user 302 to the decisioning engine 306. Such a media exposure event may comprise a pixel, a log, etc. that is delivered to the decisioning engine 306 when the media/content is loaded, or on a specific time into the consumption of the media. Such a media exposure event signifies a buyer billable event/website payment event has occurred. Accordingly, the media exposure event is used to track when the media has been consumed by the user 302 thereby requiring payment from the buyer 308.
In addition to steps (1)-(5) described above, the decisioning engine 306 may conduct interactions with the buyer booking and reporting engine 308 in order to manage and obtain the content to be delivered to the website/application 304. In this regard, the buyer booking and reporting component may be a self-serve platform with payment processing integrated. Further, the engine 308 may be operated by/part of the MEP or a web property owner.
To enable the buyer booking and reporting component 308 to provide content, the buyer booking and reporting component 308 accesses the decision engine 306 directly or via an application programming interface (API). The content may also be uploaded either directly through the booking engine 308 and then transferred into the decisioning platform 306 from the API or via direct access between the two systems 306 and 308. Alternatively, the content may be uploaded to/on the website 304 and the buyer inputs the website's content identifier (i.e., unique id).
To inform the buyer 308 of which media has been consumed (and to provide an accounting), the decisioning engine 306 may provide the delivery, cost, and return on investment (ROI) statistics to the buyer 308.
The various components 302-308 enable the media exchange platform. The sections below provide details regarding each of the components 302-308.
User 302
The user 302 is a person visiting a website or using a web based application to consume content or media (i.e., via a client device 102).
Website/Application 304
The website/application 304 is a website, web application, or media platform that provides all or portions of the process to curate, dynamically stream media, or display dynamic content to users (e.g., server 206). Examples include: MySpace™ Music, Pandora.com™, VHX.tv™, and Redux.com™
Decision and Transaction Processing Engine 306
The decisioning and transaction processing engine 306 (also referred to herein as the media exchange platform (MEP)) is the engine 306 that enables the exchange of information as described herein. Accordingly, the MEP/engine 306 is a multi-platform system that can handle requests server side 206 and client side 102 and respond in a variety of formats depending on the preference of the website/application 304. Applications and websites 304 can initiate requests for content/media through the MEP 304 via any devices on any platform as long as TCP/IP (transmission control protocol/internet protocol) connectivity is enabled. This includes personal computers (PCs), tablets, mobile phones, gaming systems, IP (internet protocol) enabled television, television set top boxes, or other internet enabled devices running on various platforms and operating systems.
The transaction flow starts with the MEP 306 receiving a TCP/IP request sent from the website, application, or platform 304. This request will contain information passed through the website/application 304 that may include but is not limited to:
The request data parameters are weighted against the booked exposure campaigns, their content attributes, targeting attributes, audience attributes, delivery criteria, and bid rate. A selection algorithm will choose the winning content based on the maximum value. The maximum value may be defined by a variety of mechanisms and attributes that may include bid amount, relevance, predicted performance (e.g., like, dislike, call to action) or any combination of these.
In addition, rather than relying on a particular method for selecting the content, embodiments of the invention may utilize a combination of multiple different selection methodologies. For example, instead of relying exclusively on a collaborative filtering algorithm to select the content, a combination of the collaborative filtering algorithm with another methodology may be utilized. In this regard, embodiments of the invention may utilize a collaborative filtering system to select content eighty percent (80%) of the time, and selecting content based on payment from a content owner/buyer the remaining twenty percent (20%) of the time. The content selected twenty percent of the time may be content that is not normally provided and may be marked as a sponsored song (e.g., by the website/application 304 or when played by the user 302).
More than two different selection methodologies may also be utilized. For example, the following combination may be utilized:
Eventually, a song played for payment may be included in a collaborative filtering selection system (e.g., if multiple users indicate a like/preference for such a song). In addition, the user experience may be managed by setting conditions on how often the pay for play may occur. Such a pay for play system may allow a media content owner/promoter to help undiscovered talent/artists that haven't yet signed with a “label” receive more airtime for their content (e.g., music, video, etc.). There may also be a combination of pay-for-play with other features. For example, a buyer may prefer to pay for the play of his/her content only when the user 302 has a preference for content in the same genre (e.g., rock music) and/or if certain content is “trending” or has recently become popular (e.g., if the content is a viral video or if the user 302 is viewing similar content in the user's current viewing session rather than merely shopping [e.g., the engine 306 may be attempting to predict the current user's 302 mood for exposure to particular media content]). Thus, each of the different selection methodologies may be utilized independently from or in combination with other selection methodologies to optimize the user 302 experience with such content.
The percentages and use of different selection methodologies may also be modified dynamically on the fly as more content is received by/viewed by the user 302. For example, the time of day, user profile, current user's response to particular content, internet speed, etc. (any type of attribute) may be used to adjust the percentages for which each selection methodology is used to select content. For example, suppose a pay-for-play selection is used eighty percent (80%) of the time and based on such a methodology, a particular song is recommended to a user, who in response indicates a “like” for such content. In such a circumstance, the system may increase the percentage of time that pay-for-play is used up for that user/class/type of user (e.g., based on an assumption that this user likes to receive recommendations and may have a positive experience for such content). Similarly, if a user skips all pay-for-play content whenever presented to a user without further input, embodiments of the invention may decrease the percentage of time that pay-for-play content is provided to such a user.
Such adjustments to the percentages of time a particular selection methodology is used may be performed dynamically based on a set (predefined or otherwise) of rules/preferences or may be adjusted based on an evaluation of the success/failure of a particular combination/percentages from the view of the engine 306, user 302, website 304, and/or content owner/buyer.
Once selected, the chosen media asset or asset identifier is sent back to the application/web service 304 to be displayed/streamed to the user 302 and a billable event is triggered (via secondary TCP/IP request) on the agreed upon consumption point (ex. display, initial play, 30 seconds of play, etc) and forwarded to the buyer booking and reporting component 308.
Buyer Booking and Reporting 308
The buyer booking and reporting component 308 is a component of the media exchange platform that allows a buyer to input and update his/her/their contact and billing information. It also enables the buyer to input and update pay per exposure campaign information, which includes but is not limited to:
In addition, once a campaign is running, a buyer will be able to access and view delivery and exposure statistics including the total billable events.
Exemplary Transaction
In view of the different components of
The MEP 306 would respond (to the website 304) with an audio asset identifier (ex. song id 123456) based on media in the same or similar genre with the closest relevancy match to the user 302 based on the user's consumption history and the highest bid rate among the close matching assets. The website 304 would receive this winning song id, locate the asset in the website's 304 catalog of music and stream the song to the user 302. The buyer (content owner) would be charged for this play (via the booking and reporting engine 308) and the website 304 would be paid to play this song minus a fee charged by a MEP 306.
This concludes the description of the preferred embodiment of the invention.
The following describes some alternative embodiments for accomplishing the present invention. For example, any type of computer, such as a mainframe, minicomputer, or personal computer, or computer configuration, such as a timesharing mainframe, local area network, standalone personal computer, multi-touch device, internet enabled device, etc. could be used with the present invention.
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.
This application claims the benefit under 35 U.S.C. Section 119(e) of the following co-pending and commonly-assigned U.S. provisional patent application(s), which is/are incorporated by reference herein: U.S. Provisional Patent Application Ser. No. 61/588,042, entitled “MEDIA EXCHANGE PLATFORM”, by Timothy Charles Vanderhook, Jason J. A. Knapp, and Briand C. DeFrancesco, filed on Jan. 18, 2012, Attorney Docket No. 257.9-US-P1; and U.S. Patent Application Ser. No. 61/606,883, entitled “MEDIA CONTENT SELECTION SYSTEM AND METHODOLOGY”, by Timothy Charles Vanderhook, Jason J. A. Knapp, Brian C. Defrancesco, and Christopher John Vanderhook, Attorney Docket No. 257.10-US-P1, filed on Mar. 5, 2012.
Number | Date | Country | |
---|---|---|---|
61588042 | Jan 2012 | US | |
61606883 | Mar 2012 | US |