[go: up one dir, main page]

HK1119507A - Framework for delivering a plurality of content and providing for interaction with the same in a television environment - Google Patents

Framework for delivering a plurality of content and providing for interaction with the same in a television environment Download PDF

Info

Publication number
HK1119507A
HK1119507A HK08108190.3A HK08108190A HK1119507A HK 1119507 A HK1119507 A HK 1119507A HK 08108190 A HK08108190 A HK 08108190A HK 1119507 A HK1119507 A HK 1119507A
Authority
HK
Hong Kong
Prior art keywords
user
content
buddies
context
given
Prior art date
Application number
HK08108190.3A
Other languages
Chinese (zh)
Inventor
罗纳德.雅各比
Original Assignee
Jollify Management Limited.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jollify Management Limited. filed Critical Jollify Management Limited.
Publication of HK1119507A publication Critical patent/HK1119507A/en

Links

Description

Framework for delivering and providing interaction with multiple content in a television environment
Copyright notice
A portion of the disclosure of this invention contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the patent and trademark office patent file or records, but otherwise reserves all copyright rights whatsoever.
Priority claims and related applications
This application is a continuation-in-part of U.S. application No.11/261,436 (attorney docket No. 7344/22) entitled FRAMEWORK FOR PREVIDINING DIGITAL HOME SERVICES filed on 27.10.2005.
The present invention also claims priority from the following applications: U.S. provisional application No.60/641,787 (attorney docket No. 7344/7P) entitled "SYSTEM AND METHOD FOR EXTENDING line service to devices FOR use on day 5, 1, 2005 and U.S. provisional application No.60/641,717 (attorney docket No. 7344/8P) entitled" SYSTEM AND METHOD FOR using PERSONALIZED MULTIMEDIA CONTENT ", filed 1, 5, 2005, are hereby incorporated by reference in their entirety.
The present application is also related to the following patent applications owned by the same applicant, which are hereby incorporated by reference in their entirety:
an pending application having an application number entitled "information alkaline messaging FOR DIGITAL HOME network SERVICES" filed on 5.1.2006 (attorney docket number 7344/31);
an application number pending under the heading "FRAMEWORK FOR PROVIDING ANCILLARY CONTENT IN A TELEVISION ENVIRONMENT" filed on 5.1.2006 (attorney docket number 7344/32); and
application No.10/752,819 (attorney docket No. 7344/20) entitled "SYSTEM AND METHOD for SPECIALIZED CONTENT ASSOCIATED with said CONTENT", filed 6.1.2004.
Technical Field
The present invention generally provides methods and systems for facilitating the delivery and interaction of content items in a television environment. More specifically, the present invention provides methods and systems that facilitate the simultaneous delivery of multiple items of content, including content associated with one or more users in a given social network, and interaction between one or more users in a television viewing environment.
Background
Systems for distributing TV content are generally known to those skilled in the art. Over the past few decades, the number of systems designed for the distribution and consumption of TV content has proliferated, and the number of available channels of TV content has also exploded. For example, viewers are now able to consume TV content over cable, over the air, over satellite, over fiber, and other point-to-multipoint (and multipoint-to-multipoint) distribution systems, each of which may be able to provide hundreds of channels of scheduled and desired TV content. Consumers have difficulty effectively utilizing the pool of available TV content due to the lack of useful tools for analyzing programming to determine the TV content that is likely to be most liked or relevant to the user. Furthermore, viewing TV content has heretofore been a substantially solitary experience, except that it is viewed with another person in the same location.
To overcome these disadvantages and other problems associated with existing apparatus and techniques for viewing TV content, embodiments of the present invention provide a shared viewing experience for TV content and a system and method for providing messenger and messenger-related services and content within the framework of viewing TV content. In addition, embodiments of the present invention enable interaction between multiple users of a community viewing environment.
Disclosure of Invention
The present invention provides messaging capabilities in conjunction with functionality for viewing and interacting with multiple content items in a television environment. More specifically, the present invention allows users to receive and interact with a wide variety of content while also utilizing messaging capabilities to provide users with the ability to interact with individuals in the user's social network.
The present invention allows a user to select to receive television content, gaming applications, internet content, etc., while also viewing a representation of the context of the user's one or more "buddies". Further, the user of the present invention may receive personalized recommendations for content items and personalized advertisements based on the viewing behavior of the user, ratings for the content items, characteristics in a user profile (profile), and the viewing behavior of friends of the user, ratings for the content items, and characteristics.
The messaging and interaction capabilities of the present invention provide a user with the ability to enjoy a plurality of content with one or more users in the user's social network. For example, a user may engage in a gaming application while enjoying television content and monitoring the context of the user's one or more buddies. Similarly, a user may participate in a theater viewing environment with one or more buddies of the user while also participating in one or more instant messaging or chat sessions. Further, a user may tag items of content and deliver the tags (possibly including tagged content) to the user's one or more buddies to provide the buddies with direct access to a particular item of content or location within an item of content (e.g., favorite scenes in a movie or television show).
According to one embodiment, the present invention is directed to a method for providing a given user with a plurality of content, including content selected based on the context of one or more users in the given user's social network. One or more items of content are retrieved for a given user and delivered to the user's client device. Further, representations of the contexts of the one or more buddies associated with the user, indicated in the user's profile, are retrieved for display on the user's client device.
The present invention is also directed to a method for personalizing the delivery of advertisements for display in conjunction with one or more items of content on a client device operated by a user. According to one embodiment of the invention, a method includes retrieving a user profile to identify characteristics of a user and ratings of one or more items of content. One or more items of content are delivered to the client device according to the user's context. One or more advertisements are retrieved and delivered to the client device based on the user's context.
The present invention is also directed to a method for generating a recommendation for one or more items of content to be delivered to a client device. One or more items of content are delivered to a client device. The user profile is annotated with ratings provided by the user for one or more items of content. A request to recommend an item of content is received and a recommendation is generated for one or more items of content. According to one embodiment, the recommendation is based on ratings in the user profile. Alternatively, or in addition, the recommendation may be based on ratings in one or more profiles of other users, which may be friends of the user. One or more recommended items are retrieved and delivered to the client device.
According to one embodiment, the present invention is directed to a method for delivering personalized notifications to a client device of a user. A user profile is retrieved and annotated with one or more user-specified alerts. The user's profile is also annotated with one or more alerts based on user characteristics and preferences indicated in the user profile, which may include annotating the user profile based on characteristics and preferences of the user's friends. One or more information sources are monitored. When information is identified that satisfies the alert condition, a message is delivered to the client device indicating the alert condition, which may be displayed in conjunction with one or more items of content.
According to one embodiment for facilitating community viewing of one or more items of television content, a user profile is retrieved and used to identify one or more buddies of a user. The synchronization request is delivered to one or more buddies of the user. One or more items of content viewed by the user are delivered to one or more buddies that accept the synchronization request. In addition, one or more communication means, such as one or more instant messaging chat sessions, are provided for the user and the one or more buddies that accept the synchronization request.
The present invention also allows for user control of the context of a user's one or more buddies. A user profile is retrieved and used to identify one or more buddies of the user and a shared remote control request is delivered to the one or more buddies of the user, which may include only selected buddies, e.g., a subset of the user's total buddies. The context of the one or more buddies that accepted the shared remote control request is changed to the user's context.
The present invention also allows for tagging of content that may be delivered to one or more buddies of a user. The user may specify one or more tags for one or more items of content, which may be a combination of stored local and remote content data storage. One or more user-specified tags are delivered to the user's one or more buddies, which may include transmitting the tagged content.
Drawings
Fig. 1 is a block diagram illustrating a system for providing access to messenger services and content in conjunction with TV content and auxiliary TV content according to one embodiment of the present invention.
FIG. 2 is a flow diagram illustrating a method for initializing a given user's session and retrieving the context of the given user's one or more buddies, according to one embodiment of the present invention;
FIG. 3 is a flow diagram illustrating a method for initializing a given user's session and retrieving the context of the given user's one or more buddies based on the user's context, according to one embodiment of the invention;
FIG. 4 is a flow diagram illustrating a method for propagating a given user's context to one or more other users in accordance with another embodiment of the present invention;
FIG. 5 is a flow diagram illustrating a method for synchronizing the context of one or more users to participate in a community viewing environment in accordance with another embodiment of the present invention;
FIG. 6A is a flow diagram illustrating a method for tagging content for delivery to one or more buddies of a given user in accordance with one embodiment of the present invention;
FIG. 6B is a flow diagram illustrating a method for remotely accessing a user's profile to identify and interact with content delivered to the user's set-top box in accordance with one embodiment of the present invention;
FIG. 7 is a flow diagram illustrating a method for viewing television content while participating in a gaming application in accordance with one embodiment of the present invention;
FIG. 8 is a flow diagram illustrating a method for entering a rating for a given item of content and propagating the rating to one or more buddies associated with a given user in accordance with one embodiment of the present invention;
FIG. 9 is a flow diagram illustrating a method for deriving recommendations based on one or more ratings according to one embodiment of the invention;
FIG. 10 is a flow diagram illustrating a method for generating an alert to provide a user with notification of one or more events according to one embodiment of the invention;
FIG. 11 is a flow diagram illustrating a method for delivering notifications to a client device based on one or more alerts in accordance with one embodiment of the present invention;
FIG. 12 is a flow diagram illustrating a method for delivering personalized advertisements to a client device in accordance with one embodiment of the present invention;
FIG. 13 is a screen diagram illustrating content that may be retrieved and delivered to a given client device according to one embodiment of the invention;
FIG. 14 is a screen diagram illustrating one or more items of television content available to a client device according to one embodiment of the present invention;
FIG. 15 is a screen diagram illustrating a given user's context as displayed in conjunction with the context of the given user's one or more buddies and one or more advertisements, according to one embodiment of the present invention;
FIG. 16 is a screen diagram illustrating traversal of one or more contexts associated with one or more buddies of a user in accordance with one embodiment of the present invention;
FIG. 17 is a screen diagram illustrating one or more options available when selecting the context of a given buddy in accordance with one embodiment of the present invention;
FIG. 18 is a screen diagram illustrating a client selecting and propagating a given buddy's context to a user's client device according to one embodiment of the present invention; and
FIG. 19 is a screen diagram illustrating delivery of an alert to a client device based on one or more alerts identified in a user profile, according to one embodiment of the present invention.
Detailed Description
In the following description of embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration several specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Fig. 1 presents a block diagram illustrating one embodiment of a system for providing access to messaging services and content in conjunction with television and TV-related content. According to the embodiment of fig. 1, the content distribution server 102 includes one or more software and hardware components to assist in delivering television and TV-related content in conjunction with messaging and messaging-related content and services. The hardware and software components include, but are not limited to, a login component 104, a messaging component 110, a TV application component 112, a profile component 116, an electronic program guide component 118, a recommendation component 124, and other applications 122. The content distribution server 102 also includes one or more data stores for persistently storing information used in providing TV and messaging content and services, including (but not limited to) the profile data store 106, the content data stores 114a and 114b, and the EPG data store 120.
The content distribution server 102 is communicatively coupled to a network 100, which network 100 may include connections to one or more local area networks and/or wide area networks (e.g., the internet). Using the network 100, the content distribution server 102 is able to access local 114a and remote 11b television content, as well as provide television and messaging services, and combinations thereof, to the clients 126a, 128a, 130a, and 132 a. The content distribution server 102 is operable to provide TV and messaging content and services to any client device capable of running TV client software 126b, 128b, 130b, and 132b and messaging clients 126c, 128c, 130c, and 132 c. For example, client devices may include set-top terminals 126a and 128a that use a television as a display device, computer hardware such as a personal computer 130a, and mobile devices 132a such as cellular handsets and personal digital assistants ("PDAs"). Other types of electronic communication devices are contemplated as falling within the scope of the present invention including, but not limited to, digital media adapters, DVD players, connected TVs, and other networked consumer electronic devices.
When a given client 126a, 128a, 130a and 132a initially accesses content and services provided by the content distribution server 102, the server authenticates the given user and/or client device. The content distribution server 102 provides a logon component that allows for authentication of the clients 126a, 128a, 130a and 132a and/or users of a given delivery. The client devices 126a, 128a, 130a and 132a initialize their TV client applications 126b, 128b, 130b and 132b and messenger client applications 126c, 128c, 130c and 132c, which initiate the generation and transmission of a login request to the login component 104 via the network 100. According to one embodiment of the invention, the login request includes information identifying the user of the client device, as well as information about the client device itself, such as a MAC address, IP address, phone number, or other unique identification descriptor. By providing information about the user, the content distribution server 102 may provide a personalized experience to the user regardless of the particular client device 126b, 128b, 130b, and 132b that the user uses to connect to the content distribution server 102.
The logon component 104 receives a logon request from a given client 126a, 128a, 130a and 132a and attempts to authenticate the user and/or device. The logon component 104 may access a given user's profile 108 maintained by the profile data store 106. Accordingly, the logon component 104 uses information identifying the user to attempt to authenticate the user's identity, for example against information contained in the user's profile 108. The identification information can include a username and password whereby the logon component 104 makes a comparison to ensure that the received password is the same as the stored password. Alternatively, or in addition, the logon component 104 may conduct a public key exchange with the client 126a, 128a, 130a and 132a whereby each device (client and logon component) encodes outgoing data with the received public key and decodes received data with its private key. The logon component 104 may also receive information about the client device 126a, 128a, 130a and 132a, such as a MAC address or other unique identification information, to authenticate the client device or otherwise validate that the client 126a, 128a, 130a and 132a is connectable to the content distribution server 102.
The content distribution server 102 can also implement the logon agent 104a to provide scalability and flexibility in handling a large number of clients 126a, 128a, 130a and 132a attempting to connect to the logon component 104. The plurality of client devices 126a, 128a, 130a and 132a initiate communication with a given one of the one or more logon agents 104a via the network 100. Each logon agent 104a initiates communication with the logon component 104, thereby allowing the logon component 104 to service a large number of client requests without the need to maintain and manage connections with each requesting client 126a, 128a, 130a and 132 a.
In the event that the logon component 104 fails to successfully authenticate a user or client 126a, 128a, 130a and 132a, the logon component 104 prevents the client 126a, 128a, 130a and 132a from accessing functionality provided by the content distribution server 102. Alternatively, the logon component 104 may provide only access to the TV application component 112, the electronic program guide component 118 and the EPG data store 120, thereby allowing the user to view television content and schedule data on the clients 126a, 128a, 130a and 132 a. Users who cannot be authenticated by the logon component are thus provided with a traditional digital TV content viewing experience to view content from one or more content sources 114a and 114b as well as their local program guide data.
In the event that the logon component 104 successfully authenticates the user and/or client device, the logon component may record an indication of the successful authentication in the user profile 108 in the profile data store 106. The logon component 104 provides an indication to the messaging component 110 and the TV application component 112 that the user and/or client 126a, 128a, 130a and 132a has been successfully authenticated and may be provided with access to the content distribution server and its constituent components as described above. Upon successful authentication, the messaging component 110 passes the identity of the user to the profile component 116, which profile component 116 retrieves the user's profile 108 from the profile data store 106 for transmission to the messaging component 110. The messaging component 110 may also provide a copy of the user's profile 108 to the TV application component 112, or the TV application component 112 may obtain a copy of the user's profile 108 directly from the profile component 116.
The content distribution server 102 maintains a user profile 108 for each user in a profile data store 106 managed by a profile component 116. Alternatively, or in addition, the user profile may be stored on a remote server (not shown) coupled to the content distribution server 102. The user profile maintained on the remote server may be utilized by multiple servers coupled to the remote server, including the content distribution server 102, to identify a given user and the user's activities. As described above, the user profile 108 maintains authentication information for the user, such as a username and password. The user profile may also be used by the messaging component 110 and the TV application component 112 for recording user interactions with the components 110 and 112, respectively. Accordingly, the user profile may maintain a history of user interactions with the content distribution server 102.
However, those skilled in the art will appreciate that a subset of the historical interactions may be written to the user profile 108. For example, when a user uses the TV application component 112 to view TV content, the TV application component 112 sends a message to the profile component 116 to write a flag to the user profile 108 in response to receiving a command (e.g., a change channel command). Similarly, when the messaging component 110 provides messaging content and related services to a user, the messaging component 110 sends a message to the profile component 116 in response to receiving a command (e.g., sending a message to another user or entering an online game) instructing it to write indicia to the user's profile 108.
The profile 108 also maintains the "context" of the user. According to one embodiment, a user's context may be a concept of an action that a given user is performing at a given time, which may also include the location at which the user performed the action. In other words, the user's context may be what the user is doing at a given moment, e.g., watching a given TV channel, playing an online game, listening to music, conducting an online transaction, etc. The context may also indicate where or what type of device the client is connected to the content distribution server 102, such as set top boxes 126a and 1268, personal computer 130a, mobile device 132a, and so forth. By providing the messaging component 110 and the TV application component 112 with the user's context, each component 110 and 112 is able to identify and retrieve appropriate content to provide the user with messaging content and related services that are unified with TV content and related services, as will be described in more detail below. The profile component 116 receives updates to the given user's context from the messaging component 110 and the TV application component 112, and the profile component 116 writes the updates to the given user's user profile 108. Thus, a given user's profile 108 maintains a history of the user's context over a period of time.
The profile may also maintain information about other system users that are relevant to the given user. For example, a given user may use messaging clients 126c, 128c, 130c, and 132c on client devices 126a, 128a, 130a, and 132a to identify one or more buddies, the identities of which are written to the given user's profile 108. By traversing the relevant user groups, the profile component 116 is operable to identify the social network of the user. There may also be communities of users, so indications about membership in a community are written to the given user's profile 108. Similarly, the profile component 116 can identify a subset of the given user's buddies from a given user's buddy population. According to one embodiment, the profile component 116 calculates a social network for a given user that includes all users having an N degree relationship with the given user. For example, user A maintains a direct relationship with user B, which maintains a direct relationship with user C. User a and user C are two degrees related and each of them is one degree related to user B.
The TV application component 112 identifies the user's context and retrieves the appropriate TV content for transmission via the network 100 to the client devices 126a, 128a, 130a and 132a with which the user interacts. Further, the TV application component 112 may obtain auxiliary TV content including, but not limited to, audio, video, text, images, and combinations thereof. According to one embodiment of the invention, the TV application component 112 retrieves TV content and auxiliary TV content from a local content data store 114a, which content data store 114a aggregates TV content and auxiliary TV content from different sources. Alternatively, or in addition, the TV application component 112 retrieves TV content and auxiliary TV content from the local content data store 114a and from the remote content data store 114b via the network 100, where the desired content resides remotely on the remote content data store 114 b. Similarly, the TV application component 112 may collect TV content from multiple TV content distribution systems (not shown) for storage in the local and remote content data stores 114a and 114b, respectively. The TV application component 112 can selectively deliver TV content to a user based on a TV content delivery schedule published by the TV content distribution system for the area in which the given user is located.
The messaging component 110 is also provided with the user's context, allowing the messaging component 110 to know what actions the user is performing, such as watching TV content, viewing auxiliary TV content, playing online games, listening to music, and so forth. Because the messaging component 110 is aware of the user's identity, the messaging component 110 may identify other users in the given user's social network, which are also referred to as "friends" of the user. With knowledge about the given user's identity and other users in the given user's social network, the messaging component 110 can instruct the TV application component 112 to propagate the given user's context to other users in the given user's social network. Propagating the context of the user may include generating an image representative of the context of the user, which may also include other data (e.g., text, audio, video, combinations thereof, and so forth) describing the context of the user. Alternatively, information about the user's context may be used to look up and retrieve additional relevant information from content data stores 114a and 114 b. The TV application component 112 presents the given user's context to other users in the given user's social network, for example by presenting icons. The TV application component 112 may provide a given user with the context of other users in the given user's social network and vice versa.
The following examples may be illustrative and are not intended to be limiting. Assume that The user is watching The TV program "The apparatus" on The third channel. According to one embodiment, the messaging component 110 identifies the user's buddies and instructs the TV application component 112 to propagate the user's context to their buddies. The TV application component 112 generates a thumbnail image representing The program "The apparatus," which is propagated by The TV application component 112 to The friends of The given user. The thumbnail is presented on the client device of the given buddy along with information describing the program, such as the title and the fact that the user is watching the program of the third channel. The TV application component 112 may modify information about the given user's context, such as scaling down thumbnail images, based on the given destination client device 126a, 128a, 130a, and 132 a.
The messaging component 110 and TV application component 112 allow for several advanced features not available in content distribution systems known to those skilled in the art. Because the messaging component is aware of the given user's context and can receive input from a given client device 126a, 128a, 130a, and 132a, users of the content distribution server 102 can interact with each other. The messaging component 110 provides a given user context to the TV application component 112, and the TV application component 112 propagates the context to other users in the given user's social network, and vice versa. A given user may select an indication of the context of other users in the given user's social network to initiate an action. Initiating the action may include initiating an instant messaging session with the selected user, switching context to the context of the selected user, and so forth. The selection is passed to the messaging component 110, and the messaging component 110 performs the requested action and provides the content for consumption and dissemination by the TV application component in a manner appropriate to the other user. One exemplary use of this functionality is shared viewing of content between multiple users, shared remote control functionality between multiple users, combinations thereof, shared remote and shared viewing with instant messaging between multiple users, and the like.
The messaging component 110 also provides access to other application components 122. Alternatively, the other application components 122 may communicate directly with the TV application component 112 to provide content for distribution to one or more client devices 126a, 128a, 130a and 132a in communication with the content distribution server 102 via the network 100. An exemplary other application component 122 is an online poker gaming application. Other applications 122 process the main program logic of the online poker game. Each user's context, which may include location information (e.g., playing on-line cards), the identity of other players in the game, what the given user's actions are (dealing, deducting, doubling bet), etc., is provided to the messaging component 110, and the messaging component 110 passes information about the given user's context to the TV application component for propagation to other players in the game.
The propagation of information regarding a given user's context may also be propagated to other users in the given user's social network who are not necessarily playing an online poker game. Those skilled in the art will appreciate that other application components that fall within the scope of the present invention are not limited to online poker game components, and may include other applications to which the messaging component 110 may interface, including (but not limited to) music engines that the messaging component 110 may use to indicate the current song that the TV application component 112 user is listening to, search applications that the messaging component 110 may use to indicate keywords and related result sets that the TV application component 112 user is searching for, and so forth. These are examples of the given user's context that the TV application component 112 may propagate to users of the content distribution server 102 in conjunction with the messaging component 110 to provide a shared content consumption experience.
As described above, the TV application component 112 may propagate the given user's context, which may include channel information about the TV program the given user is watching, to other users in the given user's social network. However, problems arise when individual users access TV content in different time zones and locations with different channel allocations. The content distribution server 102 includes an electronic program guide component 118 communicatively coupled to the network 100 and operable to receive electronic program guide information, such as programming for a given location and time zone. The electronic program guide component 118 queries a program guide server (not shown), such as those operated by Tribune MediaServices, that communicates via the network 100. The electronic program guide component 118 stores one or more electronic program guides in the EPG data store 120. According to one embodiment of the invention, the EPG data store 120 is a relational database, but may be replaced by: a tag-separated data store, a comma-separated data store, an object-oriented database, a hybrid object-relational database, or other data stores known to those skilled in the art. SYSTEMs AND METHODs FOR generating an ELECTRONIC PROGRAM GUIDE include U.S. patent No.6,813,774 entitled "PROGRAM GUIDE DISPLAY PROGRAMs AND PROGRAM GUIDE DISPLAY METHOD", U.S. patent No.6,763,522 entitled "SYSTEM AND METHOD FOR a digital television PROGRAM GUIDE", AND U.S. patent No.6,611,958 entitled "ELECTRONIC PROGRAM GUIDE PROGRAM SYSTEM", the entire contents of which are hereby incorporated by reference. Furthermore, those skilled in the art will appreciate that a variety of electronic program guides are commercially available, including those available from Pioneer, Scientific Atlanta, Motorola, Gemstar/TV Guide ("GTVG"), Charter Communications, and the like.
When the TV application component 112 propagates the given user's context to other users in the given user's social network, the TV application component 112 may query the electronic program guide component 118 to determine the user's local context in the social network that corresponds to the user's context. For example, in the case where a user is watching a program on an ABC network, the same program is not necessarily transmitted on the same channel in all locations and time zones (if the program is transmitted). Thus, for each user in the given user's social network to whom the TV application component 112 will communicate the given user's context, the electronic program guide component 118 retrieves the electronic program guide from the EPG data store 120 for the user in the social network.
The electronic program guide component 118 performs a search in an attempt to locate the program in the electronic program guide that a given user is viewing. If successful, the electronic program guide component 118 indicates to the TV application component 112 on which channel the user in the social network would find that the program being viewed by the given user is being transmitted; the TV application component 112 may propagate this information as part of a given user's context. In the event that the electronic program guide component 118 cannot locate the given user's context in the electronic program guide, e.g., the program being viewed by the given user is not currently being transmitted in the time zone in which the user is located in the social network, the electronic program guide component 118 may identify alternate times at which the program is transmitted, which the TV application component 112 may also propagate as part of the given user's context. The TV application component 112 communicates this information to the user in the social network. Where the client devices 126a, 128a, 130a, and 132a include digital video recording functionality ("DVR"), the TV application component 112 may provide the user in the social network with an opportunity to schedule program recordings. The recording may also include a recording of content that a given user cannot select through interaction with the EPG, such as internet-based content. It should be noted that the selection of programs or other content for recording may be recorded in the user's profile as a context or context change.
According to one embodiment of the invention, the content distribution server 102 uses a unique identifier to identify each program it is transmitting to the clients 126a, 128a, 130a and 132a, which are stored, for example, in the EPG data storage 120. According to another embodiment of the present invention, the content distribution server 102 utilizes a unique program identifier ("PID") provided by the EPG data stream to identify each program it is transmitting to a client 126a, 128a, 130a and 132 a. The electronic program guide component 118 searches the EPG data store 120 to locate the program that the given user is watching and to determine the unique identifier of the program, which the TV application component 112 can disseminate as part of the given user's content. The client devices 126a, 128a, 130a, and 132a that users in a given user's social network are operating receive the given user's context and attempt to identify the program that the given user is viewing in a local electronic program guide, which may be stored on the clients 126a, 128a, 130a, and 132a or retrieved from a network source.
If successful, the client-side software (e.g., TV clients 126b, 128b, 130b, and 132b) indicates to the user in the social network on which channel he may find the program that the given user is watching, which may include allowing the user in the social network to tune to the channel on which the electronic program guide component 118 is transmitting the program. In the event that the identifier of the program cannot be located in the local electronic program guide, the client-side software may identify alternate times at which the program was transmitted. Where the client devices 126a, 128a, 130a, and 132a include digital video recording functionality ("DVR"), the clients 126a, 128a, 130a, and 132a may provide the user in the social network with an opportunity to schedule the recording of the program. The recording function of the DVR can include recording content that does not appear in the EPG, such as internet-based content.
As described above, interactions with the messaging component 110 and the TV application component 112 may be recorded by the profile component 116, which profile component 116 maintains a profile 108 for each user in the profile data store 106. In other words, the profile 108 contains a history of user context changes as a function of time, allowing decisions to be made regarding the preferences of a given user based thereon. For example, in the case where the user's context is identified as watching science fiction programs for a long time and watching news programs for a short time, a decision may be made that the user prefers science fiction programs. This may also take sub-types into account, such as science fiction/action, science fiction/horror, etc. Each profile 108 may also include contextual information as a function of time for other users in the given user's social network as well as other users that utilize the content distribution server 102.
The recommendation component 124 may utilize the user profile in the profile data store to provide recommended programming to the user, which may also include providing recommendations for using other applications, such as in response to an online event, a user for whom the given user wishes to be a friend, auxiliary TV content, and so forth. In accordance with an embodiment of the present invention, the recommendation component 124 may utilize the user profile to determine content recommended to the user. Alternatively, or in addition, the recommendation component 124 can also utilize user profiles of friends of the given user, such as profiles of those users that are in the given user's social network. The recommendation component 124 may also calculate a vector for a given user's profile, and may include those users with similar profile vectors in their calculations of recommended content. Further, the recommendation component 124 can utilize a profile of a user community that contains aggregated context information of the user community when determining recommended content. Similarly, the recommendation component 124 can utilize personalized services, such as My Yahoo! Which allows a user to create and edit his own profiles for indicating media preferences (e.g., favorite channels or TV programs), which profiles are stored in Yahoo | s! On a server (possibly the profile data store 106) and available to the recommendation component 124.
The recommendation component 124 allows the content distribution server 102 to manage the viewing experience, habits and preferences of users interacting with the content distribution server 102. As described above, the recommendation component 124 may provide recommendations beyond TV content, extending to all services provided by the content distribution server. For example, a user may interact with the messaging component 110 to access other application components 122 through the TV application component 112. One exemplary other application component 122 is an online poker game in which users may play cards with one another online. In the event that the user profile indicates that the user has spent a significant amount of time in the context of the online poker application 122, the recommendation component may alert the user when an upcoming online poker tournament is about to begin.
The system of the present invention shown in FIG. 1 provides a shared content consumption experience for users of the content distribution server 102. A given user may be informed of the context of other users of the system, including the context of the user in the given user's social network. According to one embodiment, icons and accompanying text data are propagated by the TV application component and presented to a given user on the client devices 126a, 128a, 130a and 132a to indicate the context of other users of the server 102. The presentation of the other user's context in conjunction with the presentation of the TV content allows for a shared viewing experience whereby a given user may know the other user's context and may change its context to that of another user. For example, where the context of a user in the given user's social network indicates that the user in the social network is watching a program that the given user likes, the given user may change his context to match the context of the user in the social network (e.g., tune to receive a transmission of the same TV content that the user in the social network is consuming). With the architecture described herein, several applications become available in the context of TV consumption processes, including (but not limited to) personalization, community viewing, shared presentation and context, messaging, access ratings and recommendations (including community reviews), alerts, and the like.
The content service provider 102 provides access to its functionality and application components through the use of one or more application programming interfaces ("APIs") 100. The API 100 is an interface or set of calling rules that a given application component can utilize to access other application components and the services that those application components provide. Through the use of the API 100, a given application component advertises information about functions and/or services that it may provide to other components, which may also include techniques to access the functions or services. This enables the application components that make up the system to access the support system and network services. For example, the API 100 allows client-side applications to make function calls for action execution and service access, such as tuning channels, accessing online games, listening to music, allowing a messenger component to interact with a TV application component or allowing a messaging client to access EPG data, as described herein, and so forth. Although FIG. 1 illustrates the API 100 as a separate system component, those skilled in the art will appreciate that each application component may provide an individual API 100 that identifies the particular functionality and services provided by a given application component. Further, application components residing on client devices 126a, 128a, 130a, and 132a, such as messaging clients 126c, 128c, 130c, and 132c, may provide one or more APIs 100 advertising the functionality and services provided by a given application component.
One embodiment of a method for selecting content based on one or more users ("friends") in a given user's social network is illustrated in FIG. 2. According to the embodiment shown in FIG. 2, a user of a client device may initialize and connect to a content distribution system (step 205), which may include a logon component. Initialization may include the client device powering up and initializing a communication stack, such as a TCP/IP stack, and establishing a connection with a logon component via a network, such as the internet. The logon component attempts to verify the user's credentials using information maintained in the user's profile that may be retrieved by the profile component (step 210).
Television content is retrieved and displayed to the user on the user's client device, which may include use of a TV application component (step 215). According to one embodiment of the invention, the TV application component retrieves content from the content data store based on content selected by the user from a plurality of television programs or a list of television programs displayed to the user. For example, the electronic program guide component may retrieve electronic program guide data from the EPG data store that identifies one or more items of television content available to the user. The electronic program guide may be displayed to a user for selecting one or more items of television content from the electronic program guide. According to another embodiment of the present invention, the television content retrieved and displayed to a given user is based on a user profile maintained in a profile data store. For example, a user's profile may maintain information identifying the age, location, gender, etc. of a given user. An exemplary method for deriving content based on a user profile is described in U.S. patent application No.10/752,819 entitled "SYSTEMAND METHOD FOR ACCESSING SPECIALIZED CONTENTASSOCIATED WITH BROADCAST CONTENT" owned by the applicant of the present application, which is hereby incorporated by reference in its entirety. According to the methods described further herein, the TV application component may retrieve and display content to the user based on one or more items of information maintained in the user profile. The content retrieved by the TV application component may include audio, video, text, images, and combinations thereof.
The user's profile is also used to determine whether a given user has one or more friends or whether the user is part of one or more social networks (step 220). For example, a user may subscribe to one or more instant messaging services, such as Yahoo! Messenger. The instant messaging service may allow a user to specify and save buddies with which the user may communicate by delivering instant messages via the corresponding instant messaging application. According to one embodiment of the invention, a user may specify in a user profile one or more instant messaging services to which the user has subscribed. Similarly, a user may specify one or more buddies having profiles maintained on the system described herein. The messaging component may retrieve the identities of the user's one or more buddies that maintain the profile on the system described herein and may also retrieve the identities of the one or more buddies identified in each respective instant messaging application identified in the user's profile.
A check is performed to determine whether a given user has one or more buddies designated in one or more instant messaging applications or whether the user has one or more buddies that maintain a profile on the system described herein (step 220). If the user does have one or more buddies, the messaging component may retrieve the identity of one or more buddies that are specified by the user in one or more instant messaging applications or that are specified as buddies with profiles on the content distribution system, step 228. The messaging component may also determine whether any of the given user's one or more buddies are currently active, step 229. For example, a given buddy may be considered active if the buddy has a profile and is currently logged in or accessing the content distribution system. Alternatively, or in addition, the inter-messaging component may be operable to communicate with one or more third party applications and the messaging component to identify whether a given buddy is logged into the third party application, which may include an instant messaging application.
If none of the user's one or more buddies are active, or if the user's profile does not identify one or more buddies, the profile component may be used to traverse the plurality of profiles maintained in the profile data store to select a profile of the active user that matches or is similar to the given user's profile (step 225). One or more active user's profiles that match or are similar to the user's profile may be designated as temporary buddies of the user, step 225. For example, a given user's profile may specify that the user is thirty years old, live in the New York City, hobby football, and likes to watch a live television show. The profile component may traverse a plurality of user profiles stored in a profile data store and retrieve one or more profiles that identify active users of interests or preferences that are similar to those of a given user (e.g., matching on one or more profile fields). The selected active user or users ("users similar to you") may be temporarily designated as friends of the user.
After the user's buddies are either temporarily specified (step 225) based on the user's preferences and characteristics or specified (step 228) from information maintained in the user profile, the user's context of one or more active buddies may be retrieved (step 230), which may include retrieval by a messaging component. According to one embodiment of the invention, a context may be a concept of an action being performed by a given user at a given time, which may also include the location at which the user performed the action. In other words, the context may be what the user is doing at a given moment, e.g. watching a given TV channel, playing an online game, listening to music, making an online transaction, etc. Or avatars (avatars) associated with each buddy are retrieved, where the avatars may include the identifier of the given buddy (step 235). For example, the avatar may include an image selected by a given buddy that identifies the given buddy.
The retrieved context of the user's one or more buddies may be displayed on the given user's client device along with each buddy's respective avatar in conjunction with the TV content being viewed by the given user, step 240. According to one embodiment of the present invention, the context of a given user's one or more buddies is displayed as an image representing the given buddies' context. For example, if a given buddy is watching a television program "The apprence," an image associated with The television program may be displayed on The given user's client device. Similarly, if a given buddy is playing in an online card room, an image of the card room associated with the given buddy's context may be displayed on the given user's client device.
According to another embodiment of the present invention, the context of a given user's one or more buddies is displayed on the user's client device. For example, if a given user is watching a television program and a buddy associated with the user is playing an online poker game, the buddy's context may be displayed in conjunction with the TV content that the given user is watching, whereby the user may view the buddy's poker game as it progresses. Similarly, if a friend associated with a user is listening to music by a particular artist, images associated with the musician, as well as music audio content, may be delivered to the user's client device to allow the user to listen to music associated with a given friend. According to one embodiment of the invention, a messaging component identifies the contexts of buddies of a given user and requests one or more items of content from a TV application component or another application component based on the identified contexts of one or more buddies. The TV application component or another application component may retrieve content associated with the context of one or more buddies from a content data store, which may include television content, content representations, music content, and so forth. The retrieved content is delivered to the user's client device to allow the user to view the context of the user's one or more buddies.
The user may select a representation of the context associated with each buddy that is retrieved and displayed on the user's client device. According to one embodiment of the invention, the messaging component may identify the context of one or more buddies of the user and instruct the TV application component to deliver images, icons, audio content, streaming data, etc. representative of the buddy's context to the user's client device. With the remote control device, a user may navigate to a visual or audio representation of a given buddy's context. According to one embodiment of the present invention, a user may select a representation of a given buddy's context to change the given user's context to the selected buddy's context. For example, if a given user is watching a television program "The apparatus" and a given buddy is watching a television program "The Practice," The user may select a representation of The buddy's context (watching "The apparatus") such that The user's context is changed to The buddy's context (watching "The Practice").
A check is performed to determine if the user has selected a representation of the given buddy's context, step 245. If the user selects a representation of the given buddy's context, the buddy's context is propagated to the user's client device, step 250. According to one embodiment of the invention, a messaging component retrieves the context of the selected buddy and instructs a TV application component to retrieve and deliver the buddy's context to the user's client device. If the user does not select a representation of the given buddy's context, the user's context remains unchanged (step 255). The user may then continue to review the content available to the user while also viewing representations associated with the context of the user's one or more buddies.
FIG. 3 illustrates one embodiment of a method for retrieving and displaying the context of a given user's one or more buddies based on the given user's context. According to the method illustrated in FIG. 3, a user of a client device initializes and connects to a logon component (step 305) to verify credentials maintained in the user's profile, which may be retrieved by a profile component from a profile data store (step 310). The user may select from a plurality of content available to a given user. For example, the electronic program guide component may search an EPG data store operable to store one or more program guides and display one or more items of content available to a given user. A given content item selected by the user may be retrieved from the TV application component and displayed on the given user's client device (step 315). The content retrieved by the TV application component may be retrieved from a content data store and may include TV programs, movies, broadcast data, video on demand ("VOD"), and the like.
The context selected by a given user may be retrieved and delivered to a messaging component in order to identify one or more buddies associated with the given user's context. For example, a given user may select from an electronic program guide to display a television program for a football game between New York Giants and Cleveland Brown, which may be displayed on the user's client device. Further, a user's profile may be retrieved and used to determine whether a given user has one or more buddies associated with a selected context. Similarly, a given user may select a VOD horror movie, which may be displayed on the user's client device. A user's profile may be retrieved and used to determine whether a given user has one or more buddies associated with a context selected by the user, including the movie type. According to one embodiment of the invention, a buddy may be an individual associated with a given user in one or more instant messaging applications to which the given user has subscribed, an indication of which is included in a user profile. According to another embodiment of the present invention, a buddy includes an individual having a profile maintained on a content distribution system, the profile indicating interests or characteristics that match or are similar to those of a given user.
A check is performed to determine if the user has one or more buddies, which may be identified in the user's profile, step 320. If the check performed at step 320 is positive, an additional check is performed to determine if the given user has one or more buddies or buddy lists (e.g., context-specific buddies) associated with the context selected by the given user, step 325. According to one embodiment of the invention, context-specific buddies may be buddies associated with a user's specific context. For example, a given user may be a keen football fan and designate one or more buddies, who are also interested in football, as football buddies. According to another embodiment of the present invention, a user may identify multiple buddy lists, where each buddy list may include one or more buddies associated with a given context. One or more buddy lists may be maintained on the content distribution system or on a remote server coupled to the content distribution system. If the user does not have one or more context-specific buddies or a list of context-specific buddies, step 325, the context of the user's default buddies is displayed, where the default buddies may include one or more buddies that are not associated with any particular context, step 330.
If the user does not have one or more buddies, step 320, the profile component may traverse one or more profiles maintained in the profile data store to select one or more profiles of active users that are similar or match the profile of the given user, step 340. According to one embodiment of the invention, the profile component traverses a plurality of user profiles stored in a profile data store to identify one or more profiles that identify interests or preferences similar to those of a given user, e.g., matches on one or more profile fields. One or more profiles of active users retrieved from the profile data store that are similar or match the profile of the given user may be temporarily designated as buddies of the given user. Alternatively, or in addition, the retrieved profile may also be selected based on the context of a given user, thereby constituting context-specific buddies.
A check is performed to determine if one or more context-specific buddies of a given user are active, step 335. If a given user's context-specific buddy is not active, the user's one or more default buddies may be displayed, wherein the user's default buddies may include the user's one or more buddies that are not associated with any particular context, step 330. According to one embodiment of the invention, a given buddy is active if the buddy is already logged into the content distribution system. If one or more of the context-specific buddies of a given user are active, or after the one or more context-specific buddies of the user are temporarily designated based on the user's profile or context, the context of the one or more context-specific buddies is retrieved (step 345) and displayed on the user's client device (step 350). According to one embodiment of the present invention, an audio or visual representation of a user's one or more buddies ' context is displayed on a given user's client device. The user may interact with the displayed one or more buddies, such as by using instant messaging or a chat session.
FIG. 4 illustrates one embodiment of a method for providing a user with control over the context of the user's one or more buddies. The user of the client device initializes and connects to a logon component (step 410) to verify user credentials maintained in a user profile, which may be retrieved from a profile data store (step 415). The TV application component may provide the content to the user for viewing on the client device (step 420). According to one embodiment of the invention, content is selected by a given user from a plurality of content displayed to the user, such as through an electronic program guide. According to another embodiment of the invention, content is retrieved based on one or more characteristics of a user profile according to the methods described herein.
One or more buddy active buddies of the user are identified, step 425. According to one embodiment of the present invention, the one or more buddies of the user include individuals designated as buddies in one or more instant messaging applications as indicated in the given user's profile. According to another embodiment of the present invention, the one or more buddies of the user comprise one or more users having a profile maintained on the content distribution system. The identified one or more active buddies may be displayed on the user's client device along with an audio or visual representation of each buddy's respective context, step 428. For example, an inter-messaging component operable to communicate with a third party instant messaging application may identify whether a given buddy is logged into the third party application. An audio or visual representation indicating the third-party application to which the given buddy is logged may be displayed on the user's client device. Similarly, the messaging component may identify one or more buddies logged into the content distribution system and retrieve the context of the one or more buddies for display on the user's client device.
A user may select one or more active buddies and deliver a shared remote control request to the one or more selected active buddies. A check is performed to determine whether the user selected one or more active buddies associated with the given user, step 430. If one or more active buddies are not selected, a shared remote control request is not generated or delivered to the one or more active buddies and the user may continue to view the content displayed on the user's client device, step 420. If one or more active buddies are selected, step 430, a shared remote control request is delivered to the selected one or more active buddies, step 435. According to one embodiment of the invention, the shared remote control request includes a request to allow a given user to control one or more content items displayed on a given buddy's client device. For example, the client device may be operable to display a plurality of items, such as one or more television programs, an online poker game, an instant messaging application, and so forth. The shared remote control request accepted by a given buddy may allow the given user to control the content displayed on the given buddy's client device.
A check is performed to determine if one or more buddies associated with the user accepted the shared remote control request, step 445. If none of the selected buddies accept the user's shared remote control request, the user has not gained control of the content displayed on the client devices of the one or more selected active buddies. If the shared remote control request is accepted by one or more selected buddies, step 445, the context of the user from which the shared remote control request originated is displayed on the client device of the one or more selected active buddies, step 440. For example, a user may be watching a television program "Law and Order," and active friends B1 and B2 associated with The user may be watching television programs "The background" and "The Practice," respectively. The user may select active buddies B1 and B2 and deliver a shared remote control request to both buddies. B1 and B2 may reject or accept the shared remote control request. If both B1 and B2 accepted the shared remote control request, the client device of B1 and the client device of B2 are updated to reflect the context of the given user. Similarly, if the shared remote control request is accepted by B1 and rejected by B2, the client device of B1 is updated to reflect the user's context, while the client device of B2 is not updated. A check is periodically performed to determine if the user's context has changed, e.g., if the user has changed the tuned television channel on their client device (step 450). If the user's context has not changed, no updates are made to the one or more active buddies that accepted the shared remote control request delivered by the user, step 440. In the event that the context of a given user changes, the change is propagated to one or more active buddies that accepted the shared remote control request delivered by the user (step 455), and a new context is displayed (step 440).
According to one embodiment of the present invention, infrared ("IR") signals are transmitted to a user's set-top box via the user's remote control. The client application program interface may capture the IR signal and deliver the signal to the content distribution system via the client messenger application. The signal received by the content distribution system may be delivered to a messaging component that may identify one or more buddies that accepted the shared remote control request. The messenger component may propagate a signal to the set top box of the buddy who accepted the shared remote control request to reflect the user's content. Those skilled in the art will appreciate other methods for delivering signals to one or more set top boxes that reflect the context of the user.
FIG. 5 illustrates one embodiment of a method for facilitating community viewing and interaction in a given context. The user of the client device initializes and connects to a logon component (step 505), which may include verifying the user's credentials maintained in the user's profile (step 510). After verifying the user's credentials, a check is performed to determine whether the given user has one or more buddies, step 515, which may include accessing a user profile. According to one embodiment of the invention, one or more buddies of a user may be identified based on one or more instant messaging applications to which the given user has subscribed, which may be indicated in the user's profile. According to a further embodiment, the friends of the user may comprise individuals having profiles maintained on the content distribution system.
If the retrieved user profile does not identify one or more buddies for the given user, a search for "users who are similar to you" is performed (step 525). According to one embodiment of the invention, "users similar to you" include other users having profiles maintained on the content distribution system that match or are similar to the user's profile with respect to the characteristics identified in the given user profile, including personal information, frequently viewed content, and the like. For example, if the user's profile identifies that the user is located in Houston, Texas, age 42 and likes horror movies, a profile with similar characteristics of age, preference, location, etc. may be retrieved. The retrieved one or more profiles that constitute "users similar to you" may be designated as temporary buddies of the user (step 525).
Where the user's profile identifies one or more buddies, or after one or more profiles that constitute a match with the given user's profile are retrieved and designated as temporary buddies, a check is performed to determine if any of the user's one or more buddies are logged into the content distribution system (step 520). If none of the user's buddies are logged into the content distribution system, the user is notified of this (step 530). The user's one or more buddies may be monitored to determine if any of the user's one or more buddies become active.
If one or more of the user's buddies are identified as active, step 520, the user may deliver a synchronization request to the one or more user buddies, step 535. According to one embodiment of the invention, the synchronization request includes an invitation delivered to one or more users to participate in community viewing. For example, synchronization of a given user with one or more buddies may result in the user and the one or more buddies engaging in a "theater" type viewing environment in which the user has the one or more buddies simultaneously watch the same television program, movie, etc., while also engaging in an instant messaging or chat session.
The synchronization request delivered by a given user may be rejected or accepted by the user's one or more buddies, step 555, which may be a subset of the user's active buddies. If the synchronization request is denied by the selected buddy associated with the given user, the user is notified of this (step 550). The user's one or more buddies or a subset of the user's buddies may then be monitored to determine if any additional buddies associated with the user are logged into the content distribution system, step 545. A check is periodically performed to determine if one or more additional buddies are logged into the system described herein (step 540). If one or more additional buddies associated with the given user are logged into the content distribution system, a synchronization request may be delivered to such buddies, step 535.
If the synchronization request is accepted by the buddy associated with the selected given user, the profile of the one or more buddies is retrieved (step 560). According to one embodiment of the invention, the profile of one or more buddies is used to identify the location of the one or more buddies and the content available to each buddy. For example, a user's one or more buddies may be located in various locations throughout the United states, the world, and so on. Content available to a given user may not be available to a given buddy at the same time, on the same channel, etc., due to time zone differences, programming differences, etc. The user's profile may be used to identify the user's location and content available to the user. Similarly, a profile of a user's one or more buddies may be used to identify content available to each buddy.
According to one embodiment of the invention, the profiles retrieved for the user and one or more buddies may be used by the electronic program guide component to identify content maintained in the content data store that is available to the user and one or more synchronized buddies. For example, a given user's profile may indicate that the user is located in a New York City, while a given friend's profile may indicate that the friend is located in san Francisco. Due to the time zone differences, content available to friends located in San Francisco may not be available to friends located in new york city until hours later. Using profiles associated with the user and the friends, the electronic program guide component may identify content that is available to both individuals while maintained in the content data store. According to another embodiment of the present invention, profiles retrieved for a user and one or more buddies may be used to identify content maintained on the user's one or more buddies' client devices. For example, a user's client device and one or more buddies' client devices may be operable to record content, such as a digital video recording ("DVR") enabled client. The profiles of the user and one or more buddies may be used to identify content maintained on such devices.
Content available to the user and the user's one or more synchronized buddies may be displayed to the user and the one or more synchronized buddies, step 562. The user and one or more synchronized buddies may select a given content item using a variety of methods. For example, a voting scheme may be used whereby the user and each synchronized buddy vote for the content item they wish to view. The content items that received the most votes may be selected for display to the user and one or more synchronized buddies. Similarly, control may be granted to a user or a given synchronized buddy who may select content items to be viewed by the user and one or more synchronized buddies. Those skilled in the art will appreciate other techniques for selecting content items available to multiple users.
The user and one or more buddies may then synchronize the start times of the selected items of content, step 563, where the start times may include when a given item of television content is to be delivered to the user's and one or more buddies' client devices. According to one embodiment of the invention, the messaging component is operable to select a start time that is N minutes after the user and one or more synchronized buddies select an item of content. The messaging component may instruct the TV application component to deliver the selected content to the user's and one or more buddies' client devices at the selected start time. According to another embodiment of the invention, the user and one or more synchronized buddies may select the start time of the selected content item. According to another embodiment of the present invention, control may be granted to one of the user or synchronized buddies to allow the user or a given synchronized buddy to select a start time for the selected content item. The selected start time may be delivered to a messaging component operable to instruct the TV application to deliver the selected content item at the selected start time.
The selected content item is displayed on each synchronized buddy's client device and the user's client device at the start time of the synchronization, step 565. The user and one or more synchronized buddies are thus able to view the same item of content simultaneously at different locations on multiple client devices. According to one embodiment of the invention, additional services may be provided to the user and one or more synchronized buddies for communication. For example, an instant messaging application may be displayed in conjunction with a selected content item to allow a user and one or more synchronized buddies to engage in an instant messaging or chat session during the display of the selected content item. Those skilled in the art will recognize other applications that allow communication or interaction between multiple viewers in a community viewing environment.
Fig. 6A illustrates one embodiment of a method for facilitating tagging and delivery of one or more content items to one or more buddies associated with a given user. The user of the client device initializes and connects to a logon component (step 605) to verify user credentials maintained in the user's profile, which may be retrieved from a profile data store (step 610). Content is retrieved and delivered to the user's client device (step 615), which may include receiving television content. According to one embodiment of the invention, a user may utilize an electronic program guide to select content retrieved and delivered to the user's client device. For example, the electronic program guide component may search an EPG data store operable to store one or more program guides and may display one or more items of content available to a given user. A given content item selected by the user may be retrieved from the TV application component and displayed on the given user's client device, step 615.
According to the embodiment illustrated in fig. 6A, a user viewing content on a given client device may tag or otherwise mark an item of content or a portion of an item of content for delivery to one or more buddies associated with the user. The tags may include "start" and "stop" delimiters to identify a portion of content that the user wishes to deliver to one or more buddies associated with the user. For example, a user watching a television program or movie may like a particular scene and wish to share that scene with one or more buddies. The user may then tag as many television items as desired using the start and stop tags and deliver the tagged scenes to one or more buddies. According to one embodiment of the invention, a given tagged content item may be recorded to a user's client device. For example, a user of a client device having digital recording functionality ("DVR") may locally record content identified by start and stop tags. According to another embodiment of the invention, the tag may comprise an identifier that may be used to provide direct access to the tagged content item. For example, a user may wish to tag a certain ten second scene in a two hour movie. The start tag may identify the hour, minute, and second when the scene begins, and the stop tag may identify the hour, minute, and second when the scene ends. Start and stop tags may be delivered to one or more buddies to provide the one or more buddies direct access to the tagged content item.
As content is displayed on a given user's client device, a check is periodically performed to determine whether the user has selected to tag the displayed content (step 620). If the user does enter any tag information, the content continues to be displayed on the client device (step 615), and the user may continue to select content from the plurality of content available to the user. If the user enters a label, the label tagged by the user is saved (step 625). According to one embodiment of the invention, the content tagged by the user may be stored locally on the user's client device or remotely on another device operable to record the content. For example, a client device having digital video recording functionality ("DVR") may provide a user with the ability to locally record a given item of tagged content. Alternatively, the tagged content may be recorded and stored in a remote content storage device operable to store one or more items of content. According to another embodiment of the invention, content tagged by a user may be identified using start and stop identifiers. For example, start and stop identifiers may be stored and delivered to one or more buddies to provide the user's one or more buddies direct access to a given tagged item of television programming, movie, or the like. According to another embodiment of the present invention, content tagged by a user may be identified using an offset or pointer that identifies a location in a given item of digital content. For example, a given offset or pointer may be delivered to one or more buddies to identify a location in an item of digital content. A given buddy may select the offset or pointer to gain direct access to the location in the content item specified by the user.
A check is performed to determine if the user has one or more buddies, step 630. If the user's profile does not identify one or more buddies for the given user, the process ends (step 645). One or more tags saved locally at a user's client device or remotely on a device operable to store one or more tags may be later retrieved and viewed by a given user.
If the user's profile identifies one or more buddies, step 630, the one or more buddies may be retrieved, step 632, and displayed to the given user on the given user's client device along with an audio or visual context representation associated with each buddy's context, step 635. The user may select one or more of the displayed buddies in order to designate those buddies as intended recipients of the tagged content item. For example, using a selection device such as within a remote control or mouse, a user may select one or more audio or visual context representations associated with the context of the user's one or more buddies to identify the intended recipients of the tagged content item. A check is performed to determine if the user has selected one or more buddies, step 640. If the user does not select any buddies, the tagged content is not delivered to any of the user's one or more buddies and the user may continue to select content from the plurality of content available to the user, step 615. Tagged content stored on a user's client device or remotely on a device operable to store one or more tags may be later retrieved and viewed by a given user.
If the user selects one or more buddies, a check is performed to determine if any of the one or more selected buddies are active, step 650. If one or more of the user's buddies are identified as active, the tagged content is delivered to the respective buddies and may be viewed or saved by each recipient, step 655. For example, a messaging component operable to identify one or more buddies of a user may instruct a local or remote storage device to deliver a given tagged item of content to one or more selected buddies of the user. If none of the selected buddies are active, the tagged content may be annotated with delivery information identifying one or more recipients that are to receive the tagged content (step 660) and delivered when the one or more identified recipients become active. For example, the selected buddy may receive notification of tagged content when logged onto the content distribution system. Similarly, an inter-messaging component operable to communicate with one or more third party instant messaging applications may determine when a selected buddy is logged onto the third party instant messaging application and may deliver tagged content to the selected buddy. The user may then proceed to bring up and view the plurality of content available to the user, step 615, and identify additional tags for delivery to the user's one or more buddies.
Although fig. 6A illustrates a method for tagging one or more items of content and delivering the tags and tagged content to one or more buddies associated with a given user, the content distribution system illustrated in fig. 1 may also be used to select an item of content in an electronic programming guide and deliver the selection to one or more buddies associated with a given user. According to one embodiment of the invention, an electronic program guide component may deliver an electronic program guide to a given user's client device that identifies one or more items of content available to the given user. The user may select one or more of the content items identified in the electronic programming guide for viewing, recording, etc. the selected one or more items of content. For example, a user may select a given item of content to schedule a date and time at which the item was recorded on the user's client device. Similarly, the user may decide to select an item of content to automatically tune the user's client device to the item of content when the item of content is available.
The selections made by the given user in the electronic program guide may be delivered to one or more buddies associated with the given user. According to one embodiment of the invention, a messaging component operable to identify one or more buddies of a user delivers a notification to the one or more buddies of the user. The notification informs the one or more buddies of the one or more items of content selected by the user from the electronic programming guide. For example, the messaging component may deliver a notification to the user's one or more buddies indicating one or more items of content that the user selected from the electronic programming guide for recording. W similarly, the messaging component may deliver a notification to the user's one or more buddies indicating one or more items of content to be automatically delivered to the user's client device when available.
FIG. 6B is a flow diagram illustrating one embodiment of a method for facilitating web remote access to a user's set-top box, digital video recorder ("DVR"), or other client device for controlling and interacting with content delivered to the user's one or more client devices. A user may remotely access the content distribution system via a client device communicatively coupled to a web server ("remote access client device") that is operable to retrieve and display a login page of the content distribution system. According to one embodiment of the present invention, a remote access client device communicatively coupled to the Internet may access a content distribution system via a web browser that may display a login web page of the content distribution system.
As shown in fig. 6B, the user may remotely log into the content distribution system using a remote access client device coupled to a web server operable to retrieve and display a login web page for the content distribution system (step 665). According to one embodiment of the invention, a user of a remote access client device initializes and connects to a logon component via the Internet to verify user credentials maintained in the user's profile, which may be retrieved from a profile data store (step 668). The profile retrieved for a given user may provide information about one or more client devices associated with the user and coupled to the user's one or more set top boxes (step 670). For example, a user may have previously registered one or more client devices associated with the user, such as a digital video recorder ("DVR") or a high definition television that may be coupled to one or more set top boxes of the user. The functionality of one or more client devices associated with a user and coupled to the user's one or more set top boxes may be identified in the user's profile or determined by the content distribution system. For example, the content distribution system may determine whether a given client device associated with the user and coupled to the user's one or more set top boxes is capable of recording content items, displaying content items in a high-definition format, and so forth.
The profile retrieved for the user may also be used by the content distribution system to identify content delivered to the user's one or more set top boxes. According to one embodiment of the invention, a content distribution system identifies one or more electronic program guides that are available on one or more set-top boxes of a user. Data from one or more electronic program guides stored and available on the user's one or more set-top boxes may be displayed to the user on the user's remote access client device (step 675). The user may select one or more items of content available to the user's one or more set top boxes displayed in one or more electronic program guides on the user's remote access client device. For example, using a selection device such as a keyboard or mouse coupled to a remote access client device, a user may select one or more items of content from one or more electronic program guides available to the user.
A check is performed to determine if the user has selected one or more items of content for display on the user's remote access client device (step 680). If the user does not select any of the content items available to the user, the user may continue browsing the available content item or items (step 675). When the user selects one or more items of content (step 680), the user is presented with one or more options for interacting with the selected one or more items of content (step 681). According to one embodiment of the invention, the one or more options available to the user are based on the functionality of the user's one or more client devices identified in the user's profile. When a user selects an item of content from one or more items of content displayed to the user via an electronic program guide on a remote access client device, the user may be presented with the option to record the selected item of content on the user's DVR. Similarly, a user's set-top box may also be coupled to a high definition television. When a user selects an item of content, the user may be presented with the option to receive the selected item of content in a non-high-definition format or a high-definition format. In addition, the user may schedule a time to adjust the user's television to the selected one of the items of content. Those skilled in the art will appreciate other options available to a given user based on one or more client devices coupled to one or more set top boxes of the user, including recording an item of content, changing recording options, deleting a selected recorded item of content, selecting an item of content for automatic adjustment, and so forth.
A check is then performed to determine whether the user has selected one or more options available to the user for the selected one or more items of content (step 682). If the user does not select any of the one or more options available for the selected one or more items of content, the user may continue browsing the plurality of content available to the user (step 675). When the user selects one or more of the options available for the selected one or more items of content, the user's selection is propagated to the user's one or more set-top boxes, DVRs, or other client devices (step 684). According to one embodiment of the invention, the user's selections are delivered by a messaging component of the content distribution system to one or more set top boxes associated with a given user. For example, the user may select an option to record an item of content available to the user at a particular time. The user's selection is delivered to the user's set-top box or DVR, which then executes commands to effect the selection. According to the methods described herein, the user's profile may be annotated to reflect one or more items of content selected by the user (step 685) to provide the user with recommendations for content items.
FIG. 7 is a flow diagram illustrating one embodiment of a method for facilitating viewing television content and interacting with one or more other applications using a client device. The user of the client device initializes and connects to a logon component to verify the user's credentials, step 705. In addition, the user's profile is retrieved to identify the user's location, preferences, and the like (step 710). The content is retrieved and delivered to the user's client device (step 715). According to one embodiment of the invention, a user may utilize an electronic program guide to select content retrieved and delivered to the user's client device. For example, the electronic program guide component may search an EPG data store operable to store one or more program guides for one or more locations and display one or more items of content available to a given user. The retrieved one or more program guides may be retrieved based on a location identified in the user's profile. A given item of content selected by a user may be retrieved from a TV application component and displayed on a given user's client device.
According to the embodiment shown in FIG. 7, a user may view television content while participating in a gaming application of one or more buddies associated with a given user. For example, one or more games (e.g., game applications available on the internet) may be displayed on a user's client device. The user may select one or more available game applications to invoke the corresponding game application.
A check is performed to determine if the user has selected one or more gaming applications (step 720). If the user does not select the gaming application, the television content continues to be displayed on the given user's client device (step 715). The user may continue to select content from the plurality of content available to the given user and browse one or more gaming applications available to the user. Conversely, if the user selects one or more game applications (step 720), the one or more game applications may be executed and displayed on the user's client device (step 725). According to one embodiment of the invention, the selected one or more gaming applications may be delivered to the user's client device and executed locally. According to another embodiment of the invention, the selected one or more gaming applications may be executed remotely and displayed on a client device of a given user. One or more gaming applications are displayed in conjunction with television content displayed on a given user's client device, allowing the user to view the television content and participate in the selected one or more gaming applications.
A check is performed to determine if the user has one or more buddies identified in the user profile, step 730. The user's one or more buddies may be displayed to the user to allow the user to select one or more buddies to participate in the selected gaming application, step 730. If the user has one or more buddies, the identity of the one or more buddies is retrieved (step 732). In addition, active buddies of the user's one or more buddies are identified and displayed to the user, step 734.
If the user is not associated with one or more buddies, one or more profiles stored in the profile data store may be retrieved to identify other users having similar or matching interests, characteristics, etc. to the given user, step 740. For example, the profile component may be operative to identify one or more profiles in the profile data store that identify user preferences similar to the current user. One or more other users identified by the profile component may be designated as temporary buddies in order to allow the current user to participate in the selected gaming application.
The messaging component may deliver an invitation to participate in one or more gaming applications selected by the user to one or more active buddies identified by the user's profile or selected by the profile component, step 745. The recipient of the gaming application invitation may accept or decline the gaming invitation, step 748. If none of the recipients of the user's gaming invitation accept the invitation, the user is notified of this and may continue to watch the television content being displayed (step 755). The messaging component may pause for a given period of time, step 750, and then re-deliver the one or more invitations to the user's one or more buddies, step 750. If one or more of the recipients of the user's game invitation accept the invitation, the context of the one or more buddies that accepted the invitation is retrieved (step 760).
The context of the one or more buddies may be displayed on the user's client device, step 765. For example, a user's client device may display an audio or visual representation of the context of one or more buddies. Further, the gaming application selected by the user is propagated to each buddy who accepted the gaming invitation, step 768. For example, if a user selects a poker gaming application and a given buddy is watching a television program when accepting a game invitation, the buddy's client device may display both the television program and the gaming application. The user and the one or more buddies that accepted the game invitation may then participate in the selected gaming application.
It should be noted that while FIG. 7 illustrates the use of a gaming application in connection with the viewing of television content, in accordance with another embodiment of the present invention, one or more other applications may be selected and executed in connection with television content, where the other applications may include applications that are locally executable on a client device or applications that are remotely executable on a device that is operable to execute one or more applications for display on the client device.
The content distribution system shown in fig. 1 may also be used to provide users with the ability to enter ratings and receive recommendations for one or more items of content. FIG. 8 is a flow diagram illustrating one embodiment of a method for entering a rating for a given item of content and delivering the rating to a user's one or more buddies.
During or after the display of an item of content, which may include television content, the user may be presented with the option to enter ratings for the given content item (step 820). According to one embodiment of the invention, a user is presented with a graphical user interface that allows the user to enter one or more ratings for a given item of content. The rating may include an indication of the user's opinion of the item of content. For example, the user may indicate that the content is pleasing with a "thumb up" icon or that the content is not pleasing with a "thumb down" illustration. Similarly, the user may enter ratings for one or more categories or characteristics associated with the item of content. For example, if a user is watching a horror movie, the user may provide a rating for one or more actors, the degree of horror of the movie, the suspense of the movie, and so forth. Further, the user may also enter rating information for other applications, including gaming applications, websites, and the like. For example, a user participating in an online gaming application may provide an evaluation indicating whether the game is challenging, whether the graphics are appealing, and so forth. Those skilled in the art will recognize other content types and characteristics that may be evaluated by a given user.
The user's profile may be annotated with the ratings the user entered for a given item of content to provide recommendations for additional content to the user or one or more friends of the user, step 825. The user profile annotated with rating information may be used to determine content that the user may like and alert the user when such content is available. For example, the recommendation component may review a user profile annotated with a plurality of ratings to identify one or more television programs that the user may like based on the user's previous ratings. The recommendation component may direct the TV application to retrieve one or more items of content from the content data store and deliver the items of content to the user's client device based on the user's ratings. Similarly, the recommendation component can review the user's profile and instruct another application component (e.g., a gaming application) operable to store other applications to deliver the respective applications to the user's client device based on the user's ratings.
The user's ratings may also be stored in a recommendation component operable to store one or more user ratings for the content items to allow the user's ratings to be propagated to the user's one or more buddies or used to provide recommendations to additional users (step 830). A check is performed to determine if the user has one or more buddies identified in the user profile, step 835. If the user does not have one or more buddies, the process ends and the user's ratings are stored (step 850). If the user does have one or more buddies, an audio or visual display of each buddy's context may be displayed on the user's client device to allow the user to select one or more of the buddies, step 840. A check is performed to determine if the user has selected one or more buddies, step 845. If the user does not select one or more buddies, the process ends. If one or more of the buddies are selected, each respective selected buddy may receive notification of the user's rating for the given item of content to allow the user's one or more buddies to select content based on the one or more buddies ' ratings, step 860. For example, a friend logged onto the content distribution system may receive an alert informing the user of the rating. Similarly, a buddy not logged onto the content distribution system may receive a notification when logged onto the content distribution system informing the buddy that the user has rated a given item of content. Alternatively, or in addition, a buddy may receive an alert via an email application, instant messaging application, or the like informing the buddy of the user's rating for a given item of content.
Ratings entered by one or more users of the system described herein may be used to provide recommendations for one or more items of content. FIG. 9 is a flow diagram illustrating one embodiment of a method for generating one or more recommendations based on ratings input by one or more users. According to the embodiment shown in FIG. 9, a user may log into the content distribution system via a login component (step 905). The profile component may retrieve the user's profile from the profile data store to verify the user's credentials, step 910. A user logged into a content distribution system may issue a request for a recommendation of an item of content, where the item of content may include television content, game content, internet content, and so on. A check is performed to determine if the user has requested a recommendation (step 915). If a recommendation is not requested, a plurality of content available to the user may be displayed to allow the user to select one or more items of content (step 925). In the event that the user submits a request for a recommendation, a check is again performed to determine if the user provides ratings for at least N items of content associated with the recommendation sought (step 930). According to one embodiment of the invention, the recommendation component reviews the user's profile to determine whether the user's profile is annotated with one or more ratings for the selected type of content. For example, if the user requests a recommendation for an inferred movie, a check is performed to determine if the user has rated at least N inferred movies or television programs, where N may comprise a threshold. The recommendation component can review the user's profile to determine if the user has rated at least N inferred movies or television programs.
If the user has rated at least N items of content associated with the selected content type, the recommendation component can generate a recommendation based on one or more ratings of the user (step 935). For example, a profile annotated with three different ratings for an inferred movie may identify that a given user likes a particular actor and likes a black and white movie. The recommendation component may generate a recommendation based on the user's previous ratings and deliver a request to the TV application component to retrieve one or more items of content from the content data store that match the user's preferences. Thresholds can be used to increase the accuracy of recommendations made by the recommendation component. For example, a profile with only one inferred movie rating may not provide the recommendation component with enough information to make an accurate recommendation. Thus, a threshold may be used to increase the likelihood that the recommendation component calculates recommendations that match the preferences of a given user.
If the user has not rated at least N items of content related to the requested recommendation type, a check is performed to determine if the given user has one or more buddies, step 940. According to one embodiment of the invention, a profile of a user is used to determine one or more buddies specified by the user. The profiles of one or more buddies identified in a given user's profile may be used to provide recommendations for one or more items of content.
According to the embodiment illustrated in FIG. 9, if the user's profile does not identify one or more buddies, a search is performed to identify users of the content distribution system having profiles that identify preferences similar or matching those of the given user (step 945). According to one embodiment of the invention, the profile component traverses a plurality of profiles stored in the profile data store to identify users having preferences that match or are similar to the preferences of a given user. For example, if the user's profile indicates that the user is 68 years old, lives in Greenwich connection, and likes movies with the actor Marlon Brando, one or more profiles with similar characteristics and preferences may be retrieved and designated as temporary friends of the user in order to provide one or more recommendations to the user.
If the user's profile indicates one or more buddies, or after the user is assigned one or more temporary buddies with one or more matching or similar profiles, a check is performed to determine if any of the one or more buddies have rated at least N items of content relevant to the recommendation sought by the given user (step 950). For example, if a user is seeking a recommendation for a gaming application, a check is performed to determine if any of the one or more buddies have rated at least N gaming applications. If one or more of the user's buddies have rated at least N items of content associated with the type of content sought by the given user, the recommendation component may generate a recommendation based on the one or more ratings from the user's one or more buddies, step 955. For example, if a user is seeking a recommendation for a gaming application, and a friend associated with the user has rated eight gaming applications, the recommendation component may generate a recommendation based on the gaming application that received the friend's highest rating. Similarly, if the user has multiple friends, and each friend has rated the same gaming application, the recommendation component may calculate an average rating for one or more gaming applications and recommend the gaming application with the highest rating to the user. Those skilled in the art will appreciate other methods for generating recommendations based on one or more friend ratings.
According to the embodiment illustrated in FIG. 9, if none of the user's one or more buddies has rated at least N items of content associated with the item of content sought by the given user, the recommendation component may generate a recommendation based on the user characteristics indicated in the user's profile (step 960). For example, the user's profile may indicate that the user is 23 years old, living in Arizona, studying in Arizona State University, and playing football. Accordingly, the recommendation component may generate a recommendation for a television channel that broadcasts a football game conducted by a university located within Arizona. The recommendation component may instruct the TV application component to retrieve and deliver one or more items of content associated with Arizona football game h stored in the content data store to the user's client device. Those skilled in the art will appreciate a plurality of content that may be retrieved based on one or more user characteristics identified in a user profile. Alternatively, or in addition, the recommendation component can provide recommendations to the user based on popularity of the one or more items of content. For example, the recommendation component can identify items of television content, audio content, gaming applications, etc. that are most frequently viewed, accessed, downloaded, etc., and notify the user of such items. The recommendation component may instruct the TV application component to retrieve and deliver one or more items of content stored in the content data store that are identified as most frequently selected, downloaded, accessed, etc.
The system of the present invention may also be used to alert the user of one or more events based on the user characteristics and preferences identified in the user profile. The user may be interested in various events, warnings, announcements, and the like. Current methods for delivering such information to users may require the user to view a news broadcast, visit a particular website, search for content, and so forth. To overcome the disadvantages associated with current methods for delivering user-specific information, the present invention provides systems and methods that facilitate the retrieval and delivery of various alerts based on one or more user preferences.
FIG. 10 is a flow diagram illustrating one embodiment of a method for identifying one or more user alerts. One or more items of content, which may include television content, are displayed on the user's client device (step 1015). During login to the content distribution system, a user may wish to input one or more alerts to generate notifications regarding events of interest to a given user. For example, a user may wish to receive a notification when a movie starring by the actor Harrison Ford is being shown. Similarly, a user who frequently travels may wish to receive notifications regarding traffic reports for one or more roads. Further, the user may wish to receive notifications regarding news events that are of interest to the user. Those skilled in the art will appreciate that there are other information or events for which a user may wish to receive one or more alerts.
A check is performed to determine if a given user has entered one or more alerts (step 1020). According to one embodiment of the invention, a user may input one or more alerts using a graphical user interface that is accessible to a user logged into a client device in the system described herein. If the user enters an alert, the user's profile is annotated with information identifying the alert indicated by the user (step 1025). If the user does not enter one or more alerts, the user's profile may be used to generate one or more alerts (step 1030). In addition, the user's profile may also be used to supplement one or more alerts entered by the user (step 1030). For example, the user's profile may indicate that the user is 55 years old, lives in miam, Florida, and likes to watch television programs related to animals. The recommendation component may annotate the user's profile with one or more alerts based on user preferences identified in the user's profile. Thus, the user profile described above may be annotated with one or more alerts to provide the user with notifications regarding television shows showing animals, discounts offered to the elderly in the miamifolida area, and so forth.
The recommendation component may also annotate the user's profile with an alert based on one or more recommendations of the user identified in the user's profile. For example, the user's profile may indicate that the user likes to watch several movies with actors Al Pacino. Thus, the user's profile may be annotated with one or more alerts to inform the user when one or more items of content by actor Al Pacino are available to the user. Those skilled in the art will appreciate other alerts that may be generated based on information maintained in the user profile.
FIG. 11 is a flow diagram illustrating one embodiment of a method for delivering alerts to a user based on information maintained in a user profile. The TV application component may retrieve one or more items of content from the content data store for delivery to the user's client device (step 1115), and the user's profile may be used to monitor one or more alerts identified by the user or generated by the recommendation component (step 1120). According to one embodiment of the invention, the messaging component is operable to monitor one or more alerts associated with a given user's profile. The messaging component may periodically examine one or more content data stores to identify information related to one or more alerts of the user (step 1125). If information associated with the user's one or more alerts is identified, the messaging component may instruct the TV application component to deliver a message or other notification to the user's client device (step 1130).
The user presented with the alert may select the alert to retrieve additional information about the alert or change the user's context to display information associated with the alert (step 1135). For example, if a given alert informs the user of a severe traffic accident, the user may select the alert, which may change the user's context to a news broadcast that reports the traffic accident event in detail. Similarly, if a given alert informs the user of movies that the user may like, the user may select the alert to change context in order to tune to the given movie. If the information for a given alert is not located, or the user does not select an alert displayed on the user's client device, the user's context is not changed and the one or more alerts identified in the user's profile continue to be monitored (step 1120).
The user's one or more alerts and ratings may also be used to customize the delivery of one or more advertisements to the user's client device. FIG. 12 is a flow diagram illustrating one embodiment of a method for delivering advertisements to users that may be based on one or more alerts and ratings of the users. The user's profile is retrieved (step 1210) and the content is delivered to the user's client device (step 1215). A check is performed to determine if the user's profile contains one or more ratings or one or more alerts (step 1220). If the user's profile contains one or more ratings or one or more alerts, advertisements related to the one or more ratings or one or more alerts may be retrieved (1230). For example, the content data store may store a plurality of advertisements for various products and services. A given user's profile may indicate that the user lives in Memphis, Tennesse, likes classical music, is a football fan, etc., and the recommendation component may instruct the TV application component or another application component to retrieve one or more advertisements related to classical music, football, etc., and deliver the advertisements to the user's client device. Similarly, the user's profile may indicate that the user wishes to receive weather-related alerts. The recommendation component may instruct the TV application component or other application components to retrieve advertisements for weather-related products and services and deliver such advertisements to the user's client device (step 1235).
If the user's profile does not have one or more ratings or alerts, the user's current context may be retrieved by the messaging component and used to determine one or more advertisements to deliver to the user's client device (step 1225). For example, a given user may be watching the movie "the Shawshank playback". The messaging component may retrieve the context of the user and, based on the retrieved context, instruct the TV application component to deliver one or more advertisements related to the context of the user. The TV application may retrieve an advertisement, such as a soundtrack for The movie "The Shawshank recommendation," and deliver such advertisement to The user's client device (step 1235).
The user may select one or more of the advertisements displayed on the user's client device (step 1240). If the user selects a given advertisement, the user's context may be changed to display additional information about the advertised product or service (step 1245). If the user does not select one or more of the displayed advertisements, the user context is not changed (step 1215).
Fig. 13 is a screen diagram illustrating content that may be delivered to a client device. A user of the system described herein may log in using a login component that may verify user credentials stored in a user profile. Once logged in, the user may select among a plurality of content available to the user that may be delivered to the user's client device. As shown in fig. 13, the content 1305 delivered to a client device may include television content available to a given user. According to one embodiment of the invention, the content 1305 available to the user is identified based on the user's location indicated in the user's profile. For example, the electronic program guide component may query the electronic program guide data store based on the user's location indicated in the user's profile to identify one or more electronic program guides available to the given user. One or more electronic program guides identified by the electronic program guide component may be displayed to the user on the user's client device. The user may select an item in the electronic programming guide, which may cause the TV application component to retrieve and deliver the content 1305 to the user's client device.
While fig. 13 illustrates the retrieval and delivery of television content 1305 to a user's client device, other content may be retrieved and delivered to a given user's client device. According to one embodiment of the invention, a user may select one or more additional applications from another application component that may store other applications, such as a gaming application, an instant messaging application, and so forth. The content 1305 selected and displayed on a given user's client device may be modified based on the type of destination client device. For example, the size of the content selected for delivery to the cellular telephone device may be set according to the size of the display screen of the cellular telephone device.
Fig. 14 is a block diagram illustrating an electronic program guide that may be used by a given user of a client device to select one or more items of television content. As shown in fig. 14, the content 1405 selected and displayed in fig. 13 is minimized to allow a user to continue viewing the selected television content 1405 while browsing through the plurality of content 1415 and 1410 available to the given user.
The electronic program guide 1400 displayed to the user of the client device may be retrieved by an electronic program guide component that may identify one or more electronic program guides available to the given user. According to one embodiment of the invention, the content 1415 and 1410 available to a given user is identified based on the user's location identified in the user's profile. For example, the electronic program guide displayed to users of san francisco, California may correspond to pacific standard time, while the electronic program guide displayed to New York City may correspond to eastern standard time. In accordance with another embodiment of the present invention, the content 1415 and 1410 available to a given user may be identified based on user preferences identified in the user profile. For example, a user may subscribe to one or more pay movie services to provide additional content to the user. The electronic program guide component may retrieve an electronic program guide 1400 corresponding to the user's subscription service. Those skilled in the art will appreciate other methods for retrieving and displaying an electronic program guide to a user's client device.
A user may utilize a selection device, such as a remote control, to traverse the plurality of content items 1415 and 1410 displayed in the electronic program guide 1400 and select one or more of the content items 1415 and 1410 available to the user. If the user selects a given one of the content 1415 and 1410, the content may be retrieved by the TV application component and displayed on the given user's client device. As shown in fig. 14, the selected content may be modified to display the content appropriately in conjunction with the electronic program guide available to a given user.
In addition to selecting content displayed in the electronic programming guide, the user may also select content associated with the user's one or more buddies, as shown in FIG. 15. According to one embodiment of the invention, the user profile may be used to identify one or more buddies 1545, 1550, 1555, 1560 and 1565 that the user specifies in one or more instant messaging applications. Similarly, the user profile may identify friends that maintain the profile on the content distribution system.
A messaging component may be used to identify one or more buddies identified in a given user's profile and retrieve the context associated with each buddy 1545, 1550, 1555, 1560 and 1565 who may be active. For example, active buddies may include buddies that have logged into the system described herein and maintained profiles on the system. The messaging component may instruct the TV application component to deliver the context associated with a given buddy 1545, 1550, 1555, 1560 and 1565 to a given user. For example, a TV application component may deliver content, such as television programming, to a given user's client device. When a user logs into the system described herein, the user may request to view the content being viewed by one or more buddies identified in the user's profile. The messaging component may identify the one or more buddies and the context of each buddy 1545, 1550, 1555, 1560 and 1565 and instruct the TV application component to propagate the context of the one or more buddies to a given user.
According to the embodiment illustrated in fig. 15, the TV application component generates thumbnails 1520, 1525, 1530, 1535, and 1540 that represent the context of a given buddy 1545, 1550, 1555, 1560, and 1565, which the TV application component propagates to the client device of a given user. Thumbnails 1520, 1525, 1530, 1535, and 1540 can be annotated with information describing a particular context (e.g., title, channel, rating, etc.). The context of the user's one or more buddies 1545, 1550, 1555, 1560 and 1565 may also be displayed in conjunction with the content 1505 being viewed by the given user. The display area of a given user's client device may be modified to accommodate the user's one or more buddies 1545, 1550, 1555, 1560 and 1565 and the content 1505 being viewed by the user.
According to another embodiment of the present invention, the TV application component delivers the actual content that a given buddy 1545, 1550, 1555, 1560 and 1565 is watching. For example, the buddies 1545, 1550, 1555, 1560 and 1565 associated with a given viewer may be watching the program "the apparatus". As described above, one way to indicate the context of the buddies 1545, 1550, 1555, 1560 and 1565 is to deliver the thumbnails 1520, 1525, 1530, 1535 and 1540 associated with the context of the buddies 1545, 1550, 1555, 1560 and 1565 to the user's client device. Further, the TV application may deliver streaming content to the user's client device to allow the user to view the content of the given buddies 1545, 1550, 1555, 1560 and 1565 in conjunction with the content 1505 the given user is viewing. While the screen diagram shown in fig. 15 provides the context of five buddies 1545, 1550, 1555, 1560 and 1565, more or fewer buddies may be displayed to a given user based on a threshold or number of buddies identified in the user's profile.
Advertisements or other auxiliary content may also be displayed in conjunction with the content and context of the user's one or more buddies. As shown in FIG. 15, advertisement 1510 is a display corresponding to content 1505 currently displayed on the user's client device. The displayed advertisement 1510 may be selected, allowing the user to obtain more information about the product or service being advertised 1510. The one or more advertisements 1510 displayed in conjunction with the content 1505 and the user's one or more buddies 1545, 1550, 1555, 1560 and 1565 may be selected based on the user's ratings or alerts, as described herein. Similarly, one or more advertisements 1510 displayed on the user's client device may be selected and delivered to the user's client device based on the selected content 1505. For example, displayed advertisement 1510 is an advertisement for a movie associated with displayed content 1505.
Fig. 16 is a screen diagram illustrating a plurality of buddies 1610, 1615, 1620, 1625, 1630 and 1635 associated with a user and a visual representation of each buddy's respective context. One or more buddies of the user identified in the user's profile may watch television content, participate in an online gaming application, watch movies, and so forth. A visual representation of each buddy's respective context may be propagated to the user's client device via a TV application component in conjunction with the given user's selected television content.
Using a selection device such as a remote control, keyboard, mouse, etc., a user may traverse a visual representation of the context of one or more buddies 1610, 1615, 1620, 1625, 1630, and 1635 displayed on the user's client device. As shown in fig. 11, as the user traverses the displayed visual representations of the contexts of one or more buddies 1610, 1615, 1620, 1625, 1630 and 1635, the particular visual representation of the context of the buddy 1615 may be highlighted 1645 or otherwise marked. Information 1640 may be displayed to the user that further identifies the context of the highlighted buddy, such as a program, title, channel, network, rating, and so forth. The user may continue to view and select content 1605 as the user traverses the context associated with the user's one or more buddies 1610, 1615, 1620, 1625, 1630, and 1635. For example, a user may view the context of the user's one or more buddies 1610, 1615, 1620, 1625, 1630, and 1635 while changing television channels, participating in an online gaming application, watching a movie, and so forth.
According to one embodiment of the invention, the display of the user's one or more buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated context may be turned on or off. For example, a user watching a movie may wish that the movie occupy the entire display area of the user's client device. The user may thus cease display of the user's buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated contexts. Similarly, the user may limit the number of buddies 1610, 1615, 1620, 1625, 1630, and 1635 and associated contexts displayed on the user's client device. For example, a user's profile may identify 20 buddies, which may all be active when the user is engaged in an online gaming application. The user may wish to limit the number of buddies 1610, 1615, 1620, 1625, 1630, and 1635 and associated contexts displayed in order to minimize clutter on the screen, maximize the display of gaming applications, and so forth. According to another embodiment of the present invention, the user can modify the display locations of the buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated contexts in the display area of the user's client device. While the screen diagram shown in fig. 16 shows a row of buddies 1610, 1615, 1620, 1625, 1630, and 1635 and associated contexts at the bottom of the display area, one or more of the buddies 1610, 1615, 1620, 1625, 1630, and 1635 and associated contexts may also be placed in a location that accommodates user needs or preferences.
Fig. 17 is a screen diagram illustrating another embodiment of a plurality of buddies 1710, 1715, 1720, 1725, 1730, and 1735 associated with a user and each buddy's respective context 1770, 1775, 1780, 1785, 1790, and 1795 that may be selected by the user. Contexts 1770, 1775, 1780, 1785, 1790, and 1795 of the user's one or more buddies 1710, 1715, 1720, 1725, 1730, and 1735 identified in the user's profile may be propagated to the user's client device via the TV application component. One or more buddies 1710, 1715, 1720, 1725, 1730, and 1735 of the user may be watching television content, participating in an online gaming application, and so forth. The contexts 1770, 1775, 1780, 1785, 1790, and 1795 of each buddy 1710, 1715, 1720, 1725, 1730, and 1735 may be viewed on the user's client device in conjunction with one or more items of content 1705 selected by the user.
As previously described, using the selection device, the user may traverse contexts 1770, 1775, 1780, 1785, 1790, and 1795 associated with the user's one or more buddies 1710, 1715, 1720, 1725, 1730, and 1735. When a given context 1780 associated with a buddy 1720 is highlighted or otherwise marked, additional information 1798 associated with the buddy's 1720 context 1780, such as channel, title, network, etc., is displayed to the user. Further, if the user selects context 1780 associated with a given buddy, the user may be presented with one or more options 1740, 1745, and 1750. For example, the screen diagram shown in FIG. 17 presents a user selecting a buddy's context 1780, which is an online poker gaming application. When the user selects context 1780 associated with a buddy 1720 participating in an online poker gaming application, the user is presented with a number of options. The "watch" 1745 option allows the user to view the card game that the buddy is participating in. For example, by selecting "watch" 1745, the user's context 1780, i.e., the online poker game application, may be propagated to the user's client device. The user may continue to watch television program 1705 and the buddy's online poker game. Selecting "cancel" 1750 may allow the user to continue traversing through one or more contexts 1770, 1775, 1780, 1785, 1790, and 1795 associated with the user's one or more buddies 1710, 1715, 1720, 1725, 1730, and 1735.
By selecting "play" 1740, the user may select the online poker gaming application of the participating buddy 1720. For example, if the user selects "Play" 1740, the context 1780 of the buddy 1720 is propagated to the user's client device. Additionally, the user's profile may be used to identify the user as a participant and to participate in the card game. FIG. 18 presents a screen diagram illustrating content associated with a context change that may be displayed to a user upon selection of the "play" 1740 option associated with the game context 1780 of a given buddy 1720.
According to the embodiment shown in FIG. 18, a user may engage in a gaming application associated with one or more selected buddies. The context of the selected buddy is delivered to the user's client device to allow participation in the gaming application. The user may continue to view the previously selected content 1810 while participating in the gaming application.
As shown in fig. 18, the user's buddies 1815, 1820, 1825, 1830, 1835, 1840 and 1845 may be modified to reflect the user's context changes. More specifically, the user context that previously included only television content now includes both television content 1810 and poker gaming application 1805. Thus, the buddies displayed to the user may be modified to reflect the buddies associated with the changed context. As the user continues to view television content 1810, buddies "joff" 1835, "hatick" 1840, and "joymo" 1845 associated with the user's television viewing 1810 continue to be displayed on the user's client device, while buddies 1815, 1820, 1825, and 1830 associated with the user's gaming application 1805 are retrieved and displayed on the user's client device. The user is also presented with a plurality of controls 1850, 1855, and 1860 for participating in the gaming application 1805.
As shown in fig. 19, a user may receive one or more alerts while viewing content or participating in a gaming application. According to the methods described herein, a user's profile may identify one or more alerts, where an alert may include an event or notification that the user wishes to receive or that a given user may be interested in. A traffic warning 1915 is shown informing the user that there is "Major Delays" on a road that may be relevant to the user. While the presented alerts are traffic-related alerts 1915, other alerts may also be displayed on the user's client device based on one or more alerts identified in the user's profile or the user's particular context. For example, a user participating in an online poker game may receive an alert informing the user that a given casino is playing a poker tournament. Similarly, The user's profile may indicate that The user wishes to receive an alert informing The user when The television program "The Real World" is broadcast. Those skilled in the art will appreciate other alerts that may be displayed to a user of a client device based on the user's profile or the user's particular context.
While the invention has been described and illustrated in connection with preferred embodiments, many variations and modifications as will be evident to those skilled in this art may be made without departing from the spirit and scope of the invention, and the invention is thus not to be limited to the precise details of methodology or construction set forth above as such variations and modifications are intended to be included within the scope of the invention.

