US20060271959A1 - System and method for enabling a user to control a context of a client device of a buddy in a social network - Google Patents

System and method for enabling a user to control a context of a client device of a buddy in a social network Download PDF

Info

Publication number
US20060271959A1
US20060271959A1 US11/497,911 US49791106A US2006271959A1 US 20060271959 A1 US20060271959 A1 US 20060271959A1 US 49791106 A US49791106 A US 49791106A US 2006271959 A1 US2006271959 A1 US 2006271959A1
Authority
US
United States
Prior art keywords
user
content
given
buddy
buddies
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US11/497,911
Inventor
Ronald Jacoby
Brenda O'Kane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verizon Patent and Licensing Inc
Original Assignee
Individual
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
Priority claimed from US11/261,436 external-priority patent/US8381240B2/en
Application filed by Individual filed Critical Individual
Priority to US11/497,911 priority Critical patent/US20060271959A1/en
Publication of US20060271959A1 publication Critical patent/US20060271959A1/en
Assigned to YAHOO! INC. reassignment YAHOO! INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: O'KANE, BRENDA, JACOBY, RONALD
Assigned to YAHOO HOLDINGS, INC. reassignment YAHOO HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to OATH INC. reassignment OATH INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO HOLDINGS, INC.
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERIZON MEDIA INC.
Assigned to VERIZON MEDIA INC. reassignment VERIZON MEDIA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OATH INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4227Providing Remote input by a user located remotely from the client device, e.g. at work
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • Embodiments of the present invention relate to methods and systems for facilitating the delivery of content items and interaction with content items in a television environment. More specifically, embodiments of the present invention relate to methods and systems that facilitate the simultaneous delivery of a plurality of items of content, including content associated with one or more users in a given social network, as well as the interaction among one or more users in a television viewing environment.
  • embodiments of the present invention provide systems and methods for both a shared viewing experience of TV content, as well as providing messenger and messenger related services and content within the framework of viewing TV content. Moreover, embodiments of the present invention provide for interaction among a plurality of users for a community viewing environment.
  • the present invention provides a method comprising retrieving a profile of a given user; using the profile to identify a buddy of the given user; delivering a shared control request of the given user to a buddy device of the buddy; enabling the buddy to accept or reject the shared control request; and allowing the given user to control a context of the buddy device when the buddy accepts the shared control request.
  • the using the profile to identify the buddy may comprise identifying one or more instant messaging applications to which the given user subscribes as indicated in the profile; identifying one or more other users in the one or more instant messaging applications; and designating one of the other users as the buddy.
  • the method may further comprise selecting the buddy from the one or more other users by the given user.
  • the using the profile to identify the buddy may comprise retrieving one or more characteristics of the given user as indicated in the profile; examining one or more other user profiles to identify another user with characteristics similar to the given user; and designating the other user with the similar characteristics as the buddy.
  • the shared control request may comprise a request to allow the given user to control one or more content items displayed on the buddy device.
  • the method may further comprise propagating the context of the given user to the buddy that accepted the shared control request.
  • the propagating may comprise propagating a change in context of the given user to the buddy that accepted the shared control request.
  • the context may comprise a notion of the action that the user is performing at a given point in time.
  • the present invention provides a system comprising a content store for storing content items; a given user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a given user; an other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to another user; and a content distribution server operative to identify the other user as being a buddy of the given user, to receive a shared control request from the given user device, to deliver the shared control request to the other-user device, to receive an acceptance or a rejection to the shared control request from the other-user device, and to allow the given user to control a context of the other-user device when an acceptance is received.
  • At least a portion of the content store may be maintained on the content distribution server and/or external to the content distribution server.
  • At least one of the given user device and the other-user device may include one of a personal computer, a set top box, or a personal digital assistant.
  • the content distribution server may include a profile data store for storing identification of buddies of a given user.
  • the content distribution server may be operative to propagate a content item selected by the given user to the given user device and the other-user device.
  • the system may further comprise a second other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a second other user.
  • the content distribution server may be operative to identify the second other user as being a second buddy of the given user, to receive a second shared control request from the given user device, to deliver the shared control request to the second other-user device, to receive an acceptance or a rejection to the shared control request from the second other-user device, and to allow the given user to control the context of the second other-user device when an acceptance is received.
  • the content distribution server may be operative to propagate a content item selected by the given user to the other-user device and to the second other-user device.
  • the present invention provides a system comprising retrieving means for retrieving a profile of a given user; identifying means for identifying a buddy in a social network with the given user; delivering means for delivering a shared control request of the given user to the buddy; enabling means for enabling the buddy to accept or reject the shared control request; and allowing means for allowing the given user to control a client device context of the buddy when the buddy accepts the shared control request.
  • the retrieving means may include a profile component coupled to a profile store that stores profiles of users.
  • the identifying means may include a messaging component in communication with a messenger application on the given user device.
  • the identifying means may include a messaging component that examines the other user profiles to identify the subset of the other users having characteristics in common with the given user.
  • the delivering means, enabling means and allowing means each may include at least a portion of a TV application component, the TV application component being in communication with the given user device and the other-user device, the TV application component having access to a content data store and controlling the distribution of content items from the content data store to the given user device and the other-user device.
  • FIG. 1 is a block diagram illustrating a system for providing access to messenger services and content in conjunction with TV content and ancillary TV content according to one embodiment of the present invention
  • FIG. 2 is a flow diagram presenting a method for initializing a given user's session and retrieving the context of a given user's one or more buddies according to one embodiment of the present invention
  • FIG. 3 is a flow diagram presenting a method for initializing a given user's session and retrieving the context of a given user's one or more buddies based upon the user's context according to one embodiment of the present invention
  • FIG. 4 is a flow diagram presenting a method for propagating a given user's context to one or more other users according to another embodiment of the present invention
  • FIG. 5 is a flow diagram presenting a method for synchronizing the context of one or more users to engage in a community viewing environment according to one embodiment of the present invention
  • FIG. 6A is a flow diagram presenting a method for tagging content for delivery to one or more buddies of a given user according to one embodiment of the present invention
  • FIG. 6B is a flow diagram presenting a method for remotely accessing a user's profile to identify and interact with the content delivered to the user's set top box according to one embodiment of the present invention
  • FIG. 7 is a flow diagram presenting a method for simultaneously viewing television content while participating in a gaming application according to one embodiment of the present invention.
  • FIG. 8 is a flow diagram presenting 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 according to one embodiment of the present invention
  • FIG. 9 is a flow diagram presenting a method for retrieving a recommendation based upon one or more ratings according to one embodiment of the present invention.
  • FIG. 10 is a flow diagram presenting a method for generating alerts to provide a user with notification of one or more events according to one embodiment of the present invention
  • FIG. 11 is a flow diagram presenting a method for delivering a notification to a client device based upon one or more alerts according to one embodiment of the present invention
  • FIG. 12 is a flow diagram presenting a method for delivering personalized advertisements to a client device according to 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 present invention
  • FIG. 14 is a screen diagram illustrating the 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 displayed in conjunction with a given user's one or more buddies' contexts and one or more advertisements according to one embodiment of the present invention
  • FIG. 16 is a screen diagram illustrating the traversal of one or more contexts associated with a user's one or more buddies according to one embodiment of the present invention.
  • FIG. 17 is a screen diagram illustrating the one or more options available upon selection of a given buddy's context according to one embodiment of the present invention.
  • FIG. 18 is a screen diagram illustrating the selection and propagation of a given buddy's context to a user's client device according to one embodiment of the present invention.
  • FIG. 19 is a screen diagram illustrating the delivery of an alert to a client device based upon one or more alerts identified in a user profile according to one embodiment 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.
  • a content distribution server 102 comprises one or more software and hardware components to facilitate the delivery of television and TV related content in conjunction with messaging and messaging related content and services.
  • Hardware and software components include, but are not limited to, a logon 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 comprises one or more data stores for persistent storage of information used in providing both TV and messaging content and services including, but not limited to, a profile data store 106 , content data stores 114 a and 114 b , and an EPG data store 120 .
  • the content distribution server 102 is communicatively coupled with a network 100 , which may include a connection to one or more local and/or wide area networks, such as the Internet. Using the network 100 , the content distribution server 102 is capable of accessing local 114 a and remote 114 b television content, as well as providing television and messaging services, including combinations thereof, to clients 126 a , 128 a , 130 a and 132 a .
  • the content distribution server 102 is operative to provide TV and messaging content and services to any client device capable of running TV client software 126 b , 128 b , 130 b and 132 b , as well as a messaging client 126 c , 128 c , 130 c and 132 c .
  • client devices may include set top terminals 126 a and 128 a that use a television as a display device, computer hardware such as a personal computer 130 a and mobile devices 132 a , such as cellular handsets and personal digital assistants (“PDA”).
  • PDA personal digital assistants
  • Other types of electronic communications equipment is contemplated as falling with in the scope of the invention including, but not limited to, digital media adapters, DVD players, connected TVs and other networked consumer electronic devices.
  • the server authenticates the given user and/or client device.
  • the content distribution server 102 provides a logon component that allows for the authentication of clients 126 a , 128 a , 130 a and 132 a and/or users of a given client device.
  • a client device 126 a , 128 a , 130 a and 132 a initializes its TV client application 126 b , 128 b , 130 b and 132 b and messenger client application 126 c , 128 c , 130 c and 132 c , which initiates the generation and transmission over the network 100 of a logon request to the logon component 104 .
  • the logon request comprises information identifying the user of the client device in addition to information regarding the client device itself, e.g., a MAC address, IP address, phone number or other uniquely identifying descriptor.
  • the content distribution server 102 may provide a personalized experience to the user regardless of the specific client device 126 a , 128 a , 130 a and 132 a with which the user connects to the content distribution center 102 .
  • the logon component 104 receives the logon request from a given client 126 a , 128 a , 130 a and 132 a and attempts to authenticate the user and/or device.
  • the logon component 104 may access a profile 108 for the given user that a profile data store 106 maintains. Accordingly, the logon component 104 uses information identifying the user in an attempt to authenticate the identity of the user, e.g., against information contained in the user's profile 108 .
  • the identifying information may comprise a username and password whereby the logon component 104 conducts a comparison to ensure that the received password is identical to a stored password.
  • the logon component 104 may conduct an exchange of public keys with the client 126 a , 128 a , 130 a and 132 a 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 regarding the client device 126 a , 128 a , 130 a and 132 a , e.g., a MAC address or other uniquely identifying indicia, to authenticate the client device or otherwise validate that the client 126 a , 128 a , 130 a and 132 a may connect to the content distribution server 102 .
  • the content distribution server 102 may also implement a logon proxy 104 a to provide scalability and the flexibility to handle large numbers of clients 126 a , 128 a , 130 a and 132 a attempting to connect to the logon component 104 .
  • Multiple client devices 126 a , 128 a , 130 a and 132 a initiate communication over the network 100 with a given one of one or more logon proxies 104 a .
  • Each logon proxy 104 a initiates communication with the logon component 104 , thereby allowing the logon component 104 to service a large number of client requests without the necessity of maintaining and managing a connection with each requesting client 126 a , 128 a , 130 a and 132 a.
  • the logon component 104 prevents the client 126 a , 128 a , 130 a and 132 a from accessing functionality that the content distribution server 102 offers.
  • the logon component 104 may solely provide access to the TV application component 112 , electronic program guide component 118 and EPG data store 120 , thereby allowing the user to view TV content and scheduling data on the client 126 a , 128 a , 130 a and 132 a .
  • a user whom the logon component is unable to authenticate is therefore presented with a traditional digital TV content viewing experience with content from one or more content sources 114 a and 114 b , as well as program guide data for his or her locality.
  • the logon component 104 may record an indication of the successful authentication in the user's profile 108 in the profile data store 106 .
  • the logon component 104 provides an indication to the messaging server 110 and the TV application component 112 that the user and/or client 126 a , 128 a , 130 a and 132 a has been successfully authenticated and may be provided with access to the content distribution server and its constituent components identified above.
  • the messaging server 110 passes the identity of the user to the profile component 116 , which retrieves the user's profile 108 from the profile data 106 store for transmission to the messaging component 110 .
  • the messaging component 110 may also provide the TV application 112 with a copy of the user's profile 108 , 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 , which is managed by a profile component 116 .
  • a user profile may be stored on a remote server (not pictured), coupled to the content distribution server 102 .
  • a user profile maintained on a remote server may be utilized by a plurality of servers coupled to the remote server, including the content distribution server 102 , to identify a given user and the user's activities.
  • a 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 TV application component 112 for the recordation of user interaction with the components, 110 and 112 , respectively. Accordingly, the user profile may maintain an historical record of the interactions of the user with the content distribution server 102 .
  • the TV application component 112 when the user is using the TV application component 112 to view TV content, the TV application component 112 sends a message to the profile component 116 to write indicia to the user's profile 108 in response to the receipt of a command, e.g., a change channel command.
  • the messaging component 110 provides messaging content and related services to the user, the messaging component 110 sends a message to the profile component 116 instructing it to write indicia to the user's profile 108 in response to the receipt of a command, e.g., sending a message to another user or stepping into an on-line game.
  • a user's context may be a notion of an action that a given user is performing at a given point in time, which may also include the location from which the user is performing that action.
  • a user's context may be what the user is doing at a given point in time, e.g., watching a given TV channel, playing an on-line game, listening to music, conducting an on-line transaction, etc.
  • the context may also indicate from where or what type of device the client is connecting to the content distribution server 102 , e.g., a set top box 126 a and 128 a , a personal computer 130 a , a mobile device 132 a , etc.
  • each component, 110 and 112 is capable of identifying and retrieving the proper content to provide the user with messaging content and related services unified with TV content and related services as is explained in greater detail herein.
  • the profile component 116 receives updates to the given user's context form the messaging component 110 and TV application component 112 that the profile component 116 writes to the user profile 108 for the given user.
  • the profile 108 for a given user therefore maintains an historical record of the user's context over a period of time.
  • the profile may also maintain information regarding other users of the system to whom a given user is related.
  • the given user may use a messaging client 126 c, 128 c , 130 c and 132 c on a client device 126 a , 128 a , 130 a and 130 a to identify one or more buddies, the identities of which are written to the given user's profile 108 .
  • the profile component 116 is operative to identify social networks of users. communities of users may also exist whereby an indication of the membership in a community is written to the given user's profile 108 .
  • the profile component 116 may identify subsets of a given user's buddies from the given user's total set of buddies.
  • the profile component 116 calculates a social network for a given user that comprises all users with an N-degree relationship to the given user. For example, User A maintains a direct relationship with User B, and User B maintains a direct relationship to user C. User A and User C are related by two degrees, whereas each is related to User B by one degree.
  • the TV application component 112 identifies the user's context and retrieves the proper TV content for transmission over the network 100 to the client device 126 a , 128 a , 130 a and 132 a with which the user is interacting. Furthermore, the TV application component 112 may retrieve ancillary 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 ancillary TV content from a local content data store 114 a , which may aggregate TV content and ancillary TV content from a variety of disparate sources.
  • the TV application component 112 receives TV content and ancillary TV content from a local content data store 114 a , as well as over the network 100 from a remote content data store 114 b , where required content resides remotely from the server 102 .
  • the TV application component 112 may collect TV content from a plurality of TV content distribution systems (not pictured) for storage in the local and remote content data stores, 114 a and 114 b , respectively.
  • the TV application component 112 may selectively transmit TV content to users on the basis of a schedule for the transmission of TV content promulgated by the TV content distribution system for the region in which a given user is located.
  • the messaging component 110 is also provided with the user's context, thereby allowing the messaging component 110 to know what actions the user is performing, e.g., watching TV content, viewing ancillary TV content, playing an on-line game, listening to music, etc. 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, also referred to as the user's “buddies”. With knowledge of the given user's identity and other users in the given user's social network, the messaging component 110 may instruct the TV application 112 to propagate the given user's context to other users in the given user's social network.
  • Propagating the user's context may include generating an image representing the user's context, which may further include other data describing the user's context (e.g., text, audio, video, combinations thereof, etc.). Alternatively, information regarding the user's context may be used to lookup and retrieve additional related information from a content data store 114 a and 114 b .
  • the TV application server 112 presents other users in the given user's social network with the given user's context, such as through the presentation of an icon. The TV application server 112 may provide a given user with the context of other users in the given user's social network, and vice versa.
  • the messaging component 110 identifies the user's buddies and instructs the TV application component 112 to propagate the user's context to his or her buddies.
  • the TV application component 112 generates a thumbnail image representing the program “The Apprentice”, which the TV application component 112 propagates to the given user's buddies.
  • the thumbnail is presented on a client device for a given buddy with information describing the program, e.g., the title and the fact that the user is watching the program on channel three.
  • the TV application server 112 may modify information regarding the given user's content, e.g., scaling down the thumbnail image, on the basis of a given destination client device 126 a , 128 a , 130 a and 132 a.
  • the messenger component 110 and TV application component 112 allow for a number of advanced features not available in content distribution systems known to those of skill in the art. Because the messaging component is aware of a given user's context and may receive input from a given client device 126 a , 128 a , 130 a and 132 a , users of the content distribution server 102 may interact with one another.
  • the messaging component 110 provides a given user's context to the TV application component 112 , which propagates the context to other users in the given user's social network and vice versa.
  • the given user may select an indication of the context of other users in the given user's social network to initiate an action. Initiating an action may include starting an instant message conversation with the selected user, switching context to the context of the selected user, etc.
  • Selections are passed to the messaging component 110 , which performs the requested action and provides content for the TV application component to consume and propagate as is appropriate to other users.
  • One illustrative use of this functionality is shared viewing of content between a plurality of users, shared remote control functionality between a plurality of users, combinations thereof, shared remote and shared viewing with instant messaging between a plurality of users, etc.
  • the messaging component 110 also provides access to other application components 122 .
  • other application components 122 may communicate directly with the TV application component 112 to provide content for distribution to one or more client devices 126 a , 128 a , 130 a and 132 a in communication with the content distribution server 102 over the network 100 .
  • One exemplary other application component 122 is an on-line poker playing application. The other application 122 handles the main program logic for on-line poker playing game.
  • Each user's context (which may comprise location information (e.g., playing on-line poker), the identities of other players in the game, what the given user's action is (hit, hold, double down), etc.) is provided to the messaging component 110 , which passes information regarding a given user's context to the TV application component for propagation to other players in the game.
  • location information e.g., playing on-line poker
  • the identities of other players in the game e.g., the identities of other players in the game
  • Propagation of information regarding a given user's context may also be propagated to other users in a given user's social network who are not necessarily playing the on-line poker game.
  • Those of skill in the art should recognize that other application components falling within the scope of the present invention are not limited to on-line poker playing components, and may include other applications that the messaging component 110 can interface with, including, but not limited to, music engines whereby the messaging component 110 may instruct the TV application component 112 as to the current song to which a user is listening, search applications whereby the messaging component 110 may instruct the TV application component 112 as to the keywords over which a user is searching and the related result set, etc.
  • music engines whereby the messaging component 110 may instruct the TV application component 112 as to the current song to which a user is listening
  • search applications whereby the messaging component 110 may instruct the TV application component 112 as to the keywords over which a user is searching and the related result set, etc.
  • These are examples of a given user's context that the TV application component 112 , in conjunction with the
  • the TV application component 112 may propagate a given user's context to other users in the given user's social network, which may include channel information regarding a TV program that the given user is viewing. An issue arises, however, when individual users are accessing TV content in different time zones and locations with different channel assignments.
  • the content distribution server 102 includes an electronic program guide component 118 communicatively coupled to the network 100 and operative to receive electronic program guide information, e.g., the program schedule for a given location and time zone.
  • the electronic program guide component 118 queries program guide servers (not pictured) that are in communication over the network 100 , such as the program guide servers operated by Tribune Media Services.
  • the electronic program guide component 118 stores the one or more electronic program guides in an EPG data store 120 .
  • the EPG data store 120 is a relational database, but may be substituted by a tab delimited data store, a comma delimited data store, an object oriented database, a hybrid object-relational database, or other data stores known to those of skill in the art.
  • Systems and methods for generating electronic program guides include U.S. Pat. No. 6,813,774, entitled “PROGRAM GUIDE DISPLAY APPARATUS AND PROGRAM GUIDE DISPLAY METHOD”, U.S. Pat. No. 6,763,522, entitled “SYSTEM AND METHOD FOR A DIGITAL TELEVISION ELECTRONIC PROGRAM GUIDE” and U.S. Pat. No.
  • the TV application component 112 may query the electronic program guide component 118 to determine a local context for a user in the social network that corresponds to the user's context. For example, where the user is viewing a program on the ABC network, that same program is not necessarily being transmitted on the same channel in all locations and time zones, if the program is being transmitted at all. Accordingly, for each user in a given user's social network to which the TV application component 112 is to transmit a given user's context, the electronic program guide component 118 retrieves the electronic program guide from the EPG data store 120 for a user in the social network.
  • the electronic program guide component 118 executes a search in an attempt to locate the program that the given user is viewing in the electronic program guide. If successful, the electronic program guide component 118 instructs the TV application component 112 as to the channel on which the user in the social network may find the program that the given user is viewing being transmitted; the TV application component 112 may propagate this information as part of the given user's context. Where the electronic program guide component 118 cannot locate the given user's context in the electronic program guide, e.g., the program that the given user is viewing is not presently being transmitted in the time zone in which the user in the social network is located, the electronic program guide component 118 may identify alternate times at which the program is being transmitted, which the TV application component 112 may also propagate as part of the given user's context.
  • the TV application component 112 transmits this information to the user in the social network.
  • the client device 126 a , 128 a , 130 a and 132 a comprises digital video recording functionality (“DVR”)
  • the TV application component 118 may provide the user in the social network with an opportunity to schedule recording of the program. Recording may also comprise the recording of content that is not selectable by a given user through interaction with an EPG, e.g., Internet based content. It should be noted that selection of a program or other content for recording may be recorded in the user's profile as a context or context change.
  • the content distribution server 102 uses a unique identifier to identify each program that it is transmitting to clients 126 a , 128 a , 130 a and 132 a , e.g., stored in the EPG data store 120 .
  • the content distribution server 102 utilizes unique program identifiers (“PID”) provided by an EPG data stream to identify each program that it is transmitting to clients 126 a , 128 a , 130 a and 132 a .
  • PID unique program identifiers
  • the electronic program guide component 118 searches the EPG data store 120 to locate the program that the given user is viewing and determines the program's unique identifier, which the TV application component 112 may propagate as part of the given user's context.
  • a client device 126 a , 128 a , 130 a and 132 a that a user in the given user's social network is operating receives the given user's context and attempts to identify the program that the given user is viewing in a local electronic program guide, which may be stored on the client 126 a , 128 a , 130 a and 132 a or retrieved from a network source.
  • client side software e.g., a TV client 126 b , 128 b , 130 b and 132 b , instructs the user in the social network as to the channel on which he or she may find that program that the given user is viewing, which may include allowing the user in the social network to tune to channel on which the TV application component 118 is transmitting the program.
  • client side software may identify alternate times at which the program is being transmitted.
  • the client device 126 a , 128 a , 130 a and 132 a comprises digital video recording functionality (“DVR”)
  • DVR digital video recording functionality
  • the client 126 a , 128 a , 130 a and 132 a may provide the user in the social network with an opportunity to schedule recording of the program.
  • Recording functionality of the DVR may also include the recording of content that does not appear in an EPG, e.g., Internet based content.
  • interaction with the messaging component 110 and TV application component 112 may be recorded by the profile component 116 , which maintains a profile 108 for each user in a profile data store 106 .
  • the profile 108 contains a history of the user's context changes as a function of time, allowing decisions to be made regarding the given user's preferences on this basis. For example, where the user's context is identified as viewing science fiction programs for long periods of time and news programs for short periods of time, a decision may be made that the user prefers science fiction programs. This may also account for sub-genres, e.g., science fiction/action, science fiction/horror, etc.
  • Each profile 108 may also comprise context information as a function of time for other users in a given user's social network, as well as other users that utilize the content distribution server 102 .
  • a recommendation component 124 may utilize user profiles in the profile data store to supply recommended programming to the user, which may also include providing recommendations for using other applications, such as in response to on-line events, users with whom a given user might want to be a buddy, ancillary TV content, etc.
  • the recommendation component 124 may utilize a user profile in determining recommended content to a user.
  • the recommendation component 124 may also utilize the user profiles of a given user's buddies, e.g., the profiles of those users that are in the given user's social network.
  • the recommendation component 124 may also compute a vector for the given user's profile and include those users with similar profile vectors in its calculation of recommended content.
  • the recommendation component 124 may utilize profiles for user communities, which contain aggregate context information for a community of users, when determining recommended content.
  • the recommendation component 124 may utilize a personalization service, such as My Yahoo!, which allows users to create and edit their own profiles for indicating media preferences (e.g., favorite channels or TV programs), which are stored on Yahoo! servers (which may be profile data stores 106 ) and made available to the recommendation component 124 .
  • the recommendation component 124 allows the content distribution server 102 to harness the viewing experience, habits and preferences of the users who are interacting with the content distribution server 102 . As indicated above, the recommendation component 124 may provide recommendations beyond TV content, extending to all services that the content distribution server offers. 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 on-line poker game in which users play against each other on line. Where the user profile indicates that the user spends substantial time in the context of an on-line poker application 122 , the recommendation component may alert the user when an upcoming on-line poker tournament is approaching.
  • the system of the present invention illustrated at FIG. 1 provides for 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 users in the given user's social network.
  • icons and accompanying textual data are propagated by the TV application component and presented to the given user on a client device 126 a , 128 a , 130 a and 132 a , indicating the context of other users of the server 102 .
  • the presentation of the context of other users in conjunction with the presentation of TV content allows for a shared viewing experience whereby a given user may know the context of other users and may change his or her context to that of another user.
  • the given user may change his or her context to match that of the user in the social network (e.g., tuning to receive transmission of the same TV content that the user in the social network is consuming).
  • a number of applications become available in the context of the TV consumption process, including, but not limited to personalization, community viewing, shared presence and context, messaging, access to ratings and recommendations (including community reviews), alerts, etc.
  • the content service provider 102 provides access to it functions and application components through the use of one or more application program interfaces (“API”) 100 .
  • An API 100 is an interface, or set of calling conventions, by which a given application component accesses other application components and the services that the application components offer.
  • a given application component advertises information regarding the functions and/or services that the given application component may provide to other components, which may also include the technique by which the functions or services are accessed. This allows the application components comprising.the system to access supporting system and network services.
  • the API 100 allows client side applications to issue function calls for the performance of actions and accessing of services, such as tuning a channel, accessing an on-line game, listening to music, allowing the messenger component to interface with the TV application component or a messaging client to access EPG data, etc., as described herein.
  • FIG. 1 illustrates the API 100 as a separate system component, those of skill in the art recognize that each application component may provide an individual API 100 identifying the specific functions and services a given application component provides.
  • application components e.g., a messaging client 126 c , 128 c , 130 c , 132 c , resident on client devices 126 a , 128 a , 130 a , 132 a may provide one or more APIs 100 advertising the functions and service the given application component provides.
  • 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 comprise a client device powering up and initializing a communications stack, such as a TPC/IP stack, and opening a connection to the logon component over a network, e.g., the Internet.
  • the logon component attempts to verify a user's credentials using information maintained in the user's profile that may be retrieved by a profile component, step 210 .
  • a TV application component retrieves content from a content data store based upon a user's selection of content from among a plurality of television shows or listings for television shows displayed to the user.
  • an electronic programming guide component may retrieve electronic program guide data from an EPG data store identifying one or more items of television content available to a user.
  • An electronic programming guide may be displayed to the user for selection of one or more items of television content from the electronic programming guide.
  • the television content retrieved and displayed to a given user is based upon the user's profile maintained in a profile data store.
  • a user's profile may maintain information identifying the age, location, sex, etc., of the given user.
  • Exemplary methods for retrieving content based upon a user profile are described in commonly owned U.S. patent application Ser. No. 10/752,819 entitled “SYSTEM AND METHOD FOR ACCESSING SPECIALIZED CONTENT ASSOCIATED WITH BROADCAST CONTENT,” the disclosure of which is hereby incorporated by reference in its entirety.
  • a TV application component may retrieve and display content to a user based upon the one or more items of information maintained in the user's profile, according to methods further described herein.
  • the content retrieved by a TV application component may comprise audio, video, text, images and combinations thereof.
  • a user's profile is further utilized to determine whether a given user has one or more buddies or whether the user is part of one or more social networks, step 220 .
  • a user may subscribe to one. or more instant messaging services, such as Yahoo! Messenger.
  • An instant messaging service may allow a user to designate and save buddies with whom the user may communicate by delivering instant messages via the respective instant messaging application.
  • a user may designate, in a user profile, the one or more instant messaging services to which the user has subscribed.
  • a user may designate one or more buddies with profiles maintained on the system described herein.
  • a messaging component may retrieve the identity of a user's one or more buddies that maintain profiles on the system described herein and may also retrieve the identity 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 profiles on the system described herein, step 220 . If a user does have one or more buddies, a messaging component may retrieve the identity of the one or more buddies designated by the user in the one or more instant messaging applications or designated as buddies with profiles on the content distribution system, step 228 . The messaging component may further determine whether any of a given user's one or more buddies are currently active, step 229 . For example, a given buddy may be deemed active if the buddy has a profile and is currently logged in or accessing the content distribution system. Alternatively, or in conjunction with the foregoing, an inter-messaging component may be operative 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.
  • a profile component may be used to traverse the plurality of profiles maintained in a profile data store to select profiles of active users that match or are similar to the given user's profile, step 225 .
  • the one or more active users' profiles that match or are similar to the user's profile may be designated as the user's temporary buddies, step 225 .
  • a given user's profile may specify that the user is thirty years old, lives in New York City, is a football fan and enjoys watching reality television shows.
  • a profile component may traverse a plurality of user profiles stored in a profile data store and retrieve one or more profiles for active users that identify interests or preferences similar to those of the given user, e.g., a match on one or more profile fields.
  • the one or more active users selected (“users like you”) may be temporarily designated as the user's buddies.
  • a context may be a notion of an action that a given user is performing at a given point in time, which may also include the location from which the user is performing that action.
  • a context may be what the user is doing at a given point in time, e.g., watching a given TV channel, playing an on-line game, listening to music, conducting an on-line transaction, etc.
  • the avatar associated with each respective buddy is retrieved, wherein an avatar may comprise an identifier for a given buddy, step 235 .
  • an avatar may comprise an image selected by a given buddy that identifies the given buddy.
  • the retrieved context of a user's one or more buddies may be displayed, along with each buddies' respective avatar, on a client device for a given user in conjunction with TV content being viewed by the given user, step 240 .
  • the context of a given user's one or more buddies is displayed as an image representing the context of a given buddy. For example, if a given buddy is viewing the television show “The Apprentice,” an image associated with the television show may be displayed on the given user's client device. Similarly, if a given buddy is playing in an online poker room, an image of a poker room associated with the given buddy's context may be displayed on the given user's client device.
  • 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 viewing a television show and a buddy associated with the user is playing in an online poker game, the buddy's context may be displayed in conjunction with the TV content being viewed by the given user, whereby the user may view the buddy's poker game as it occurs. Similarly, if a buddy associated with the user is listening to music from a particular artist, an image associated with the musical artist as well as the musical audio content may be delivered to the user's client device allowing the user to listen to the music associated with the given buddy.
  • a messaging component identifies the contexts of the buddies of a given user and requests one or more items of content from a TV application component or another application component based upon the one or more buddies' identified contexts.
  • the TV application component or another application component may retrieve content associated with the one or more buddies' contexts from a content data store, which may include television content, context representations, musical content, etc.
  • the content retrieved is delivered to the user's client device, allowing the user to view the contexts of the user's one or more buddies.
  • a user may select a representation of the context associated with each respective buddy that is retrieved and displayed on the user's client device.
  • a messaging component may identify the context of a user's one or more buddies, and instruct a TV application component to deliver an image, icon, audio content, streaming data, etc., representing a buddy's context to the user's client device.
  • a remote control device Using a remote control device, a user may navigate to the visual or audio representation of a given buddy's context.
  • a user may select the representation of a given buddy's context to change the given user's context to the selected buddy's context.
  • the user may select the representation of the buddy's context (viewing “The Apprentice”), which thereby causes the user's context to be changed to the buddy's context (viewing “The Practice”).
  • a check is performed to determine whether the user selected a representation of a given buddy's context, step 245 . If a user selects a representation of a given buddy's context the buddy's context is propagated to the user's client device, step 250 .
  • a messaging component retrieves the context of the buddy selected and instructs a TV application component to retrieve and deliver the context of the buddy to the user's client device. If a user does not select the representation of a given buddy's context, the user's context remains unchanged, step 255 . The user may thereafter continue to review the content available to the user while also viewing the representations associated with the user's one or more buddies' contexts.
  • FIG. 3 illustrates one embodiment of a method for retrieving and displaying the context of a given user's one or more buddies based upon the context of the given user.
  • a user of a client device initializes and connects to a logon component, step 305 , to verify the user's credentials as maintained in the user's profile, which may be retrieved by a profile component from a profile data store, step 310 .
  • a user may select from among a plurality of content available to the given user.
  • an electronic program guide component may search an EPG data store, operative to store one or more program guides, and display the one or more items of content available to a given user.
  • 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, step 315 .
  • the content retrieved by a TV application component may be retrieved from a content data store and may comprise a TV show, movie, broadcast data, video on demand (“VOD”), etc.
  • 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 a television show displaying a football game between the New York Giants and the Cleveland Browns from an electronic program guide, which may be displayed on the user's client device. Additionally, the user's profile may be retrieved and used to determine whether the given user has one or more buddies associated with the context selected. Similarly, a given user may select a VOD horror movie, which may be displayed on the user's client device. The user's profile may be retrieved and used to determine whether the given user has one or more buddies associated with the context selected by the user, which may comprise a movie genre.
  • 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, which may include an indication in a user profile.
  • a buddy comprises an individual with a profile maintained on the content distribution system indicating interests or characteristics that match or are otherwise similar to those of a given user.
  • a check is performed to determine whether a user has one or more buddies, which may be identified in the user's profile, step 320 . If the check performed at step 320 evaluates to true, an additional check is performed to determine whether a given user has one or more buddies or buddy lists associated with the context selected by the given user (e.g., context specific buddy), step 325 .
  • a context specific buddy may be a buddy associated with a user's particular context. For example, a given user may be an avid football fan and designate one or more buddies, who are also interested in football, as football buddies.
  • a user may identify multiple buddy lists, wherein each buddy list may comprise one or more buddies associated with a given context.
  • the 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 a user does not have one or more context specific buddies or context specific buddy lists, step 325 , the contexts of a user's default buddies may be displayed, wherein default buddies may comprise the one or more buddies not associated with any specific context, step 330 .
  • a profile component may traverse one or more profiles maintained in a profile data store to select one or more profiles of active users that are similar or match the profile for the given user, step 340 .
  • the profile component traverses a plurality of user profiles stored in a profile data store to identify one or more profiles that that identify interests or preferences similar to those of the given user, e.g., a match on one or more profile fields.
  • the one or more profiles of active users retrieved from a profile data store that are similar or match a given user's profile may be temporarily designated as given user's buddies. Alternatively, or in conjunction with the foregoing, the profiles retrieved may be further selected based upon the given user's context, thus constituting context specific buddies.
  • a given buddy is active if the buddy has logged into the content distribution system. If one or more a given user's context specific buddies are active, or after a user's one or more context specific buddies have been temporarily designated based upon the user's profile or context, the contexts of the one or more context specific buddies are retrieved, step 345 , and displayed on the user's client device, step 350 .
  • an audio or visual representation of the contexts of a user's one or more buddies are displayed on the given user's client device. A user may interact with the one or more buddies displayed, such as through the use of an instant messaging or chat session.
  • FIG. 4 illustrates one embodiment of a method for providing a user with control of the context of the user's one or more buddies.
  • a user of a client device initializes and connects to a logon component, step 410 , to verify the user's credentials as maintained in a user profile, which may be retrieved from a profile data store, step 415 .
  • a TV application component may provide content to the user for viewing on a client device, step 420 .
  • content is selected by a given user from a plurality of content displayed to a user, such as through an electronic program guide.
  • content is retrieved based upon one or more characteristics in a user's profile, according to methods described herein.
  • a user's one or more active buddies are identified, step 425 .
  • a user's one or more buddies comprise individuals designated as buddies in one or more instant messaging applications as indicated in the given user's profile.
  • a user's one or more buddies comprise one or more users with profiles maintained on the content distribution system.
  • the one or more active buddies identified may be displayed on the user's client device with an audio or visual representation of each buddy's respective context, step 428 .
  • an inter-messaging component operative 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 that a given buddy is logged into may be displayed on the user's client device.
  • a messaging component may identify the 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 of the 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 of the 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 a 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 one or more active buddies selected, step 435 .
  • a shared remote control request comprises a request to allow a given user to control the one or more content items displayed on a given buddy's client device.
  • a client device may be operative to display a plurality of items, such as one or more television shows, an online poker game, instant messaging applications, etc.
  • a shared remote control request that is accepted by a given buddy may allow the given user to control content that is displayed on the given buddy's client device.
  • B 1 and B 2 may either reject or accept the shared remote control request. If both B 1 and B 2 accept the shared remote control request, B 1 's client device and B 2 's client device are updated to reflect the context of the given user. Similarly, if B 1 accepts the shared remote control request and B 2 rejects the shared remote control notification, B 1 's client device is updated to reflect the user's context, whereas B 2 's client device is not be updated.
  • a check is periodically performed to determine whether the user's context has changed, such as where the user changes the television channel tuned to on his or her client device, step 450 . If a user's context is 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 . Where a given user's context changes, the change is propagated to the one or more active buddies that accepted the shared remote control request delivered by the user, step 455 , and the new context is displayed, step 440 .
  • Infrared (“IR”) signals are transmitted via a user's remote control to the user's set top box.
  • a client application program interface may capture the IR signals and deliver the signals, via a client messenger application, to the content distribution system.
  • the signals received by the content distribution system may be delivered to a messaging component, which may identify the one or more buddies that accepted the shared remote control request.
  • the messenger component may propagate the signal to the set top boxes of the buddies that accepted the shared remote control request to reflect the user's context.
  • Those of skill in the art recognize other methods for delivering a signal reflecting a user's context to one or more set top boxes.
  • FIG. 5 illustrates one embodiment of a method for facilitating community viewing and interaction in a given context.
  • a user of a client device initializes and connects to a logon component, step 505 , which may include verifying the user's credentials as maintained in the user's profile, step 510 .
  • a check is performed to determine whether the given user has one or more buddies, step 515 , which may include accessing a user profile.
  • a user's one or more buddies may be identified based upon the one or more instant messaging applications to which the given user has subscribed, which may be indicated in the user's profile.
  • a user's buddies may comprise individuals with profiles maintained on the content distribution system.
  • “users like you” comprise other users with profiles maintained on the content distribution system that match or are similar to a given user's profile with respect to characteristics identified in the user's profile including demographics, frequently viewed content, etc. For example, if a user's profiles identifies that the user is located in Houston, Tex. is forty-two years old and enjoys horror movies, profiles with similar age, preferences, location, etc., characteristics may be retrieved. The one or more profiles retrieved constituting “users like you” may be designated as a user's temporary buddies, step 525 .
  • a check is performed to determine whether any of the user's one or more buddies are logged in to the content distribution system, step 520 . If none of a user's buddies are logged on to the content distribution system, the user is notified of such, step 530 . The user's one or more buddies may be monitored to determine whether any of the user's one or more buddies become active.
  • a synchronization request comprises an invitation delivered to one or more users to engage in community viewing.
  • the synchronization of a given user with one or more buddies may result in the user and one or more buddies engaging in a “movie theater” type viewing environment, wherein the user and one or more buddies view the same television show, movie, etc., at the same time while engaging in instant messaging or chat sessions.
  • 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 rejected by selected buddies associated with a given user, the user is notified of such, step 550 .
  • the user's one or more buddies, or a subset of the user's buddies may thereafter be monitored to determine whether any additional buddies associated with the user logon to the content distribution system, step 545 . A check is periodically performed to determine whether one or more additional buddies have logged on to the system described herein, step 540 . If one or more additional buddies associated with the given user logon to the content distribution system, the synchronization request may delivered to such buddies, step 535 .
  • the profiles of the one or more buddies are retrieved, step 560 .
  • the profiles of the one or more buddies are used to identify the location of the one or more buddies as well as the content available to each respective buddy.
  • a user's one or more buddies may be located in various locations throughout the United States, the world, etc. Because of time zone differences, programming differences, etc., content available to a given user may not be available to a given buddy at the same time, on the same channel, etc.
  • a user's profile may be used to identify the location of the user and the content available to the user.
  • the profiles of a user's one or more buddies may be used to identify the content available to each respective buddy.
  • the profiles retrieved for the user and the one or more buddies may be used by an electronic program guide component to identify content maintained in a content data store that is available to the user and the one or more synchronized buddies.
  • a given user's profile may indicate that the user is located in New York City
  • a given buddy's profile may indicate that the buddy is located in San Francisco. Because of time zone differences, content available to the buddy located in San Francisco may not be available to the user located in New York City until hours later.
  • the electronic programming guide component may identify content, maintained in a content data store, which is available simultaneously to both individuals.
  • the profiles retrieved for the user and the one or more buddies may be used to identify content maintained on the user's or one or more buddies' client devices.
  • the user's and one or more buddies' client devices may be operative to record content, such as a client device with digital video recording (“DVR”) functionality.
  • DVR digital video recording
  • the profiles for the user and one or more buddies may be used to identify content that is maintained on such devices.
  • the content available to the user and the user's one or more synchronized buddies may be displayed to the user and one or more synchronized buddies, step 562 .
  • the user and one or more synchronized buddies may select a given item of content using a variety of methods. For example, a voting scheme may be used whereby the user and each synchronized buddy votes for the item of content they wish to view. The item of content receiving the greatest number of votes may be selected for display to the user and one or more synchronized buddies. Similarly, control may be granted to the user or a given synchronized buddy, who may select the item of content that is to be viewed by the user and the one or more synchronized buddies.
  • Those of skill in the art recognize other techniques for selecting an item of content available to a plurality of users.
  • a messaging component is operative to select a start time that is N minutes after an item of content has been selected by the user and one or more synchronized buddies.
  • the messaging component may instruct a TV application component to deliver the content selected to the user's and one or more buddies' client devices at the start time selected.
  • the user and one or more synchronized buddies may select a start time for the item of content selected.
  • control may be granted to the user or one of the synchronized buddies, allowing the user or given synchronized buddy to select the start time for the item of content selected.
  • the start time selected may be delivered to the messaging component, which may be operative to instruct the TV application to deliver the item of content selected at the start time selected.
  • the item of content selected is displayed on each of the synchronized buddy's client devices as well as the user's client device at the synchronized start time, step 565 .
  • the user and the one or more synchronized buddies are thus able to simultaneously view the same item of content in a variety of locations on a plurality of client devices.
  • additional services may be provided to the user and one or more synchronized buddies for communication.
  • an instant messaging application may be displayed in conjunction with the item of content selected, allowing the user and one or more synchronized buddies to engage in an instant messaging or chat session during display of the selected content item.
  • Those of skill in the art recognize other applications that may allow for communication or interaction among a plurality of viewers in a community-viewing environment.
  • FIG. 6A illustrates one embodiment of a method for facilitating the tagging and delivery of one or more content items to one or more buddies associated with a given user.
  • a user of a client device initializes and connects to a logon component, step 605 , to verify the user's credentials as 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 the receipt of television content.
  • a user may select the content retrieved and delivered to the user's client device using an electronic programming guide.
  • an electronic program guide component may search an EPG data store, which may be operative to store one or more program guides, and display the one or more items of content available to a given user.
  • 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, step 615 .
  • a user viewing content on a given client device may tag, or otherwise mark an item or portion of an item of content for delivery to one or more buddies associated with the user.
  • a tag may comprise “start” and “stop” delimiters, identifying a portion of content that a user wishes to deliver to one or more buddies associated with the user.
  • a user viewing a television show or movie may enjoy a particular scene and may wish to share the scene with one or more buddies.
  • a user may thus tag the desired item of the television show, using start and stop tags, and deliver the tagged scene to one or more buddies.
  • a given item of content that is tagged may be recorded to a user's client device.
  • tags may comprise identifiers that may be used to provide direct access to the tagged item of content. For example, a user may wish to tag a ten second scene in a two-hour movie. A start tag may identify the hour, minutes, and seconds where the scene beings, and a stop tag may identify the hour, minutes and seconds where the scene ends. The start and stop tags may be delivered to one or more buddies, providing the one or more buddies with direct access to the tagged item of content.
  • a check is periodically performed to determine whether the user has elected to tag the content being displayed, step 620 . If a user does not enter any tagging information, content continues to be displayed on the client device, step 615 , and the user may continue to select content from among the plurality of content available to the user. If a user enters a tag, the tag marked by the user is saved, step 625 .
  • the content tagged by the user is saved locally on the user's client device or remotely on another device operative to record content. For example, a client device with digital video recording functionality (“DVR”) may provide the user with the ability to locally record a given item of tagged content.
  • DVR digital video recording functionality
  • the tagged content may be recorded and stored in a remote content store operative to store one or more. items of content.
  • the content tagged by a user may be identified with start and stop identifiers.
  • start and stop identifiers may be stored and delivered to one or more buddies so as to provide a user's one or more buddies with direct access to the tagged item of a given television show, movie, etc.
  • the content tagged by a user may be identified with offsets or pointers identifying a location in a given item of digital content.
  • a given offset or pointer may be delivered to one or more buddies identifying a location in an item of digital content.
  • a given buddy may select the offset or pointer, thereby gaining direct access to the location in the item of content specified by the user.
  • a check is performed to determine whether a user has one or more buddies, step 630 . If a user's profile does not identify one or more buddies for the given user, processing ends, step 645 .
  • the one or more tags saved locally on a user's client device or saved remotely on a device operative to store one or more tags may be later retrieved and viewed by the given user.
  • a 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 user's client device with audio or visual context representations associated with each respective buddies' context, step 635 .
  • a user may select one or more of the buddies displayed in order to designate the buddies as intended recipients of the tagged item of content. For example, using a selection device such as a remote control or mouse, a user may select one or more audio or visual context representations associated with the user's one or more buddies' contexts to identify the intended recipients of the tagged item of content.
  • a check is performed to determine whether a user has selected one or more buddies, step 640 .
  • the tagged content is not delivered to any of the user's one or more buddies and a user may continue to select content from among the plurality of content available to the user, step 615 .
  • the tagged content saved on the user's client device or remotely on a device operative to store one or more tags may later be retrieved and viewed by the given user.
  • a check is performed to determine whether 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 respective recipient, step 655 .
  • a messaging component operative to identify a user's one or more buddies may instruct a local or remote storage device to deliver the given item of tagged content to the user's one or more selected buddies. If none of the selected buddies are active, the tagged content may be annotated with delivery information identifying the one or more recipients that are to receive the tagged content, step 660 , and delivered when the one or more identified recipients becomes active.
  • a selected buddy may receive a notification of the tagged content upon logging on to the content distribution system.
  • an inter-messaging component operative to communicate with one or more third party instant messaging applications, may determine when a selected buddy logs onto the third party application instant messaging application and may deliver the tagged content to the selected buddy. Thereafter, a user may continue to retrieve 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.
  • FIG. 6A illustrates a method for tagging one or more items of content and delivering tags and tagged content to one or more buddies associated with a given user
  • the content distribution system illustrated in FIG. 1 may further 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.
  • an electronic program guide component may deliver an electronic programming guide to a given user's client device identifying the one or more items of content available to a given user.
  • a user may select one or more of the items of content identified in the electronic programming guide in order to view, record, etc., the one or more items of content selected.
  • a user may select a given item of content to arrange a date and time for recording the item on the user's client device.
  • the user may choose to select an item of content in order to automatically tune the user's client device to the item of content selected when the item is available.
  • a given user's selections from an electronic programming guide may be delivered to one or more buddies associated with the given user.
  • a messaging component operative to identify a user's one or more buddies delivers a notification to the user's one or more buddies.
  • the notification notifies the one or more buddies of the one or more items of content selected by the user from the electronic programming guide.
  • a messaging component may deliver a notification to a user's one or more buddies indicating the one or more items of content that the user has selected from an electronic programming guide for recording.
  • the messaging component may deliver a notification to a user's one or more buddies indicating the one or more items of content that will 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 of a user's set top box, digital video recorder (“DVR”) or other client device to control and interact with the content delivered to the user's one or more client devices.
  • a user may remotely access the content distribution system via a client device (“remote access client device”) communicatively coupled to a web server operative to retrieve and display a logon page for the content distribution system.
  • a remote access client device communicatively coupled to the Internet may access the content distribution system via a web browser that may display a logon web page for the content distribution system.
  • a user may remotely logon to the content distribution system, step 665 , using a remote access client device coupled to a web server operative to retrieve and display a logon web page for the content distribution system.
  • a user of a remote access client device initializes and connects to a logon component via the Internet to verify the user's credentials as maintained in the user's profile, which may be retrieved from a profile data store, step 668 .
  • the profile retrieved for the given user may provide information on the one or more client devices associated with the user and coupled to the user's one or more set top boxes, step 670 .
  • a user may have previously registered one or more client devices associated with the user, such as digital video recorders (“DVR”) or high definition televisions that may be coupled to the user's one or more set top boxes.
  • DVR digital video recorders
  • the functionality of the one or more client devices associated with the 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.
  • 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 items of content, displaying items of content in high-definition format, etc.
  • the profile retrieved for the user may be further used by the content distribution system to identify the content delivered to the user's one or more set top boxes.
  • the content distribution system identifies the one or more electronic program guides available on a user's one or more set top boxes.
  • the data from one or more electronic program guides stored and available on a user's one or more set top boxes may be displayed to the user on the user's remote access client device, step 675 .
  • a user may select one or more items of content available to the user's one or more set top boxes as displayed in the one or more electronic program guides on the user's remote access client device. For example, using a selection device coupled to the remote access client device such as a keyboard or a mouse, a user may select one or more items of content from the one or more electronic program guides available to the user.
  • a check is performed to determine whether the user selected one or more items of content displayed on the user's remote access client device, step 680 . If a user does not select any items of content available to the user, the user may continue to browse the one or more items of content available, 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 one or more items of content selected, step 681 . According to one embodiment of the invention, the one or more options available to the user are based upon the functionality of the user's one or more client devices, as identified in the user's profile.
  • the user When the user selects an item of content from the one or more items of content displayed to the user via an electronic program guide on the remote access client device, the user may be presented with an option to record the item of content selected on the user's DVR. Similarly, a user's set top box may be further coupled to a high definition television. When the user selects an item of content, the user may be presented with an option to receive the item of content selected in non-high-definition format or in high-definition format. Further, a user may schedule a time for tuning the user's television to an item of content selected.
  • a check is thereafter performed to determine whether a user selected one or more of the options available to the user for the one or more items of content selected, step 682 . If a user does not select any of the one or more options available for the one or more items of content selected, the user may continue to browse the plurality of content available to the user, step 675 .
  • the user's selection is propagated to the user's one or more set top boxes, DVRs, or other client devices, step 684 .
  • the user's selection is delivered by the content distribution system's messaging component to the one or more set top boxes associated with the given user.
  • a user may select the 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 carries out the command to implement the selection.
  • a user's profile may be annotated to reflect the one or more items of content selected by the user, step 685 , to provide the user with recommendations for items of content, according to methods described herein.
  • FIG. 7 is a flow diagram illustrating one embodiment of a method for facilitating the use of a client device for viewing television content and interacting with one or more other applications.
  • a user of a client device initializes and connects to a logon component to verify the user's credentials, step 705 . Additionally, a user's profile is retrieved to identify the user's location, preferences, etc, step 710 . Content is retrieved and delivered to the user's client device, step 715 . According to one embodiment of the invention, a user may select the content retrieved and delivered to the user's client device using an electronic programming guide.
  • an electronic program guide component may search an EPG data store, operative to store one or more program guides for one or more locations and display the one or more items of content available to a given user.
  • the one or more program guides retrieved may be retrieved based upon the 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.
  • a user may simultaneously view television content while engaging in a gaming application with one or more buddies associated with the given user.
  • a gaming application For example, one or more games, such as gaming applications available on the Internet, may be displayed on the user's client device.
  • a user may select the one or more gaming applications available in order to invoke the respective gaming application.
  • the one or more gaming applications selected are executed remotely and displayed on a given user's client device.
  • the one or more gaming applications may be displayed in conjunction with the television content displayed on a given user's client device thus allowing the user to view television content as well as participate in the one or more gaming applications selected.
  • a check is performed to determine whether a user has one or more buddies, as identified in the user's profile, step 730 .
  • the user's one or more buddies may be displayed to the user to permit the user to select one or more buddies to take part in the gaming application selected, step 730 . If a user has one or more buddies, the identity of the one or more buddies is retrieved, step 732 . Furthermore, the active buddies among the user's one or more buddies are identified and displayed to the user, step 734 .
  • one or more profiles stored in a profile data store may be retrieved to identify other users with similar or matching interests, characteristics, etc., to those of the given user, step 740 .
  • a profile component may be operative to identify one or more profiles in a profile data store that identify user preferences that are similar to the current user.
  • the one or more other users identified by a profile component may be designated as temporary buddies in order to allow the current user to engage in the gaming application selected.
  • a messaging component may deliver an invitation to the one or more active buddies identified by a user's profile or selected by a profile component to participate in the one or more gaming applications selected by the user, step 745 .
  • a recipient of a gaming application invitation may either accept or reject the gaming invitation, step 748 . If none of the recipients of the user's gaming invitation accept the invitation, the user is notified of such, and may continue to view the television content being displayed, step 755 .
  • the messaging component may pause for a given period of time, step 750 , and thereafter redeliver the one or more invitations to the user's one or more buddies, step 750 . If one or more the recipients of the user's gaming invitation accept the invitation, the context of the one or more buddies who 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 .
  • a user's client device may display an audio or visual representation of the one or more buddies' contexts.
  • the gaming application selected by the user is propagated to each buddy who accepted the gaming invitation, step 768 .
  • the buddy's client device may display both the television show and the gaming application. The user and one or more buddies who accepted the gaming invitation may thereafter engage in the gaming application selected.
  • FIG. 7 illustrates the use of a gaming application in conjunction with the viewing of television content
  • one or more other applications may be selected and executed in conjunction with television content, wherein other applications may comprise applications executable locally on a client device or remotely on a device operative to execute one or more applications for display on the client device.
  • 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.
  • a user may be presented with an option to enter a rating for the given item of content, step 820 .
  • a user is presented with a graphical user interface allowing the user to enter one or more ratings for a given item of content.
  • a rating may comprise an indication of the user's opinion of the item of content. For example, a user may indicate whether the content was favorable using a “thumbs up” icon or unfavorable using a “thumbs down” icon.
  • a user may enter ratings for one or more categories or characteristics associated with the item of content.
  • a user may provide a rating for one or more of the actors, the level of scariness of the film, the suspense of the film, etc.
  • a user may also enter rating information for other applications, including gaming applications, web sites, etc.
  • a user participating in an online gaming application may provide a rating indicating whether the game is challenging, whether the graphics are appealing, etc.
  • Those of skill in the art recognize other types and characteristics of content that may be rated by a given user.
  • a user's profile may be annotated with the rating entered by the user for the given item of content to provide the user or the user's one or more buddies with recommendations for additional content, step 825 .
  • a user's profile annotated with rating information may be used to determine content that the user may enjoy and alert the user when such content is available.
  • a recommendation component may inspect a user's profile annotated with a plurality of ratings to identify one or more items of television content that the user may enjoy based upon the user's previous ratings.
  • a recommendation component may direct a TV application to retrieve one or more items of content from a content data store and deliver the items of content to a user's client device based upon the user's ratings.
  • a recommendation component may inspect a user's profile and instruct another application component, operative to store other applications, such as gaming applications, to deliver the respective applications to a user's client device based upon the user's ratings.
  • the user's rating may further be stored in a recommendation component operative to store one or more user ratings for items of content to allow the user's rating to be propagated to the user's one or more buddies or utilized to provide recommendations to additional users, step 830 .
  • a check is performed to determine whether the user has one or more buddies as identified in the user's profile, step 835 . If a user does not have one or more buddies, processing ends, with storage of the user's rating, step 850 . If a user does have one or more buddies, an audio or visual representation 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 whether the user selected one or more buddies, step 845 .
  • each respective buddy selected may receive a notification of the user's rating for the given item of content, allowing the user's one or more buddies to base their selections of content on one or more buddies' ratings, step 860 .
  • a buddy logged onto the content distribution system may receive an alert notifying the user of the rating.
  • a buddy not logged onto the content distribution may receive a notification upon logging onto the content distribution system notifying the buddy that a user has rated a given item of content.
  • a buddy may receive an alert via an email application, instant messaging application, etc., notifying the buddy of the user's rating for the given item of content.
  • FIG. 9 is a flow diagram illustrating one embodiment of a method for generating one or more recommendations based upon ratings entered by one or more users.
  • a user may logon to the content distribution system via a logon component, step 905 .
  • a profile component may retrieve a user's profile from a profile data store to verify the user's credentials, step 910 .
  • a user logged into the content distribution system may make a request for a recommendation for an item of content, wherein an item of content may comprise television content, gaming content, Internet content, etc.
  • a check is performed to determine whether a user has requested a recommendation, step 915 .
  • a recommendation component inspects the user's profile to determine whether the user's profile is annotated with one or more ratings for the type of content selected. For example, if a user requests a recommendation for a mystery movie, a check is performed to determine whether the user has rated at least N mystery movies or television shows, wherein N may comprise a threshold. A recommendation component may inspect the user's profile to determine whether the user has rated at least N mystery movies or television shows.
  • the recommendation component may generate a recommendation based upon the user's one or more ratings, step 935 .
  • a profile annotated with three different ratings for mystery films may identify that the given user enjoys a particular actor and enjoys black and white films.
  • the recommendation component may generate a recommendation based upon the user's previous ratings and deliver a request to a TV application component to retrieve one or more items of content from a content data store that match the user's preferences.
  • a threshold may be used to increase the accuracy of the recommendation made by the recommendation component. For example, a profile with only one mystery movie rating may not provide enough information for the recommendation component to make an accurate recommendation. Therefore, a threshold may be used to increase the likelihood that the recommendation component calculates a recommendation that matches a given user's preferences.
  • a check is performed to determine whether the given user has one or buddies, step 940 .
  • a user's profile is used to determine the one or more buddies designated 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.
  • a search is performed to identify users of the content distribution system with profiles identifying similar or matching preferences with those of the given user, step 945 .
  • a profile component traverses the plurality of profiles that may be stored in a profile data store to identify users with preferences that match or are similar to those of the given user. For example, if a user's profile indicates that the user is sixty-eight years old, lives in Greenwich Conn. and enjoys movies with the actor Marlon Brando, one or more profiles with similar characteristics and preferences may be retrieved and designated as a user's temporary buddies in order to provide the user with one or more recommendations.
  • a check is performed to determine whether any of the one or more buddies has rated at least N items of content related 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 whether any of the one or more buddies has rated at least N gaming applications. If one or more of a user's buddies has rated at least N items of content associated with the type of content sought by the given user, a recommendation component may generate a recommendation based upon the one or more ratings from the user's one or more buddies, step 955 .
  • the recommendation component may generate a recommendation based upon the gaming application that received the highest rating from the buddy.
  • the recommendation component may calculate the average rating of the one or more gaming applications and recommend the gaming application with the highest rating to the user.
  • a recommendation component may generate a recommendation based upon characteristics of the user as indicated in the user's profile, step 960 .
  • a user's profile may indicate that the user is twenty-three years old, lives in Arizona, attends Arizona State University and plays football. Therefore, a recommendation component may generate a recommendation for television channels broadcasting football games played by colleges located within Arizona. The recommendation component may instruct a TV application component to retrieve and deliver one or more items of content stored in a content data store associated with Arizona football games to the user's client device.
  • the recommendation component may provide the user with a recommendation based upon the popularity of one or more items of content. For example, the recommendation component may identify items of television content, audio content, gaming applications, etc., that are most often 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 a content data store that are identified as being the most frequently selected, downloaded, accessed, etc.
  • the system of the present invention may also be used to alert a user of one or more events according to user characteristics and preferences identified in a user profile.
  • a user may be interested in various events, warnings, announcements, etc.
  • Current methods for delivering such information to a user may require a user to view a news broadcast, access a particular website, search for content, etc.
  • the present invention provides systems and methods that facilitate the retrieval and delivery of various alerts based upon on 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 are displayed on the user's client device, step 1015 , which may include television content.
  • a user While logged into the content distribution system, a user may wish to enter one or more alerts to generate a notification of events that are of interest to the given user. For example, a user may wish to receive notification when a movie starring the actor Harrison Ford is broadcast. Similarly, a user who frequently travels may wish to receive notification of traffic reports for one or more highways. Further, a user may wish to receive notification about news events that are of interest to the user.
  • Those of skill in the art recognize other information or events exist for which a given user may wish to receive one or more alerts.
  • a check is performed to determine whether a given user has entered one or more alerts, step 1020 .
  • a user may enter one or more alerts using a graphical user interface that may be accessed by a user of a client device who is logged in to the system described herein. If a user enters an alert, the user's profile is annotated with information identifying the alert indicated by the user, step 1025 . If a user does not enter one or more alerts, the user's profile may be used to generate one or more alerts, step 1030 . Additionally, a user's profile may also be used to supplement the one or more alerts entered by the user, step 1030 .
  • a user's profile may indicate the user is ninety-five years old, lives in Miami, Fla. and enjoys viewing television shows associated with animals.
  • a recommendation component may annotate a user's profile with one or more alerts based upon the user's preferences as identified in the user's profile.
  • the abovementioned user's profile may be annotated with one or more alerts to provide the user with a notification of television shows that display animals, discounts offered to senior citizens in the Miami, Fla. area, etc.
  • a recommendation component may further annotate the user's profile with alerts based upon a user's one or more recommendations as identified in the user's profile.
  • a user's profile may indicate that a user enjoyed viewing several movies with the actor Al Pacino.
  • the user's profile may be annotated with one or more alerts to notify the user when one or more items of content with the actor Al Pacino are available to the user.
  • alerts may be generated based upon information maintained in a user's profile.
  • FIG. 11 is a flow diagram illustrating one embodiment of a method for delivering an alert to a user based upon information maintained in a user profile.
  • a TV application component may retrieve one or more items of content from a content data store to deliver to a user's client device, step 1115 , and the user's profile may be utilized to monitor the one or more alerts identified by the user or generated by a recommendation component, step 1120 .
  • a messaging component is operative to monitor the one or more alerts associated with a given user's profile.
  • the messaging component may periodically inspect one or more content data stores to identify information pertaining to a user's one or more alerts, step 1125 . If information associated with a user's one or more alerts is identified, the messaging component may instruct a TV application component to deliver a message or other notification to the user's client device, step 1130 .
  • a user presented with an alert may select the alert in order to retrieve additional information on the alert or to change the user's context to display information associated with the alert, step 1135 . For example, if a given alert notifies a user of a major traffic accident, the user may select the alert, which may change the user's context to a news broadcast detailing the events of the traffic accident. Similarly, if a given alert notifies a user of a movie that the user may enjoy, the user may select the alert to change the context to tune to the given movie. If information for a given alert is not located, or if a user does not select the alert displayed on the user's client device, the user's context is unchanged, and the one or more alerts identified in the user's profile continue to be monitored, step 1120 .
  • FIG. 12 is a flow diagram illustrating one embodiment of a method for delivering advertisements to a user, which may be based upon the user's one or more alerts and ratings.
  • the user's profile is retrieved, step 1210 , and content is delivered to the user's client device, step 1215 .
  • a check is performed to determine whether 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 .
  • a 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, Tennessee, enjoys classical music, is a soccer fan, etc.
  • a recommendation component may instruct a TV application component or another application component to retrieve one or more advertisement related to classical music, soccer, etc., and deliver the advertisements to a user's client device.
  • a user's profile may indicate that the user wishes to receive weather related alerts.
  • a recommendation component may instruct the TV application component or other application component to retrieve advertisements for weather related products and services and deliver such advertisement to the user's client device, step 1235 .
  • the user's current context may be retrieved by a messaging component and used to determine one or more advertisements to deliver to the user's client device, step 1225 .
  • a given user may be viewing the movie “The Shawshank Redemption.”
  • the messaging component may retrieve the user's context, and based upon the context retrieved, instruct a TV application component to deliver one or more advertisement related to the user's context.
  • the TV application may retrieve advertisements, such as the soundtrack to the movie “The Shawshank Redemption,” and deliver such advertisements to the user's client device, step 1235 .
  • a user may select one or more of the advertisements displayed on the user's client device, step 1240 . If a user selects a given advertisement, the user's context may be changed to display additional information on the product or service advertised, step 1245 . If a user does not select one or more of the advertisements displayed, the user context is unchanged, 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 logon using a logon component that may verify the user's credentials as stored in a user profile. Once logged in, a user may select from among a plurality of content available to the user that may be delivered to a user's client device.
  • the content 1305 delivered to a client device may comprise television content that is available to a given user.
  • content 1305 that is available to a user is identified based upon a user's location as indicated in the user's profile.
  • an electronic program guide component may query an electronic program guide data store to identify one or more electronic program guides available to a given user based upon the user's location as indicated in the user's profile.
  • the 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 program guide, which may result in a TV application component retrieving and delivering content 1305 to the user's client device.
  • 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.
  • a user may select one or more additional applications from another application component that may store other applications, such as gaming applications, instant messaging applications, etc.
  • the content 1305 selected and displayed on a given user's client device may be modified based upon the type of destination client device. For example, content selected for delivery to a cellular phone device may be sized according to the size of the display of the cellular phone device.
  • FIG. 14 is a screen 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 illustrated in FIG. 14 , the content 1405 selected and displayed in FIG. 13 is minimized to allow a user to continue view the television content 1405 selected while browsing the plurality of content 1415 and 1410 available to the given user.
  • the electronic program guide 1400 displayed to a user of a client device may be retrieved by an electronic program guide component that may identify the one or more electronic program guides available to a given user.
  • the content available 1415 and 1410 to a given user is identified based upon a user's location as identified in the user's profile. For example, an electronic program guide displayed to a user in San Francisco, Calif. may correspond to Pacific Standard Time, whereas an electronic program guide displayed to a user in New York City may correspond to Eastern Standard Time.
  • the content available 1415 and 1410 to a given user may be identified based upon a user's preferences as identified in a user profile.
  • a user may subscribe to one or more paid movie services, offering the user additional content.
  • An electronic program guide component may retrieve an electronic program guide 1400 corresponding to a user's subscription service.
  • Those of skill in the art recognize other methods for retrieving and displaying an electronic program guide to a user of a client device.
  • a user may traverse the plurality of content 1415 and 1410 displayed in the electronic program guide 1400 using a selection device such a remote control and select one or more of the content items 1415 and 1410 available to the user. If a user selects a given item of content 1415 and 1410 , the content may be retrieved by a TV application component and displayed on the given user's client device. As illustrated in FIG. 14 , the content selected may be modified in order to properly display the content in conjunction with the electronic program guide available to the given user.
  • a user may also select content associated with the user's one or more buddies as illustrated in FIG. 15 .
  • a user profile may be used to identify one or more buddies 1545 , 1550 , 1555 , 1560 and 1565 designated by the user in one or more instant messaging applications.
  • a user profile may identify buddies that maintain profiles on the content distribution system.
  • a messaging component may be used to identify the 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.
  • an active buddy may comprise a buddy who has logged in and maintains a profile on the system described herein.
  • a messaging component may instruct a TV application component to deliver the context associated with a given buddy 1545 , 1550 , 1555 , 1560 and 1565 to a given user.
  • a TV application component may deliver content, such as a television show, to a given buddy's client device.
  • a user may request to view the content being viewed by the one or more buddies identified in the user's profile.
  • a messaging component may identify the one or more buddies and each respective buddy's 1545 , 1550 , 1555 , 1560 and 1565 context and instruct a TV application component to propagate the one or more buddies' contexts to the given user.
  • a TV application component generates a thumbnail 1520 , 1525 , 1530 , 1535 and 1540 image representing the context of a given buddy 1545 , 1550 , 1555 , 1560 and 1565 , which the TV application component propagates to the given user's client device.
  • the thumbnail 1520 , 1525 , 1530 , 1535 and 1540 may be annotated with information describing the particular context, e.g., title, channel, rating, etc.
  • the context of a 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 for the user's one or more buddies 1545 , 1550 , 1555 , 1560 and 1565 and the content 1505 being viewed by the user.
  • a TV application component delivers the actual content being viewed by a given buddy 1545 , 1550 , 1555 , 1560 and 1565 .
  • a buddy 1545 , 1550 , 1555 , 1560 and 1565 associated with a given viewer may be viewing the show “The Apprentice.”
  • one method of indicating the buddy's 1545 , 1550 , 1555 , 1560 and 1565 context is delivering a thumbnail image 1520 , 1525 , 1530 , 1535 and 1540 associated with the buddy's 1545 , 1550 , 1555 , 1560 and 1565 context to the user's client device.
  • the TV application may deliver streaming content to the user's client device, allowing the user to view the content of a given buddy 1545 , 1550 , 1555 , 1560 and 1565 in conjunction with the content 1505 being viewed by the given user. While the screen diagram illustrated in FIG. 15 provides the context of five buddies 1545 , 1550 , 1555 , 1560 and 1565 , additional or fewer buddies may be displayed to a given user based upon a threshold or the number of buddies identified in a user's profile.
  • Advertisements or other ancillary content may also be displayed in conjunction with content and the context of a user's one or more buddies.
  • an advertisement 1510 is display that corresponds to the current content 1505 being displayed on the user's client device.
  • the advertisement 1510 displayed may be selected, thereby allowing a user to acquire further information for the product or service advertised, 1510 .
  • the one or more advertisements 1510 displayed in conjunction with content 1505 and a user's one or more buddies 1545 , 1550 , 1555 , 1560 and 1565 may be selected according to a user's ratings or alerts, as described herein.
  • the one or more advertisements 1510 displayed on a user's client device may be selected based upon the content 1505 selected and delivered to the user's client device.
  • the advertisement 1510 displayed is an advertisement for a movie associated with the content 1505 displayed.
  • FIG. 16 is a screen diagram illustrating the plurality of buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 associated with a user and a visual representation of each buddy's respective context.
  • a user's one or more buddies, as identified in the user's profile, may view television content, participate in an online gaming application, watch a movie, etc.
  • a visual representation of each buddy's respective context may be propagated to a user's client device via a TV application component in conjunction with television content selected by a given user.
  • a user may traverse the visual representation of the one or more buddies' 1610 , 1615 , 1620 , 1625 , 1630 and 1635 contexts displayed on the user's client device.
  • a particular visual representation of a buddy's 1615 context may be highlighted 1645 or otherwise marked.
  • Information 1640 may be displayed to the user further identifying the context of the highlighted buddy, such as program, title, channel, network, rating, etc.
  • a user may continue to view and select content 1605 .
  • a user may simultaneously view the context of the user's one or more buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 while changing television channels, engaging in an online gaming application, watching a movie, etc.
  • the display of a user's one or more buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 and associated contexts may be turned on or off.
  • a user viewing a movie may wish to have the movie occupy the entire display area of the user's client device.
  • the user may thus deactivate the display of the user's buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 and associated contexts.
  • a user may limit the number of buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 and associated contexts displayed on the user's client device.
  • a user's profile may identify twenty buddies who may all be active while the user is engaging 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 the gaming application, etc.
  • a user may modify the location of the display of 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 illustrated in FIG.
  • FIG. 16 shows a row of buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 with associated contexts on the bottom of the display area, one or more of the buddies 1610 , 1615 , 1620 , 1625 , 1630 and 1635 and associated contexts may be placed in positions that accommodate a user's needs or preferences.
  • FIG. 17 is a screen diagram illustrating another embodiment of the 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.
  • the context 1770 , 1775 , 1780 , 1785 , 1790 and 1795 of a user's one or more buddies 1710 , 1715 , 1720 , 1725 , 1730 and 1735 may be propagated to a user's client device via a TV application component.
  • a user's one or more buddies 1710 , 1715 , 1720 , 1725 , 1730 and 1735 may be viewing television content, engaging in an online gaming application, etc.
  • the context 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 the one or more items of content 1705 selected by the user.
  • a user may traverse the contexts 1770 , 1775 , 1780 , 1785 , 1790 and 1795 associated with the user's one or more buddies 1710 , 1715 , 1720 , 1725 , 1730 and 1735 .
  • additional information 1798 associated with the buddy's 1720 context 1780 is displayed to the user.
  • a user may be presented with one or more options 1740 , 1745 and 1750 . For example, the screen diagram illustrated in FIG.
  • a buddy's context 1780 which is an online poker gaming application.
  • the user selects the context 1780 associated with the buddy 1720 participating in the online poker gaming application, the user is presented with a plurality of options.
  • the “watch” 1745 option allows the user to view the poker game that the buddy is participating in. For example, by selecting “watch,” 1745 the buddy's context 1780 , namely the online poker gaming application, may be propagated to the user's client device. The user may continue to view the television content 1705 along with the buddy's online poker game.
  • Selecting “cancel” 1750 may allow the user to continue traversing the one or more contexts 1770 , 1775 , 1780 , 1785 , 1790 and 1795 associated with the users one or more buddies 1710 , 1715 , 1720 , 1725 , 1730 and 1735 .
  • a user may elect to participate in the buddy's 1720 online poker gaming application. For example, if the user selects “Play,” 1740 the context 1780 of the buddy 1720 is propagated to the user's client device. Moreover, the user's profile may be used to identify the user as a participant and engage the user in the poker game.
  • FIG. 18 presents a screen diagram illustrating the content associated with the context change that may be displayed to a user upon selecting the “play” 1740 option associated with a given buddy's 1720 gaming context 1780 .
  • a user may engage in the gaming application associated with one or more selected buddies.
  • the context of the selected buddy is delivered to the user's client device, allowing the user to participate in the gaming application.
  • a user may continue to the view the content 1810 previously selected while taking part in the gaming application.
  • a user's buddies 1815 , 1820 , 1825 , 1830 , 1835 , 1840 and 1845 may be modified to reflect the user's context change. More specifically, the user's context, previously comprised only of television content, now comprises both television content 1810 and a poker gaming application 1805 . Therefore, the buddies displayed to a user may be modified to reflect the buddies associated with the changed context.
  • the buddies “joff,” 1835 “hatrick” 1840 and “joymo,” 1845 associated with the user's television viewing 1810 continue to be displayed on the user's client device as the user continues to view television content 1810 , whereas the 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 further presented with a plurality of controls 1850 , 1855 and 1860 for participating in the gaming application 1805 .
  • a user may receive one or more alerts while viewing content or participating in a gaming application.
  • a user's profile may identify one or more alerts, wherein alerts may comprise events or notifications that the user wishes to receive or that may be of interest to a given user.
  • a traffic alert 1915 is illustrated, notifying the user of “Major Delays” on a roadway that may be relevant to the user. While the alert presented is a traffic related alert 1915 , other alerts may be displayed on a user's client device based upon the one or more alerts identified in a user's profile or the user's particular context.
  • a user participating in an online poker game may receive an alert notifying the user that a given casino is conducting a poker tournament.
  • a user's profile may indicate that the user wishes to receive an alert notifying the user when the television show “The Real World” will be broadcast.
  • alerts may be displayed to a user of a client device based upon a user's profile or a user's particular context.

