CROSS REFERENCE TO RELATED APPLICATION This application claims priority to U.S. Provisional Patent Application Ser. No. 60/622,469 filed on Oct. 26, 2004.
1. FIELD OF THE INVENTION The present invention relates in general to a method and apparatus for a search-enabled remote control, and more particularly to providing a search-enabled remote control device which facilities viewers' ability to search through programming and/or other content options and view results.
2. BACKGROUND Current interactive devices for controlling broadcast programming are limited to changing the content based upon explicit choices and do not provide any true personalization of the viewing experience based upon the behavior and interests of the individual viewers. Thus, there is a need for a universal device to increase personalization and real-time customization of the viewing experience.
One way to do this would be to tailor the viewing experience based on a viewer's habits and interests. However, heretofore there have been few ways in which a user has been able to personalize their television experience. Aside from being able to select a list of favorite channels or time-shift content, viewers are generally limited to viewing what is or has been broadcast to the general populous.
Current television remote controls are also not enabled to allow significant commercial transactions, especially those related to the content they are viewing. Most commercial activity enabled by current remotes is limited to transactions related to viewing content like purchasing pay-per-view (PPV) or upgrading subscription options. There is therefore also a need for a device for controlling multimedia viewing that facilitates commercial transactions related to real-time programming.
Another problem with the current television viewing experience is the ever increasing amount of available content. The amount of available content has increased substantially even over the last few years. Until now most viewers have literally hundreds of viewing choices at any one time. As the amount of content increases and additional programming options become available, it becomes even more difficult for viewers to locate and select not only particular viewing content of interest, but also multimedia information relating to the television content (e.g., related commercial) items.
Accordingly, there is a need in the art to facilitate and the customization of television viewing experience by personalizing, not only the ability to interactively search through viewing content choices, but also to provide the ability to search all online multimedia including facilities for conducting real-time transactions related to the programming being viewed.
BRIEF SUMMARY OF THE INVENTION Disclosed and claimed herein are systems and methods for presenting information. In one embodiment, a method includes receiving a plurality of viewer requests, displaying content on a display device in response to the plurality of viewer requests, and communicating data representative of the plurality of viewer requests to a remote server over a network. The method further includes maintaining viewer profile and updating the viewer profile based on the plurality of viewer requests.
Other aspects, features, and techniques of the invention will be apparent to one skilled in the relevant art in view of the following detailed description of the invention.
BRIEF DESCRIPTION OF THE DRAWINGSFIGS. 1A-1B depict embodiments of simplified system diagrams of one or more aspects of the invention;
FIG. 2 depicts one embodiment of a viewer input device capable of carrying out one or more aspects of the invention;
FIG. 3 is a flow diagram of how a viewer profile may be setup and/or maintained, according to one embodiment;
FIG. 4 depicts another embodiment of a system-level diagram of various aspects of the invention, showing the interconnectivity relating thereto;
FIG. 5 is a flow diagram of how a viewer may perform content searches and the monitoring thereof, according to one embodiment;
FIG. 6 is a flow diagram of one embodiment for serving personalized content to a television viewer;
FIG. 7 is a flow diagram of one embodiment for facilitating personalized offers through an interactive device; and
FIG. 8 is a flow diagram of one embodiment for prioritizing search results in accordance with the principles of the invention.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS One aspect of the invention is to provide a search-enabled remote control device which facilities viewers' ability to search through programming options and view results. In one embodiment, a viewer is able to use a traditional remote control interface (e.g., volume up, volume down, channel up, etc.) to navigate through menus or selections and to display search results on screen. In another embodiment, the remote control may include a keypad, thumb board or other input means for facilitating the search functionality. In yet another embodiment, the remote control may further include a display portion for displaying the results of viewers' searches. In another embodiment, or in addition to one or more of the previous embodiments, the remote control is able to communicate wirelessly with a back-end processing system via a remote network.
In another embodiment, a user may be permitted to set preferences (either online or using the search-enabled remote) for how online content may be integrated with programming content, either on a display device or on the search-enabled remote. This content mix may be dynamic in that it may be automatically optimized over time by refining it based on user interaction with the results and programming.
Another aspect of the invention is to track viewer watching behavior and/or searching habits. In one embodiment, the data obtained from tracking viewer activities may then be used to develop a viewer profile, which may in turn be used to target advertisements, information and/or future programming options. For example, the use of television watching habits may be used to inform a variety of advertisement marketplaces, including additional distribution mediums/networks. In addition, appropriate commercial items may be targeted to individual user based on such television viewing and/or searching habits.
Another aspect of the invention is to mix or prioritize search results based on one or more criteria. In one embodiment, search results may be mixed and/or prioritized based on user profile data, preferred advertiser/merchant rankings or a combination thereof. In another embodiment, search results may presented to a viewer on a display device simultaneously along with broadcast and/or streaming content. In another embodiment, the search results may be “pushed” to a client-side device and presented along with related broadcast content. Alternatively, the search results may be based on one or more user-provided search criteria.
Another aspect of the invention is to present time-based offers to viewers of broadcast content. In one embodiment, time-based offers may be presented to a user on the same display device being used to display broadcast programming. While in one embodiment, time-based offers may be commercial offers inviting the viewer to purchase goods or services at a special rate for a limited time, it should of course be understood that the offers may be of a non-commercial nature as well. Similarly, while the offers may be time-based (i.e., valid for a limited time only), in another embodiment the offers may not have an expiration. By way of providing a non-limiting example, such offers may invite a user to purchase goods or services at a discounted rate if a purchase is made within a specified time. Such offers may also be in form of receiving additional free goods and/or services if a purchase is made within the specified time.
In another embodiment, the time-based offers may be customized for a particular user based on their habits and/or interests. In this fashion, the previously mentioned viewer profiling may be used to select from among a plurality of potential offers. By tracking viewer watching behavior and/or searching habits, particular time-based offers may be presented to the viewer to maximize the likelihood of the user accepting the offer. In one embodiment, the data obtained from tracking the user's acceptance and/or rejection of presented offers may also be used to update the user's viewer profile, which may in turn be used to better target advertisements, information and/or future programming options.
In still another embodiment, time-based offers may be customized based on programming content being viewed. By way of example, broadcast content schedule information may be obtained from television programming guide data. Such broadcast content information may then be analyzed and assigned one or more keywords for matching to potential time-based offers. In addition, keyword assignment may also be done for portions of a program or particular scenes of a program.
User responses to presented time-based offers may in turn be used to update viewer profile data and/or merchant conversion profiles. In one embodiment, a merchant's conversion profile is based on the ratio of the number of transactions consummated to the number of visits to the merchant's online marketplace needed to generate such transactions. A merchant can use their conversion profile to evaluate the performance of the offer, and modify their offers dynamically. For example, if a particular offer is not being accepted by an adequate number of users, a merchant can increase the incentives being offered to attract more users.
Another aspect of the invention is to use a set-top box arrangement to provide the searching and profiling capabilities described above. In one embodiment, processing logic in a set-top box and/or remote control can track user behavior during television watching. This information can then be communicated to a viewer profile database, which may be maintained locally or remotely. This database can then be used to provide customized content, advertising and/or information to the viewer to enhance the viewing experience. In another embodiment, real-time commercial offers may be targeted to individual users based on the viewer profile information.
When implemented in software, the elements of the invention are essentially the code segments to perform the necessary tasks. The program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission medium or communication link. The “processor readable medium” may include any medium that can store or transfer information. Examples of the processor readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory or other non-volatile memory, a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc. The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc. The code segments may be downloaded via computer networks such as the Internet, Intranet, etc.
Referring now toFIG. 1,system100 includes client-side system110 which may be used to receivebroadcast content140 and/ornon-broadcast content130. In one embodiment,broadcast content140 includes television programming which is broadcast as radio frequency signals by one or more content providers, as well as streaming multimedia content. In another embodiment, or in addition to one or more of the previous embodiments,non-broadcast content130 is content and/or data which is provided to the client-side system110 overnetwork120. It should also be appreciated that thenetwork120 may be the Internet, or may also be a wide area network, a local area network or any other type of connection. It should also be appreciated that non-broadcast content/data130 may include user-preference data, multimedia content and any other form of non-broadcast data.
As shown in the embodiment ofFIG. 1A, client-side system110 further includesprocessing logic150,display device160 anduser input device170. While in oneembodiment processing logic150 is a set-top box (STB) device, it should equally be appreciated that other connected devices with similar capabilities may be used to receive, decode and process both non-broadcast content/data130 andbroadcast content140. In the embodiment, the client-side system130 may simultaneously present bothnon-broadcast content130 andbroadcast content140 to a viewer.
In addition to receiving and processing bothnon-broadcast content130 andbroadcast content140,processing logic150 may further provide information/data to anddisplay device160, as well as any number of systems connected to network120, In another embodiment,processing logic150 provides information back to a back-end system180 vianetwork120. As will be discussed in more detail below, such information may relate to user viewing and/or content searching habits. In one embodiment, display device is used to render image/video for presentation to a viewer. While in one embodiment thedisplay device160 is a television, it may similarly comprise other broadcast-content-based display devices.
It should also be appreciated thatprocessing logic150 may further include recording functionality, such as the functionality provided by a digital video recorder (DVR).User input170 may optionally be used to communicate withprocessing logic150 and/ordisplay device160 for display control, channel selection, feature selection and the like. In one embodiment,user input device170 is a remote-control-type device, although it may also be any other input means, such as a keyboard, voice recognition, touch screen, etc.
Back-end system180 is shown as being in communication with client-side system110 vianetwork120, as well asnon-broadcast content130. It should be appreciated thatnon-broadcast content130 may be stored locally as part of back-end system180, or alternatively may originate from a third-party location (e.g., third-party website). As will be described below, viewer actions may be monitored and reported to back-end system180. In one embodiment, back-end system180 is used to store one or more viewer databases which maintain individual viewer profiles. These viewer profiles may then be used to tailor specific content, of either the broadcast or non-broadcast variety, to particular viewers. In another embodiment, viewer profiles may be used to improve the effectiveness of direct marketed.
While non-broadcast content/data130 may be provided by other processing logic devices coupled tonetwork120 according to the viewer profile information collected and maintained on back-end system180, it may also come from a third-party online source (music database, movie trailer database, etc.). Moreover, non-broadcast content/data130 may be provided to or from a back-end server180 that is also coupled tonetwork120. In one embodiment,non-broadcast content130 may include the data collected by processinglogic150 relating to viewer habits and other activities.
FIG. 1B depicts another embodiment ofsystem100 with a more detailed view of one embodiment of back-end system180. In this embodiment,broadcast content140 is provided to displaydevice160 by a programming distribution center145 (e.g., network television station, etc.). In addition,non-broadcast content130 may be relayed to the client-side system110 by wireless tower/relay155, and wireless tower/relay155 may communicate wirelessly with theuser input device170. Alternatively, tower/relay155 may communicate directly withdisplay device160, which in one embodiment comprisesprocessing logic150.
Continuing to refer toFIG. 1B, in one embodiment non-broadcast content relates to personalized advertising/commercial content, and back-end system180 includespersonalization server155.User database165 may be used to store user profile data derived explicitly and/or implicitly from user viewing and/or searching activities. In another embodiment,user database165 may be part of client-side system110.
Personalization server155 may be used to track user activities, updateuser database165, and access available advertising and related content fromdatabase175. In one embodiment, merchants provide targeted advertisements fromdatabase175 topersonalization server155 based on information inuser database165. For example, advertisements may be streamed to displaydevice160 in real-time and may include limited time offers. For example, a user may be given the opportunity to receive a discount on a targeted commercial item if purchased within the next 10, 20, 30 etc. minutes. As will described in more detail below with reference toFIG. 6, available merchant offers may be selected based on a keyword analysis of the current programming content.
Continuing to refer toFIG. 1B, back-end system180 further includesonline marketplace185 which may be used to connect advertisers with customers. In one embodiment,online marketplace185 may comprises one or more ad servers, as detailed in United States patent having application Ser. No. 10/303,167, entitled “Online Media Exchange,” which is hereby fully incorporated by reference. As detailed therein, advertisers may monitor user activities and create customized limited-time offers. Content andinventory database190 may be used to populate theonline marketplace185 with available commercial items, as well as advertisements and offers for such items.
Irrespective of how advertising and merchant offers are established (e.g., using the online marketplace185),personalization server155 may also analyze programming content, using keywords for example, to determine which advertisement/offers to present to the viewer and when. As will be described in more detail below with reference toFIGS. 6 & 7, advertisements and/or offers may be directly associated with particular programming based on matching one or more keywords which are descriptive of such programming.
One aspect of the invention is to provide a search-enabled remote control device which may be used to navigate through menus or selection options. In one embodiment, a traditional remote control interface (e.g., volume up, volume down, channel up, etc.) may be used to perform content searches and navigate search results. In another embodiment, search results may be displayed on a screen portion of the search-enabled remote control device.FIG. 2 depicts one embodiment of a search-enabled remote control consistent with the principles of the invention. In the embodiment ofFIG. 2,remote control200 includes power205 and mute210 buttons,volume230 andchannel235 selection buttons andkeypad220. It should further be appreciated thatremote control200 may have numerous other configurations and still be consistent with the principles of the invention. For example, remote control may include a thumb board for entering text.Remote control200 may further be adapted to include voice recognition and/or written character recognition.
In one embodiment, viewers may use one or more of thekeypad220,volume button230,channel selection button235 to enter content search parameters that are to be processed by processinglogic150, which in one embodiment is a set-top box. While in one embodiment, the search parameters may relate to available (or soon to be available)broadcast content140, viewers may similarly search for availablenon-broadcast content130 and/or information. As mentioned above, one aspect of the invention is to track viewers actions and to develop a viewer profile based on such actions, including the types of searches performed and/or programming viewed. Additional types of viewer actions which may be used to update the viewer's profile may also include switching to or away from particular types of programs, and switching to or away from particular types of commercials. Moreover, in the case of a DVR-enabled set-top box, the types of programming recorded may also be used to update the viewer's profile: In one embodiment, viewer profiles may then be used to tailor content and other information for a particular viewer. Such content may include advertisements, additional programming options and/or purchase options.
Continuing to refer toFIG. 2, remote200 is also depicted withoptional display screen240. This enables search results to be presented to the viewer on the remote200 itself. Alternatively, the search results may be displayed ondisplay device160. In another embodiment, display screen may be a touch screen which enables the viewer to navigate one or more selection menus relating toavailable broadcast content140, availablenon-broadcast content130 and/or search options and results.
As with described in more detail below with reference toFIG. 8, another aspect of remote200 is to prioritize search results based on one or more factors. In one embodiment, search results may be tailored to a viewer based on the viewer's profile, which in one embodiment is reflective of the viewer's interests. In another embodiment, search results may be prioritized based on a merchant/advertiser ranking. While merchants/advertisers may be ranked according to numerous criteria, in one embodiment the ranking process is based on the bidding process described in U.S. Pat. No. 6,269,361, entitled “System and Method for Influencing a Position on a Search Result List Generated by a Computer Network Search Engine,” which is hereby fully incorporated by reference. In addition to the bidding process described therein, advertisers/merchants may be ranked (and hence search results prioritized), based on pre-purchased advertising preference, as well as a combination of user profiling and merchant/advertiser ranking.
FIG. 3 depicts a simplified flow diagram for how a viewer's profile may be established and developed. In particular, in order to develop a viewer profile to be able to tailor future content and/or information, a viewer must be identified and their actions associated with a particular profile. In one embodiment, viewer profiles are maintained in one or more databases which form part of back-end system180. In another embodiment, viewer profiles are maintained on the client-side, such as in client-side system110.
In the embodiment ofFIG. 3, the user profile is maintained on the server-side (e.g., in a back-end system180 database).Process300 begins atblock310 when a client device (e.g., set-top box,processing logic150, etc.) is detected by back-end system180. In one embodiment, the client device may be identified based on a device ID, such as an Ethernet Media Access Control (MAC) address. Additionally, the device ID may be a smart card address, wireless network address, CPU identifier, or simply an arbitrarily assigned value. The use of certificates, encryption, hashing, secure sockets, and so on may also be used to prevent tampering with the device identification. It should of course be understood that there are numerous methods for identifying a client device that are consistent with the principles of the invention.
Once the client device has been detected, a viewer profile associated with the particular client device may then be accessed atblock320. In one embodiment, a lookup table is used to access a database entry associated with the detected device ID. While in one embodiment, this database entry is maintained by back-end system180, it may similarly be maintained by some other system coupled tonetwork120.
Block330 involves a determination of whether or not there is an existing profile for the viewer in question. If this is a first-time viewer, a viewer profile may not yet be available. In that case,process300 would continue to block340 where the profile may be established. In one embodiment, a viewer may use theuser input device170, which in one embodiment isremote control200, to enter various viewer-specific data. Alternatively, the viewer may establish a profile online by connecting to the back-end system180 over the Internet. Similarly, the initial viewer profile may simply be automatically generated and later updated with information pertaining to the viewer's searching and/or viewing activities.
Whether or not a new profile has to be set up, once a viewer profile has been established and associated with the client device,process300 may then continue to block350. In one embodiment, viewer actions from this point forward may be tracked. Such viewer actions may include searches performed using search-enabledremote control200, broadcast content viewed, non-broadcast content requested, content selected for recording, channel changing actions, advertisements viewed, commercial items purchased, etc. In fact, all viewer actions may similarly be tracked and/or recorded. For example, suppose a viewer tunes to Program A and thereafter increases the volume. Moreover, suppose then that the viewer decreases the volume (or presses mute) as soon as Commercial A airs. All of this information may be pertinent to determining the interests of the viewer and a means of developing a more accurate global viewer profile. As discussed above, a viewer's behavior while watching television may be tracked and a television viewing profile developed there from. In addition, the online behavior of this same viewer may also be tracked and used to supplement his/her television viewing profile.
As viewer actions are tracked,process300 further includes updating the viewer's profile atblock360. In one embodiment, this may include transmitting the relevant data to back-end system180 vianetwork120. In one embodiment, back-end system180 may then update a profile database. The process of tracking user activities (block350) and correspondingly updating the viewer's profile (block360) may then continue until a determination is made that the client device is logged out (block370). In one embodiment, a client device is only logged out upon powering down. It is to be appreciated that given the identity of the user (e.g., from the client device ID), the preferences and viewer profile as they apply to a viewer can now be directly applied to this same viewer on any other device that can be identified with the user. In this fashion, a viewer may transfer and/or maintain their viewer profile across devices and mediums, such as for example with Internet searching or online content surfing (e.g., Yahoo! Properties).
FIG. 4 depicts one embodiment of system-level diagram showing the interconnectivity of various aspects of the invention. In this embodiment, back-end system180 communicates with client-side system vianetwork120, which in one embodiment is the Internet. With back-end system180 coupled tonetwork120, a user can access/request various data/services (e.g., via modem430). In this embodiment, the client-side system110 comprises a bedroom portion, a home office portion and a living room portion. In one embodiment, a wireless router440 may be used to interconnect the various client-side systems.
Continuing to refer toFIG. 4, client-side system is shown as further including an IP-enabledSTB450, which in one embodiment performs the functions of previously-describedprocessing logic150. In one embodiment,STB450 may communicate with back-end system180 (which inFIG. 4 is comprised of storage410 and server410) viamodem430. Alternatively,STB450 may communicate with the back-end system180 viasatellite link460. In another embodiment, search-enabledremote control200 may be used by a viewer to interact withSTB450 and to submit search queries as previously described. Alternatively, theremote control200 may communicate wirelessly with the back-end system180 directly. It should of course be appreciated that the particular devices depicted inFIG. 4 that comprise the client-side system130 are illustrative only, and numerous other configuration are equally consistent with the principles of the invention.
As discussed above, one aspect of the invention is to track viewer activities and to update a viewer profile based on such recorded activities. To that end,FIG. 5 depicts one embodiment of aprocess500 for using viewer search activities to maintain a viewer profile. The viewer profile may then be used to target advertisements, information and/or future programming options.
Process500 begins with the system receiving a set of search criteria which has been entered by the viewer. In one embodiment, search criteria are entered using a search-enabled remote control, such asremote control200. Regardless of the manner in which the search criteria are entered,process500 may then process the search atblock520. In one embodiment, the search may be processed by a local set-top box (e.g., processing logic150), or may be transmitted to the back-end system180 for processing.
Once the search criteria have been processed, the results may be displayed atblock530. While in one embodiment, the results may be displayed ondisplay device160, the results may similarly be displayed ondisplay screen240 ofremote control200, as discussed above. As will be described in more detail below with reference toFIG. 8, search results may be prioritized and displayed according to a predetermined order. In one embodiment, search results are prioritized based on a bidding-type process, such as the process described in U.S. Pat. No. 6,269,361, which was previously incorporated by reference. In addition, advertisers/merchants may purchase ranking preference, possibly using tiered pricing arrangements. Finally, search results may similarly be prioritized based on the current user profile, or a combination of user profiling and merchant/advertiser ranking.
Regardless of how the search results are reported, the view profile may be updated atblock540, which in one embodiment involves transmitting the relevant search criteria/results data to back-end system180 vianetwork120. Where only the search criteria and not the results are to be incorporated into the viewer profile, the profile may be similarly updated prior to displaying the results (block530) and/or processing the search (block520).
Continuing to refer toFIG. 5, once the search has been processed and the results displayed,process500 may continue to decision block550 where a determination is made as to whether the viewer has made a selection from the search results. If not,process500 may continue to track the viewer's activities atblock560, as described above with reference toFIG. 3. If, on the other hand, a viewer does make a selection from among the search results, then this information may also be used to update the viewer's profile (block570).
A determination may then be made as to whether the requested content/information is available. While in one embodiment, content may be made available by one or more providers ofbroadcast content140, in another embodiment the requested content/information may be provided asnon-broadcast content130, or from any other source coupled tonetwork120. Once the available content/information has been retrieved, it may then be provided to the viewer atblock590. In one embodiment, the request may be filled by presenting content and/or information ondisplay device160, ondisplay screen240 or by having the client-side system110 store it locally.
Referring now toFIG. 6, depicted is one embodiment of aprocess600 for serving personalized content (e.g., advertisements, offers, future programming options, online content, etc.) to a user.Process600 begins atblock605 with the gathering of the broadcast content schedule, which in one embodiment may be done usingpersonalization server155. In any event, the broadcast content schedule information may be obtained from television programming guide data. Atblock610, the broadcast content collected may be analyzed and assigned one or more keywords. In addition, keyword assignment may also be done for portions of a program or particular scenes of a program. For example, the keyword automobile may be associated with a chase scene of an action movie. In one embodiment, this keyword and/or temporal information may be stored indatabase175.
Once the content analysis and keyword assignment tasks are completed,process600 continues to block615 where available content (e.g., merchant advertisements and/or offers, available online content, etc.) are matched to the assigned keywords. It should be appreciated there are numerous criteria that may be used to establish where or not there is a keyword match for a given advertisement and/or offer. For example, in one embodiment a match may only be found where a program has been assigned X keywords which match to a given merchant offer. If a program only contains X-1 matching keywords, the merchant offer will not be presented to the viewer.
Process600 continues to block620 where actual matching content may be delivered to the viewer, which in one embodiment comprises delivering the matching content to the client-side system110 vianetwork120. Atblock625, the matching advertisements/offers may then be shown ondisplay device160 of client-side system110 asnon-broadcast content130, while at the sametime broadcast content140 is being displayed ondisplay device160. At this point, the viewer is free to navigate through the available matching content using, for example,remote control200. In another embodiment, matching content may be displayed on a display portion of a user input device, such asremote control200.
Continuing to refer toFIG. 6,process600 continues to block630 where offers may be updated and sequenced as the broadcast programming being viewed changes. In one embodiment, this is accomplished by continually polling the programming keywords and checking for matching content. As the programming changes, so too may the matching content. While in one embodiment, new content is displayed simultaneously with old content, in another embodiment new content may replace old content as the programming changes. Alternatively, viewers may be provided with a matching content submenu to access older matching content which is no longer being displayed and which have not yet expired.
FIG. 7 depicts one embodiment of aprocess700 for facilitating personalized offers through an interactive device, such as client-side system110. In the embodiment ofFIG. 7,process700 begins with the analysis of one or both of a user's profile and programming content viewed. While in one embodiment the user's profile may be stored onuser database165, in another embodiment the user profile may be maintained locally, such as by client-side system110. In the event that programming content is also to be analyzed in conjunction with the user profile data, such analysis may be done by keyword matching, as previously described with reference toFIG. 6.
Atblock720, any identified personalized offers may be presented to the user, which in one embodiment means the offer is displayed on a display device (e.g., display device160). If a user sees an offer of interest, they may opt to receive more information by selecting the offer using, for example,remote control200. Rather than desiring to receive more information, a user may simply want to accept a personalized offer and consummate a transaction with a particular merchant. If a user has indicated that they would like to receive, or that they would like to purchase the offered item,process700 would then continue to block730 where the user may be optionally connected to the merchant'sonline marketplace185, if available. In one embodiment, this includes connecting the user to a website of the merchant vianetwork120.
It should further be appreciated that the personalized offers may be time-based offers which, if not acted on, expire at a predetermined point in time. While in one embodiment, time-based offers may be commercial offers inviting the viewer to purchase goods or services at a special rate for a limited time, it should of course be understood that the offers may be of a non-commercial nature as well. By way of providing a non-limiting example, such offers may invite a user to purchase goods or services at a discounted rate if a purchase is made within a specified time. Such offers may also be in form of receiving additional free goods and/or services if a purchase is made within the specified time.
Whether or not the user actually purchases anything from the merchant,process700 continues to block740 where the user's profile may be updated. If the user does make a purchase, then the user profile can be updated with the transaction details. If the user fails to consummate a transaction, this information can also be used to update the user's profile. In this manner, future offers may be further tailored to a user based, not only on their viewing/searching habits, but also on their history of acting on available offers. As previously mentioned, user profile information may be maintained remotely, such as byuser database165, or on the client-side.
Continuing to refer toFIG. 7, the merchant's conversion profile may also be updated atblock750. In one embodiment, a merchant's conversion profile is based on the ratio of the number of transactions consummated to the number of visits to the merchant's online marketplace needed to generate such transactions. The merchant can use their conversion profile to evaluate the performance of the offer. As described in the previously incorporated co-pending United States patent application having application Ser. No. 10/303,167, merchants can monitor and modify their offers dynamically. If their offer is not being accepted by an adequate number of users, a merchant can increase the incentives being offered to attract more users.
Process700 continues to block760 where the next set of offers may be displayed to the user. As previously described with reference toFIG. 6, offers may be sequenced as programming content changes. In addition, new offers may be displayed simultaneously with old offers, or they may replace older offers as the programming changes.
Referring now toFIG. 8, depicted is one embodiment of aprocess800 for prioritizing search results based on one or more factors. As previously mentioned, one aspect of the invention is to tailor search results presented to a viewer based on one or more criteria, such as viewer profile data, merchant/advertiser rankings, sponsored results, or any combination thereof. While merchants/advertisers may be ranked according to numerous criteria, in one embodiment the ranking process is based on the bidding process described in the previously incorporated U.S. Pat. No. 6,269,361. In addition to the bidding process described therein, advertisers/merchants may be ranked (and hence search results prioritized), based on pre-purchased advertising preference.
Process800 begins with the parsing of the search criteria atblock810. In one embodiment, the parsing is done by a back-end system (e.g., back-end system180) coupled to a client-side system (e.g., system110) via a network (e.g., network120). In another embodiment, the search criteria may be parsed locally by the client-side system. The search criteria to be parsed may be user-provided via a client-side device or a user-input device (e.g., search-enabled remote200) in communication with a client-side device. In another embodiment, the search criteria may be provided online to a back-end system.
Rather than the search criteria being provided by a user directly, the search parameters may be based on user profile data, such as the viewer profile described above with reference toFIG. 3 andFIG. 5. For example, automatic searches may be performed (e.g., using a back-end system such as system180), and the results periodically presented to the user on a client-side device. As the viewer profile is updated, so too would the search parameters, resulting in dynamic search results being continuously provided to the user. This approach for determining the search parameters may be used in a configuration where search results are automatically and/or periodically “pushed” to the client-side device. In another embodiment, a combination of viewer profile data and user-provided search criteria may be parsed together to produce a search result listing which is both responsive to the user request, as well as tailored for the specific user.
In addition, the search results may include relevant broadcast content, as well as non-broadcast content. For example, parsing a user search may involve identifying Web results (e.g., Web sites, downloadable content, etc.), as well as broadcast results (e.g., upcoming television shows, movies, etc.). In this fashion, a listing of all available multimedia content may be compiled into one convenient compilation.
Once the search results have been obtained,process800 continues to block820 where a determination is made as to whether the search results are to be mixed and/or prioritized. If so, then process800 will continue to block830 where the search results may be re-ordered based on one or more predetermined criteria. In one embodiment, search results may be mixed and/or prioritized based on user profile data, preferred advertiser/merchant rankings or a combination thereof. While the software needed to perform the mixing and/or prioritization process may be executing on a back-end system and/or server-side system, it should equally be appreciated that the search results may be streamed to a client-side system (e.g., client-side system110), and then prioritized locally. In either case, a global user profile may be used to tailor the search results list such that results more in line with known user preferences and/or interests appear first. In addition, sponsored results may also be moved up the results list.
Once the order of the search results has been determined,process800 will continue to block840 where the results are to be presented to the user. At this point, the results may be presented on adisplay device160 or any client-side device capable of visually rendering the results. In another embodiment, results may be presented on a user input device, such asremote control200. In addition, the search results may be presented simultaneously along side broadcast and/or other non-broadcast content. In this fashion, a user may freely watch broadcast programming content while viewing search results which may have been “pushed” to the user display device or initiated by the user. It should be appreciated that numerous on-screen configurations are possible for displaying the search results simultaneously with other content, broadcast or otherwise.
At this point, the user may scroll through and select from among the search results using, for example,user input device170 or remote200. Any such user selections may then be processed atblock850. In one embodiment, user selections may be processed by navigating the user to a Web site, in the case of a Web-based search result selection. Similarly, a tuner for a client-side device may be tuned to a broadcast programming source selected from the search results. Additionally, content-based search results may be downloaded and/or streamed to one or more client-side devices upon selection from the search results list. The functionality of responding to user selections may be provided by a client-side set-top box device. Any such user selections may optionally be used to update a profile maintained for the user atblock860. This process may parallel the process described above with reference toFIG. 5.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art. Trademarks and copyrights referred to herein are the property of their respective owners.