Claims (14)

1. A method for providing one or more content items to a user, the method comprising:
setting a context for a client device operated by the user;
retrieving one or more representations of contexts of one or more friends associated with the user indicated in a user profile, the one or more friends being in a social network of the user;
displaying one or more representations of the one or more buddies 'contexts on the client device in conjunction with the client device's context;
selecting a representation of a given buddy's context from the one or more representations; and is
Changing the user's context to the given buddy's context.
2. The method of claim 1, wherein setting the context comprises displaying one or more items of television content.
3. The method of claim 1, wherein setting up a context comprises playing one or more online gaming applications.
4. The method of claim 1, wherein setting a context comprises displaying one or more web pages.
5. The method of claim 1, wherein retrieving a settings context comprises retrieving content selected by the user.
6. The method of claim 1, wherein setting a context comprises displaying one or more recommended items of content based on the user profile.
7. The method of claim 1, wherein retrieving one or more representations comprises:
identifying one or more instant messaging services to which the user has subscribed;
identifying one or more users designated as buddies in the one or more instant messaging applications; and
retrieving one or more representations of a context of a user designated as a buddy for display on the client device.
8. The method of claim 7, comprising identifying the one or more instant messaging services indicated in the user profile.
9. The method of claim 1, wherein obtaining comprises:
retrieving one or more characteristics identified in the user profile;
traversing one or more other user profiles to identify one or more other users having characteristics similar to the retrieved characteristics; and
designating the one or more identified other users as buddies.
10. The method of claim 1, wherein retrieving comprises retrieving an indication of an action that a given buddy is performing at a given moment.
11. The method of claim 1, wherein retrieving comprises retrieving one or more locations of the one or more buddies.
12. The method of claim 1 wherein retrieving comprises retrieving information about one or more client devices used by the one or more buddies.
13. The method of claim 1, wherein displaying comprises displaying one or more images as one or more representations of the context of the one or more buddies.
14. The method of claim 1, comprising:
propagating a representation of the user's context to one or more buddies; and
displaying the representation on one or more client devices operated by the one or more buddies.
HK08108190.3A 2005-01-05 2006-01-05 Framework for delivering a plurality of content and providing for interaction with the same in a television environment HK1119507A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60/641,717 2005-01-05
US60/641,787 2005-01-05
US11/261,436 2005-10-27

Publications (1)

Publication Number Publication Date
HK1119507A true HK1119507A (en) 2009-03-06

Family

ID=

Similar Documents

Publication Publication Date Title
US9848246B2 (en) System and method for tagging content and delivering the tag to buddies of a given user
CN104936038B (en) For delivering multiple contents in television environment and providing the frame interacted with content
JP5079520B2 (en) A framework for delivering and interacting with multiple contents in a television environment
US8949899B2 (en) Collaborative recommendation system
US8661485B2 (en) Set top box device and method of distributing multimedia content
US8776142B2 (en) Networked video devices
CN101199204A (en) Framework for delivering and providing interaction with multiple content in a television environment
US8356317B2 (en) Presence based technology
US20060184579A1 (en) Framework for providing ancillary content in a television environment
US20120054278A1 (en) System and method for creating multimedia content channel customized for social network
HK1119507A (en) Framework for delivering a plurality of content and providing for interaction with the same in a television environment
HK1214707B (en) Framework for delivering a plurality of content and providing for interaction with the same in a television environment
HK1124979B (en) Framework for providing digital home services