Abstract

A method comprises retrieving a profile of a given user; using the profile to identify a buddy of the given user; delivering a shared control request of the given user to a buddy device of the buddy; enabling the buddy to accept or reject the shared control request; and allowing the given user to control a context of the buddy device when the buddy accepts the shared control request.

Description

    PRIORITY CLAIM AND RELATED APPLICATIONS
  • This application is a continuation of and incorporates by reference U.S. application Ser. No. 11/327,198, filed on Jan. 5, 2006, entitled “FRAMEWORK FOR DELIVERING A PLURALITY OF CONTENT AND PROVIDING FOR INTERACTION WITH THE SAME IN A TELEVISION ENVIRONMENT”, which is a continuation-in-part of U.S. application Ser. No. 11/261,436, filed Oct. 27, 2005, entitled “FRAMEWORK FOR PROVIDING DIGITAL HOME SERVICES,” assigned attorney docket number 7344/22, and which claims priority to U.S. Provisional Application No. 60/641,787, filed on Jan. 5, 2005, entitled, “SYSTEM AND METHOD FOR EXTENDING ONLINE SERVICES TO OTHER PLATFORMS,” assigned attorney docket number 7344/7P and U.S. Provisional Application No. 60/641,717, filed on Jan. 5, 2005, entitled “SYSTEM AND METHOD FOR ACCESSING PERSONALIZED MULTIMEDIA CONTENT”, assigned attorney docket number 7344/8P, all of which are incorporated by reference in their entirety.
  • This application incorporates the following commonly owned patent application in their entirety:
      • Application Serial Number to be assigned, entitled “INFORMATIONAL ALERT MESSAGING FOR DIGITAL HOME SERVICES,” filed Jan. 5, 2006 and assigned attorney docket number 7344/31;
      • Application Serial Number to be assigned, entitled “FRAMEWORK FOR PROVIDING ANCILLARY CONTENT IN A TELEVISION ENVIRONMENT,” filed Jan. 5, 2006 and assigned attorney docket number 7344/32; and
      • application Ser. No. 10/752,819, entitled “SYSTEM AND METHOD FOR ACCESSING SPECIALIZED CONTENT ASSOCIATED WITH BROADCAST CONTENT,” filed Jan. 6, 2004 and assigned attorney docket number 7344/20.
    COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document 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 files or records, but otherwise reserves all copyright rights whatsoever.
  • BACKGROUND OF THE INVENTION
  • Embodiments of the present invention relate to methods and systems for facilitating the delivery of content items and interaction with content items in a television environment. More specifically, embodiments of the present invention relate to methods and systems that facilitate the simultaneous delivery of a plurality of items of content, including content associated with one or more users in a given social network, as well as the interaction among one or more users in a television viewing environment.
  • Systems for distributing TV content are generally well known to those of skill in the art. Over the past several decades, the number of systems designed for the distribution and consumption of TV content has proliferated, while the number of available channels of TV content has skyrocketed. For example, viewers are now able to consume TV content over cable, over the air broadcast, satellite, fiber optic, as well as other point (and multipoint) to multipoint distribution systems, each potentially offering several hundred channels of scheduled and on-demand TV content. Consumers have had difficulty in effectively utilizing the pool of available TV content due to a lack of useful tools for analyzing programming to determine the TV content that is potentially the most enjoyable or relevant to the user. Furthermore, the viewing of TV content has heretofore been an essentially solitary experience outside of viewing TV content with another individual located at the same location.
  • In order to overcome these shortcomings and other problems associated with existing apparatuses and techniques for viewing TV content, embodiments of the present invention provide systems and methods for both a shared viewing experience of TV content, as well as providing messenger and messenger related services and content within the framework of viewing TV content. Moreover, embodiments of the present invention provide for interaction among a plurality of users for a community viewing environment.
  • SUMMARY OF THE INVENTION
  • According to an embodiment, the present invention provides a method comprising retrieving a profile of a given user; using the profile to identify a buddy of the given user; delivering a shared control request of the given user to a buddy device of the buddy; enabling the buddy to accept or reject the shared control request; and allowing the given user to control a context of the buddy device when the buddy accepts the shared control request.
  • The using the profile to identify the buddy may comprise identifying one or more instant messaging applications to which the given user subscribes as indicated in the profile; identifying one or more other users in the one or more instant messaging applications; and designating one of the other users as the buddy. The method may further comprise selecting the buddy from the one or more other users by the given user. The using the profile to identify the buddy may comprise retrieving one or more characteristics of the given user as indicated in the profile; examining one or more other user profiles to identify another user with characteristics similar to the given user; and designating the other user with the similar characteristics as the buddy. The shared control request may comprise a request to allow the given user to control one or more content items displayed on the buddy device. The method may further comprise propagating the context of the given user to the buddy that accepted the shared control request. The propagating may comprise propagating a change in context of the given user to the buddy that accepted the shared control request. The context may comprise a notion of the action that the user is performing at a given point in time.
  • According to another embodiment, the present invention provides a system comprising a content store for storing content items; a given user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a given user; an other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to another user; and a content distribution server operative to identify the other user as being a buddy of the given user, to receive a shared control request from the given user device, to deliver the shared control request to the other-user device, to receive an acceptance or a rejection to the shared control request from the other-user device, and to allow the given user to control a context of the other-user device when an acceptance is received.
  • At least a portion of the content store may be maintained on the content distribution server and/or external to the content distribution server. At least one of the given user device and the other-user device may include one of a personal computer, a set top box, or a personal digital assistant. The content distribution server may include a profile data store for storing identification of buddies of a given user. The content distribution server may be operative to propagate a content item selected by the given user to the given user device and the other-user device. The system may further comprise a second other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a second other user. The content distribution server may be operative to identify the second other user as being a second buddy of the given user, to receive a second shared control request from the given user device, to deliver the shared control request to the second other-user device, to receive an acceptance or a rejection to the shared control request from the second other-user device, and to allow the given user to control the context of the second other-user device when an acceptance is received. The content distribution server may be operative to propagate a content item selected by the given user to the other-user device and to the second other-user device.
  • According to yet another embodiment, the present invention provides a system comprising retrieving means for retrieving a profile of a given user; identifying means for identifying a buddy in a social network with the given user; delivering means for delivering a shared control request of the given user to the buddy; enabling means for enabling the buddy to accept or reject the shared control request; and allowing means for allowing the given user to control a client device context of the buddy when the buddy accepts the shared control request.
  • The retrieving means may include a profile component coupled to a profile store that stores profiles of users. The identifying means may include a messaging component in communication with a messenger application on the given user device. The identifying means may include a messaging component that examines the other user profiles to identify the subset of the other users having characteristics in common with the given user. The delivering means, enabling means and allowing means each may include at least a portion of a TV application component, the TV application component being in communication with the given user device and the other-user device, the TV application component having access to a content data store and controlling the distribution of content items from the content data store to the given user device and the other-user device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding parts, and in which:
  • FIG. 1 is a block diagram illustrating a system for providing access to messenger services and content in conjunction with TV content and ancillary TV content according to one embodiment of the present invention;
  • FIG. 2 is a flow diagram presenting a method for initializing a given user's session and retrieving the context of a given user's one or more buddies according to one embodiment of the present invention;
  • FIG. 3 is a flow diagram presenting a method for initializing a given user's session and retrieving the context of a given user's one or more buddies based upon the user's context according to one embodiment of the present invention;
  • FIG. 4 is a flow diagram presenting a method for propagating a given user's context to one or more other users according to another embodiment of the present invention;
  • FIG. 5 is a flow diagram presenting a method for synchronizing the context of one or more users to engage in a community viewing environment according to one embodiment of the present invention;
  • FIG. 6A is a flow diagram presenting a method for tagging content for delivery to one or more buddies of a given user according to one embodiment of the present invention;
  • FIG. 6B is a flow diagram presenting a method for remotely accessing a user's profile to identify and interact with the content delivered to the user's set top box according to one embodiment of the present invention;
  • FIG. 7 is a flow diagram presenting a method for simultaneously viewing television content while participating in a gaming application according to one embodiment of the present invention;
  • FIG. 8 is a flow diagram presenting 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 according to one embodiment of the present invention;
  • FIG. 9 is a flow diagram presenting a method for retrieving a recommendation based upon one or more ratings according to one embodiment of the present invention;
  • FIG. 10 is a flow diagram presenting a method for generating alerts to provide a user with notification of one or more events according to one embodiment of the present invention;
  • FIG. 11 is a flow diagram presenting a method for delivering a notification to a client device based upon one or more alerts according to one embodiment of the present invention;
  • FIG. 12 is a flow diagram presenting a method for delivering personalized advertisements to a client device according to 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 present invention;
  • FIG. 14 is a screen diagram illustrating the 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 displayed in conjunction with a given user's one or more buddies' contexts and one or more advertisements according to one embodiment of the present invention;
  • FIG. 16 is a screen diagram illustrating the traversal of one or more contexts associated with a user's one or more buddies according to one embodiment of the present invention.
  • FIG. 17 is a screen diagram illustrating the one or more options available upon selection of a given buddy's context according to one embodiment of the present invention;
  • FIG. 18 is a screen diagram illustrating the selection and propagation of 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 the delivery of an alert to a client device based upon one or more alerts identified in a user profile according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • In the following description of embodiments of the invention, reference is made to the accompanying drawings that form a part hereof and in which is shown by way of illustration a number of 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, a content distribution server 102 comprises one or more software and hardware components to facilitate the delivery of television and TV related content in conjunction with messaging and messaging related content and services. Hardware and software components include, but are not limited to, a logon 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 comprises one or more data stores for persistent storage of information used in providing both TV and messaging content and services including, but not limited to, a profile data store 106, content data stores 114 a and 114 b, and an EPG data store 120.
  • The content distribution server 102 is communicatively coupled with a network 100, which may include a connection to one or more local and/or wide area networks, such as the Internet. Using the network 100, the content distribution server 102 is capable of accessing local 114 a and remote 114 b television content, as well as providing television and messaging services, including combinations thereof, to clients 126 a, 128 a, 130 a and 132 a. The content distribution server 102 is operative to provide TV and messaging content and services to any client device capable of running TV client software 126 b, 128 b, 130 b and 132 b, as well as a messaging client 126 c, 128 c, 130 c and 132 c. For example client devices may include set top terminals 126 a and 128 a that use a television as a display device, computer hardware such as a personal computer 130 a and mobile devices 132 a, such as cellular handsets and personal digital assistants (“PDA”). Other types of electronic communications equipment is contemplated as falling with in the scope of the invention including, but not limited to, digital media adapters, DVD players, connected TVs and other networked consumer electronic devices.
  • When a given client 126 a, 128 a, 130 a and 132 a initially accesses the content and services that the content distribution server 102 provides, the server authenticates the given user and/or client device. The content distribution server 102 provides a logon component that allows for the authentication of clients 126 a, 128 a, 130 a and 132 a and/or users of a given client device. A client device 126 a, 128 a, 130 a and 132 a initializes its TV client application 126 b, 128 b, 130 b and 132 b and messenger client application 126 c, 128 c, 130 c and 132 c, which initiates the generation and transmission over the network 100 of a logon request to the logon component 104. According to one embodiment of the invention, the logon request comprises information identifying the user of the client device in addition to information regarding the client device itself, e.g., a MAC address, IP address, phone number or other uniquely identifying descriptor. By providing information regarding the user, the content distribution server 102 may provide a personalized experience to the user regardless of the specific client device 126 a, 128 a, 130 a and 132 a with which the user connects to the content distribution center 102.
  • The logon component 104 receives the logon request from a given client 126 a, 128 a, 130 a and 132 a and attempts to authenticate the user and/or device. The logon component 104 may access a profile 108 for the given user that a profile data store 106 maintains. Accordingly, the logon component 104 uses information identifying the user in an attempt to authenticate the identity of the user, e.g., against information contained in the user's profile 108. The identifying information may comprise a username and password whereby the logon component 104 conducts a comparison to ensure that the received password is identical to a stored password. Alternatively, or in conjunction, the logon component 104 may conduct an exchange of public keys with the client 126 a, 128 a, 130 a and 132 a 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 regarding the client device 126 a, 128 a, 130 a and 132 a, e.g., a MAC address or other uniquely identifying indicia, to authenticate the client device or otherwise validate that the client 126 a, 128 a, 130 a and 132 a may connect to the content distribution server 102.
  • The content distribution server 102 may also implement a logon proxy 104a to provide scalability and the flexibility to handle large numbers of clients 126 a, 128 a, 130 a and 132 a attempting to connect to the logon component 104. Multiple client devices 126 a, 128 a, 130 a and 132 a initiate communication over the network 100 with a given one of one or more logon proxies 104 a. Each logon proxy 104 a initiates communication with the logon component 104, thereby allowing the logon component 104 to service a large number of client requests without the necessity of maintaining and managing a connection with each requesting client 126 a, 128 a, 130 a and 132 a.
  • Where the logon component 104 is unable to successfully authenticate the user or client 126 a, 128 a, 130 a and 132 a, the logon component 104 prevents the client 126 a, 128 a, 130 a and 132 a from accessing functionality that the content distribution server 102 offers. Alternatively, the logon component 104 may solely provide access to the TV application component 112, electronic program guide component 118 and EPG data store 120, thereby allowing the user to view TV content and scheduling data on the client 126 a, 128 a, 130 a and 132 a. A user whom the logon component is unable to authenticate is therefore presented with a traditional digital TV content viewing experience with content from one or more content sources 114 a and 114 b, as well as program guide data for his or her locality.
  • Where 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's profile 108 in the profile data store 106. The logon component 104 provides an indication to the messaging server 110 and the TV application component 112 that the user and/or client 126 a, 128 a, 130 a and 132 a has been successfully authenticated and may be provided with access to the content distribution server and its constituent components identified above. Upon successful authentication, the messaging server 110 passes the identity of the user to the profile component 116, which retrieves the user's profile 108 from the profile data 106 store for transmission to the messaging component 110. The messaging component 110 may also provide the TV application 112 with a copy of the user's profile 108, 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, which is managed by a profile component 116. Alternatively, or in conjunction with the foregoing, a user profile may be stored on a remote server (not pictured), coupled to the content distribution server 102. A user profile maintained on a remote server may be utilized by a plurality of servers coupled to the remote server, including the content distribution server 102, to identify a given user and the user's activities. As indicated above, a 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 TV application component 112 for the recordation of user interaction with the components, 110 and 112, respectively. Accordingly, the user profile may maintain an historical record of the interactions of the user with the content distribution server 102.
  • Those of skill in the art should understand, however, that a subset of this historical interaction may be written to the user profile 108. For example, when the user is using the TV application component 112 to view TV content, the TV application component 112 sends a message to the profile component 116 to write indicia to the user's profile 108 in response to the receipt of a command, e.g., a change channel command. Similarly, when the messaging component 110 provides messaging content and related services to the user, the messaging component 110 sends a message to the profile component 116 instructing it to write indicia to the user's profile 108 in response to the receipt of a command, e.g., sending a message to another user or stepping into an on-line game.
  • The profile 108 also maintains a user's “context”. According to one embodiment, a user's context may be a notion of an action that a given user is performing at a given point in time, which may also include the location from which the user is performing that action. Put another way, a user's context may be what the user is doing at a given point in time, e.g., watching a given TV channel, playing an on-line game, listening to music, conducting an on-line transaction, etc. The context may also indicate from where or what type of device the client is connecting to the content distribution server 102, e.g., a set top box 126 a and 128 a, a personal computer 130 a, a mobile device 132 a, etc. By providing the user's context to the messaging component 110 and the TV application component 112, each component, 110 and 112, is capable of identifying and retrieving the proper content to provide the user with messaging content and related services unified with TV content and related services as is explained in greater detail herein. The profile component 116 receives updates to the given user's context form the messaging component 110 and TV application component 112 that the profile component 116 writes to the user profile 108 for the given user. The profile 108 for a given user therefore maintains an historical record of the user's context over a period of time.
  • The profile may also maintain information regarding other users of the system to whom a given user is related. For example, the given user may use a messaging client 126 c, 128 c, 130 c and 132 c on a client device 126 a, 128 a, 130 a and 130 a to identify one or more buddies, the identities of which are written to the given user's profile 108. By traversing groups of related users, the profile component 116 is operative to identify social networks of users. Communities of users may also exist whereby an indication of the membership in a community is written to the given user's profile 108. Similarly, the profile component 116 may identify subsets of a given user's buddies from the given user's total set of buddies. According to one embodiment, the profile component 116 calculates a social network for a given user that comprises all users with an N-degree relationship to the given user. For example, User A maintains a direct relationship with User B, and User B maintains a direct relationship to user C. User A and User C are related by two degrees, whereas each is related to User B by one degree.
  • The TV application component 112 identifies the user's context and retrieves the proper TV content for transmission over the network 100 to the client device 126 a, 128 a, 130 a and 132 a with which the user is interacting. Furthermore, the TV application component 112 may retrieve ancillary 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 ancillary TV content from a local content data store 114 a, which may aggregate TV content and ancillary TV content from a variety of disparate sources. Alternatively, or in conjunction, the TV application component 112 receives TV content and ancillary TV content from a local content data store 114 a, as well as over the network 100 from a remote content data store 114 b, where required content resides remotely from the server 102. Similarly, the TV application component 112 may collect TV content from a plurality of TV content distribution systems (not pictured) for storage in the local and remote content data stores, 114 a and 114 b, respectively. The TV application component 112 may selectively transmit TV content to users on the basis of a schedule for the transmission of TV content promulgated by the TV content distribution system for the region in which a given user is located.
  • The messaging component 110 is also provided with the user's context, thereby allowing the messaging component 110 to know what actions the user is performing, e.g., watching TV content, viewing ancillary TV content, playing an on-line game, listening to music, etc. 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, also referred to as the user's “buddies”. With knowledge of the given user's identity and other users in the given user's social network, the messaging component 110 may instruct the TV application 112 to propagate the given user's context to other users in the given user's social network. Propagating the user's context may include generating an image representing the user's context, which may further include other data describing the user's context (e.g., text, audio, video, combinations thereof, etc.). Alternatively, information regarding the user's context may be used to lookup and retrieve additional related information from a content data store 114 a and 114 b. The TV application server 112 presents other users in the given user's social network with the given user's context, such as through the presentation of an icon. The TV application server 112 may provide a given user with the context of other users in the given user's social network, and vice versa.
  • The following example may be illustrative and is not intended to be limiting. Assume that the user is watching the TV program “The Apprentice” on channel three. 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 his or her buddies. The TV application component 112 generates a thumbnail image representing the program “The Apprentice”, which the TV application component 112 propagates to the given user's buddies. The thumbnail is presented on a client device for a given buddy with information describing the program, e.g., the title and the fact that the user is watching the program on channel three. The TV application server 112 may modify information regarding the given user's content, e.g., scaling down the thumbnail image, on the basis of a given destination client device 126 a, 128 a, 130 a and 132 a.
  • The messenger component 110 and TV application component 112 allow for a number of advanced features not available in content distribution systems known to those of skill in the art. Because the messaging component is aware of a given user's context and may receive input from a given client device 126 a, 128 a, 130 a and 132 a, users of the content distribution server 102 may interact with one another. The messaging component 110 provides a given user's context to the TV application component 112, which propagates the context to other users in the given user's social network and vice versa. The given user may select an indication of the context of other users in the given user's social network to initiate an action. Initiating an action may include starting an instant message conversation with the selected user, switching context to the context of the selected user, etc. Selections are passed to the messaging component 110, which performs the requested action and provides content for the TV application component to consume and propagate as is appropriate to other users. One illustrative use of this functionality is shared viewing of content between a plurality of users, shared remote control functionality between a plurality of users, combinations thereof, shared remote and shared viewing with instant messaging between a plurality of users, etc.
  • The messaging component 110 also provides access to other application components 122. Alternatively, other application components 122 may communicate directly with the TV application component 112 to provide content for distribution to one or more client devices 126 a, 128 a, 130 a and 132 a in communication with the content distribution server 102 over the network 100. One exemplary other application component 122 is an on-line poker playing application. The other application 122 handles the main program logic for on-line poker playing game. Each user's context (which may comprise location information (e.g., playing on-line poker), the identities of other players in the game, what the given user's action is (hit, hold, double down), etc.) is provided to the messaging component 110, which passes information regarding a given user's context to the TV application component for propagation to other players in the game.
  • Propagation of information regarding a given user's context may also be propagated to other users in a given user's social network who are not necessarily playing the on-line poker game. Those of skill in the art should recognize that other application components falling within the scope of the present invention are not limited to on-line poker playing components, and may include other applications that the messaging component 110 can interface with, including, but not limited to, music engines whereby the messaging component 110 may instruct the TV application component 112 as to the current song to which a user is listening, search applications whereby the messaging component 110 may instruct the TV application component 112 as to the keywords over which a user is searching and the related result set, etc. These are examples of a given user's context that the TV application component 112, in conjunction with the messaging component 110, may propagate to users of the content distribution server 102 to provide for a shared content consumption experience.
  • As indicated above, the TV application component 112 may propagate a given user's context to other users in the given user's social network, which may include channel information regarding a TV program that the given user is viewing. An issue arises, however, when individual users are accessing TV content in different time zones and locations with different channel assignments. The content distribution server 102 includes an electronic program guide component 118 communicatively coupled to the network 100 and operative to receive electronic program guide information, e.g., the program schedule for a given location and time zone. The electronic program guide component 118 queries program guide servers (not pictured) that are in communication over the network 100, such as the program guide servers operated by Tribune Media Services. The electronic program guide component 118 stores the one or more electronic program guides in an EPG data store 120. According to one embodiment of the invention, the EPG data store 120 is a relational database, but may be substituted by a tab delimited data store, a comma delimited data store, an object oriented database, a hybrid object-relational database, or other data stores known to those of skill in the art. Systems and methods for generating electronic program guides include U.S. Pat. No. 6,813,774, entitled “PROGRAM GUIDE DISPLAY APPARATUS AND PROGRAM GUIDE DISPLAY METHOD”, U.S. Pat. No. 6,763,522, entitled “SYSTEM AND METHOD FOR A DIGITAL TELEVISION ELECTRONIC PROGRAM GUIDE” and U.S. Pat. No. 6,611,958, entitled “ELECTRONIC PROGRAM GUIDE FEATURE FOR AV SYSTEM”, the disclosures of which are hereby incorporated by reference in their entirety. Furthermore, those of skill in the art recognize a number of electronic program guides are commercially available, including those available from Pioneer, Scientific Atlanta, Motorola, Gemstar/TVGuide (“GTVG”), Charter Communications, etc.
  • When the TV application component 112 propagates a 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 a local context for a user in the social network that corresponds to the user's context. For example, where the user is viewing a program on the ABC network, that same program is not necessarily being transmitted on the same channel in all locations and time zones, if the program is being transmitted at all. Accordingly, for each user in a given user's social network to which the TV application component 112 is to transmit a given user's context, the electronic program guide component 118 retrieves the electronic program guide from the EPG data store 120 for a user in the social network.
  • The electronic program guide component 118 executes a search in an attempt to locate the program that the given user is viewing in the electronic program guide. If successful, the electronic program guide component 118 instructs the TV application component 112 as to the channel on which the user in the social network may find the program that the given user is viewing being transmitted; the TV application component 112 may propagate this information as part of the given user's context. Where the electronic program guide component 118 cannot locate the given user's context in the electronic program guide, e.g., the program that the given user is viewing is not presently being transmitted in the time zone in which the user in the social network is located, the electronic program guide component 118 may identify alternate times at which the program is being transmitted, which the TV application component 112 may also propagate as part of the given user's context. The TV application component 112 transmits this information to the user in the social network. Where the client device 126 a, 128 a, 130 a and 132 a comprises digital video recording functionality (“DVR”), the TV application component 118 may provide the user in the social network with an opportunity to schedule recording of the program. Recording may also comprise the recording of content that is not selectable by a given user through interaction with an EPG, e.g., Internet based content. It should be noted that selection of a program 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 that it is transmitting to clients 126 a, 128 a, 130 a and 132 a, e.g., stored in the EPG data store 120. According to another embodiment of the invention, the content distribution server 102 utilizes unique program identifiers (“PID”) provided by an EPG data stream to identify each program that it is transmitting to clients 126 a, 128 a, 130 a and 132 a. The electronic program guide component 118 searches the EPG data store 120 to locate the program that the given user is viewing and determines the program's unique identifier, which the TV application component 112 may propagate as part of the given user's context. A client device 126 a, 128 a, 130 a and 132 a that a user in the given user's social network is operating receives the given user's context and attempts to identify the program that the given user is viewing in a local electronic program guide, which may be stored on the client 126 a, 128 a, 130 a and 132 a or retrieved from a network source.
  • If successful, client side software, e.g., a TV client 126 b, 128 b, 130 b and 132 b, instructs the user in the social network as to the channel on which he or she may find that program that the given user is viewing, which may include allowing the user in the social network to tune to channel on which the TV application component 118 is transmitting the program. Where the identifier for the program cannot be located in the local electronic program guide, client side software may identify alternate times at which the program is being transmitted. Where the client device 126 a, 128 a, 130 a and 132 a comprises digital video recording functionality (“DVR”), the client 126 a, 128 a, 130 a and 132 a may provide the user in the social network with an opportunity to schedule recording of the program. Recording functionality of the DVR may also include the recording of content that does not appear in an EPG, e.g., Internet based content.
  • As discussed above, interaction with the messaging component 110 and TV application component 112 may be recorded by the profile component 116, which maintains a profile 108 for each user in a profile data store 106. In other words, the profile 108 contains a history of the user's context changes as a function of time, allowing decisions to be made regarding the given user's preferences on this basis. For example, where the user's context is identified as viewing science fiction programs for long periods of time and news programs for short periods of time, a decision may be made that the user prefers science fiction programs. This may also account for sub-genres, e.g., science fiction/action, science fiction/horror, etc. Each profile 108 may also comprise context information as a function of time for other users in a given user's social network, as well as other users that utilize the content distribution server 102.
  • A recommendation component 124 may utilize user profiles in the profile data store to supply recommended programming to the user, which may also include providing recommendations for using other applications, such as in response to on-line events, users with whom a given user might want to be a buddy, ancillary TV content, etc. According to embodiments of the invention, the recommendation component 124 may utilize a user profile in determining recommended content to a user. Alternatively, or in conjunction with the foregoing, the recommendation component 124 may also utilize the user profiles of a given user's buddies, e.g., the profiles of those users that are in the given user's social network. The recommendation component 124 may also compute a vector for the given user's profile and include those users with similar profile vectors in its calculation of recommended content. Also, the recommendation component 124 may utilize profiles for user communities, which contain aggregate context information for a community of users, when determining recommended content. Similarly, the recommendation component 124 may utilize a personalization service, such as My Yahoo!, which allows users to create and edit their own profiles for indicating media preferences (e.g., favorite channels or TV programs), which are stored on Yahoo! servers (which may be profile data stores 106) and made available to the recommendation component 124.
  • The recommendation component 124 allows the content distribution server 102 to harness the viewing experience, habits and preferences of the users who are interacting with the content distribution server 102. As indicated above, the recommendation component 124 may provide recommendations beyond TV content, extending to all services that the content distribution server offers. 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 on-line poker game in which users play against each other on line. Where the user profile indicates that the user spends substantial time in the context of an on-line poker application 122, the recommendation component may alert the user when an upcoming on-line poker tournament is approaching.
  • The system of the present invention illustrated at FIG. 1 provides for 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 users in the given user's social network. According to one embodiment, icons and accompanying textual data are propagated by the TV application component and presented to the given user on a client device 126 a, 128 a, 130 a and 132 a, indicating the context of other users of the server 102. The presentation of the context of other users in conjunction with the presentation of TV content allows for a shared viewing experience whereby a given user may know the context of other users and may change his or her context to that of another user. For example, where the context of a user in a given user's social network indicates the user in the social network is watching a program that is enjoyable to the given user, the given user may change his or her context to match that of the user in the social network (e.g., tuning to receive transmission of the same TV content that the user in the social network is consuming). Using the architecture described herein, a number of applications become available in the context of the TV consumption process, including, but not limited to personalization, community viewing, shared presence and context, messaging, access to ratings and recommendations (including community reviews), alerts, etc.
  • The content service provider 102 provides access to it functions and application components through the use of one or more application program interfaces (“API”) 100. An API 100 is an interface, or set of calling conventions, by which a given application component accesses other application components and the services that the application components offer. By using the API 100, a given application component advertises information regarding the functions and/or services that the given application component may provide to other components, which may also include the technique by which the functions or services are accessed. This allows the application components comprising.the system to access supporting system and network services. For example, the API 100 allows client side applications to issue function calls for the performance of actions and accessing of services, such as tuning a channel, accessing an on-line game, listening to music, allowing the messenger component to interface with the TV application component or a messaging client to access EPG data, etc., as described herein. Although FIG. 1 illustrates the API 100 as a separate system component, those of skill in the art recognize that each application component may provide an individual API 100 identifying the specific functions and services a given application component provides. Furthermore, application components, e.g., a messaging client 126 c, 128 c, 130 c, 132 c, resident on client devices 126 a, 128 a, 130 a, 132 a may provide one or more APIs 100 advertising the functions and service the given application component provides.
  • One embodiment of a method for selecting content based upon the one or more users in a given user's social network (“buddies”) is illustrated in FIG. 2. According to the embodiment illustrated 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 comprise a client device powering up and initializing a communications stack, such as a TPC/IP stack, and opening a connection to the logon component over a network, e.g., the Internet. The logon component attempts to verify a user's credentials using information maintained in the user's profile that may be retrieved by a profile component, step 210.
  • Television content is retrieved and displayed to a user on the user's client device, which may include the use of a TV application component, step 215. According to one embodiment of the invention, a TV application component retrieves content from a content data store based upon a user's selection of content from among a plurality of television shows or listings for television shows displayed to the user. For example, an electronic programming guide component may retrieve electronic program guide data from an EPG data store identifying one or more items of television content available to a user. An electronic programming guide may be displayed to the user for selection of one or more items of television content from the electronic programming guide. According to another embodiment of the invention, the television content retrieved and displayed to a given user is based upon the user's profile maintained in a profile data store. For example, a user's profile may maintain information identifying the age, location, sex, etc., of the given user. Exemplary methods for retrieving content based upon a user profile are described in commonly owned U.S. patent application Ser. No. 10/752,819 entitled “SYSTEM AND METHOD FOR ACCESSING SPECIALIZED CONTENT ASSOCIATED WITH BROADCAST CONTENT,” the disclosure of which is hereby incorporated by reference in its entirety. A TV application component may retrieve and display content to a user based upon the one or more items of information maintained in the user's profile, according to methods further described herein. The content retrieved by a TV application component may comprise audio, video, text, images and combinations thereof.
  • A user's profile is further utilized to determine whether a given user has one or more buddies 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. An instant messaging service may allow a user to designate and save buddies with whom the user may communicate by delivering instant messages via the respective instant messaging application. According to one embodiment of the invention, a user may designate, in a user profile, the one or more instant messaging services to which the user has subscribed. Similarly, a user may designate one or more buddies with profiles maintained on the system described herein. A messaging component may retrieve the identity of a user's one or more buddies that maintain profiles on the system described herein and may also retrieve the identity 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 profiles on the system described herein, step 220. If a user does have one or more buddies, a messaging component may retrieve the identity of the one or more buddies designated by the user in the one or more instant messaging applications or designated as buddies with profiles on the content distribution system, step 228. The messaging component may further determine whether any of a given user's one or more buddies are currently active, step 229. For example, a given buddy may be deemed active if the buddy has a profile and is currently logged in or accessing the content distribution system. Alternatively, or in conjunction with the foregoing, an inter-messaging component may be operative 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 a user's one or more buddies are active, or if a user's profile does not identify one or more buddies, a profile component may be used to traverse the plurality of profiles maintained in a profile data store to select profiles of active users that match or are similar to the given user's profile, step 225. The one or more active users' profiles that match or are similar to the user's profile may be designated as the user's temporary buddies, step 225. For example, a given user's profile may specify that the user is thirty years old, lives in New York City, is a football fan and enjoys watching reality television shows. A profile component may traverse a plurality of user profiles stored in a profile data store and retrieve one or more profiles for active users that identify interests or preferences similar to those of the given user, e.g., a match on one or more profile fields. The one or more active users selected (“users like you”) may be temporarily designated as the user's buddies.
  • After a user's buddies have been temporarily designated based upon the user's preferences and characteristics, step 225, or designated according to information maintained in the user's profile, step 228, the context of the user's 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 notion of an action that a given user is performing at a given point in time, which may also include the location from which the user is performing that action. For example, a context may be what the user is doing at a given point in time, e.g., watching a given TV channel, playing an on-line game, listening to music, conducting an on-line transaction, etc. Additionally, the avatar associated with each respective buddy is retrieved, wherein an avatar may comprise an identifier for a given buddy, step 235. For example, an avatar may comprise an image selected by a given buddy that identifies the given buddy.
  • The retrieved context of a user's one or more buddies may be displayed, along with each buddies' respective avatar, on a client device for a given user in conjunction with TV content being viewed by the given user, step 240. According to one embodiment of the invention, the context of a given user's one or more buddies is displayed as an image representing the context of a given buddy. For example, if a given buddy is viewing the television show “The Apprentice,” an image associated with the television show may be displayed on the given user's client device. Similarly, if a given buddy is playing in an online poker room, an image of a poker room associated with the given buddy's context may be displayed on the given user's client device.
  • According to another embodiment of the 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 viewing a television show and a buddy associated with the user is playing in an online poker game, the buddy's context may be displayed in conjunction with the TV content being viewed by the given user, whereby the user may view the buddy's poker game as it occurs. Similarly, if a buddy associated with the user is listening to music from a particular artist, an image associated with the musical artist as well as the musical audio content may be delivered to the user's client device allowing the user to listen to the music associated with the given buddy. According to one embodiment of the invention, a messaging component identifies the contexts of the buddies of a given user and requests one or more items of content from a TV application component or another application component based upon the one or more buddies' identified contexts. The TV application component or another application component may retrieve content associated with the one or more buddies' contexts from a content data store, which may include television content, context representations, musical content, etc. The content retrieved is delivered to the user's client device, allowing the user to view the contexts of the user's one or more buddies.
  • A user may select a representation of the context associated with each respective buddy that is retrieved and displayed on the user's client device. According to one embodiment of the invention, a messaging component may identify the context of a user's one or more buddies, and instruct a TV application component to deliver an image, icon, audio content, streaming data, etc., representing a buddy's context to the user's client device. Using a remote control device, a user may navigate to the visual or audio representation of a given buddy's context. According to one embodiment of the present invention, a user may select the 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 viewing the television show “The Apprentice” and a given buddy is viewing the television show “The Practice,” the user may select the representation of the buddy's context (viewing “The Apprentice”), which thereby causes the user's context to be changed to the buddy's context (viewing “The Practice”).
  • A check is performed to determine whether the user selected a representation of a given buddy's context, step 245. If a user selects a representation of a 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 buddy selected and instructs a TV application component to retrieve and deliver the context of the buddy to the user's client device. If a user does not select the representation of a given buddy's context, the user's context remains unchanged, step 255. The user may thereafter continue to review the content available to the user while also viewing the representations associated with the user's one or more buddies' contexts.
  • FIG. 3 illustrates one embodiment of a method for retrieving and displaying the context of a given user's one or more buddies based upon the context of the given user. 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 the user's credentials as maintained in the user's profile, which may be retrieved by a profile component from a profile data store, step 310. A user may select from among a plurality of content available to the given user. For example, an electronic program guide component may search an EPG data store, operative to store one or more program guides, and display the one or more items of content available to a given user. 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, step 315. The content retrieved by a TV application component may be retrieved from a content data store and may comprise a TV show, movie, broadcast data, video on demand (“VOD”), etc.
  • 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 a television show displaying a football game between the New York Giants and the Cleveland Browns from an electronic program guide, which may be displayed on the user's client device. Additionally, the user's profile may be retrieved and used to determine whether the given user has one or more buddies associated with the context selected. Similarly, a given user may select a VOD horror movie, which may be displayed on the user's client device. The user's profile may be retrieved and used to determine whether the given user has one or more buddies associated with the context selected by the user, which may comprise a movie genre. 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, which may include an indication in a user profile. According to another embodiment of the invention, a buddy comprises an individual with a profile maintained on the content distribution system indicating interests or characteristics that match or are otherwise similar to those of a given user.
  • A check is performed to determine whether a user has one or more buddies, which may be identified in the user's profile, step 320. If the check performed at step 320 evaluates to true, an additional check is performed to determine whether a given user has one or more buddies or buddy lists associated with the context selected by the given user (e.g., context specific buddy), step 325. According to one embodiment of the invention, a context specific buddy may be a buddy associated with a user's particular context. For example, a given user may be an avid football fan and designate one or more buddies, who are also interested in football, as football buddies. According to another embodiment of the invention, a user may identify multiple buddy lists, wherein each buddy list may comprise one or more buddies associated with a given context. The 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 a user does not have one or more context specific buddies or context specific buddy lists, step 325, the contexts of a user's default buddies may be displayed, wherein default buddies may comprise the one or more buddies not associated with any specific context, step 330.
  • If a user does not have one or more buddies, step 320, a profile component may traverse one or more profiles maintained in a profile data store to select one or more profiles of active users that are similar or match the profile for 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 that identify interests or preferences similar to those of the given user, e.g., a match on one or more profile fields. The one or more profiles of active users retrieved from a profile data store that are similar or match a given user's profile may be temporarily designated as given user's buddies. Alternatively, or in conjunction with the foregoing,, the profiles retrieved may be further selected based upon the given user's context, thus constituting context specific buddies.
  • A check is performed to determine whether a given user's one or more context specific buddies are active, step 335. If a given user's context specific buddies are not active, the user's one or more default buddies may be displayed, wherein a user's default buddies may comprise the user's one or more buddies not associated with any specific context, step 330. According to one embodiment of the invention, a given buddy is active if the buddy has logged into the content distribution system. If one or more a given user's context specific buddies are active, or after a user's one or more context specific buddies have been temporarily designated based upon the user's profile or context, the contexts of the one or more context specific buddies are retrieved, step 345, and displayed on the user's client device, step 350. According to one embodiment of the invention, an audio or visual representation of the contexts of a user's one or more buddies are displayed on the given user's client device. A user may interact with the one or more buddies displayed, such as through the use of an instant messaging or chat session.
  • FIG. 4 illustrates one embodiment of a method for providing a user with control of the context of the user's one or more buddies. A user of a client device initializes and connects to a logon component, step 410, to verify the user's credentials as maintained in a user profile, which may be retrieved from a profile data store, step 415. A TV application component may provide content to the user for viewing on a 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 a user, such as through an electronic program guide. According to another embodiment.of the invention, content is retrieved based upon one or more characteristics in a user's profile, according to methods described herein.
  • A user's one or more active buddies are identified, step 425. According to one embodiment of the invention, a user's one or more buddies comprise 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 invention, a user's one or more buddies comprise one or more users with profiles maintained on the content distribution system. The one or more active buddies identified may be displayed on the user's client device with an audio or visual representation of each buddy's respective context, step 428. For example, an inter-messaging component operative 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 that a given buddy is logged into may be displayed on the user's client device. Similarly, a messaging component may identify the 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 of the 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 of the 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 a 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 one or more active buddies selected, step 435. According to one embodiment of the invention, a shared remote control request comprises a request to allow a given user to control the one or more content items displayed on a given buddy's client device. For example, a client device may be operative to display a plurality of items, such as one or more television shows, an online poker game, instant messaging applications, etc. A shared remote control request that is accepted by a given buddy may allow the given user to control content that is displayed on the given buddy's client device.
  • A check is performed to determine whether one or more buddies associated with the user accepted the shared remote control request, step 445. If none of the selected buddies accepted the user's shared remote control request, the user does not gain control over the content displayed on the one or more selected active buddies' client devices. If one or more selected buddies accept the shared remote control request, step 445, the context of the user from which the shared remote control request originated is displayed on the one or more selected active buddies' client devices, step 440. For example, a user may be viewing the television show “Law and Order” and active buddies B1 and B2 associated with the user may be viewing the television shows “The Bachelor” 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 either reject or accept the shared remote control request. If both B1 and B2 accept the shared remote control request, B1's client device and B2's client device are updated to reflect the context of the given user. Similarly, if B1 accepts the shared remote control request and B2 rejects the shared remote control notification, B1's client device is updated to reflect the user's context, whereas B2's client device is not be updated. A check is periodically performed to determine whether the user's context has changed, such as where the user changes the television channel tuned to on his or her client device, step 450. If a user's context is 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. Where a given user's context changes, the change is propagated to the one or more active buddies that accepted the shared remote control request delivered by the user, step 455, and the new context is displayed, step 440.
  • According to one embodiment of the invention, Infrared (“IR”) signals are transmitted via a user's remote control to the user's set top box. A client application program interface may capture the IR signals and deliver the signals, via a client messenger application, to the content distribution system. The signals received by the content distribution system may be delivered to a messaging component, which may identify the one or more buddies that accepted the shared remote control request. The messenger component may propagate the signal to the set top boxes of the buddies that accepted the shared remote control request to reflect the user's context. Those of skill in the art recognize other methods for delivering a signal reflecting a user's context to one or more set top boxes.
  • FIG. 5 illustrates one embodiment of a method for facilitating community viewing and interaction in a given context. A user of a client device initializes and connects to a logon component, step 505, which may include verifying the user's credentials as maintained in the user's profile, step 510. Upon verifying a 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, a user's one or more buddies may be identified based upon the one or more instant messaging applications to which the given user has subscribed, which may be indicated in the user's profile. According to another embodiment, a user's buddies may comprise individuals with profiles maintained on the content distribution system.
  • If the user profile retrieved does not identify one or more buddies for the given user, a search is performed for “users like you,” step 525. According to one embodiment of the invention, “users like you” comprise other users with profiles maintained on the content distribution system that match or are similar to a given user's profile with respect to characteristics identified in the user's profile including demographics, frequently viewed content, etc. For example, if a user's profiles identifies that the user is located in Houston, Tex. is forty-two years old and enjoys horror movies, profiles with similar age, preferences, location, etc., characteristics may be retrieved. The one or more profiles retrieved constituting “users like you” may be designated as a user's temporary buddies, step 525.
  • Where a user's profile identifies one or more buddies, or after one or more profiles are retrieved constituting a match with the given user's profile and designated as temporary buddies, a check is performed to determine whether any of the user's one or more buddies are logged in to the content distribution system, step 520. If none of a user's buddies are logged on to the content distribution system, the user is notified of such, step 530. The user's one or more buddies may be monitored to determine whether any of the user's one or more buddies become active.
  • If one or more of a user's buddies are identified as active, step 520, the user may deliver a synchronization request to the one or more user's buddies, step 535. According to one embodiment of the invention, a synchronization request comprises an invitation delivered to one or more users to engage in community viewing. For example, the synchronization of a given user with one or more buddies may result in the user and one or more buddies engaging in a “movie theater” type viewing environment, wherein the user and one or more buddies view the same television show, movie, etc., at the same time while engaging in instant messaging or chat sessions.
  • 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 rejected by selected buddies associated with a given user, the user is notified of such, step 550. The user's one or more buddies, or a subset of the user's buddies, may thereafter be monitored to determine whether any additional buddies associated with the user logon to the content distribution system, step 545. A check is periodically performed to determine whether one or more additional buddies have logged on to the system described herein, step 540. If one or more additional buddies associated with the given user logon to the content distribution system, the synchronization request may delivered to such buddies, step 535.
  • If the synchronization request is accepted by selected buddies associated with the given user, the profiles of the one or more buddies are retrieved, step 560. According to one embodiment of the invention, the profiles of the one or more buddies are used to identify the location of the one or more buddies as well as the content available to each respective buddy. For example, a user's one or more buddies may be located in various locations throughout the United States, the world, etc. Because of time zone differences, programming differences, etc., content available to a given user may not be available to a given buddy at the same time, on the same channel, etc. A user's profile may be used to identify the location of the user and the content available to the user. Similarly, the profiles of a user's one or more buddies may be used to identify the content available to each respective buddy.
  • According to one embodiment of the invention, the profiles retrieved for the user and the one or more buddies may be used by an electronic program guide component to identify content maintained in a content data store that is available to the user and the one or more synchronized buddies. For example, a given user's profile may indicate that the user is located in New York City, and a given buddy's profile may indicate that the buddy is located in San Francisco. Because of time zone differences, content available to the buddy located in San Francisco may not be available to the user located in New York City until hours later. Using the profiles associated with the user and the buddy, the electronic programming guide component may identify content, maintained in a content data store, which is available simultaneously to both individuals. According to another embodiment of the invention, the profiles retrieved for the user and the one or more buddies may be used to identify content maintained on the user's or one or more buddies' client devices. For example, the user's and one or more buddies' client devices may be operative to record content, such as a client device with digital video recording (“DVR”) functionality. The profiles for the user and one or more buddies may be used to identify content that is maintained on such devices.
  • The content available to the user and the user's one or more synchronized buddies may be displayed to the user and one or more synchronized buddies, step 562. The user and one or more synchronized buddies may select a given item of content using a variety of methods. For example, a voting scheme may be used whereby the user and each synchronized buddy votes for the item of content they wish to view. The item of content receiving the greatest number of votes may be selected for display to the user and one or more synchronized buddies. Similarly, control may be granted to the user or a given synchronized buddy, who may select the item of content that is to be viewed by the user and the one or more synchronized buddies. Those of skill in the art recognize other techniques for selecting an item of content available to a plurality of users.
  • The user and one or more buddies may thereafter synchronize the starting time for the item of content selected, step 563, wherein a starting time may comprise 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, a messaging component is operative to select a start time that is N minutes after an item of content has been selected by the user and one or more synchronized buddies. The messaging component may instruct a TV application component to deliver the content selected to the user's and one or more buddies' client devices at the start time selected. According to another embodiment of the invention, the user and one or more synchronized buddies may select a start time for the item of content selected. According to yet another embodiment of the invention, control may be granted to the user or one of the synchronized buddies, allowing the user or given synchronized buddy to select the start time for the item of content selected. The start time selected may be delivered to the messaging component, which may be operative to instruct the TV application to deliver the item of content selected at the start time selected.
  • The item of content selected is displayed on each of the synchronized buddy's client devices as well as the user's client device at the synchronized start time, step 565. The user and the one or more synchronized buddies are thus able to simultaneously view the same item of content in a variety of locations on a plurality of 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 the item of content selected, allowing the user and one or more synchronized buddies to engage in an instant messaging or chat session during display of the selected content item. Those of skill in the art recognize other applications that may allow for communication or interaction among a plurality of viewers in a community-viewing environment.
  • FIG. 6A illustrates one embodiment of a method for facilitating the tagging and delivery of one or more content items to one or more buddies associated with a given user. A user of a client device initializes and connects to a logon component, step 605, to verify the user's credentials as 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 the receipt of television content. According to one embodiment of the invention, a user may select the content retrieved and delivered to the user's client device using an electronic programming guide. For example, an electronic program guide component may search an EPG data store, which may be operative to store one or more program guides, and display the one or more items of content available to a given user. 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, 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 or portion of an item of content for delivery to one or more buddies associated with the user. A tag may comprise “start” and “stop” delimiters, identifying a portion of content that a user wishes to deliver to one or more buddies associated with the user. For example, a user viewing a television show or movie may enjoy a particular scene and may wish to share the scene with one or more buddies. A user may thus tag the desired item of the television show, using start and stop tags, and deliver the tagged scene to one or more buddies. According to one embodiment of the invention, a given item of content that is tagged may be recorded to a user's client device. For example, a user of a client device with digital recording functionality (“DVR”) may locally record the content identified by the start and stop tags. According to another embodiment of the invention, tags may comprise identifiers that may be used to provide direct access to the tagged item of content. For example, a user may wish to tag a ten second scene in a two-hour movie. A start tag may identify the hour, minutes, and seconds where the scene beings, and a stop tag may identify the hour, minutes and seconds where the scene ends. The start and stop tags may be delivered to one or more buddies, providing the one or more buddies with direct access to the tagged item of content.
  • As content is displayed on a given user's client device, a check is periodically performed to determine whether the user has elected to tag the content being displayed, step 620. If a user does not enter any tagging information, content continues to be displayed on the client device, step 615, and the user may continue to select content from among the plurality of content available to the user. If a user enters a tag, the tag marked by the user is saved, step 625. According to one embodiment of the invention, the content tagged by the user is saved locally on the user's client device or remotely on another device operative to record content. For example, a client device with digital video recording functionality (“DVR”) may provide the 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 store operative to store one or more. items of content. According to another embodiment of the invention, the content tagged by a user may be identified with start and stop identifiers. For example, start and stop identifiers may be stored and delivered to one or more buddies so as to provide a user's one or more buddies with direct access to the tagged item of a given television show, movie, etc. According to yet another embodiment invention, the content tagged by a user may be identified with offsets or pointers identifying a location in a given item of digital content. For example, a given offset or pointer may be delivered to one or more buddies identifying a location in an item of digital content. A given buddy may select the offset or pointer, thereby gaining direct access to the location in the item of content specified by the user.
  • A check is performed to determine whether a user has one or more buddies, step 630. If a user's profile does not identify one or more buddies for the given user, processing ends, step 645. The one or more tags saved locally on a user's client device or saved remotely on a device operative to store one or more tags may be later retrieved and viewed by the given user.
  • If a 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 user's client device with audio or visual context representations associated with each respective buddies' context, step 635. A user may select one or more of the buddies displayed in order to designate the buddies as intended recipients of the tagged item of content. For example, using a selection device such as a remote control or mouse, a user may select one or more audio or visual context representations associated with the user's one or more buddies' contexts to identify the intended recipients of the tagged item of content. A check is performed to determine whether a user has selected one or more buddies, step 640. If a user does not select any buddies, the tagged content is not delivered to any of the user's one or more buddies and a user may continue to select content from among the plurality of content available to the user, step 615. The tagged content saved on the user's client device or remotely on a device operative to store one or more tags may later be retrieved and viewed by the given user.
  • If the user selects one or more buddies, a check is performed to determine whether 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 respective recipient, step 655. For example, a messaging component operative to identify a user's one or more buddies may instruct a local or remote storage device to deliver the given item of tagged content to the user's one or more selected buddies. If none of the selected buddies are active, the tagged content may be annotated with delivery information identifying the one or more recipients that are to receive the tagged content, step 660, and delivered when the one or more identified recipients becomes active. For example, a selected buddy may receive a notification of the tagged content upon logging on to the content distribution system. Similarly, an inter-messaging component, operative to communicate with one or more third party instant messaging applications, may determine when a selected buddy logs onto the third party application instant messaging application and may deliver the tagged content to the selected buddy. Thereafter, a user may continue to retrieve 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.
  • While FIG. 6A illustrates a method for tagging one or more items of content and delivering tags and tagged content to one or more buddies associated with a given user, the content distribution system illustrated in FIG. 1 may further 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 programming guide to a given user's client device identifying the one or more items of content available to a given user. A user may select one or more of the items of content identified in the electronic programming guide in order to view, record, etc., the one or more items of content selected. For example, a user may select a given item of content to arrange a date and time for recording the item on the user's client device. Similarly, the user may choose to select an item of content in order to automatically tune the user's client device to the item of content selected when the item is available.
  • A given user's selections from an electronic programming guide may be delivered to one or more buddies associated with the given user. According to one embodiment of the invention, a messaging component operative to identify a user's one or more buddies delivers a notification to the user's one or more buddies. The notification notifies the one or more buddies of the one or more items of content selected by the user from the electronic programming guide. For example, a messaging component may deliver a notification to a user's one or more buddies indicating the one or more items of content that the user has selected from an electronic programming guide for recording. Similarly, the messaging component may deliver a notification to a user's one or more buddies indicating the one or more items of content that will 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 of a user's set top box, digital video recorder (“DVR”) or other client device to control and interact with the content delivered to the user's one or more client devices. A user may remotely access the content distribution system via a client device (“remote access client device”) communicatively coupled to a web server operative to retrieve and display a logon page for the content distribution system. According to one embodiment of the invention, a remote access client device communicatively coupled to the Internet may access the content distribution system via a web browser that may display a logon web page for the content distribution system.
  • As illustrated in FIG. 6B, a user may remotely logon to the content distribution system, step 665, using a remote access client device coupled to a web server operative to retrieve and display a logon web page for the content distribution system. 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 the user's credentials as maintained in the user's profile, which may be retrieved from a profile data store, step 668. The profile retrieved for the given user may provide information on the 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 digital video recorders (“DVR”) or high definition televisions that may be coupled to the user's one or more set top boxes. The functionality of the one or more client devices associated with the 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 items of content, displaying items of content in high-definition format, etc.
  • The profile retrieved for the user may be further used by the content distribution system to identify the content delivered to the user's one or more set top boxes. According to one embodiment of the invention, the content distribution system identifies the one or more electronic program guides available on a user's one or more set top boxes. The data from one or more electronic program guides stored and available on a user's one or more set top boxes may be displayed to the user on the user's remote access client device, step 675. A user may select one or more items of content available to the user's one or more set top boxes as displayed in the one or more electronic program guides on the user's remote access client device. For example, using a selection device coupled to the remote access client device such as a keyboard or a mouse, a user may select one or more items of content from the one or more electronic program guides available to the user.
  • A check is performed to determine whether the user selected one or more items of content displayed on the user's remote access client device, step 680. If a user does not select any items of content available to the user, the user may continue to browse the one or more items of content available, 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 one or more items of content selected, step 681. According to one embodiment of the invention, the one or more options available to the user are based upon the functionality of the user's one or more client devices, as identified in the user's profile. When the user selects an item of content from the one or more items of content displayed to the user via an electronic program guide on the remote access client device, the user may be presented with an option to record the item of content selected on the user's DVR. Similarly, a user's set top box may be further coupled to a high definition television. When the user selects an item of content, the user may be presented with an option to receive the item of content selected in non-high-definition format or in high-definition format. Further, a user may schedule a time for tuning the user's television to an item of content selected. Those of skill in the art recognize other options that may be available to a given user based upon the one or more client devices coupled to a user's one or more set top boxes, including recording an item of content, changing recording options, deleting a previously recorded item of content, selecting an item of content for automatic tuning, etc.
  • A check is thereafter performed to determine whether a user selected one or more of the options available to the user for the one or more items of content selected, step 682. If a user does not select any of the one or more options available for the one or more items of content selected, the user may continue to browse the plurality of content available to the user, step 675. When a user selects one or more of the of the options available for the one or more items of content selected, 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 selection is delivered by the content distribution system's messaging component to the one or more set top boxes associated with the given user. For example, a user may select the 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 carries out the command to implement the selection. A user's profile may be annotated to reflect the one or more items of content selected by the user, step 685, to provide the user with recommendations for items of content, according to methods described herein.
  • FIG. 7 is a flow diagram illustrating one embodiment of a method for facilitating the use of a client device for viewing television content and interacting with one or more other applications. A user of a client device initializes and connects to a logon component to verify the user's credentials, step 705. Additionally, a user's profile is retrieved to identify the user's location, preferences, etc, step 710. Content is retrieved and delivered to the user's client device, step 715. According to one embodiment of the invention, a user may select the content retrieved and delivered to the user's client device using an electronic programming guide. For example, an electronic program guide component may search an EPG data store, operative to store one or more program guides for one or more locations and display the one or more items of content available to a given user. The one or more program guides retrieved may be retrieved based upon the 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 illustrated in FIG. 7, a user may simultaneously view television content while engaging in a gaming application with one or more buddies associated with the given user. For example, one or more games, such as gaming applications available on the Internet, may be displayed on the user's client device. A user may select the one or more gaming applications available in order to invoke the respective gaming application.
  • A check is performed to determine whether a user has selected one or more gaming applications, step 720. If a user does not select a gaming application, television content continues to be displayed on the given user's client device, step 715. A user may continue to select content from among the plurality of content available to the given user, as well as browse the one or more gaming applications available to the user. In contrast, if a user selects one or more gaming applications, step 720, the one or more gaming applications may be executed and displayed on the user's client device, step 725. According to one embodiment of the invention, the one or more gaming applications selected are delivered to a user's client device and locally executed. According to another embodiment of the invention, the one or more gaming applications selected are executed remotely and displayed on a given user's client device. The one or more gaming applications may be displayed in conjunction with the television content displayed on a given user's client device thus allowing the user to view television content as well as participate in the one or more gaming applications selected.
  • A check is performed to determine whether a user has one or more buddies, as identified in the user's profile, step 730. The user's one or more buddies may be displayed to the user to permit the user to select one or more buddies to take part in the gaming application selected, step 730. If a user has one or more buddies, the identity of the one or more buddies is retrieved, step 732. Furthermore, the active buddies among the user's one or more buddies are identified and displayed to the user, step 734.
  • If a user is not associated with one or more buddies, one or more profiles stored in a profile data store may be retrieved to identify other users with similar or matching interests, characteristics, etc., to those of the given user, step 740. For example, a profile component may be operative to identify one or more profiles in a profile data store that identify user preferences that are similar to the current user. The one or more other users identified by a profile component may be designated as temporary buddies in order to allow the current user to engage in the gaming application selected.
  • A messaging component may deliver an invitation to the one or more active buddies identified by a user's profile or selected by a profile component to participate in the one or more gaming applications selected by the user, step 745. A recipient of a gaming application invitation may either accept or reject the gaming invitation, step 748. If none of the recipients of the user's gaming invitation accept the invitation, the user is notified of such, and may continue to view the television content being displayed, step 755. The messaging component may pause for a given period of time, step 750, and thereafter redeliver the one or more invitations to the user's one or more buddies, step 750. If one or more the recipients of the user's gaming invitation accept the invitation, the context of the one or more buddies who 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 one or more buddies' contexts. Additionally, 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 viewing a television show, upon accepting the gaming invitation, the buddy's client device may display both the television show and the gaming application. The user and one or more buddies who accepted the gaming invitation may thereafter engage in the gaming application selected.
  • It should be noted that while FIG. 7 illustrates the use of a gaming application in conjunction with the viewing of television content, according to another embodiment of the invention, one or more other applications may be selected and executed in conjunction with television content, wherein other applications may comprise applications executable locally on a client device or remotely on a device operative to execute one or more applications for display on the client device.
  • The content distribution system illustrated in FIG. 1 may further 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, a user may be presented with an option to enter a rating for the given item of content, step 820. According to one embodiment of the invention, a user is presented with a graphical user interface allowing the user to enter one or more ratings for a given item of content. A rating may comprise an indication of the user's opinion of the item of content. For example, a user may indicate whether the content was favorable using a “thumbs up” icon or unfavorable using a “thumbs down” icon. Similarly, a user may enter ratings for one or more categories or characteristics associated with the item of content. For example, if a user is viewing a horror film, the user may provide a rating for one or more of the actors, the level of scariness of the film, the suspense of the film, etc. Furthermore, a user may also enter rating information for other applications, including gaming applications, web sites, etc. For example, a user participating in an online gaming application may provide a rating indicating whether the game is challenging, whether the graphics are appealing, etc. Those of skill in the art recognize other types and characteristics of content that may be rated by a given user.
  • A user's profile may be annotated with the rating entered by the user for the given item of content to provide the user or the user's one or more buddies with recommendations for additional content, step 825. A user's profile annotated with rating information may be used to determine content that the user may enjoy and alert the user when such content is available. For example, a recommendation component may inspect a user's profile annotated with a plurality of ratings to identify one or more items of television content that the user may enjoy based upon the user's previous ratings. A recommendation component may direct a TV application to retrieve one or more items of content from a content data store and deliver the items of content to a user's client device based upon the user's ratings. Similarly, a recommendation component may inspect a user's profile and instruct another application component, operative to store other applications, such as gaming applications, to deliver the respective applications to a user's client device based upon the user's ratings.
  • The user's rating may further be stored in a recommendation component operative to store one or more user ratings for items of content to allow the user's rating to be propagated to the user's one or more buddies or utilized to provide recommendations to additional users, step 830. A check is performed to determine whether the user has one or more buddies as identified in the user's profile, step 835. If a user does not have one or more buddies, processing ends, with storage of the user's rating, step 850. If a user does have one or more buddies, an audio or visual representation 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 whether the user selected one or more buddies, step 845. If a user does not select one or more buddies, processing ends. If one or more of the buddies are selected, each respective buddy selected may receive a notification of the user's rating for the given item of content, allowing the user's one or more buddies to base their selections of content on one or more buddies' ratings, step 860. For example, a buddy logged onto the content distribution system may receive an alert notifying the user of the rating. Similarly, a buddy not logged onto the content distribution may receive a notification upon logging onto the content distribution system notifying the buddy that a user has rated a given item of content. Alternatively, or in conjunction with the foregoing, a buddy may receive an alert via an email application, instant messaging application, etc., notifying the buddy of the user's rating for the given item of content.
  • The ratings entered by one or more users of the system described herein may be utilized 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 upon ratings entered by one or more users. According to the embodiment illustrated in FIG. 9, a user may logon to the content distribution system via a logon component, step 905. A profile component may retrieve a user's profile from a profile data store to verify the user's credentials, step 910. A user logged into the content distribution system may make a request for a recommendation for an item of content, wherein an item of content may comprise television content, gaming content, Internet content, etc. A check is performed to determine whether a user has requested a recommendation, step 915. If a recommendation is not requested, the plurality of content available to the user may be displayed, allowing the user to select one or more items of content, step 925. Where a user submits a request for a recommendation, a further check is performed to determine whether the user has provided ratings for at least N items of content associated with the recommendation sought, step 930. According to one embodiment of the invention, a recommendation component inspects the user's profile to determine whether the user's profile is annotated with one or more ratings for the type of content selected. For example, if a user requests a recommendation for a mystery movie, a check is performed to determine whether the user has rated at least N mystery movies or television shows, wherein N may comprise a threshold. A recommendation component may inspect the user's profile to determine whether the user has rated at least N mystery movies or television shows.
  • If a user has rated at least N items of content associated with the type of content selected, the recommendation component may generate a recommendation based upon the user's one or more ratings, step 935. For example, a profile annotated with three different ratings for mystery films may identify that the given user enjoys a particular actor and enjoys black and white films. The recommendation component may generate a recommendation based upon the user's previous ratings and deliver a request to a TV application component to retrieve one or more items of content from a content data store that match the user's preferences. A threshold may be used to increase the accuracy of the recommendation made by the recommendation component. For example, a profile with only one mystery movie rating may not provide enough information for the recommendation component to make an accurate recommendation. Therefore, a threshold may be used to increase the likelihood that the recommendation component calculates a recommendation that matches a given user's preferences.
  • If a user has not rated at least N items of content related to the type of recommendation requested, a check is performed to determine whether the given user has one or buddies, step 940. According to one embodiment of the invention, a user's profile is used to determine the one or more buddies designated 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 a user's profile does. not identify one or more buddies, a search is performed to identify users of the content distribution system with profiles identifying similar or matching preferences with those of the given user, step 945. According to one embodiment of the invention, a profile component traverses the plurality of profiles that may be stored in a profile data store to identify users with preferences that match or are similar to those of the given user. For example, if a user's profile indicates that the user is sixty-eight years old, lives in Greenwich Conn. and enjoys movies with the actor Marlon Brando, one or more profiles with similar characteristics and preferences may be retrieved and designated as a user's temporary buddies in order to provide the user with one or more recommendations.
  • If a user's profile identifies one or more buddies, or after one or more temporary buddies have been designated for the user using one or more matching or similar profiles, a check is performed to determine whether any of the one or more buddies has rated at least N items of content related 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 whether any of the one or more buddies has rated at least N gaming applications. If one or more of a user's buddies has rated at least N items of content associated with the type of content sought by the given user, a recommendation component may generate a recommendation based upon 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 buddy associated with a user has rated eight gaming applications, the recommendation component may generate a recommendation based upon the gaming application that received the highest rating from the buddy. Similarly, if a user has a plurality of buddies and each buddy has rated a common gaming application, the recommendation component may calculate the average rating of the one or more gaming applications and recommend the gaming application with the highest rating to the user. Those of skill in the art recognize other methods for generating a recommendation based upon one or more buddy ratings.
  • According to the embodiment illustrated in FIG. 9, if none of a 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, a recommendation component may generate a recommendation based upon characteristics of the user as indicated in the user's profile, step 960. For example, a user's profile may indicate that the user is twenty-three years old, lives in Arizona, attends Arizona State University and plays football. Therefore, a recommendation component may generate a recommendation for television channels broadcasting football games played by colleges located within Arizona. The recommendation component may instruct a TV application component to retrieve and deliver one or more items of content stored in a content data store associated with Arizona football games to the user's client device. Those of skill in the art recognize the plurality of content that may be retrieved based upon one or more user characteristics as identified in a user profile. Alternatively, or in conjunction with the foregoing, the recommendation component may provide the user with a recommendation based upon the popularity of one or more items of content. For example, the recommendation component may identify items of television content, audio content, gaming applications, etc., that are most often 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 a content data store that are identified as being the most frequently selected, downloaded, accessed, etc.
  • The system of the present invention may also be used to alert a user of one or more events according to user characteristics and preferences identified in a user profile. A user may be interested in various events, warnings, announcements, etc. Current methods for delivering such information to a user may require a user to view a news broadcast, access a particular website, search for content, etc. In order to overcome shortcomings 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 upon on 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 are displayed on the user's client device, step 1015, which may include television content. While logged into the content distribution system, a user may wish to enter one or more alerts to generate a notification of events that are of interest to the given user. For example, a user may wish to receive notification when a movie starring the actor Harrison Ford is broadcast. Similarly, a user who frequently travels may wish to receive notification of traffic reports for one or more highways. Further, a user may wish to receive notification about news events that are of interest to the user. Those of skill in the art recognize other information or events exist for which a given user may wish to receive one or more alerts.
  • A check is performed to determine whether a given user has entered one or more alerts, step 1020. According to one embodiment of the invention, a user may enter one or more alerts using a graphical user interface that may be accessed by a user of a client device who is logged in to the system described herein. If a user enters an alert, the user's profile is annotated with information identifying the alert indicated by the user, step 1025. If a user does not enter one or more alerts, the user's profile may be used to generate one or more alerts, step 1030. Additionally, a user's profile may also be used to supplement the one or more alerts entered by the user, step 1030. For example, a user's profile may indicate the user is ninety-five years old, lives in Miami, Fla. and enjoys viewing television shows associated with animals. A recommendation component may annotate a user's profile with one or more alerts based upon the user's preferences as identified in the user's profile. Thus, the abovementioned user's profile may be annotated with one or more alerts to provide the user with a notification of television shows that display animals, discounts offered to senior citizens in the Miami, Fla. area, etc.
  • A recommendation component may further annotate the user's profile with alerts based upon a user's one or more recommendations as identified in the user's profile. For example, a user's profile may indicate that a user enjoyed viewing several movies with the actor Al Pacino. Thus, the user's profile may be annotated with one or more alerts to notify the user when one or more items of content with the actor Al Pacino are available to the user. Those of skill in the art recognize other alerts that may be generated based upon information maintained in a user's profile.
  • FIG. 11 is a flow diagram illustrating one embodiment of a method for delivering an alert to a user based upon information maintained in a user profile. A TV application component may retrieve one or more items of content from a content data store to deliver to a user's client device, step 1115, and the user's profile may be utilized to monitor the one or more alerts identified by the user or generated by a recommendation component, step 1120. According to one embodiment of the invention, a messaging component is operative to monitor the one or more alerts associated with a given user's profile. The messaging component may periodically inspect one or more content data stores to identify information pertaining to a user's one or more alerts, step 1125. If information associated with a user's one or more alerts is identified, the messaging component may instruct a TV application component to deliver a message or other notification to the user's client device, step 1130.
  • A user presented with an alert may select the alert in order to retrieve additional information on the alert or to change the user's context to display information associated with the alert, step 1135. For example, if a given alert notifies a user of a major traffic accident, the user may select the alert, which may change the user's context to a news broadcast detailing the events of the traffic accident. Similarly, if a given alert notifies a user of a movie that the user may enjoy, the user may select the alert to change the context to tune to the given movie. If information for a given alert is not located, or if a user does not select the alert displayed on the user's client device, the user's context is unchanged, and the one or more alerts identified in the user's profile continue to be monitored, step 1120.
  • A user's one or more alerts and ratings may further 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 a user, which may be based upon the user's one or more alerts and ratings. The user's profile is retrieved, step 1210, and content is delivered to the user's client device, step 1215. A check is performed to determine whether 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, a 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, Tennessee, enjoys classical music, is a soccer fan, etc. A recommendation component may instruct a TV application component or another application component to retrieve one or more advertisement related to classical music, soccer, etc., and deliver the advertisements to a user's client device. Similarly, a user's profile may indicate that the user wishes to receive weather related alerts. A recommendation component may instruct the TV application component or other application component to retrieve advertisements for weather related products and services and deliver such advertisement to the user's client device, step 1235.
  • If a user's profile does not have one or more ratings or alerts, the user's current context may be retrieved by a 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 viewing the movie “The Shawshank Redemption.” The messaging component may retrieve the user's context, and based upon the context retrieved, instruct a TV application component to deliver one or more advertisement related to the user's context. The TV application may retrieve advertisements, such as the soundtrack to the movie “The Shawshank Redemption,” and deliver such advertisements to the user's client device, step 1235.
  • A user may select one or more of the advertisements displayed on the user's client device, step 1240. If a user selects a given advertisement, the user's context may be changed to display additional information on the product or service advertised, step 1245. If a user does not select one or more of the advertisements displayed, the user context is unchanged, 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 logon using a logon component that may verify the user's credentials as stored in a user profile. Once logged in, a user may select from among a plurality of content available to the user that may be delivered to a user's client device. As illustrated in FIG. 13, the content 1305 delivered to a client device may comprise television content that is available to a given user. According to one embodiment of the invention, content 1305 that is available to a user is identified based upon a user's location as indicated in the user's profile. For example, an electronic program guide component may query an electronic program guide data store to identify one or more electronic program guides available to a given user based upon the user's location as indicated in the user's profile. The 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 program guide, which may result in a TV application component retrieving and delivering 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 gaming applications, instant messaging applications, etc. The content 1305 selected and displayed on a given user's client device may be modified based upon the type of destination client device. For example, content selected for delivery to a cellular phone device may be sized according to the size of the display of the cellular phone device.
  • FIG. 14 is a screen 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 illustrated in FIG. 14, the content 1405 selected and displayed in FIG. 13 is minimized to allow a user to continue view the television content 1405 selected while browsing the plurality of content 1415 and 1410 available to the given user.
  • The electronic program guide 1400 displayed to a user of a client device may be retrieved by an electronic program guide component that may identify the one or more electronic program guides available to a given user. According to one embodiment of the invention, the content available 1415 and 1410 to a given user is identified based upon a user's location as identified in the user's profile. For example, an electronic program guide displayed to a user in San Francisco, Calif. may correspond to Pacific Standard Time, whereas an electronic program guide displayed to a user in New York City may correspond to Eastern Standard Time. According to another embodiment of the invention, the content available 1415 and 1410 to a given user may be identified based upon a user's preferences as identified in a user profile. For example, a user may subscribe to one or more paid movie services, offering the user additional content. An electronic program guide component may retrieve an electronic program guide 1400 corresponding to a user's subscription service. Those of skill in the art recognize other methods for retrieving and displaying an electronic program guide to a user of a client device.
  • A user may traverse the plurality of content 1415 and 1410 displayed in the electronic program guide 1400 using a selection device such a remote control and select one or more of the content items 1415 and 1410 available to the user. If a user selects a given item of content 1415 and 1410, the content may be retrieved by a TV application component and displayed on the given user's client device. As illustrated in FIG. 14, the content selected may be modified in order to properly display the content in conjunction with the electronic program guide available to the given user.
  • In addition to selecting content displayed in an electronic program guide, a user may also select content associated with the user's one or more buddies as illustrated in FIG. 15. According to one embodiment of the invention, a user profile may be used to identify one or more buddies 1545, 1550, 1555, 1560 and 1565 designated by the user in one or more instant messaging applications. Similarly, a user profile may identify buddies that maintain profiles on the content distribution system.
  • A messaging component may be used to identify the 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, an active buddy may comprise a buddy who has logged in and maintains a profile on the system described herein. A messaging component may instruct a 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 a television show, to a given buddy's client device. When a user logs on to the system described herein, a user may request to view the content being viewed by the one or more buddies identified in the user's profile. A messaging component may identify the one or more buddies and each respective buddy's 1545, 1550, 1555, 1560 and 1565 context and instruct a TV application component to propagate the one or more buddies' contexts to the given user.
  • According to the embodiment illustrated in FIG. 15, a TV application component generates a thumbnail 1520, 1525, 1530, 1535 and 1540 image representing the context of a given buddy 1545, 1550, 1555, 1560 and 1565, which the TV application component propagates to the given user's client device. The thumbnail 1520, 1525, 1530, 1535 and 1540 may be annotated with information describing the particular context, e.g., title, channel, rating, etc. The context of a 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 for 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 invention, a TV application component delivers the actual content being viewed by a given buddy 1545, 1550, 1555, 1560 and 1565. For example, a buddy 1545, 1550, 1555, 1560 and 1565 associated with a given viewer may be viewing the show “The Apprentice.” As described above, one method of indicating the buddy's 1545, 1550, 1555, 1560 and 1565 context is delivering a thumbnail image 1520, 1525, 1530, 1535 and 1540 associated with the buddy's 1545, 1550, 1555, 1560 and 1565 context to the user's client device. Additionally, the TV application may deliver streaming content to the user's client device, allowing the user to view the content of a given buddy 1545, 1550, 1555, 1560 and 1565 in conjunction with the content 1505 being viewed by the given user. While the screen diagram illustrated in FIG. 15 provides the context of five buddies 1545, 1550, 1555, 1560 and 1565, additional or fewer buddies may be displayed to a given user based upon a threshold or the number of buddies identified in a user's profile.
  • Advertisements or other ancillary content may also be displayed in conjunction with content and the context of a user's one or more buddies. As illustrated in FIG. 15, an advertisement 1510 is display that corresponds to the current content 1505 being displayed on the user's client device. The advertisement 1510 displayed may be selected, thereby allowing a user to acquire further information for the product or service advertised, 1510. The one or more advertisements 1510 displayed in conjunction with content 1505 and a user's one or more buddies 1545, 1550, 1555, 1560 and 1565 may be selected according to a user's ratings or alerts, as described herein. Similarly, the one or more advertisements 1510 displayed on a user's client device may be selected based upon the content 1505 selected and delivered to the user's client device. For example, the advertisement 1510 displayed is an advertisement for a movie associated with the content 1505 displayed.
  • FIG. 16 is a screen diagram illustrating the plurality of buddies 1610, 1615, 1620, 1625, 1630 and 1635 associated with a user and a visual representation of each buddy's respective context. A user's one or more buddies, as identified in the user's profile, may view television content, participate in an online gaming application, watch a movie, etc. A visual representation of each buddy's respective context may be propagated to a user's client device via a TV application component in conjunction with television content selected by a given user.
  • Using a selection device, such as a remote control, keyboard, mouse, etc., a user may traverse the visual representation of the one or more buddies' 1610, 1615, 1620, 1625, 1630 and 1635 contexts displayed on the user's client device. As illustrated in FIG. 11, as a user traverses the visual representations of the one or more buddies' 1610, 1615, 1620, 1625, 1630 and 1635 contexts displayed, a particular visual representation of a buddy's 1615 context may be highlighted 1645 or otherwise marked. Information 1640 may be displayed to the user further identifying the context of the highlighted buddy, such as program, title, channel, network, rating, etc. As a user traverses the context associated with the user's one or more buddies 1610, 1615, 1620, 1625, 1630 and 1635, a user may continue to view and select content 1605. For example, a user may simultaneously view the context of the user's one or more buddies 1610, 1615, 1620, 1625, 1630 and 1635 while changing television channels, engaging in an online gaming application, watching a movie, etc.
  • According to one embodiment of the invention, the display of a user's one or more buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated contexts may be turned on or off. For example, a user viewing a movie may wish to have the movie occupy the entire display area of the user's client device. The user may thus deactivate the display of the user's buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated contexts. Similarly, a 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 twenty buddies who may all be active while the user is engaging 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 the gaming application, etc. According to another embodiment of the invention, a user may modify the location of the display of 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 illustrated in FIG. 16 shows a row of buddies 1610, 1615, 1620, 1625, 1630 and 1635 with associated contexts on the bottom of the display area, one or more of the buddies 1610, 1615, 1620, 1625, 1630 and 1635 and associated contexts may be placed in positions that accommodate a user's needs or preferences.
  • FIG. 17 is a screen diagram illustrating another embodiment of the 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. The context 1770, 1775, 1780, 1785, 1790 and 1795 of a user's one or more buddies 1710, 1715, 1720, 1725, 1730 and 1735, as identified in the user's profile, may be propagated to a user's client device via a TV application component. A user's one or more buddies 1710, 1715, 1720, 1725, 1730 and 1735 may be viewing television content, engaging in an online gaming application, etc. The context 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 the one or more items of content 1705 selected by the user.
  • As previously described, using a selection device, a user may traverse the 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. Additionally, if a user selects a context 1780 associated with a given buddy, a user may be presented with one or more options 1740, 1745 and 1750. For example, the screen diagram illustrated in FIG. 17 presents a user selecting a buddy's context 1780, which is an online poker gaming application. When the user selects the context 1780 associated with the buddy 1720 participating in the online poker gaming application, the user is presented with a plurality of options. The “watch” 1745 option allows the user to view the poker game that the buddy is participating in. For example, by selecting “watch,” 1745 the buddy's context 1780, namely the online poker gaming application, may be propagated to the user's client device. The user may continue to view the television content 1705 along with the buddy's online poker game. Selecting “cancel” 1750 may allow the user to continue traversing the one or more contexts 1770, 1775, 1780, 1785, 1790 and 1795 associated with the users one or more buddies 1710, 1715, 1720, 1725, 1730 and 1735.
  • By selecting “play,” 1740 a user may elect to participate in the buddy's 1720 online poker gaming application. For example, if the user selects “Play,” 1740 the context 1780 of the buddy 1720 is propagated to the user's client device. Moreover, the user's profile may be used to identify the user as a participant and engage the user in the poker game. FIG. 18 presents a screen diagram illustrating the content associated with the context change that may be displayed to a user upon selecting the “play” 1740 option associated with a given buddy's 1720 gaming context 1780.
  • According to the embodiment illustrated in FIG. 18, a user may engage in the gaming application associated with one or more selected buddies. The context of the selected buddy is delivered to the user's client device, allowing the user to participate in the gaming application. A user may continue to the view the content 1810 previously selected while taking part in the gaming application.
  • As illustrated in FIG. 18, a user's buddies 1815, 1820, 1825, 1830, 1835, 1840 and 1845 may be modified to reflect the user's context change. More specifically, the user's context, previously comprised only of television content, now comprises both television content 1810 and a poker gaming application 1805. Therefore, the buddies displayed to a user may be modified to reflect the buddies associated with the changed context. The buddies “joff,” 1835 “hatrick” 1840 and “joymo,” 1845 associated with the user's television viewing 1810 continue to be displayed on the user's client device as the user continues to view television content 1810, whereas the 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 further presented with a plurality of controls 1850, 1855 and 1860 for participating in the gaming application 1805.
  • As illustrated in FIG. 19, a user may receive one or more alerts while viewing content or participating in a gaming application. According to methods described herein, a user's profile may identify one or more alerts, wherein alerts may comprise events or notifications that the user wishes to receive or that may be of interest to a given user. A traffic alert 1915 is illustrated, notifying the user of “Major Delays” on a roadway that may be relevant to the user. While the alert presented is a traffic related alert 1915, other alerts may be displayed on a user's client device based upon the one or more alerts identified in a user's profile or the user's particular context. For example, a user participating in an online poker game may receive an alert notifying the user that a given casino is conducting a poker tournament. Similarly, a user's profile may indicate that the user wishes to receive an alert notifying the user when the television show “The Real World” will be broadcast. Those of skill in the art recognize other alerts that may be displayed to a user of a client device based upon a user's profile or a 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 modification are intended to be included within the scope of the invention.

Claims (21)

1. A method comprising:
retrieving a profile of a given user;
using the profile to identify a buddy of the given user;
delivering a shared control request of the given user to a buddy device of the buddy;
enabling the buddy to accept or reject the shared control request; and
allowing the given user to control a context of the buddy device when the buddy accepts the shared control request.
2. The method of claim 1, wherein the using the profile to identify the buddy comprises:
identifying one or more instant messaging applications to which the given user subscribes as indicated in the profile;
identifying one or more other users in the one or more instant messaging applications; and
designating one of the other users as the buddy.
3. The method of claim 2, further comprising selecting the buddy from the one or more other users by the given user.
4. The method of claim 1, wherein the using the profile to identify the buddy comprises:
retrieving one or more characteristics of the given user as indicated in the profile;
examining one or more other user profiles to identify another user with characteristics similar to the given user; and
designating the other user with the similar characteristics as the buddy.
5. The method of claim 1, wherein the shared control request comprises a request to allow the given user to control one or more content items displayed on the buddy device.
6. The method of claim 1, further comprising propagating the context of the given user to the buddy that accepted the shared control request.
7. The method of claim 7, wherein the propagating comprises propagating a change in context of the given user to the buddy that accepted the shared control request.
8. The method of claim 1, wherein the context comprises a notion of the action that the user is performing at a given point in time.
9. A system comprising:
a content store for storing content items;
a given user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a given user;
an other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to another user; and
a content distribution server operative to identify the other user as being a buddy of the given user, to receive a shared control request from the given user device, to deliver the shared control request to the other-user device, to receive an acceptance or a rejection to the shared control request from the other-user device, and to allow the given user to control a context of the other-user device when an acceptance is received.
10. The system of claim 9, wherein at least a portion of the content store is maintained on the content distribution server.
11. The system of claim 9, wherein at least a portion of the content store is maintained external to the content distribution server.
12. The system of claim 9, wherein at least one of the given user device and the other-user device includes one of a personal computer, a set top box, or a personal digital assistant.
13. The system of claim 9, wherein the content distribution server includes a profile data store for storing identification of buddies of a given user.
14. The system of claim 9, wherein the content distribution server is operative to propagate a content item selected by the given user to the given user device and the other-user device.
15. The system of claim 9,
further comprising a second other-user device coupled to the content store and operative to enable selection and presentation of content items stored in the content store to a second other user; and
wherein the content distribution server is operative to identify the second other user as being a second buddy of the given user, to receive a second shared control request from the given user device, to deliver the shared control request to the second other-user device, to receive an acceptance or a rejection to the shared control request from the second other-user device, and to allow the given user to control the context of the second other-user device when an acceptance is received.
16. The system of claim 15, wherein the content distribution server is operative to propagate a content item selected by the given user to the other-user device and to the second other-user device.
17. A system comprising:
retrieving means for retrieving a profile of a given user;
identifying means for identifying a buddy in a social network with the given user;
delivering means for delivering a shared control request of the given user to the buddy;
enabling means for enabling the buddy to accept or reject the shared control request; and
allowing means for allowing the given user to control a client device context of the buddy when the buddy accepts the shared control request.
18. The system of claim 17, wherein the retrieving means includes a profile component coupled to a profile store that stores profiles of users.
19. The system of claim 17, wherein the identifying means includes a messaging component in communication with a messenger application on the given user device.
20. The system of claim 17,wherein the identifying means includes a messaging component that examines the other user profiles to identify the subset of the other users having characteristics in common with the given user.
21. The system of claim 17, wherein the delivering means, enabling means and allowing means each include at least a portion of a TV application component, the TV application component being in communication with the given user device and the other-user device, the TV application component having access to a content data store and controlling the distribution of content items from the content data store to the given user device and the other-user device.
US11/497,911 2005-01-05 2006-08-01 System and method for enabling a user to control a context of a client device of a buddy in a social network Abandoned US20060271959A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/497,911 US20060271959A1 (en) 2005-01-05 2006-08-01 System and method for enabling a user to control a context of a client device of a buddy in a social network

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US64171705P 2005-01-05 2005-01-05
US64178705P 2005-01-05 2005-01-05
US11/261,436 US8381240B2 (en) 2005-10-27 2005-10-27 Framework for providing digital home services
US11/327,198 US8230456B2 (en) 2005-01-05 2006-01-05 Framework for delivering a plurality of content and providing for interaction with the same in a television environment
US11/497,911 US20060271959A1 (en) 2005-01-05 2006-08-01 System and method for enabling a user to control a context of a client device of a buddy in a social network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/327,198 Continuation US8230456B2 (en) 2005-01-05 2006-01-05 Framework for delivering a plurality of content and providing for interaction with the same in a television environment

Publications (1)

Publication Number Publication Date
US20060271959A1 true US20060271959A1 (en) 2006-11-30

Family

ID=37464949

Family Applications (6)

Application Number Title Priority Date Filing Date
US11/327,198 Active 2028-08-30 US8230456B2 (en) 2005-01-05 2006-01-05 Framework for delivering a plurality of content and providing for interaction with the same in a television environment
US11/497,911 Abandoned US20060271959A1 (en) 2005-01-05 2006-08-01 System and method for enabling a user to control a context of a client device of a buddy in a social network
US11/497,913 Abandoned US20060271960A1 (en) 2005-01-05 2006-08-01 System and method for allowing users to engage in a "movie theater" viewing experience in a distributed environment
US11/498,459 Active 2028-02-27 US8943538B2 (en) 2005-01-05 2006-08-02 System and method for tagging content and delivering the tag to buddies of a given user
US14/604,919 Active US9686590B2 (en) 2005-01-05 2015-01-26 System and method for tagging content and delivering the tag to buddies of a given user
US15/626,684 Active US9848246B2 (en) 2005-01-05 2017-06-19 System and method for tagging content and delivering the tag to buddies of a given user

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/327,198 Active 2028-08-30 US8230456B2 (en) 2005-01-05 2006-01-05 Framework for delivering a plurality of content and providing for interaction with the same in a television environment

Family Applications After (4)

Application Number Title Priority Date Filing Date
US11/497,913 Abandoned US20060271960A1 (en) 2005-01-05 2006-08-01 System and method for allowing users to engage in a "movie theater" viewing experience in a distributed environment
US11/498,459 Active 2028-02-27 US8943538B2 (en) 2005-01-05 2006-08-02 System and method for tagging content and delivering the tag to buddies of a given user
US14/604,919 Active US9686590B2 (en) 2005-01-05 2015-01-26 System and method for tagging content and delivering the tag to buddies of a given user
US15/626,684 Active US9848246B2 (en) 2005-01-05 2017-06-19 System and method for tagging content and delivering the tag to buddies of a given user

Country Status (1)

Country Link
US (6) US8230456B2 (en)

Cited By (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233655A1 (en) * 2002-06-18 2003-12-18 Koninklijke Philips Electronics N.V. Method and apparatus for an adaptive stereotypical profile for recommending items representing a user's interests
US20080114737A1 (en) * 2006-11-14 2008-05-15 Daniel Neely Method and system for automatically identifying users to participate in an electronic conversation
US20090042646A1 (en) * 2007-08-08 2009-02-12 Bhaswar Bhanu Sarkar Method and apparatus for player replacement in an on-line game
US20090049098A1 (en) * 2007-01-23 2009-02-19 Cox Communications, Inc. Providing a Social Network
US20090133069A1 (en) * 2007-11-21 2009-05-21 United Video Properties, Inc. Maintaining a user profile based on dynamic data
EP2083568A1 (en) * 2008-01-22 2009-07-29 Avaya Technology Llc Open cable application platform set-top bos (STB) personal profiles and communications applications
US20090222551A1 (en) * 2008-02-29 2009-09-03 Daniel Neely Method and system for qualifying user engagement with a website
US20090222868A1 (en) * 2008-02-29 2009-09-03 At&T Knowledge Ventures, L.P. Service for providing shared multimedia content
US20090259970A1 (en) * 2008-04-15 2009-10-15 Embarq Holdings Company, Llc System and Method for Random Voice Communications Through a Social Network
US20100058417A1 (en) * 2008-08-29 2010-03-04 Embarq Holdings Company, Llc Method and system for providing a social notification for a set-top box
US7680959B2 (en) 2006-07-11 2010-03-16 Napo Enterprises, Llc P2P network for providing real time media recommendations
US20100122196A1 (en) * 2008-05-13 2010-05-13 Michael Wetzer Apparatus and methods for interacting with multiple information forms across multiple types of computing devices
US20100203963A1 (en) * 2007-09-24 2010-08-12 Wms Gaming, Inc. Integrating social contact identifiers into wagering games
WO2010111078A1 (en) * 2009-03-25 2010-09-30 Verizon Patent And Licensing Inc. Targeted advertising for dynamic groups
US20100279764A1 (en) * 2007-12-27 2010-11-04 Wms Gaming, Inc. Group games and rewards in wagering systems
US7865522B2 (en) 2007-11-07 2011-01-04 Napo Enterprises, Llc System and method for hyping media recommendations in a media recommendation system
US20110010431A1 (en) * 2009-07-08 2011-01-13 Embarq Holdings Company, Llc System and method for a media content reconciler
US20110063317A1 (en) * 2009-09-14 2011-03-17 Gharaat Amir H Multifunction Multimedia Device
EP2312846A1 (en) * 2009-09-30 2011-04-20 Alcatel Lucent Method to connect several terminals in a same game community
US20110107373A1 (en) * 2009-10-29 2011-05-05 At&T Intellectual Property I, L.P. System and Method to Facilitate Selection of Episodes of Serial Programs From a Media Service
US20110126257A1 (en) * 2009-11-25 2011-05-26 Embarq Holdings Company, Llc System and method for tuning a set-top box remotely via a social network
US20110126251A1 (en) * 2009-11-25 2011-05-26 Embarq Holdings Company, Llc System and method for the exchange and storage of set-top box data
US20110137976A1 (en) * 2009-12-04 2011-06-09 Bob Poniatowski Multifunction Multimedia Device
US7970922B2 (en) 2006-07-11 2011-06-28 Napo Enterprises, Llc P2P real time media recommendations
US20110185385A1 (en) * 2010-01-27 2011-07-28 Samsung Electronics Co., Ltd. Method for displaying epg information including buddy information and receiver applying the same
US8060525B2 (en) 2007-12-21 2011-11-15 Napo Enterprises, Llc Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US8090606B2 (en) 2006-08-08 2012-01-03 Napo Enterprises, Llc Embedded media recommendations
US8112720B2 (en) 2007-04-05 2012-02-07 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
US8117193B2 (en) 2007-12-21 2012-02-14 Lemi Technology, Llc Tunersphere
US20120117144A1 (en) * 2010-11-09 2012-05-10 Sony Corporation System and method for creating a viewing social network
US8200602B2 (en) 2009-02-02 2012-06-12 Napo Enterprises, Llc System and method for creating thematic listening experiences in a networked peer media recommendation environment
US8224856B2 (en) 2007-11-26 2012-07-17 Abo Enterprises, Llc Intelligent default weighting process for criteria utilized to score media content items
EP2421278A3 (en) * 2010-08-16 2012-09-12 Samsung Electronics Co., Ltd. Display apparatus and display method
US8285595B2 (en) 2006-03-29 2012-10-09 Napo Enterprises, Llc System and method for refining media recommendations
US8285776B2 (en) 2007-06-01 2012-10-09 Napo Enterprises, Llc System and method for processing a received media item recommendation message comprising recommender presence information
US8327266B2 (en) 2006-07-11 2012-12-04 Napo Enterprises, Llc Graphical user interface system for allowing management of a media item playlist based on a preference scoring system
US8364013B2 (en) 2010-08-26 2013-01-29 Cox Communications, Inc. Content bookmarking
US20130061266A1 (en) * 2011-09-07 2013-03-07 Opentv, Inc. Apparatus and method for epg sorting and automatic realignment
US8396951B2 (en) 2007-12-20 2013-03-12 Napo Enterprises, Llc Method and system for populating a content repository for an internet radio service based on a recommendation network
US20130081089A1 (en) * 2011-09-26 2013-03-28 Soyoung KIM Contents sharing method and display apparatus using the same
US8418204B2 (en) 2007-01-23 2013-04-09 Cox Communications, Inc. Providing a video user interface
US8484227B2 (en) 2008-10-15 2013-07-09 Eloy Technology, Llc Caching and synching process for a media sharing system
US8484311B2 (en) 2008-04-17 2013-07-09 Eloy Technology, Llc Pruning an aggregate media collection
US8539331B2 (en) 2010-05-13 2013-09-17 Microsoft Corporation Editable bookmarks shared via a social network
US8577874B2 (en) 2007-12-21 2013-11-05 Lemi Technology, Llc Tunersphere
US8583791B2 (en) 2006-07-11 2013-11-12 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US8620699B2 (en) 2006-08-08 2013-12-31 Napo Enterprises, Llc Heavy influencer media recommendations
US20140032743A1 (en) * 2012-07-30 2014-01-30 James S. Hiscock Selecting equipment associated with provider entities for a client request
US8641501B2 (en) 2011-05-06 2014-02-04 Wms Gaming, Inc. Game of chance utilizing social network contact attributes
CN103607656A (en) * 2013-11-19 2014-02-26 四川长虹电器股份有限公司 Method capable of realizing one-key sharing of content played through intelligent television or set top box at present
WO2014036362A1 (en) * 2012-08-31 2014-03-06 Facebook. Inc. Sharing television and video programming through social networking
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US20140133839A1 (en) * 2008-08-26 2014-05-15 Opentv, Inc. Community-based recommendation engine
US8751948B2 (en) 2008-05-13 2014-06-10 Cyandia, Inc. Methods, apparatus and systems for providing and monitoring secure information via multiple authorized channels and generating alerts relating to same
US8789102B2 (en) 2007-01-23 2014-07-22 Cox Communications, Inc. Providing a customized user interface
US8789117B2 (en) 2010-08-26 2014-07-22 Cox Communications, Inc. Content library
US8806532B2 (en) 2007-01-23 2014-08-12 Cox Communications, Inc. Providing a user interface
US8805831B2 (en) 2006-07-11 2014-08-12 Napo Enterprises, Llc Scoring and replaying media items
US8814699B1 (en) * 2011-09-29 2014-08-26 Isaac S. Daniel Social networking roulette game system and method
US8819726B2 (en) 2010-10-14 2014-08-26 Cyandia, Inc. Methods, apparatus, and systems for presenting television programming and related information
US8832749B2 (en) 2010-02-12 2014-09-09 Cox Communications, Inc. Personalizing TV content
EP2597882A3 (en) * 2007-11-21 2014-09-10 United Video Properties, Inc. Maintaining a user profile based on dynamic data
US8839141B2 (en) 2007-06-01 2014-09-16 Napo Enterprises, Llc Method and system for visually indicating a replay status of media items on a media device
US8869191B2 (en) 2007-01-23 2014-10-21 Cox Communications, Inc. Providing a media guide including parental information
US8874655B2 (en) 2006-12-13 2014-10-28 Napo Enterprises, Llc Matching participants in a P2P recommendation network loosely coupled to a subscription service
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US8904480B2 (en) 2012-11-29 2014-12-02 International Business Machines Corporation Social authentication of users
US8903843B2 (en) 2006-06-21 2014-12-02 Napo Enterprises, Llc Historical media recommendation service
EP2811750A1 (en) * 2012-03-01 2014-12-10 Huawei Device Co., Ltd. Set top box interaction method and associated set top box and system
WO2014196960A1 (en) * 2013-06-04 2014-12-11 Thomson Licensing Viral tuning method
US8943539B2 (en) 2007-11-21 2015-01-27 Rovi Guides, Inc. Enabling a friend to remotely modify user data
US8973049B2 (en) 2009-12-04 2015-03-03 Cox Communications, Inc. Content recommendations
US8983950B2 (en) 2007-06-01 2015-03-17 Napo Enterprises, Llc Method and system for sorting media items in a playlist on a media device
US20150135242A1 (en) * 2008-02-25 2015-05-14 Time Warner Cable Enterprises Llc Methods and apparatus for enabling synchronized content presentations using dynamically updated playlists
US9037632B2 (en) 2007-06-01 2015-05-19 Napo Enterprises, Llc System and method of generating a media item recommendation message with recommender presence information
US9060034B2 (en) 2007-11-09 2015-06-16 Napo Enterprises, Llc System and method of filtering recommenders in a media item recommendation system
US9071729B2 (en) 2007-01-09 2015-06-30 Cox Communications, Inc. Providing user communication
US9081780B2 (en) 2007-04-04 2015-07-14 Abo Enterprises, Llc System and method for assigning user preference settings for a category, and in particular a media category
US9152969B2 (en) 2010-04-07 2015-10-06 Rovi Technologies Corporation Recommendation ranking system with distrust
US9167302B2 (en) 2010-08-26 2015-10-20 Cox Communications, Inc. Playlist bookmarking
US9164993B2 (en) 2007-06-01 2015-10-20 Napo Enterprises, Llc System and method for propagating a media item recommendation message comprising recommender presence information
US9224150B2 (en) 2007-12-18 2015-12-29 Napo Enterprises, Llc Identifying highly valued recommendations of users in a media recommendation network
US9224427B2 (en) 2007-04-02 2015-12-29 Napo Enterprises LLC Rating media item recommendations using recommendation paths and/or media item usage
US20160044381A1 (en) * 2008-04-24 2016-02-11 Samsung Electronics Co., Ltd. Method of recommending broadcasting contents and recommending apparatus therefor in multimedia contents reproducing device
US9301016B2 (en) 2012-04-05 2016-03-29 Facebook, Inc. Sharing television and video programming through social networking
US9685072B2 (en) 2010-07-23 2017-06-20 Tivo Solutions Inc. Privacy level indicator
US9734507B2 (en) 2007-12-20 2017-08-15 Napo Enterprise, Llc Method and system for simulating recommendations in a social network for an offline user
US20170311011A1 (en) * 2009-04-03 2017-10-26 At&T Intellectual Property I, L.P. Method and Apparatus for Managing Communication Sessions
US9813778B2 (en) 2007-04-17 2017-11-07 Intent IQ, LLC Targeted television advertisements based on online behavior
US9820001B2 (en) 1998-11-10 2017-11-14 Rovi Guides, Inc. On-line schedule system with personalization features
US9854318B2 (en) 2011-06-06 2017-12-26 Rovi Guides, Inc. Systems and methods for sharing interactive media guidance information
US10110541B2 (en) * 2013-10-17 2018-10-23 International Business Machines Corporation Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window
US10146840B2 (en) 2006-04-20 2018-12-04 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US10593222B1 (en) * 2014-05-01 2020-03-17 Grokker Inc. Video filming and discovery system
US20200252691A1 (en) * 2015-11-10 2020-08-06 Thomson Licensing Apparatus and method for concurrent video viewing with user-added realtime content
US10749914B1 (en) 2007-07-18 2020-08-18 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US11178433B2 (en) 2019-11-21 2021-11-16 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
US11265604B2 (en) * 2014-02-14 2022-03-01 Pluto Inc. Methods and systems for generating and providing program guides and content
US11296962B2 (en) * 2011-06-21 2022-04-05 The Nielsen Company (Us), Llc Monitoring streaming media content
US11297052B1 (en) * 2019-12-30 2022-04-05 Snap Inc. Password protecting selected message content
US11425437B2 (en) 2018-05-09 2022-08-23 Pluto Inc. Methods and systems for generating and providing program guides and content
US11533527B2 (en) 2018-05-09 2022-12-20 Pluto Inc. Methods and systems for generating and providing program guides and content

Families Citing this family (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244672A1 (en) * 2007-02-21 2008-10-02 Piccionelli Gregory A Co-ordinated on-line video viewing
US20120166350A1 (en) * 2002-06-12 2012-06-28 Piccionelli Gregory A Remote dating method
US8707185B2 (en) * 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US9967633B1 (en) 2001-12-14 2018-05-08 At&T Intellectual Property I, L.P. System and method for utilizing television viewing patterns
CA2615659A1 (en) 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
EP1964260B1 (en) * 2005-09-26 2011-11-30 Koninklijke Philips Electronics N.V. Portable control device for controlling playback streams in distributed system
JP2007156987A (en) * 2005-12-07 2007-06-21 Toshiba Corp Software component and software component management system
US20100004980A1 (en) * 2006-01-20 2010-01-07 Berkley Bowen Systems and methods for managing product and consumer information
US20070186243A1 (en) * 2006-02-08 2007-08-09 Sbc Knowledge Ventures, Lp System and method of providing television program recommendations
US7779004B1 (en) 2006-02-22 2010-08-17 Qurio Holdings, Inc. Methods, systems, and products for characterizing target systems
CN101449582B (en) * 2006-03-17 2012-05-30 索尼株式会社 System and method for organizing group content presentations and group communications during the same
JP4775074B2 (en) * 2006-03-30 2011-09-21 ソニー株式会社 Communication system, information processing apparatus, information processing method, and program
US7925723B1 (en) 2006-03-31 2011-04-12 Qurio Holdings, Inc. Collaborative configuration of a media environment
US20080013701A1 (en) * 2006-04-04 2008-01-17 Barhydt William J Voting And Multi-Media Actionable Messaging Services For Mobile Social Networks
US20080059986A1 (en) * 2006-08-30 2008-03-06 Brian Kalinowski Online video/chat applications
US20080133327A1 (en) * 2006-09-14 2008-06-05 Shah Ullah Methods and systems for securing content played on mobile devices
US20090298514A1 (en) * 2006-09-14 2009-12-03 Shah Ullah Real world behavior measurement using identifiers specific to mobile devices
US20080220760A1 (en) * 2006-09-14 2008-09-11 Shah Ullah Methods and systems for usage profiling associated with device specific identifiers
US20080109888A1 (en) * 2006-09-14 2008-05-08 Shah Ullah Methods and systems for securing content projected to a nearby device
US9445353B2 (en) 2006-09-14 2016-09-13 Omnitrail Technologies Inc. Presence platform for passive radio access network-to-radio access network device transition
US20080127241A1 (en) * 2006-09-15 2008-05-29 Microsoft Corporation Community Program Ratings
US7895275B1 (en) 2006-09-28 2011-02-22 Qurio Holdings, Inc. System and method providing quality based peer review and distribution of digital content
US8615778B1 (en) 2006-09-28 2013-12-24 Qurio Holdings, Inc. Personalized broadcast system
US20080109406A1 (en) * 2006-11-06 2008-05-08 Santhana Krishnasamy Instant message tagging
US20080134253A1 (en) * 2006-12-04 2008-06-05 Grant Romain Data upload and broadcast system
US8706818B2 (en) * 2006-12-19 2014-04-22 Microsoft Corporation Remote control-based instant messaging
US8356039B2 (en) * 2006-12-21 2013-01-15 Yahoo! Inc. Providing multiple media items to a consumer via a simplified consumer interaction
US20080155628A1 (en) * 2006-12-22 2008-06-26 Nortel Networks Limited Method and system for content sharing
US20080163284A1 (en) * 2006-12-29 2008-07-03 Microsoft Corporation Browse filters on a television interface
US20080167127A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Integration of Media on Gaming Consoles
US20080167128A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Television Viewing on Gaming Consoles
US8249932B1 (en) 2007-02-02 2012-08-21 Resource Consortium Limited Targeted advertising in a situational network
US7840903B1 (en) 2007-02-26 2010-11-23 Qurio Holdings, Inc. Group content representations
US9098167B1 (en) 2007-02-26 2015-08-04 Qurio Holdings, Inc. Layered visualization of content representations
US7849420B1 (en) 2007-02-26 2010-12-07 Qurio Holdings, Inc. Interactive content representations enabling content sharing
US20080225060A1 (en) * 2007-03-15 2008-09-18 Big Fish Games, Inc. Insertion of Graphics into Video Game
GB2448136A (en) * 2007-04-02 2008-10-08 Motorola Inc A content item distribution system
US20080250327A1 (en) * 2007-04-09 2008-10-09 Microsoft Corporation Content commenting and monetization
US8572649B1 (en) * 2007-04-30 2013-10-29 Google Inc. Electronic program guide presentation
KR101372100B1 (en) * 2007-05-28 2014-03-07 엘지전자 주식회사 EPG display device and this method
US20080300937A1 (en) * 2007-05-30 2008-12-04 Ty Allen Event-linked social networking
US8560387B2 (en) 2007-06-07 2013-10-15 Qurio Holdings, Inc. Systems and methods of providing collaborative consumer-controlled advertising environments
US8600808B2 (en) * 2007-06-07 2013-12-03 Qurio Holdings, Inc. Methods and systems of presenting advertisements in consumer-defined environments
US8230458B2 (en) * 2007-06-29 2012-07-24 At&T Intellectual Property I, L.P. System and method of providing video content commentary
US8156064B2 (en) 2007-07-05 2012-04-10 Brown Stephen J Observation-based user profiling and profile matching
US20090030792A1 (en) * 2007-07-24 2009-01-29 Amit Khivesara Content recommendation service
US20090037822A1 (en) * 2007-07-31 2009-02-05 Qurio Holdings, Inc. Context-aware shared content representations
US20090049390A1 (en) * 2007-08-17 2009-02-19 Sony Computer Entertainment Inc. Methods and apparatuses for distributing content based on profile information and rating the content
WO2009026395A1 (en) * 2007-08-20 2009-02-26 Facebook, Inc. Targeting advertisements in a social network
US9110569B2 (en) * 2007-08-22 2015-08-18 Linkedin Corporation Indicating a content preference
US9111285B2 (en) * 2007-08-27 2015-08-18 Qurio Holdings, Inc. System and method for representing content, user presence and interaction within virtual world advertising environments
CN101383923A (en) * 2007-09-05 2009-03-11 讯连科技股份有限公司 Method for video channel switching and related apparatus thereof
US20090070319A1 (en) * 2007-09-12 2009-03-12 La Touraine, Inc. System and method for offering content on a mobile device for delivery to a second device
US8171044B2 (en) * 2007-09-13 2012-05-01 At&T Intellectual Property I, L.P. Methods, systems, and products for recommending social communities
US8887189B2 (en) * 2007-09-28 2014-11-11 Verizon Patent And Licensing Inc. Methods and systems for providing synchronized display of content
US20090094656A1 (en) * 2007-10-03 2009-04-09 Carlucci John B System, method, and apparatus for connecting non-co-located video content viewers in virtual TV rooms for a shared participatory viewing experience
US7680699B2 (en) * 2007-10-23 2010-03-16 Mozes Oncorporated Method, system, and medium for sharing digital content and purchasing products at live performances
US8261307B1 (en) 2007-10-25 2012-09-04 Qurio Holdings, Inc. Wireless multimedia content brokerage service for real time selective content provisioning
US20120203831A1 (en) 2011-02-03 2012-08-09 Kent Schoen Sponsored Stories Unit Creation from Organic Activity Stream
US8799068B2 (en) 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US9990652B2 (en) 2010-12-15 2018-06-05 Facebook, Inc. Targeting social advertising to friends of users who have interacted with an object associated with the advertising
US9338597B2 (en) 2007-12-06 2016-05-10 Suhayya Abu-Hakima Alert broadcasting to unconfigured communications devices
US9215217B2 (en) 2008-12-05 2015-12-15 Suhayya Abu-Hakima and Kenneth E. Grigg Auto-discovery of diverse communications devices for alert broadcasting
US8051057B2 (en) * 2007-12-06 2011-11-01 Suhayya Abu-Hakima Processing of network content and services for mobile or fixed devices
JP5042050B2 (en) * 2008-01-25 2012-10-03 シャープ株式会社 Television receiver, server, television receiver operating system, and television receiver operating program
US8707382B2 (en) * 2008-02-13 2014-04-22 At&T Intellectual Property I, L.P. Synchronizing presentations of multimedia programs
US8190683B2 (en) * 2008-02-29 2012-05-29 Microsoft Corporation Synchronizing multiple user remote content playback
US20090238543A1 (en) * 2008-03-20 2009-09-24 Microsoft Corporation Local Recording of Previously Aired Programming
US8307395B2 (en) 2008-04-22 2012-11-06 Porto Technology, Llc Publishing key frames of a video content item being viewed by a first user to one or more second users
KR101528857B1 (en) * 2008-04-24 2015-06-16 삼성전자주식회사 Method for providing broadcasting program information in screen of broadcast receiver and and apparatus thereof
KR101552147B1 (en) * 2008-04-24 2015-09-11 삼성전자주식회사 Method for recommending broadcasting contents and apparatus thereof
TW200948075A (en) * 2008-05-09 2009-11-16 Avermedia Tech Inc Method for providing audio/video stream signal and share system
US9183513B2 (en) * 2008-05-27 2015-11-10 Intel Corporation Aggregration, standardization and extension of social networking contacts to enhance a television consumer experience
CN102217324A (en) * 2008-06-20 2011-10-12 彼德·安德顿 System for projecting user input on multiple third party viewable screens simultaneously
US8396924B2 (en) * 2008-06-23 2013-03-12 Microsoft Corporation Content management using a website
US9015778B2 (en) 2008-06-25 2015-04-21 AT&T Intellectual Property I. LP Apparatus and method for media on demand commentaries
US8839327B2 (en) * 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
US8073733B1 (en) 2008-07-30 2011-12-06 Philippe Caland Media development network
US8875181B2 (en) * 2008-08-05 2014-10-28 At&T Intellectual Property I, L.P. Method and system for presenting media content
US20100058418A1 (en) * 2008-08-29 2010-03-04 Junichi Yoshizawa Television receiving apparatus, information processing apparatus, and display method
US9485467B2 (en) * 2008-08-29 2016-11-01 Sony Corporation Information processing system and information processing devices
US8627377B2 (en) * 2008-08-29 2014-01-07 Centurylink Intellectual Property Llc Method and system for providing usage information for a set-top box
US20100077435A1 (en) * 2008-09-24 2010-03-25 Concert Technology System and method for smart trick mode display
US8707189B2 (en) * 2008-09-26 2014-04-22 At&T Intellectual Property I, L.P. Methods, computer program products, and hardware products for providing interactive program guide and instant messaging convergence
US7853712B2 (en) * 2008-09-29 2010-12-14 Eloy Technology, Llc Activity indicators in a media sharing system
JP5100595B2 (en) * 2008-09-30 2012-12-19 シャープ株式会社 AV equipment, server, AV equipment operating system, and AV equipment operating program
US9237295B2 (en) * 2008-10-15 2016-01-12 Samsung Electronics Co., Ltd. System and method for keyframe analysis and distribution from broadcast television
US20100095345A1 (en) * 2008-10-15 2010-04-15 Samsung Electronics Co., Ltd. System and method for acquiring and distributing keyframe timelines
US20100131899A1 (en) * 2008-10-17 2010-05-27 Darwin Ecosystem Llc Scannable Cloud
US9224172B2 (en) * 2008-12-02 2015-12-29 Yahoo! Inc. Customizable content for distribution in social networks
US20100185630A1 (en) * 2008-12-30 2010-07-22 Microsoft Corporation Morphing social networks based on user context
US9003447B2 (en) * 2008-12-31 2015-04-07 Google Technology Holdings LLC System and method for customizing communication in a social television framework
US8600857B2 (en) 2009-01-21 2013-12-03 Truaxis, Inc. System and method for providing a savings opportunity in association with a financial account
US10594870B2 (en) 2009-01-21 2020-03-17 Truaxis, Llc System and method for matching a savings opportunity using census data
US8566197B2 (en) 2009-01-21 2013-10-22 Truaxis, Inc. System and method for providing socially enabled rewards through a user financial instrument
US20120004969A1 (en) * 2009-01-21 2012-01-05 Billshrink, Inc. System and method for providing a geo-enhanced savings opportunity in association with a financial account
US10504126B2 (en) 2009-01-21 2019-12-10 Truaxis, Llc System and method of obtaining merchant sales information for marketing or sales teams
US9183881B2 (en) 2009-02-02 2015-11-10 Porto Technology, Llc System and method for semantic trick play
US9276761B2 (en) * 2009-03-04 2016-03-01 At&T Intellectual Property I, L.P. Method and apparatus for group media consumption
US8275623B2 (en) 2009-03-06 2012-09-25 At&T Intellectual Property I, L.P. Method and apparatus for analyzing discussion regarding media programs
EP2234397A1 (en) * 2009-03-24 2010-09-29 Thomson Licensing Methods for delivering and receiving interactive multimedia data attached to an audio video content
US9088757B2 (en) 2009-03-25 2015-07-21 Eloy Technology, Llc Method and system for socially ranking programs
EP2237148A1 (en) * 2009-03-31 2010-10-06 Sony Corporation Widget server, method of operating a widget server and method and device for providing a widget recommendation
US8843975B2 (en) 2009-04-10 2014-09-23 At&T Intellectual Property I, L.P. Method and apparatus for presenting dynamic media content
US9160975B2 (en) * 2009-09-25 2015-10-13 At&T Intellectual Property I, L.P. Providing a dedicated channel accessible to a group of users
US20110078736A1 (en) * 2009-09-30 2011-03-31 Rovi Technologies Corporation Systems and methods for providing an open and collaborative media guidance application
US9185454B2 (en) * 2009-10-14 2015-11-10 Time Warner Cable Enterprises Llc System and method for presenting during a programming event an invitation to follow content on a social media site
US8266652B2 (en) 2009-10-15 2012-09-11 At&T Intellectual Property I, L.P. Apparatus and method for transmitting media content
US8572238B2 (en) * 2009-10-22 2013-10-29 Sony Corporation Automated social networking television profile configuration and processing
US9830605B2 (en) * 2009-10-30 2017-11-28 At&T Intellectual Property I, L.P. Apparatus and method for product marketing
US8224756B2 (en) 2009-11-05 2012-07-17 At&T Intellectual Property I, L.P. Apparatus and method for managing a social network
US8760469B2 (en) * 2009-11-06 2014-06-24 At&T Intellectual Property I, L.P. Apparatus and method for managing marketing
US9445158B2 (en) * 2009-11-06 2016-09-13 Eloy Technology, Llc Distributed aggregated content guide for collaborative playback session
US9031379B2 (en) * 2009-11-10 2015-05-12 At&T Intellectual Property I, L.P. Apparatus and method for transmitting media content
US8316303B2 (en) 2009-11-10 2012-11-20 At&T Intellectual Property I, L.P. Method and apparatus for presenting media programs
US10708663B2 (en) 2009-11-13 2020-07-07 At&T Intellectual Property I, L.P. Apparatus and method for media on demand commentaries
US8387088B2 (en) * 2009-11-13 2013-02-26 At&T Intellectual Property I, Lp Method and apparatus for presenting media programs
US8839306B2 (en) 2009-11-20 2014-09-16 At&T Intellectual Property I, Lp Method and apparatus for presenting media programs
US9100550B2 (en) 2009-11-20 2015-08-04 At&T Intellectual Property I, L.P. Apparatus and method for managing a social network
US8373741B2 (en) * 2009-11-20 2013-02-12 At&T Intellectual Property I, Lp Apparatus and method for collaborative network in an enterprise setting
US20110137975A1 (en) * 2009-12-04 2011-06-09 Authernative, Inc. Secure profiling method providing privacy in social networking systems
US9094726B2 (en) 2009-12-04 2015-07-28 At&T Intellectual Property I, Lp Apparatus and method for tagging media content and managing marketing
US20110145865A1 (en) * 2009-12-15 2011-06-16 At&T Intellectual Property I, L.P. Personal channel preferences for multimedia programs
KR20110074244A (en) * 2009-12-24 2011-06-30 삼성전자주식회사 Apparatus and method for synchronizing data between instant messaging clients in communication system
US8504626B2 (en) * 2010-02-03 2013-08-06 Palo Alto Research Center Incorporated System and method for content tagging and distribution through email
US8666993B2 (en) 2010-02-22 2014-03-04 Onepatont Software Limited System and method for social networking for managing multidimensional life stream related active note(s) and associated multidimensional active resources and actions
FR2959372A1 (en) * 2010-04-23 2011-10-28 Orange Vallee METHOD AND SYSTEM FOR MANAGING A CONTINUOUS BROADCAST SESSION OF A LIVE VIDEO STREAM
US10419266B2 (en) 2010-05-28 2019-09-17 Ram Caspi Methods and apparatus for interactive social TV multimedia communication
US9252950B2 (en) * 2010-05-28 2016-02-02 Ram Caspi Methods and apparatus for interactive multimedia communication
US8825649B2 (en) 2010-07-21 2014-09-02 Microsoft Corporation Smart defaults for data visualizations
US9241195B2 (en) * 2010-11-05 2016-01-19 Verizon Patent And Licensing Inc. Searching recorded or viewed content
US20120131475A1 (en) * 2010-11-19 2012-05-24 International Business Machines Corporation Social network based on video recorder parental control system
US8990317B2 (en) 2010-11-24 2015-03-24 At&T Intellectual Property I, L.P. Shared multimedia experience
US20120216124A1 (en) * 2011-02-18 2012-08-23 International Business Machines Corporation Bundling web browser session contexts
US20120254759A1 (en) * 2011-03-31 2012-10-04 Greenberg David S Browser-based recording of content
KR20120133508A (en) * 2011-05-31 2012-12-11 주식회사 케이티 System and method for providing in-app service
US8572165B2 (en) 2011-07-08 2013-10-29 Sony Corporation Collaborative filtering of content
US11750673B2 (en) 2011-08-01 2023-09-05 Spring Design, Inc. User interface content state synchronization across devices
US10298642B2 (en) 2016-02-17 2019-05-21 Quickbiz Holdings Limited, Apia User interface content state synchronization across devices
US9438697B2 (en) * 2011-08-01 2016-09-06 Quickbiz Holdings Limited, Apia User interface content state synchronization across devices
US11295603B2 (en) 2011-10-28 2022-04-05 Universal Electronics Inc. System and method for optimized appliance control
US9449500B2 (en) 2012-08-08 2016-09-20 Universal Electronics Inc. System and method for optimized appliance control
KR101491583B1 (en) * 2011-11-01 2015-02-11 주식회사 케이티 Device and method for providing interface customized in content
US8909667B2 (en) 2011-11-01 2014-12-09 Lemi Technology, Llc Systems, methods, and computer readable media for generating recommendations in a media recommendation system
US9782680B2 (en) 2011-12-09 2017-10-10 Futurewei Technologies, Inc. Persistent customized social media environment
US20130311408A1 (en) * 2012-05-15 2013-11-21 Comcast Cable Communications, Llc Determining and Predicting Popularity of Content
US8805730B2 (en) 2012-06-01 2014-08-12 Bank Of America Corporation Trigger data quality monitor
US8688572B2 (en) 2012-06-01 2014-04-01 Bank Of America Corporation Financial account related trigger feature for risk mitigation
US20150208135A1 (en) * 2012-06-14 2015-07-23 Flextronics Ap, Llc Methods and displays for providing intelligent television badges
US10762582B2 (en) * 2012-07-19 2020-09-01 Comcast Cable Communications, Llc System and method of sharing content consumption information
US8965987B2 (en) * 2012-08-27 2015-02-24 Sap Ag, A German Corporation Action notification for business applications
US9038102B1 (en) * 2013-02-05 2015-05-19 Cox Communications, Inc. Cable television system with integrated social streaming
US9330421B2 (en) * 2013-02-21 2016-05-03 Facebook, Inc. Prompting user action in conjunction with tagged content on a social networking system
US10733194B2 (en) * 2013-03-08 2020-08-04 Warren Young Systems and methods for providing a review platform
US9148468B1 (en) * 2013-03-13 2015-09-29 Google Inc. Distributing shared content
US20140282683A1 (en) * 2013-03-14 2014-09-18 Samsung Electronics Co., Ltd. Computing system with device interaction mechanism and method of operation thereof
WO2014197354A1 (en) * 2013-06-05 2014-12-11 Snakt, Inc. Methods and systems for creating, combining, and sharing time-constrained videos
US9674579B1 (en) * 2014-03-31 2017-06-06 Google Inc. Rating videos based on parental feedback
US10049155B2 (en) 2016-01-20 2018-08-14 Bank Of America Corporation System for mending through automated processes
US11611547B2 (en) 2016-11-08 2023-03-21 Dish Network L.L.C. User to user content authentication
US10701416B2 (en) * 2018-10-12 2020-06-30 Disney Enterprises, Inc. Content promotion through automated curation of content clips
US11695722B2 (en) 2019-07-30 2023-07-04 Sling Media L.L.C. Devices, systems and processes for providing geo-located and content-to-comment synchronized user circles
US11838450B2 (en) * 2020-02-26 2023-12-05 Dish Network L.L.C. Devices, systems and processes for facilitating watch parties
US11606597B2 (en) 2020-09-03 2023-03-14 Dish Network Technologies India Private Limited Devices, systems, and processes for facilitating live and recorded content watch parties
US11758245B2 (en) 2021-07-15 2023-09-12 Dish Network L.L.C. Interactive media events
US11849171B2 (en) 2021-12-07 2023-12-19 Dish Network L.L.C. Deepfake content watch parties

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430602B1 (en) * 2000-08-22 2002-08-06 Active Buddy, Inc. Method and system for interactively responding to instant messaging requests
US20030158902A1 (en) * 2001-10-31 2003-08-21 Dotan Volach Multimedia instant communication system and method
US20060026279A1 (en) * 2004-07-28 2006-02-02 Microsoft Corporation Strategies for monitoring the consumption of resources
US7114172B2 (en) * 2001-06-28 2006-09-26 Koninklijke Philips Electronics N.V. Synchronized personal video recorders
US20070050822A1 (en) * 2005-08-31 2007-03-01 Cable Television Laboratories, Inc. Method and system of providing shared community experience
US20080027909A1 (en) * 2002-11-18 2008-01-31 David Gang Buddy Share

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5945988A (en) * 1996-06-06 1999-08-31 Intel Corporation Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US7254823B2 (en) * 1998-08-21 2007-08-07 United Video Properties, Inc. Apparatus and method for constrained selection of favorite channels
TW463503B (en) * 1998-08-26 2001-11-11 United Video Properties Inc Television chat system
US6505167B1 (en) * 1999-04-20 2003-01-07 Microsoft Corp. Systems and methods for directing automated services for messaging and scheduling
US6754904B1 (en) * 1999-12-30 2004-06-22 America Online, Inc. Informing network users of television programming viewed by other network users
US7979880B2 (en) * 2000-04-21 2011-07-12 Cox Communications, Inc. Method and system for profiling iTV users and for providing selective content delivery
US7552460B2 (en) * 2000-05-08 2009-06-23 Microsoft Corporation Modifying an electronic program guide based on viewer statistics
US6699125B2 (en) * 2000-07-03 2004-03-02 Yahoo! Inc. Game server for use in connection with a messenger server
US7020891B1 (en) * 2000-09-28 2006-03-28 Intel Corporation Internet domain and time index based video email system
US7080139B1 (en) * 2001-04-24 2006-07-18 Fatbubble, Inc Method and apparatus for selectively sharing and passively tracking communication device experiences
US20030093806A1 (en) * 2001-11-14 2003-05-15 Vincent Dureau Remote re-creation of data in a television system
US7269338B2 (en) * 2001-12-11 2007-09-11 Koninklijke Philips Electronics N.V. Apparatus and method for synchronizing presentation from bit streams based on their content
US20030196206A1 (en) * 2002-04-15 2003-10-16 Shusman Chad W. Method and apparatus for internet-based interactive programming
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US20040003090A1 (en) * 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
US8577983B2 (en) * 2002-07-12 2013-11-05 Pace Plc System and method for notifying an instant message recipient of receipt of a message
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7123696B2 (en) * 2002-10-04 2006-10-17 Frederick Lowe Method and apparatus for generating and distributing personalized media clips
US20040073944A1 (en) * 2002-10-15 2004-04-15 General Instrument Corporation Server-based software architecture for digital television terminal
US7321920B2 (en) * 2003-03-21 2008-01-22 Vocel, Inc. Interactive messaging system
JP2006524473A (en) * 2003-04-03 2006-10-26 セドナ・パテント・サービシズ・エルエルシー Content notification and delivery
US20050066362A1 (en) * 2003-09-24 2005-03-24 Qwest Communications International Inc System and method for simultaneously displaying video programming and instant messaging
US8489769B2 (en) * 2003-10-02 2013-07-16 Accenture Global Services Limited Intelligent collaborative expression in support of socialization of devices
US20050132401A1 (en) * 2003-12-10 2005-06-16 Gilles Boccon-Gibod Method and apparatus for exchanging preferences for replaying a program on a personal video recorder
EP1560435A1 (en) * 2004-01-29 2005-08-03 Siemens Aktiengesellschaft Method for the support of services in an IP-based video network based on customer controlled status information
US20050210514A1 (en) * 2004-03-18 2005-09-22 Kittlaus Dag A System and method for passive viewing of media content and supplemental interaction capabilities
US7496633B2 (en) * 2004-04-23 2009-02-24 Yahoo! Inc. System and method facilitating a shared content experience using enhanced messaging including a displayable status indicator
US9998802B2 (en) * 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
BRPI0516744A2 (en) * 2004-06-07 2013-05-28 Sling Media Inc Media stream playback methods received on a network and computer program product
US20060009243A1 (en) * 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
DE102004048552A1 (en) * 2004-10-04 2006-04-13 Nec Europe Ltd. A method for providing information concerning broadcast content to a user
EP1646239A1 (en) * 2004-10-07 2006-04-12 France Telecom S.A. Method and system for transmitting a video message to a television receiver
WO2006053011A2 (en) * 2004-11-09 2006-05-18 Veveo, Inc. Method and system for secure sharing, gifting, and purchasing of content on television and mobile devices
US8270893B2 (en) * 2006-10-04 2012-09-18 Bindu Rama Rao Mobile device and server capable of supporting adhoc questionnaires
US20060123455A1 (en) * 2004-12-02 2006-06-08 Microsoft Corporation Personal media channel
US20060123127A1 (en) * 2004-12-08 2006-06-08 Evil Twin Studios, Inc. System and method for organizing online communities and virtual dwellings within a virtual environment
US8392938B2 (en) * 2004-12-21 2013-03-05 Swift Creek Systems, Llc System for providing a distributed audience response to a broadcast
US7828661B1 (en) * 2004-12-21 2010-11-09 Aol Inc. Electronic invitations for an on-line game
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
CN101147370B (en) * 2005-03-24 2010-11-03 艾利森电话股份有限公司 Method and arrangement in a communication system for delivering messages to a recipient
US20060257123A1 (en) * 2005-05-13 2006-11-16 Horozov Tzvetan T System and a method for recording a broadcast displayed on a mobile device
WO2007002284A2 (en) * 2005-06-20 2007-01-04 Airplay Network, Inc. Method of and system for managing client resources and assets for activities on computing devices
US20070043829A1 (en) * 2005-08-17 2007-02-22 Robin Dua Method and system for accessing a storage or computing device via the Internet

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430602B1 (en) * 2000-08-22 2002-08-06 Active Buddy, Inc. Method and system for interactively responding to instant messaging requests
US7114172B2 (en) * 2001-06-28 2006-09-26 Koninklijke Philips Electronics N.V. Synchronized personal video recorders
US20030158902A1 (en) * 2001-10-31 2003-08-21 Dotan Volach Multimedia instant communication system and method
US20080027909A1 (en) * 2002-11-18 2008-01-31 David Gang Buddy Share
US20060026279A1 (en) * 2004-07-28 2006-02-02 Microsoft Corporation Strategies for monitoring the consumption of resources
US20070050822A1 (en) * 2005-08-31 2007-03-01 Cable Television Laboratories, Inc. Method and system of providing shared community experience

Cited By (220)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9820001B2 (en) 1998-11-10 2017-11-14 Rovi Guides, Inc. On-line schedule system with personalization features
US20030233655A1 (en) * 2002-06-18 2003-12-18 Koninklijke Philips Electronics N.V. Method and apparatus for an adaptive stereotypical profile for recommending items representing a user's interests
US8285595B2 (en) 2006-03-29 2012-10-09 Napo Enterprises, Llc System and method for refining media recommendations
US10146840B2 (en) 2006-04-20 2018-12-04 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US8903843B2 (en) 2006-06-21 2014-12-02 Napo Enterprises, Llc Historical media recommendation service
US8327266B2 (en) 2006-07-11 2012-12-04 Napo Enterprises, Llc Graphical user interface system for allowing management of a media item playlist based on a preference scoring system
US10469549B2 (en) 2006-07-11 2019-11-05 Napo Enterprises, Llc Device for participating in a network for sharing media consumption activity
US8762847B2 (en) 2006-07-11 2014-06-24 Napo Enterprises, Llc Graphical user interface system for allowing management of a media item playlist based on a preference scoring system
US9292179B2 (en) 2006-07-11 2016-03-22 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US7970922B2 (en) 2006-07-11 2011-06-28 Napo Enterprises, Llc P2P real time media recommendations
US7680959B2 (en) 2006-07-11 2010-03-16 Napo Enterprises, Llc P2P network for providing real time media recommendations
US8583791B2 (en) 2006-07-11 2013-11-12 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US8422490B2 (en) 2006-07-11 2013-04-16 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US9003056B2 (en) 2006-07-11 2015-04-07 Napo Enterprises, Llc Maintaining a minimum level of real time media recommendations in the absence of online friends
US8805831B2 (en) 2006-07-11 2014-08-12 Napo Enterprises, Llc Scoring and replaying media items
US8090606B2 (en) 2006-08-08 2012-01-03 Napo Enterprises, Llc Embedded media recommendations
US8620699B2 (en) 2006-08-08 2013-12-31 Napo Enterprises, Llc Heavy influencer media recommendations
US20080114737A1 (en) * 2006-11-14 2008-05-15 Daniel Neely Method and system for automatically identifying users to participate in an electronic conversation
US8874655B2 (en) 2006-12-13 2014-10-28 Napo Enterprises, Llc Matching participants in a P2P recommendation network loosely coupled to a subscription service
US9071729B2 (en) 2007-01-09 2015-06-30 Cox Communications, Inc. Providing user communication
US8806532B2 (en) 2007-01-23 2014-08-12 Cox Communications, Inc. Providing a user interface
US20090049098A1 (en) * 2007-01-23 2009-02-19 Cox Communications, Inc. Providing a Social Network
US8418204B2 (en) 2007-01-23 2013-04-09 Cox Communications, Inc. Providing a video user interface
US9135334B2 (en) * 2007-01-23 2015-09-15 Cox Communications, Inc. Providing a social network
US8789102B2 (en) 2007-01-23 2014-07-22 Cox Communications, Inc. Providing a customized user interface
US8869191B2 (en) 2007-01-23 2014-10-21 Cox Communications, Inc. Providing a media guide including parental information
US9224427B2 (en) 2007-04-02 2015-12-29 Napo Enterprises LLC Rating media item recommendations using recommendation paths and/or media item usage
US9081780B2 (en) 2007-04-04 2015-07-14 Abo Enterprises, Llc System and method for assigning user preference settings for a category, and in particular a media category
US8434024B2 (en) 2007-04-05 2013-04-30 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
US8112720B2 (en) 2007-04-05 2012-02-07 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
US11303973B2 (en) 2007-04-17 2022-04-12 Intent IQ, LLC Targeted television advertisements based on online behavior
US11805300B2 (en) 2007-04-17 2023-10-31 Intent IQ, LLC System for taking action using cross-device profile information
US9813778B2 (en) 2007-04-17 2017-11-07 Intent IQ, LLC Targeted television advertisements based on online behavior
US11564015B2 (en) 2007-04-17 2023-01-24 Intent IQ, LLC Targeted television advertisements based on online behavior
US10715878B2 (en) 2007-04-17 2020-07-14 Intent IQ, LLC Targeted television advertisements based on online behavior
US10178442B2 (en) 2007-04-17 2019-01-08 Intent IQ, LLC Targeted television advertisements based on online behavior
US11589136B2 (en) 2007-04-17 2023-02-21 Intent IQ, LLC Targeted television advertisements based on online behavior
US8954883B2 (en) 2007-06-01 2015-02-10 Napo Enterprises, Llc Method and system for visually indicating a replay status of media items on a media device
US8839141B2 (en) 2007-06-01 2014-09-16 Napo Enterprises, Llc Method and system for visually indicating a replay status of media items on a media device
US8285776B2 (en) 2007-06-01 2012-10-09 Napo Enterprises, Llc System and method for processing a received media item recommendation message comprising recommender presence information
US9164993B2 (en) 2007-06-01 2015-10-20 Napo Enterprises, Llc System and method for propagating a media item recommendation message comprising recommender presence information
US8983950B2 (en) 2007-06-01 2015-03-17 Napo Enterprises, Llc Method and system for sorting media items in a playlist on a media device
US9037632B2 (en) 2007-06-01 2015-05-19 Napo Enterprises, Llc System and method of generating a media item recommendation message with recommender presence information
US9275055B2 (en) 2007-06-01 2016-03-01 Napo Enterprises, Llc Method and system for visually indicating a replay status of media items on a media device
US9448688B2 (en) 2007-06-01 2016-09-20 Napo Enterprises, Llc Visually indicating a replay status of media items on a media device
US11451591B1 (en) 2007-07-18 2022-09-20 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US10917444B1 (en) 2007-07-18 2021-02-09 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US10749914B1 (en) 2007-07-18 2020-08-18 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US8167712B2 (en) * 2007-08-08 2012-05-01 Sony Computer Entertainment America Inc. Method and apparatus for player replacement in an on-line game
US20090042646A1 (en) * 2007-08-08 2009-02-12 Bhaswar Bhanu Sarkar Method and apparatus for player replacement in an on-line game
US8360862B2 (en) * 2007-09-24 2013-01-29 Wms Gaming, Inc Integrating social contact identifiers into wagering games
US8974289B2 (en) 2007-09-24 2015-03-10 Wms Gaming, Inc. Integrating social contact identifiers into wagering games
US20100203963A1 (en) * 2007-09-24 2010-08-12 Wms Gaming, Inc. Integrating social contact identifiers into wagering games
US9208645B2 (en) 2007-09-24 2015-12-08 Bally Gaming, Inc. Integrating social contact identifiers into wagering games
US7865522B2 (en) 2007-11-07 2011-01-04 Napo Enterprises, Llc System and method for hyping media recommendations in a media recommendation system
US9060034B2 (en) 2007-11-09 2015-06-16 Napo Enterprises, Llc System and method of filtering recommenders in a media item recommendation system
US20150201240A1 (en) * 2007-11-21 2015-07-16 Rovi Guides, Inc. Maintaining a user profile based on dynamic data
US10284914B2 (en) * 2007-11-21 2019-05-07 Rovi Guides, Inc. Maintaining a user profile based on dynamic data
US8943539B2 (en) 2007-11-21 2015-01-27 Rovi Guides, Inc. Enabling a friend to remotely modify user data
US20090133069A1 (en) * 2007-11-21 2009-05-21 United Video Properties, Inc. Maintaining a user profile based on dynamic data
EP2597882A3 (en) * 2007-11-21 2014-09-10 United Video Properties, Inc. Maintaining a user profile based on dynamic data
US8856833B2 (en) * 2007-11-21 2014-10-07 United Video Properties, Inc. Maintaining a user profile based on dynamic data
US8874574B2 (en) 2007-11-26 2014-10-28 Abo Enterprises, Llc Intelligent default weighting process for criteria utilized to score media content items
US8224856B2 (en) 2007-11-26 2012-07-17 Abo Enterprises, Llc Intelligent default weighting process for criteria utilized to score media content items
US9164994B2 (en) 2007-11-26 2015-10-20 Abo Enterprises, Llc Intelligent default weighting process for criteria utilized to score media content items
US9224150B2 (en) 2007-12-18 2015-12-29 Napo Enterprises, Llc Identifying highly valued recommendations of users in a media recommendation network
US9734507B2 (en) 2007-12-20 2017-08-15 Napo Enterprise, Llc Method and system for simulating recommendations in a social network for an offline user
US8396951B2 (en) 2007-12-20 2013-03-12 Napo Enterprises, Llc Method and system for populating a content repository for an internet radio service based on a recommendation network
US9071662B2 (en) 2007-12-20 2015-06-30 Napo Enterprises, Llc Method and system for populating a content repository for an internet radio service based on a recommendation network
US8874554B2 (en) 2007-12-21 2014-10-28 Lemi Technology, Llc Turnersphere
US9275138B2 (en) 2007-12-21 2016-03-01 Lemi Technology, Llc System for generating media recommendations in a distributed environment based on seed information
US8983937B2 (en) 2007-12-21 2015-03-17 Lemi Technology, Llc Tunersphere
US9552428B2 (en) 2007-12-21 2017-01-24 Lemi Technology, Llc System for generating media recommendations in a distributed environment based on seed information
US8577874B2 (en) 2007-12-21 2013-11-05 Lemi Technology, Llc Tunersphere
US8060525B2 (en) 2007-12-21 2011-11-15 Napo Enterprises, Llc Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
US8117193B2 (en) 2007-12-21 2012-02-14 Lemi Technology, Llc Tunersphere
US9235956B2 (en) 2007-12-27 2016-01-12 Bally Gaming, Inc. Group games and rewards in wagering systems
US20100279764A1 (en) * 2007-12-27 2010-11-04 Wms Gaming, Inc. Group games and rewards in wagering systems
EP2083568A1 (en) * 2008-01-22 2009-07-29 Avaya Technology Llc Open cable application platform set-top bos (STB) personal profiles and communications applications
US10003852B2 (en) * 2008-02-25 2018-06-19 Time Warner Cable Enterprises Llc Methods and apparatus for enabling synchronized content presentations using dynamically updated playlists
US20150135242A1 (en) * 2008-02-25 2015-05-14 Time Warner Cable Enterprises Llc Methods and apparatus for enabling synchronized content presentations using dynamically updated playlists
US20090222868A1 (en) * 2008-02-29 2009-09-03 At&T Knowledge Ventures, L.P. Service for providing shared multimedia content
US7925743B2 (en) 2008-02-29 2011-04-12 Networked Insights, Llc Method and system for qualifying user engagement with a website
US20090222551A1 (en) * 2008-02-29 2009-09-03 Daniel Neely Method and system for qualifying user engagement with a website
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US9239999B2 (en) 2008-04-15 2016-01-19 Centurylink Intellectual Property Llc System and method for random voice communications through a social network
US20090259970A1 (en) * 2008-04-15 2009-10-15 Embarq Holdings Company, Llc System and Method for Random Voice Communications Through a Social Network
US8484311B2 (en) 2008-04-17 2013-07-09 Eloy Technology, Llc Pruning an aggregate media collection
US10277951B2 (en) * 2008-04-24 2019-04-30 Samsung Electronics Co., Ltd. Method of recommending broadcasting contents and recommending apparatus therefor in multimedia contents reproducing device
US20160044381A1 (en) * 2008-04-24 2016-02-11 Samsung Electronics Co., Ltd. Method of recommending broadcasting contents and recommending apparatus therefor in multimedia contents reproducing device
US8751948B2 (en) 2008-05-13 2014-06-10 Cyandia, Inc. Methods, apparatus and systems for providing and monitoring secure information via multiple authorized channels and generating alerts relating to same
US8499250B2 (en) 2008-05-13 2013-07-30 Cyandia, Inc. Apparatus and methods for interacting with multiple information forms across multiple types of computing devices
US20100122196A1 (en) * 2008-05-13 2010-05-13 Michael Wetzer Apparatus and methods for interacting with multiple information forms across multiple types of computing devices
US8578285B2 (en) 2008-05-13 2013-11-05 Cyandia, Inc. Methods, apparatus and systems for providing secure information via multiple authorized channels to authenticated users and user devices
US8595641B2 (en) 2008-05-13 2013-11-26 Cyandia, Inc. Methods, apparatus and systems for displaying and/or facilitating interaction with secure information via channel grid framework
US8832576B2 (en) 2008-05-13 2014-09-09 Cyandia, Inc. Methods, apparatus and systems for authenticating users and user devices to receive secure information via multiple authorized channels
US11627366B2 (en) 2008-08-26 2023-04-11 Opentv, Inc. Community-based recommendation engine
US20140133839A1 (en) * 2008-08-26 2014-05-15 Opentv, Inc. Community-based recommendation engine
US10433003B2 (en) * 2008-08-26 2019-10-01 Opentv, Inc. Community-based recommendation engine
US20100058417A1 (en) * 2008-08-29 2010-03-04 Embarq Holdings Company, Llc Method and system for providing a social notification for a set-top box
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US8484227B2 (en) 2008-10-15 2013-07-09 Eloy Technology, Llc Caching and synching process for a media sharing system
US9824144B2 (en) 2009-02-02 2017-11-21 Napo Enterprises, Llc Method and system for previewing recommendation queues
US9367808B1 (en) 2009-02-02 2016-06-14 Napo Enterprises, Llc System and method for creating thematic listening experiences in a networked peer media recommendation environment
US8200602B2 (en) 2009-02-02 2012-06-12 Napo Enterprises, Llc System and method for creating thematic listening experiences in a networked peer media recommendation environment
US20100250327A1 (en) * 2009-03-25 2010-09-30 Verizon Patent And Licensing Inc. Targeted advertising for dynamic groups
US10108970B2 (en) 2009-03-25 2018-10-23 Verizon Patent And Licensing Inc. Targeted advertising for dynamic groups
WO2010111078A1 (en) * 2009-03-25 2010-09-30 Verizon Patent And Licensing Inc. Targeted advertising for dynamic groups
US20170311011A1 (en) * 2009-04-03 2017-10-26 At&T Intellectual Property I, L.P. Method and Apparatus for Managing Communication Sessions
US10798431B2 (en) * 2009-04-03 2020-10-06 At&T Intellectual Property I, L.P. Method and apparatus for managing communication sessions
US9503496B2 (en) * 2009-07-08 2016-11-22 Centurylink Intellectual Property Llc System and method for a media content reconciler
US20110010431A1 (en) * 2009-07-08 2011-01-13 Embarq Holdings Company, Llc System and method for a media content reconciler
US9521453B2 (en) * 2009-09-14 2016-12-13 Tivo Inc. Multifunction multimedia device
US11653053B2 (en) 2009-09-14 2023-05-16 Tivo Solutions Inc. Multifunction multimedia device
US8510769B2 (en) 2009-09-14 2013-08-13 Tivo Inc. Media content finger print system
US9264758B2 (en) 2009-09-14 2016-02-16 Tivo Inc. Method and an apparatus for detecting media content recordings
US9648380B2 (en) 2009-09-14 2017-05-09 Tivo Solutions Inc. Multimedia device recording notification system
US9554176B2 (en) 2009-09-14 2017-01-24 Tivo Inc. Media content fingerprinting system
US8984626B2 (en) 2009-09-14 2015-03-17 Tivo Inc. Multifunction multimedia device
US20110064377A1 (en) * 2009-09-14 2011-03-17 Gharaat Amir H Multifunction Multimedia Device
US20110063317A1 (en) * 2009-09-14 2011-03-17 Gharaat Amir H Multifunction Multimedia Device
US10805670B2 (en) 2009-09-14 2020-10-13 Tivo Solutions, Inc. Multifunction multimedia device
US20110066663A1 (en) * 2009-09-14 2011-03-17 Gharaat Amir H Multifunction Multimedia Device
US10097880B2 (en) 2009-09-14 2018-10-09 Tivo Solutions Inc. Multifunction multimedia device
US9369758B2 (en) 2009-09-14 2016-06-14 Tivo Inc. Multifunction multimedia device
US20110064385A1 (en) * 2009-09-14 2011-03-17 Gharaat Amir H Multifunction Multimedia Device
EP2312846A1 (en) * 2009-09-30 2011-04-20 Alcatel Lucent Method to connect several terminals in a same game community
US20110107373A1 (en) * 2009-10-29 2011-05-05 At&T Intellectual Property I, L.P. System and Method to Facilitate Selection of Episodes of Serial Programs From a Media Service
US8701139B2 (en) * 2009-10-29 2014-04-15 At&T Intellectual Property I, L.P. System and method to facilitate selection of episodes of serial programs from a media service
US20110126257A1 (en) * 2009-11-25 2011-05-26 Embarq Holdings Company, Llc System and method for tuning a set-top box remotely via a social network
US8856855B2 (en) * 2009-11-25 2014-10-07 Centurylink Intellectual Property Llc System and method for tuning a set-top box remotely via a social network
US20110126251A1 (en) * 2009-11-25 2011-05-26 Embarq Holdings Company, Llc System and method for the exchange and storage of set-top box data
US8756646B2 (en) 2009-11-25 2014-06-17 Centurylink Intellectual Property Llc System and method for the exchange and storage of set-top box data
US8973049B2 (en) 2009-12-04 2015-03-03 Cox Communications, Inc. Content recommendations
US9781377B2 (en) 2009-12-04 2017-10-03 Tivo Solutions Inc. Recording and playback system based on multimedia content fingerprints
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US20110137976A1 (en) * 2009-12-04 2011-06-09 Bob Poniatowski Multifunction Multimedia Device
US20110185385A1 (en) * 2010-01-27 2011-07-28 Samsung Electronics Co., Ltd. Method for displaying epg information including buddy information and receiver applying the same
US9807345B2 (en) 2010-01-27 2017-10-31 Samsung Electronics Co., Ltd Method for displaying EPG information including buddy information and receiver applying the same
US8832749B2 (en) 2010-02-12 2014-09-09 Cox Communications, Inc. Personalizing TV content
US9152969B2 (en) 2010-04-07 2015-10-06 Rovi Technologies Corporation Recommendation ranking system with distrust
US8539331B2 (en) 2010-05-13 2013-09-17 Microsoft Corporation Editable bookmarks shared via a social network
US9685072B2 (en) 2010-07-23 2017-06-20 Tivo Solutions Inc. Privacy level indicator
EP2421278A3 (en) * 2010-08-16 2012-09-12 Samsung Electronics Co., Ltd. Display apparatus and display method
US8789117B2 (en) 2010-08-26 2014-07-22 Cox Communications, Inc. Content library
US8364013B2 (en) 2010-08-26 2013-01-29 Cox Communications, Inc. Content bookmarking
US9167302B2 (en) 2010-08-26 2015-10-20 Cox Communications, Inc. Playlist bookmarking
US8819726B2 (en) 2010-10-14 2014-08-26 Cyandia, Inc. Methods, apparatus, and systems for presenting television programming and related information
US8984072B2 (en) 2010-11-09 2015-03-17 Sony Corporation System and method for providing recommendations to a user in a viewing social network
US20120117144A1 (en) * 2010-11-09 2012-05-10 Sony Corporation System and method for creating a viewing social network
US8694656B2 (en) * 2010-11-09 2014-04-08 Sony Corporation System and method for creating a viewing social network
US8641501B2 (en) 2011-05-06 2014-02-04 Wms Gaming, Inc. Game of chance utilizing social network contact attributes
US9183700B2 (en) 2011-05-06 2015-11-10 Bally Gaming, Inc. Game of chance utilizing social network contact attributes
US9854318B2 (en) 2011-06-06 2017-12-26 Rovi Guides, Inc. Systems and methods for sharing interactive media guidance information
US11296962B2 (en) * 2011-06-21 2022-04-05 The Nielsen Company (Us), Llc Monitoring streaming media content
US20150195623A1 (en) * 2011-09-07 2015-07-09 Opentv, Inc. Apparatus and method for epg sorting and automatic realignment
US20130061266A1 (en) * 2011-09-07 2013-03-07 Opentv, Inc. Apparatus and method for epg sorting and automatic realignment
US9319747B2 (en) * 2011-09-07 2016-04-19 Opentv, Inc. Apparatus and method for EPG sorting and automatic realignment
US8997151B2 (en) * 2011-09-07 2015-03-31 Opentv, Inc. Apparatus and method for EPG sorting and automatic realignment
US10063930B2 (en) 2011-09-07 2018-08-28 Opentv, Inc. Apparatus and method for EPG sorting and automatic realignment
KR20130033044A (en) * 2011-09-26 2013-04-03 엘지전자 주식회사 Contents shareing method and display apparatus thereof
KR102023609B1 (en) 2011-09-26 2019-11-15 엘지전자 주식회사 Content shareing method and display apparatus thereof
US20130081089A1 (en) * 2011-09-26 2013-03-28 Soyoung KIM Contents sharing method and display apparatus using the same
US8814699B1 (en) * 2011-09-29 2014-08-26 Isaac S. Daniel Social networking roulette game system and method
EP2811750A4 (en) * 2012-03-01 2015-02-25 Huawei Device Co Ltd Set top box interaction method and associated set top box and system
EP2811750A1 (en) * 2012-03-01 2014-12-10 Huawei Device Co., Ltd. Set top box interaction method and associated set top box and system
US9301016B2 (en) 2012-04-05 2016-03-29 Facebook, Inc. Sharing television and video programming through social networking
US20140032743A1 (en) * 2012-07-30 2014-01-30 James S. Hiscock Selecting equipment associated with provider entities for a client request
US9461954B2 (en) 2012-08-31 2016-10-04 Facebook, Inc. Sharing television and video programming through social networking
US9723373B2 (en) 2012-08-31 2017-08-01 Facebook, Inc. Sharing television and video programming through social networking
US10028005B2 (en) 2012-08-31 2018-07-17 Facebook, Inc. Sharing television and video programming through social networking
US9807454B2 (en) 2012-08-31 2017-10-31 Facebook, Inc. Sharing television and video programming through social networking
US9743157B2 (en) 2012-08-31 2017-08-22 Facebook, Inc. Sharing television and video programming through social networking
US9912987B2 (en) 2012-08-31 2018-03-06 Facebook, Inc. Sharing television and video programming through social networking
US9491133B2 (en) 2012-08-31 2016-11-08 Facebook, Inc. Sharing television and video programming through social networking
US10142681B2 (en) 2012-08-31 2018-11-27 Facebook, Inc. Sharing television and video programming through social networking
US9699485B2 (en) 2012-08-31 2017-07-04 Facebook, Inc. Sharing television and video programming through social networking
US10154297B2 (en) 2012-08-31 2018-12-11 Facebook, Inc. Sharing television and video programming through social networking
US10158899B2 (en) 2012-08-31 2018-12-18 Facebook, Inc. Sharing television and video programming through social networking
US9686337B2 (en) 2012-08-31 2017-06-20 Facebook, Inc. Sharing television and video programming through social networking
US10257554B2 (en) 2012-08-31 2019-04-09 Facebook, Inc. Sharing television and video programming through social networking
US9674135B2 (en) 2012-08-31 2017-06-06 Facebook, Inc. Sharing television and video programming through social networking
US9667584B2 (en) 2012-08-31 2017-05-30 Facebook, Inc. Sharing television and video programming through social networking
US10405020B2 (en) 2012-08-31 2019-09-03 Facebook, Inc. Sharing television and video programming through social networking
US20190289354A1 (en) 2012-08-31 2019-09-19 Facebook, Inc. Sharing Television and Video Programming through Social Networking
US10425671B2 (en) 2012-08-31 2019-09-24 Facebook, Inc. Sharing television and video programming through social networking
US9110929B2 (en) 2012-08-31 2015-08-18 Facebook, Inc. Sharing television and video programming through social networking
US9578390B2 (en) 2012-08-31 2017-02-21 Facebook, Inc. Sharing television and video programming through social networking
US9549227B2 (en) 2012-08-31 2017-01-17 Facebook, Inc. Sharing television and video programming through social networking
US10536738B2 (en) 2012-08-31 2020-01-14 Facebook, Inc. Sharing television and video programming through social networking
US9171017B2 (en) 2012-08-31 2015-10-27 Facebook, Inc. Sharing television and video programming through social networking
US9497155B2 (en) 2012-08-31 2016-11-15 Facebook, Inc. Sharing television and video programming through social networking
US9660950B2 (en) 2012-08-31 2017-05-23 Facebook, Inc. Sharing television and video programming through social networking
US9854303B2 (en) 2012-08-31 2017-12-26 Facebook, Inc. Sharing television and video programming through social networking
US9201904B2 (en) 2012-08-31 2015-12-01 Facebook, Inc. Sharing television and video programming through social networking
US9386354B2 (en) 2012-08-31 2016-07-05 Facebook, Inc. Sharing television and video programming through social networking
US9992534B2 (en) 2012-08-31 2018-06-05 Facebook, Inc. Sharing television and video programming through social networking
WO2014036362A1 (en) * 2012-08-31 2014-03-06 Facebook. Inc. Sharing television and video programming through social networking
US8904480B2 (en) 2012-11-29 2014-12-02 International Business Machines Corporation Social authentication of users
US8914848B2 (en) 2012-11-29 2014-12-16 International Business Machines Corporation Social authentication of users
WO2014196960A1 (en) * 2013-06-04 2014-12-11 Thomson Licensing Viral tuning method
US10110541B2 (en) * 2013-10-17 2018-10-23 International Business Machines Corporation Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window
CN103607656A (en) * 2013-11-19 2014-02-26 四川长虹电器股份有限公司 Method capable of realizing one-key sharing of content played through intelligent television or set top box at present
US11659244B2 (en) 2014-02-14 2023-05-23 Pluto Inc. Methods and systems for generating and providing program guides and content
US11265604B2 (en) * 2014-02-14 2022-03-01 Pluto Inc. Methods and systems for generating and providing program guides and content
US11659245B2 (en) 2014-02-14 2023-05-23 Pluto Inc. Methods and systems for generating and providing program guides and content
US11627375B2 (en) 2014-02-14 2023-04-11 Pluto Inc. Methods and systems for generating and providing program guides and content
US11395038B2 (en) * 2014-02-14 2022-07-19 Pluto Inc. Methods and systems for generating and providing program guides and content
US10593222B1 (en) * 2014-05-01 2020-03-17 Grokker Inc. Video filming and discovery system
US20200252691A1 (en) * 2015-11-10 2020-08-06 Thomson Licensing Apparatus and method for concurrent video viewing with user-added realtime content
US11425437B2 (en) 2018-05-09 2022-08-23 Pluto Inc. Methods and systems for generating and providing program guides and content
US11849165B2 (en) 2018-05-09 2023-12-19 Pluto Inc. Methods and systems for generating and providing program guides and content
US11533527B2 (en) 2018-05-09 2022-12-20 Pluto Inc. Methods and systems for generating and providing program guides and content
US11463741B2 (en) 2019-11-21 2022-10-04 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
US11178433B2 (en) 2019-11-21 2021-11-16 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
US11729434B2 (en) 2019-11-21 2023-08-15 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
US11297052B1 (en) * 2019-12-30 2022-04-05 Snap Inc. Password protecting selected message content
US20220294774A1 (en) * 2019-12-30 2022-09-15 Snap Inc. Password protecting selected message content
US11799846B2 (en) * 2019-12-30 2023-10-24 Snap Inc. Password protecting selected message content

Also Published As

Publication number Publication date
US8230456B2 (en) 2012-07-24
US20170289586A1 (en) 2017-10-05
US9686590B2 (en) 2017-06-20
US9848246B2 (en) 2017-12-19
US20060271961A1 (en) 2006-11-30
US20060271997A1 (en) 2006-11-30
US20150172729A1 (en) 2015-06-18
US8943538B2 (en) 2015-01-27
US20060271960A1 (en) 2006-11-30

Similar Documents

Publication Publication Date Title
US9848246B2 (en) System and method for tagging content and delivering the tag to buddies of a given user
US20060271953A1 (en) System and method for delivering personalized advertisements
CN104936038B (en) For delivering multiple contents in television environment and providing the frame interacted with content
US8402506B2 (en) Informational alert messaging for digital home services
US20060184579A1 (en) Framework for providing ancillary content in a television environment
US8661485B2 (en) Set top box device and method of distributing multimedia content
US8949899B2 (en) Collaborative recommendation system
US20100306708A1 (en) Systems and methods for handling profiles in a community
US20090094656A1 (en) System, method, and apparatus for connecting non-co-located video content viewers in virtual TV rooms for a shared participatory viewing experience
US20060174277A1 (en) Networked video devices
CN101199204A (en) Framework for delivering a plurality of content and providing for interaction with the same in a television environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: YAHOO! INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JACOBY, RONALD;O'KANE, BRENDA;SIGNING DATES FROM 20080318 TO 20080408;REEL/FRAME:020770/0791

Owner name: YAHOO! INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JACOBY, RONALD;O'KANE, BRENDA;REEL/FRAME:020770/0791;SIGNING DATES FROM 20080318 TO 20080408

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: YAHOO HOLDINGS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO! INC.;REEL/FRAME:042963/0211

Effective date: 20170613

AS Assignment

Owner name: OATH INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO HOLDINGS, INC.;REEL/FRAME:045240/0310

Effective date: 20171231

AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON MEDIA INC.;REEL/FRAME:057453/0431

Effective date: 20210801

AS Assignment

Owner name: VERIZON MEDIA INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OATH INC.;REEL/FRAME:066361/0331

Effective date: 20201005