The present disclosure relates to a collaborative playback session for a group of users at different physical locations and more specifically relates to a system and method for selecting a media item for a collaborative playback session for a group of users at different physical locations.
Social networking services and related features are becoming increasingly popular. What is desired is a system and method that enables users at different locations to participate in a collaborative playback session and that enables these users to collaboratively select or influence the media item selected for the collaborative playback session.
A system and method are disclosed for enabling a distributed group of users to collaboratively select a media item for a collaborative playback session. In one embodiment, a distributed group of users for a collaborative playback session is formed, where the distributed group of users includes a number of users located at a number of geographically distributed user sites. Each user site includes one or more media controllers having access to media content and one or more renderers that operate to render the media content. In the preferred embodiment, the media content is video content such as, for example, broadcast television content, video on demand content from a television service provider, video on demand content from an Internet source, locally stored video content, or the like. A distributed aggregate guide that includes a listing of media content accessible to the media controllers at all of the user sites is generated and utilized by users at the user sites to suggest media items for the collaborative playback session. Based on the suggestions of the users, a media item for the collaborative playback session is selected. Playback of the selected media item is then effected at the user sites to thereby provide the collaborative playback session.
Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
The user site 12 includes one or more media controllers 20, one or more renderers 22, and a media broker 24 connected via a local network 26. The local network 26 is preferably a wired or wireless Local Area Network (LAN) such as, for example, a WiFi or IEEE 802.11x network. Preferably, the user site 12 is a person's home, where the media controllers 20 and renderers 22 are located in the person's home. For example, the media controllers 20 and the renderers 22 may include a media controller 20 and a renderer 22 in a first room of the home, a renderer 22 located in a second room of the home, a media controller 20 located in a third room of the home, and a media controller 20 and a renderer 22 located in a fourth room of the home.
The media controllers 20 are generally devices that operate as sources of media content at the user site 12. For this discussion, the media content sourced by the media controllers 20 is video content. However, the present disclosure is not limited thereto. The media content sourced by the media controllers 20 may be, for example, movies, television programs, video clips, home movies, or the like. The media content sourced by the media controllers 20 may be stored locally at the media controllers 20 or may be obtained from remote sources. More specifically, the media content sourced by the media controllers 20 may be locally stored video content such as, for example, television content (i.e., television programs or movies) broadcast by a television service provider and recorded by the media controllers 20 (e.g., television content recorded on a Digital Video Recorder (DVR)), television content purchased and downloaded to the media controllers 20 from an Internet-based service (e.g., television programs downloaded from the iTunes® store), movies purchased and downloaded to the media controllers 20 from an Internet-based service (e.g., movies downloaded from the iTunes® store), or the like. In addition or alternatively, the media content sourced by the media controllers 20 may be video on demand content such as, for example, movies or television programs that are provided on-demand from a television service provider, streaming video content from an Internet-based streaming video service (e.g., Hulu, Netflix®, CBS.com, or the like), or the like.
In one specific embodiment, the media controllers 20 are devices that operate as Digital Living Network Alliance (DLNA) digital media servers. However, the present disclosure is not limited thereto. Exemplary types of media controllers 20 are set-top boxes that have access to live and/or on-demand television content from terrestrial or satellite television networks; personal computers that have access to stored video content and/or Internet-based streaming video content; DVRs that have access to stored video content such as, for example, stored television content; Apple TV® devices; gaming consoles (e.g., PlayStation 3®) that have access to Internet-based video content (e.g., Netflix streaming video service, Hulu, or CBS.com); network storage devices (e.g., a Network Attached Storage (NAS) device); or the like.
The renderers 22 are generally devices that operate to provide playback or rendering of video content from the media controllers 20. In one embodiment, video content may be streamed from any media controller 20 at the user site 12 to any renderer 22 at the user site 12 via the local network 26. The video content may be streamed directly from the media controller 20 to the renderer 22 or streamed through the media broker 24. In one specific embodiment, the renderers 22 are devices that operate as DLNA digital media players or digital media renderers. However, the present disclosure is not limited thereto. Exemplary types of renderers 22 are televisions, gaming consoles, set-top boxes, personal computers, or the like. Note that while the media controllers 20 and the renderers 22 are illustrated separately for clarity and ease of discussion, it should be appreciated that a single device may operate as both a media controller 20 and a renderer 22 and in some cases a media broker 24. For example, a personal computer may operates both as a media controller 20 that operates as a source of video content for the renderers 22 and as a renderer 22 that provides playback or rendering of video content from the media controllers 20.
The media broker 24 is preferably implemented in software and is hosted either by a separate device at the user site 12 or one of the existing devices at the user site 12. For example, the media broker 24 may be hosted by a separate computer at the user site 12. Alternatively, one of the media controllers 20 may be a personal computer, and the media broker 24 may be hosted by that personal computer. As discussed below, in one embodiment, the media broker 24 operates to maintain a local aggregate guide that includes a listing of all of the media content accessible to the media controllers 20 and therefore available for playback or rendering at the renderers 22.
Just as the user site 12 includes the media controllers 20, the renderers 22, and the media broker 24 communicatively coupled by the local network 26, the user site 14 includes one or more media controllers 28, one or more renderers 30, and a media broker 32 connected via a local network 34. The details of the media controllers 28, the renderers 30, the media broker 32, and the local network 34 are the same as that provided above for the corresponding components at the user site 12. As such, the details are not repeated. Likewise, the user site 16 includes one or more media controllers 36, one or more renderers 38, and a media broker 40 connected via a local network 42. Again, the details of the media controllers 36, the renderers 38, the media broker 40, and the local network 42 are the same as that provided above for the corresponding components at the user site 12. As such, the details are not repeated. Further, the user site 18 includes one or more media controllers 44, one or more renderers 46, and a media broker 48 connected via a local network 50. Again, the details of the media controllers 44, the renderers 46, the media broker 48, and the local network 50 are the same as that provided above for the corresponding components at the user site 12. As such, the details are not repeated.
Lastly, the media brokers 24, 32, 40, and 48 at the user sites 12 through 18, respectively, are communicatively coupled via a network 52. Preferably, the network 52 is a distributed public network such as, for example, the Internet. As discussed below in detail, in one embodiment, the media brokers 24, 32, 40, and 48 exchange their local aggregate guides, or filtered versions thereof, with one another. Each of the media brokers 24, 32, 40, and 48 then aggregates the local aggregate guides for the user sites 12 through 18 to form a distributed aggregate guide for the user sites 12 through 18. In another embodiment, one of the media brokers 24, 32, 40, and 48 operates as a master media broker. Using the media broker 24 as an example, the media broker 24, when operating as the master media broker, obtains the local aggregate guides for the user sites 14 through 18 (or filtered versions thereof) and aggregates the local aggregate guides for the user sites 14 through 18 with the local aggregate guide for the user site 12 to form the distributed aggregate guide. In either embodiment, users at the user sites 12 through 18 are then enabled to select media items to suggest for a collaborative playback session from the distributed aggregate guide. Based on the suggestions from the users, a media item is selected for the collaborative playback session. The media brokers 24, 32, 40, and 48 then cause playback of the selected media item at the user sites 12 through 18 to provide the collaborative playback session.
The aggregation engine 56 operates to aggregate, or merge, the local guides of the media controllers 20 to form the local aggregate guide 58 for the user site 12. The local aggregate guide 58 may be implemented as, for example, a list of media items and, for each media item, a list of media controllers 20 from which the media item is accessible. In addition, for time restricted media items such as live broadcast television content, the local aggregate guide 58 may include timing information that identifies times at which those media items are accessible to the media controllers 20 (e.g., times at which the media items will be broadcast). The local aggregate guide client 60 generally operates to serve local aggregate guide and media content requests from the renderers 22, as described below in detail.
The DAG client 62 generally operates to obtain the distributed aggregate guide 64, which is an aggregate of the local aggregate guide 58 of the user site 12 (or a filtered version thereof) and local aggregate guides of the other user sites 14 through 18 (or filtered versions thereof). The local user data 66 includes user preferences of the user(s) of the user site 12 where the user preferences may be used to filter the local aggregate guide 58 prior to aggregation with the local aggregate guides of the other user sites 14 through 18 to form the distributed aggregate guide 64. In addition or alternatively, the user preferences may include user preferences that are used to personalize the distributed aggregate guide 64 when displayed to the users of the user site 12. The suggestion queues 68 include a suggestion queue for each user to participate in a collaborative playback session (i.e., each user in a distributed group of users for a collaborative playback session). As discussed below, the suggestion queue of a user includes a list of media items selected by the corresponding user from the distributed aggregate guide 64 as media items to suggest for the collaborative playback session.
The media broker 24 then identifies one of the media controllers 20 that can serve the content request (step 2006). Specifically, the media controller 20 identified to serve the content request is one of the media controllers 20 enabled to source the desired media item at the time of the content request. The media broker 24 then returns a response to the renderer 22 that includes media controller information for the media controller 20 identified for serving the content request (step 2008). The media controller information includes information that enables the renderer 22 to request the desired media item from the media controller 20 such as, for example, an Internet Protocol (IP) address of the media controller 20 and any credentials needed to access the media controller 20 (e.g., a password). Next, the renderer 22 sends a content request for the desired media item to the media controller 20 via the local network 26 (step 2010). In response, the media controller 20 streams the desired media item to the renderer 22 (step 2012).
In an alternative embodiment, the local aggregate guide 58, or a portion thereof, returned to the renderer 22 in step 2002 may include information identifying the media controllers 20 from which the media items are accessible. Then, once the desired media item is selected at the renderer 22, the renderer 22 may use the information in the local aggregate guide 58 to identify the media controller 20 from which the desired media item is accessible and then send a request for the desired media item to that media controller 20. In this manner, the renderer 22 is not required to contact the media broker 24 to determine which media controller 20 is able to source the desired media item.
The media broker 24, and more specifically the DAG client 62 of the media broker 24, filters the local aggregate guide 58 for the user site 12 to provide a filtered version of the local aggregate guide 58 to share with the other media brokers 32, 40, and 48 (step 3002). Note that step 3002 is optional. In one embodiment, the local aggregate guide 58 may be filtered to remove entries for any media items for which inclusion in the local aggregate guide 58 or the resulting distributed aggregate guide 64 would violate Digital Rights Management (DRM), copyright, or other legal restrictions placed on the media items. In addition or alternatively, the local aggregate guide 58 may be filtered based on one or more filtering criteria included in the user preferences of the user(s) of the user site 12. The filtering criteria may include any type of criteria that defines a subset of the local aggregate guide 58 to be included in or excluded from the filtered version of the local aggregate guide 58. For example, the filtering criteria may be such that entries for home movies are not included in the filtered version of the local aggregate guide 58. As another example, the filtering criteria may be such that entries for video content that may potentially be objectionable to other users (e.g., R rated movies) are not included in the filtered version of the local aggregate guide 58. The media broker 24 then sends the filtered version of the local aggregate guide 58 to the other media brokers 32, 40, and 48 at the user sites 14, 16, and 18 of the other users in the distributed playback group that are to participate in the collaborative playback session via the network 52 (step 3004).
In a similar manner, the media broker 32 filters the local aggregate guide of the user site 14 and sends the filtered version of the local aggregate guide of the user site 14 to the other media brokers 24, 40, and 48 (steps 3006 and 3008). Likewise, the media broker 40 filters the local aggregate guide of the user site 16 and sends the filtered version of the local aggregate guide of the user site 16 to the other media brokers 24, 32, and 48 (steps 3010 and 3012). The media broker 48 filters the local aggregate guide of the user site 18 and sends the filtered version of the local aggregate guide of the user site 18 to the other media brokers 24, 32, and 40 (steps 3014 and 3016). Like with the local aggregate guide 58 of the user site 12, filtering of the local aggregate guides of the user sites 14, 16, and 18 by the media brokers 32, 40, and 48, respectively, is optional.
The media broker 24, and more specifically the DAG client 62 of the media broker 24, then aggregates the filtered versions of the local aggregate guides of the other user sites 14, 16, and 18 received from the other media brokers 32, 40, and 48 with the filtered version of the local aggregate guide 58 of the user site 12 to form the distributed aggregate guide 64 (step 3018). In this embodiment, the DAG client 62 filters the distributed aggregate guide 64 (step 3020). More specifically, the DAG client 62 may filter the distributed aggregate guide 64 to remove content that is not accessible at all of the user sites 12 through 18. For example, if a particular video item or group of video items included in the distributed aggregate guide 64 are not accessible to any of the media controllers 28 at the user site 14, then the entry for that particular video item or group of video items may be removed from the distributed aggregate guide 64 or, alternatively, flagged within the distributed aggregate guide 64.
The DAG client 62 displays the distributed aggregate guide 64 to the user(s) at the user site 12 at one or more of the renderers 22 (step 3022). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 12. For example, the DAG client 62 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 12. In addition or alternatively, the DAG client 62 of the media broker 24 may personalize the distributed aggregate guide 64 for the user site 12 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 12 such as, for example, quality of the versions of the media items accessible at the user site 12, whether the media items are accessible at the user site 12, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 12, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 12 but for which one or more of the media controllers 20 at the user site 12 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 12 via a Graphical User Interface (GUI) (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
In a similar manner, the media broker 32 aggregates the filtered versions of the local aggregate guides of the other user sites 12, 16, and 18 received from the other media brokers 24, 40, and 48 with the filtered version of the local aggregate guide of the user site 14 to form the distributed aggregate guide 64 for the user site 14 (step 3024). Notably, the same distributed aggregate guide 64 is formed at each of the user sites 12 through 18. However, the distributed aggregate guide 64 is preferably personalized when displayed to users at the user sites 12 through 18. In this embodiment, the media broker 32 filters the distributed aggregate guide 64 (step 3026). More specifically, the media broker 32 may filter the distributed aggregate guide 64 to remove content that is not accessible at all of the user sites 12 through 18.
The media broker 32 displays the distributed aggregate guide 64 to the user(s) at the user site 14 at one or more of the renderers 30 (step 3028). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 14. For example, the media broker 32 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 14. In addition or alternatively, the media broker 32 may personalize the distributed aggregate guide 64 for the user site 14 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 14 such as, for example, quality of the versions of the media items accessible at the user site 14, whether the media items are accessible at the user site 14, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 14, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 14 but for which one or more of the media controllers 28 at the user site 14 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 14 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
Likewise, the media broker 40 aggregates the filtered versions of the local aggregate guides of the other user sites 12, 14, and 18 received from the other media brokers 24, 32, and 48 with the filtered version of the local aggregate guide of the user site 16 to form the distributed aggregate guide 64 for the user site 16 (step 3030). In this embodiment, the media broker 40 filters the distributed aggregate guide 64 (step 3032). More specifically, the media broker 40 may filter the distributed aggregate guide 64 to remove content that is not accessible at all of the user sites 12 through 18.
The media broker 40 displays the distributed aggregate guide 64 to the user(s) at the user site 16 at one or more of the renderers 38 (step 3034). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 16. For example, the media broker 40 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 16. In addition or alternatively, the media broker 40 may personalize the distributed aggregate guide 64 for the user site 16 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 16 such as, for example, quality of the versions of the media items accessible at the user site 16, whether the media items are accessible at the user site 16, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 16, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 16 but for which one or more of the media controllers 36 at the user site 16 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 16 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
Likewise, the media broker 48 aggregates the filtered versions of the local aggregate guides of the other user sites 12, 14, and 16 received from the other media brokers 24, 32, and 40 with the filtered version of the local aggregate guide of the user site 18 to form the distributed aggregate guide 64 for the user site 18 (step 3036). In this embodiment, the media broker 48 filters the distributed aggregate guide 64 (step 3038). More specifically, the media broker 48 may filter the distributed aggregate guide 64 to remove content that is not accessible at all of the user sites 12 through 18.
The media broker 48 displays the distributed aggregate guide 64 to the user(s) at the user site 18 at one or more of the renderers 46 (step 3040). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 18. For example, the media broker 48 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 18. In addition or alternatively, the media broker 48 may personalize the distributed aggregate guide 64 for the user site 18 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 18 such as, for example, quality of the versions of the media items accessible at the user site 18, whether the media items are accessible at the user site 18, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 18, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not current accessible at the user site 18 but for which one or more of the media controllers 44 at the user site 18 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 18 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
The media broker 32 filters the local aggregate guide of the user site 14 in a manner similar to that described above with respect to step 4002 and sends the filtered version of the local aggregate guide of the user site 14 to the media broker 24, which serves as the master media broker (steps 4004 and 4006). Likewise, the media broker 40 filters the local aggregate guide of the user site 16 and sends the filtered version of the local aggregate guide of the user site 16 to the media broker 24 (steps 4008 and 4010). The media broker 48 filters the local aggregate guide of the user site 18 and sends the filtered version of the local aggregate guide of the user site 18 to the media broker 24 (steps 4012 and 4014). Like with the local aggregate guide 58 of the user site 12, filtering of the local aggregate guides of the user sites 14, 16, and 18 by the media brokers 32, 40, and 48, respectively, is optional.
The media broker 24, and more specifically the DAG client 62 of the media broker 24, then aggregates the filtered versions of the local aggregate guides of the other user sites 14, 16, and 18 received from the other media brokers 32, 40, and 48 with the filtered version of the local aggregate guide 58 of the user site 12 to form the distributed aggregate guide 64 (step 4016). In this embodiment, the DAG client 62 filters the distributed aggregate guide 64 (step 4018). More specifically, the DAG client 62 may filter the distributed aggregate guide 64 to remove content that is not accessible at all of the user sites 12 through 18. For example, if a particular video item or group of video items included in the distributed aggregate guide 64 are not accessible to any of the media controllers 28 at the user site 14, then the entry for that particular video item or group of video items may be removed from the distributed aggregate guide 64 or, alternatively, flagged within the distributed aggregate guide 64. The media broker 24, and more specifically the DAG client 62, then sends the filtered version of the distributed aggregate guide 64 to the other media brokers 32, 40, and 48 via the network 52 (steps 4020 through 4024).
The DAG client 62 of the media broker 24 displays the distributed aggregate guide 64 to the user(s) at the user site 12 at one or more of the renderers 22 (step 4026). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 12. For example, the DAG client 62 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 12. In addition or alternatively, the DAG client 62 of the media broker 24 may personalize the distributed aggregate guide 64 for the user site 12 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 12 such as, for example, quality of the versions of the media items accessible at the user site 12, whether the media items are accessible at the user site 12, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 12, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 12 but for which one or more of the media controllers 20 at the user site 12 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 12 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
Likewise, the media broker 32 displays the filtered version of the distributed aggregate guide 64 to the user(s) at the user site 14 via one or more of the renderers 30 (step 4028). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 14. For example, the media broker 32 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 14. In addition or alternatively, the media broker 32 may personalize the distributed aggregate guide 64 for the user site 14 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 14 such as, for example, quality of versions of the media items accessible at the user site 14, whether the media items are accessible at the user site 14, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 14, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 14 but for which one or more of the media controllers 28 at the user site 14 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 14 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
Likewise, the media broker 40 displays the filtered version of the distributed aggregate guide 64 to the user(s) at the user site 16 via one or more of the renderers 38 (step 4030). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 16. For example, the media broker 40 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 16. In addition or alternatively, the media broker 40 may personalize the distributed aggregate guide 64 for the user site 16 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 16 such as, for example, quality of versions of the media items accessible at the user site 16, whether the media items are accessible at the user site 16, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 16, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 16 but for which one or more of the media controllers 36 at the user site 16 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 16 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
Likewise, the media broker 48 displays the filtered version of the distributed aggregate guide 64 to the user(s) at the user site 18 via one or more of the renderers 46 (step 4032). Preferably, the distributed aggregate guide 64 is displayed in a manner that is personalized for the user(s) at the user site 18. For example, the media broker 48 may personalize the distributed aggregate guide 64 by prioritizing the media items in the distributed aggregate guide 64 in the display based on the user preferences of the user(s) of the user site 18. In addition or alternatively, the media broker 48 may personalize the distributed aggregate guide 64 for the user site 18 by including indicators of characteristics of the media items in the distributed aggregate guide 64 for the user site 18 such as, for example, quality of versions of the media items accessible at the user site 18, whether the media items are accessible at the user site 18, or the like. In addition, if the distributed aggregate guide 64 includes media items that are not accessible at the user site 18, the distributed aggregate guide 64 may be personalized by providing indicators for any media items that are not currently accessible at the user site 18 but for which one or more of the media controllers 44 at the user site 18 may acquire access from another source (e.g., an online movie rental service).
As discussed below in detail, the distributed aggregate guide 64 is displayed to the user(s) at the user site 18 via a GUI (e.g., an interactive menu) where the user(s) is enabled to browse the distributed aggregate guide 64 and select one or more media items to suggest for the collaborative playback session. In addition, the user(s) may be enabled to select one or more media items to block from the collaborative playback session (i.e., select one or more media items that are to be prevented from being selected as the media item for the collaborative playback session). Still further, the user(s) may be enabled to preview media items in the distributed aggregate guide 64 if such previews are available.
The DAG client 62 of the media broker 24 then determines whether the media item suggestion is for a media item that has been blocked (step 5002). As noted above, the users in the distributed group may be enabled to select media items from the distributed aggregate guide 64 to block. When a user blocks a media item, the distributed aggregate guide 64 may be updated to reflect that the media item has been blocked. As one exemplary alternative, the blocked media item may be removed from the distributed aggregate guide 64. If the media item suggestion is for a media item that has been blocked, the process returns to step 5000 and is repeated for the next received media item suggestion.
If the media item suggestion is not for a blocked media item, the DAG client 62 of the media broker 24 determines whether the media item suggestion is received from a local user (i.e., a user at the user site 12) or a remote user (i.e., a user at one of the other user sites 14 through 18) (step 5004). If the media item suggestion is from a local user, the DAG client 62 updates the suggestion queue 68 of the local user to include the media item suggestion (step 5006). Note that the media item suggestion may also include a ranking, or priority, of the media item suggestion within the suggestion queue 68 of the local user, where the ranking is defined by the local user. The DAG client 62 also updates the GUI, or display, presented to the user(s) at the user site 12 to reflect the media item suggestion from the local user (step 5008). For example, in one embodiment, the GUI, or display, presented to the user(s) at the user site 12 includes both the distributed aggregate guide 64 and the suggestion queues 68 of the users in the distributed group for the collaborative playback session. In this case, the suggestion queue 68 of the local user presented in the GUI, or display, is updated to include the media item suggestion received in step 5000. The DAG client 62 also sends the media item suggestion received from the local user to the other media brokers 32, 40, and 48 (step 5010).
Returning to step 5004, if the media item suggestion is from a remote user, the DAG client 62 updates the suggestion queue 68 of the corresponding remote user (step 5012). The DAG client 62 also updates the GUI, or display, presented to the user(s) at the user site 12 to reflect the media item suggestion from the remote user (step 5014). For example, in one embodiment, the GUI, or display, presented to the user(s) at the user site 12 includes both the distributed aggregate guide 64 and the suggestion queues 68 of the users in the distributed group for the collaborative playback session. In this case, the suggestion queue 68 of the remote user presented in the GUI, or display, is also updated to include the media item suggestion received in step 5000.
At this point, it should be noted that an auto-record feature may be provided. More specifically, if a media item suggestion is received for a media item that is currently being broadcast live or will soon begin broadcasting live, the DAG client 62 may initiate recording of the media item at the user sites 12 through 18. In this manner, if the media item is subsequently selected for the distributed playback session, playback can begin at the start of the media item (or at least nearer to the start of the media item).
Next, whether proceeding from step 5010 or 5014, the DAG client 62 determines whether it is done with reception of media item suggestions for the collaborative playback session (step 5016). Reception of media item suggestions is preferably complete when either (1) all of the users in the distributed group for the collaborative playback session have indicated that they are finished making suggestions or (2) the top ranked media item suggestion for all of the users in the distributed group for the collaborative playback session is the same. If reception of media item suggestions is not complete, the process returns to step 5000 and is repeated for the next received media item suggestion.
Once reception of media item suggestions is complete, the DAG client 62 selects a media item for the collaborative playback session based on the media item suggestions received from the users in the distributed group for the collaborative playback session and notifies the other media brokers 32, 40, and 48 of the selected media item (step 5018). More specifically, in one embodiment, the DAG client 62 determines whether all of the users in the distributed group have ranked the same media item suggestion as their top media item suggestion in their suggestion queues 68. If so, the media item identified by that media item suggestion is selected as the media item for the collaborative playback session. Otherwise, the DAG client 62 selects the media item for the collaborative playback session from the media item suggestions in the suggestion queues 68 of the users in the distributed group based on a predetermined algorithm. For example, the DAG client 62 may select the media item for the collaborative playback session from the media item suggestions in the suggestion queues 68 of the users in the distributed group based on one or more of the following criteria:
Lastly, the DAG client 62 begins playback of the selected media item at one or more of the renderers 22 at the user site 12 (step 5020). Note, however, that in one embodiment the DAG client 62 may notify the user(s) at the user site 12 of the selected media item and begin playback upon acceptance by the user(s). More specifically, in one embodiment, the distributed aggregate guide 64 includes only media items that are accessible at all of the user sites 12 through 18. In this case, the DAG client 62 determines which media controller 20 at the user site 12 has access to the selected media item and then instructs one or more of the renderers 22 to begin playback of the selected media item from the media controller 20 having access to the media item. Also, as a result of the notifications sent to the other media brokers 32, 40, and 48 in step 5018, the other media brokers 32, 40, and 48 effect, or cause, playback of the selected media item at the other user sites 14 through 18 in a similar manner. As a result, the collaborative playback session is provided wherein the users in the distributed group are consuming (e.g., viewing) the same media item at the same time. During the collaborative playback session, the users in the distributed group may interact via, for example, a chat feature provided by the system 10.
It should be noted that while the discussion herein focuses on the embodiment where the media controllers 20, 28, 36, and 44 have access to media content stored locally or from remote sources (e.g., television network or Internet source), the system 10 may additionally or alternatively enable site-to-site streaming of media content. For example, if a media item is selected for a collaborative playback session and the media controller 20 at the user site 12 has access to the media item but the media controllers 28, 36, and 44 at the other user sites 14 through 18 do not have access to the media item, the media controller 20 may stream the media item, or otherwise deliver the media item, to the renderers 30, 38, and 46 at the user sites 14 through 18 for playback for the collaborative playback session. This site-to-site streaming may be direct or through the media brokers 24, 32, 40, and 48. As another alternative, the media controller 20 may stream or otherwise deliver the media item to the media controllers 28, 36, and 44, which may then stream the media item to the renderers 30, 38, and 46 at the user sites 14 through 18. Note that the need for streaming may affect whether those media items are selected for the distributed playback session. For example, if the bandwidth required to stream a media item is greater than the available bandwidth, the media item may not be selected for playback in the distributed playback session. Media items that require streaming may be marked within the GUI presented by the DAG client 62. Also note that site-to-site streaming may be provided via a multicast stream or separate unicast streams.
It should also be noted that each of the media brokers 24, 32, 40, and 48 perform the process of
The GUI 70 also includes suggestion queue display areas 74, 76, 78, and 80 for the users in the distributed group. Note that while a single suggestion queue is illustrated for each user site 12 through 18 in this example, the present disclosure is not limited thereto. Each user site 12 through 18 may have one or more users each with his or her own suggestion queue. The suggestion queue display area 74 displays the suggestion queue 68 for the user “Kate Doss,” the suggestion queue display area 76 displays the suggestion queue 68 for the user “Cate Blanco,” the suggestion queue display area 78 displays the suggestion queue 68 for the user “Lucky Lopez,” and the suggestion queue display area 80 displays the suggestion queue 68 for the user “Claire Haines.” A user may select a media item in the suggestion queue 68 of another user to add the media item to his suggestion queue 68, block the media item, preview the media item, or comment on the media item suggestion. Adding a comment would cause the comment to be sent to the other user via, for example, a chat feature provided by the DAG clients of the media brokers 24, 32, 40, and 48 or some third-party chat or messaging service (e.g., Instant Messaging or text-messaging service). A user may select a media item in his suggestion queue 68 to adjust the ranking of the media item in his suggestion queue 68 or remove the media item from his suggestion queue 68.
In this embodiment, the GUI 70 also includes a DAG “Daemon” suggestion queue display area 82. The DAG “Daemon” suggestion queue display area 82 includes a number of media item suggestions generated by the DAG client 62 for the users in the distributed group. The media item suggestions may be generated based on the media item suggestions made by the users in the distributed group, viewing or play histories of the users in the distributed group, the user preferences of the users in the distributed group, or other interactions between the users in the distributed group with one another or the corresponding DAG clients. The suggestions in the DAG “Daemon” suggestion queue display area 82 are updated as the users make new media suggestions, block media items, or the like. The users can select the media items in the DAG “Daemon” suggestion queue display area 82 to add the media items to their own suggestion queues 68, block the media items, or preview the media items.
Lastly, the GUI 70 includes a group chat area 84 in which the DAG client 62 enables a group chat session between the users in the distributed group. Using the group chat session, the users in the group are enabled to chat about their media item suggestions, urge others to agree to their suggestions, or the like.
Once the user is finished making suggestions, the user selects a “done” button 86 to lock-in his media item suggestions. In one embodiment, once all of the users in the distributed group have locked-in their media item suggestions, the DAG client 62 selects a media item for the collaborative playback session for the distributed group based on the media item suggestions of the users.
The systems and methods described herein have substantial opportunity for variation without departing from the scope of the present disclosure. For example, while the media items described herein are preferably video items, the present disclosure is not limited thereto. Other types of media items such as, for example, audio items may be used. Further, the systems and methods described herein may be used for a collaborative gaming session wherein a video game is selected for a gaming session for a group of distributed users. The video game may be an online game, a video game played on a gaming console, or the like. As another example, while the discussion above selects one media item for the collaborative playback session, any number of one or more media items may be selected for the collaborative playback session.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of provisional patent application Ser. No. 61/258,946, filed Nov. 6, 2009, the disclosure of which is hereby incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4468732 | Raver | Aug 1984 | A |
4694490 | Harvey et al. | Sep 1987 | A |
4704725 | Harvey et al. | Nov 1987 | A |
4827447 | Croes et al. | May 1989 | A |
4956774 | Shibamiya et al. | Sep 1990 | A |
4965825 | Harvey et al. | Oct 1990 | A |
5109414 | Harvey et al. | Apr 1992 | A |
5115501 | Kerr | May 1992 | A |
5121478 | Rao | Jun 1992 | A |
5223924 | Strubbe | Jun 1993 | A |
5233654 | Harvey et al. | Aug 1993 | A |
5335277 | Harvey et al. | Aug 1994 | A |
5347632 | Filepp et al. | Sep 1994 | A |
5353121 | Young et al. | Oct 1994 | A |
5367686 | Fisher et al. | Nov 1994 | A |
5404510 | Smith et al. | Apr 1995 | A |
5412808 | Bauer | May 1995 | A |
5446891 | Kaplan et al. | Aug 1995 | A |
5526034 | Hoarty et al. | Jun 1996 | A |
5528304 | Cherrick et al. | Jun 1996 | A |
5530852 | Meske, Jr. et al. | Jun 1996 | A |
5550576 | Klosterman | Aug 1996 | A |
5579055 | Hamilton et al. | Nov 1996 | A |
5585865 | Amano et al. | Dec 1996 | A |
5587734 | Lauder et al. | Dec 1996 | A |
5592660 | Yokota et al. | Jan 1997 | A |
5594507 | Hoarty | Jan 1997 | A |
5594509 | Florin et al. | Jan 1997 | A |
5596373 | White et al. | Jan 1997 | A |
5598536 | Slaughter, III et al. | Jan 1997 | A |
5600378 | Wasilewski | Feb 1997 | A |
5630119 | Aristides et al. | May 1997 | A |
5652613 | Lazarus et al. | Jul 1997 | A |
5666645 | Thomas et al. | Sep 1997 | A |
5694176 | Bruette et al. | Dec 1997 | A |
5695400 | Fennell, Jr. et al. | Dec 1997 | A |
5696897 | Dong | Dec 1997 | A |
5701451 | Rogers et al. | Dec 1997 | A |
5710884 | Dedrick | Jan 1998 | A |
5712129 | Ford | Jan 1998 | A |
5712979 | Graber et al. | Jan 1998 | A |
5717860 | Graber et al. | Feb 1998 | A |
5719786 | Nelson et al. | Feb 1998 | A |
5727129 | Barrett et al. | Mar 1998 | A |
5737599 | Rowe et al. | Apr 1998 | A |
5754938 | Herz et al. | May 1998 | A |
5754939 | Herz et al. | May 1998 | A |
5758257 | Herz et al. | May 1998 | A |
5761662 | Dasan | Jun 1998 | A |
5774664 | Hidary et al. | Jun 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5784058 | LaStrange et al. | Jul 1998 | A |
5784608 | Meske, Jr. et al. | Jul 1998 | A |
5793438 | Bedard | Aug 1998 | A |
5801747 | Bedard | Sep 1998 | A |
5801753 | Eyer et al. | Sep 1998 | A |
5812123 | Rowe et al. | Sep 1998 | A |
5813007 | Nielsen | Sep 1998 | A |
5819301 | Rowe et al. | Oct 1998 | A |
5854897 | Radziewicz et al. | Dec 1998 | A |
5867495 | Elliott et al. | Feb 1999 | A |
5887243 | Harvey et al. | Mar 1999 | A |
5893091 | Hunt et al. | Apr 1999 | A |
5907843 | Cleron et al. | May 1999 | A |
5923362 | Klosterman | Jul 1999 | A |
5945988 | Williams et al. | Aug 1999 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
5977964 | Williams et al. | Nov 1999 | A |
5986656 | Crutcher et al. | Nov 1999 | A |
5990890 | Etheredge | Nov 1999 | A |
6005563 | White et al. | Dec 1999 | A |
6034683 | Mansour et al. | Mar 2000 | A |
6072486 | Sheldon et al. | Jun 2000 | A |
6119098 | Guyot et al. | Sep 2000 | A |
6141058 | Lagoni et al. | Oct 2000 | A |
6317881 | Shah-Nazaroff et al. | Nov 2001 | B1 |
6349297 | Shaw et al. | Feb 2002 | B1 |
6351467 | Dillon | Feb 2002 | B1 |
6388714 | Schein et al. | May 2002 | B1 |
6434621 | Pezzillo et al. | Aug 2002 | B1 |
6442598 | Wright et al. | Aug 2002 | B1 |
6459427 | Mao et al. | Oct 2002 | B1 |
6476827 | Porter | Nov 2002 | B1 |
6486892 | Stern | Nov 2002 | B1 |
6614890 | Perlman et al. | Sep 2003 | B2 |
6647389 | Fitch et al. | Nov 2003 | B1 |
6735701 | Jacobson | May 2004 | B1 |
6760916 | Holtz et al. | Jul 2004 | B2 |
6772433 | LaJoie et al. | Aug 2004 | B1 |
6823344 | Isensee et al. | Nov 2004 | B1 |
6986154 | Price et al. | Jan 2006 | B1 |
7096486 | Ukai et al. | Aug 2006 | B1 |
7149511 | Bachner, III et al. | Dec 2006 | B1 |
7185355 | Ellis et al. | Feb 2007 | B1 |
7197713 | Stern | Mar 2007 | B2 |
7373650 | Rodriguez et al. | May 2008 | B1 |
7395514 | Stern | Jul 2008 | B2 |
7454777 | Nishikawa et al. | Nov 2008 | B1 |
7571452 | Gutta | Aug 2009 | B2 |
7634466 | Rose et al. | Dec 2009 | B2 |
7689510 | Lamkin et al. | Mar 2010 | B2 |
7779097 | Lamkin et al. | Aug 2010 | B2 |
7818350 | New et al. | Oct 2010 | B2 |
7849486 | Russ et al. | Dec 2010 | B2 |
7895625 | Bryan et al. | Feb 2011 | B1 |
7987490 | Ansari et al. | Jul 2011 | B2 |
8046697 | Stern | Oct 2011 | B2 |
8060525 | Svendsen et al. | Nov 2011 | B2 |
8112720 | Curtis | Feb 2012 | B2 |
20010023401 | Weishut et al. | Sep 2001 | A1 |
20020038387 | Fuiks et al. | Mar 2002 | A1 |
20020053078 | Holtz et al. | May 2002 | A1 |
20020053081 | Griggs | May 2002 | A1 |
20020174428 | Agnihotri et al. | Nov 2002 | A1 |
20020175931 | Holtz et al. | Nov 2002 | A1 |
20020186233 | Holtz et al. | Dec 2002 | A1 |
20030038840 | Stern | Feb 2003 | A1 |
20030048299 | Stern | Mar 2003 | A1 |
20030048808 | Stahl et al. | Mar 2003 | A1 |
20030051246 | Wilder et al. | Mar 2003 | A1 |
20030052916 | Stern | Mar 2003 | A1 |
20030084452 | Ryan et al. | May 2003 | A1 |
20030088410 | Geidl et al. | May 2003 | A1 |
20030093793 | Gutta | May 2003 | A1 |
20030184598 | Graham | Oct 2003 | A1 |
20030200336 | Pal et al. | Oct 2003 | A1 |
20030237093 | Marsh | Dec 2003 | A1 |
20040003393 | Gutta et al. | Jan 2004 | A1 |
20040003400 | Carney et al. | Jan 2004 | A1 |
20040025180 | Begeja et al. | Feb 2004 | A1 |
20040049787 | Maissel et al. | Mar 2004 | A1 |
20040060061 | Parker | Mar 2004 | A1 |
20040068739 | Russ et al. | Apr 2004 | A1 |
20040078807 | Fries et al. | Apr 2004 | A1 |
20040078814 | Allen | Apr 2004 | A1 |
20040098754 | Vella et al. | May 2004 | A1 |
20040131336 | Matsuno et al. | Jul 2004 | A1 |
20040221308 | Cuttner et al. | Nov 2004 | A1 |
20040268403 | Krieger et al. | Dec 2004 | A1 |
20050022241 | Griggs | Jan 2005 | A1 |
20050138658 | Bryan | Jun 2005 | A1 |
20050149987 | Boccon-Gibod et al. | Jul 2005 | A1 |
20050155052 | Ostrowska et al. | Jul 2005 | A1 |
20050183110 | Anderson | Aug 2005 | A1 |
20050187895 | Paya et al. | Aug 2005 | A1 |
20050193015 | Logston et al. | Sep 2005 | A1 |
20050251822 | Knowles et al. | Nov 2005 | A1 |
20050251827 | Ellis et al. | Nov 2005 | A1 |
20060020973 | Hannum et al. | Jan 2006 | A1 |
20060031203 | Rosenbaum et al. | Feb 2006 | A1 |
20060035610 | Potrebic | Feb 2006 | A1 |
20060117354 | Schutte et al. | Jun 2006 | A1 |
20060143068 | Calabria | Jun 2006 | A1 |
20060150214 | Ramraz et al. | Jul 2006 | A1 |
20060159109 | Lamkin et al. | Jul 2006 | A1 |
20060161635 | Lamkin et al. | Jul 2006 | A1 |
20060161953 | Walter et al. | Jul 2006 | A1 |
20060168126 | Costa-Requena et al. | Jul 2006 | A1 |
20060212906 | Cantalini | Sep 2006 | A1 |
20060218581 | Ostrowska et al. | Sep 2006 | A1 |
20060253417 | Brownrigg et al. | Nov 2006 | A1 |
20060259926 | Scheelke et al. | Nov 2006 | A1 |
20060271997 | Jacoby et al. | Nov 2006 | A1 |
20060282851 | Errico et al. | Dec 2006 | A1 |
20060282852 | Purpura et al. | Dec 2006 | A1 |
20070011702 | Vaysman | Jan 2007 | A1 |
20070058924 | Yeh | Mar 2007 | A1 |
20070101368 | Jacoby et al. | May 2007 | A1 |
20070112935 | Espelien | May 2007 | A1 |
20070143128 | Tokarev et al. | Jun 2007 | A1 |
20070143260 | Markov et al. | Jun 2007 | A1 |
20070157237 | Cordray et al. | Jul 2007 | A1 |
20070169148 | Oddo et al. | Jul 2007 | A1 |
20070250896 | Parker et al. | Oct 2007 | A1 |
20070288960 | Akiyama | Dec 2007 | A1 |
20070294249 | Feyaerts | Dec 2007 | A1 |
20080034043 | Gandhi et al. | Feb 2008 | A1 |
20080034276 | Ficco | Feb 2008 | A1 |
20080086746 | King | Apr 2008 | A1 |
20080092056 | Walter et al. | Apr 2008 | A1 |
20080134043 | Georgis et al. | Jun 2008 | A1 |
20080134053 | Fischer | Jun 2008 | A1 |
20080163059 | Craner | Jul 2008 | A1 |
20080168495 | Roberts et al. | Jul 2008 | A1 |
20080195239 | Rotholtz et al. | Aug 2008 | A1 |
20080276279 | Gossweiler et al. | Nov 2008 | A1 |
20090015657 | Wong | Jan 2009 | A1 |
20090024910 | Kamat et al. | Jan 2009 | A1 |
20090055868 | Wehmeyer et al. | Feb 2009 | A1 |
20090150806 | Evje et al. | Jun 2009 | A1 |
20090158337 | Stiers et al. | Jun 2009 | A1 |
20090165046 | Stallings et al. | Jun 2009 | A1 |
20090165053 | Thyagarajan et al. | Jun 2009 | A1 |
20090254557 | Jordan | Oct 2009 | A1 |
20090293088 | Mukerji et al. | Nov 2009 | A1 |
20090310030 | Litwin et al. | Dec 2009 | A1 |
20100037274 | Meuninck et al. | Feb 2010 | A1 |
20100070995 | Pan | Mar 2010 | A1 |
20100077435 | Kandekar et al. | Mar 2010 | A1 |
20100094934 | Svendsen et al. | Apr 2010 | A1 |
20100114857 | Edwards et al. | May 2010 | A1 |
20100115554 | Drouet et al. | May 2010 | A1 |
20100131977 | San Jule et al. | May 2010 | A1 |
20100162172 | Aroner | Jun 2010 | A1 |
20100162321 | Bradley | Jun 2010 | A1 |
20100186029 | Kim et al. | Jul 2010 | A1 |
20100186034 | Walker | Jul 2010 | A1 |
20100199312 | Chang et al. | Aug 2010 | A1 |
20110125989 | Amidon et al. | May 2011 | A1 |
20110191318 | Gilbey et al. | Aug 2011 | A1 |
20120072851 | Stern | Mar 2012 | A1 |
20120117471 | Amidon et al. | May 2012 | A1 |
20120117581 | Curtis et al. | May 2012 | A1 |
20120117595 | Svendsen et al. | May 2012 | A1 |
20120117598 | Pons et al. | May 2012 | A1 |
Number | Date | Country |
---|---|---|
WO 9717793 | May 1997 | WO |
Entry |
---|
Maes, P., “Agents that Reduce Work and Information Overload,” Communications of the Association for Computer Machinery, vol. 37, No. 7, Jul. 1994, pp. 31-40 and 146, 11 pages. |
Selker, T., “Coach: A Teaching Agent that Learns,” Communications of the Association for Computer Machinery, vol. 37, No. 7, pp. 92-99, Jul. 1994, 8 pages. |
Jameson, A. et al., “Enhancing Mutual Awareness in Group Recommender Systems,” in B. Mobasher & S.S. Anand (Eds.), Proceedings of the Int. Joint Conference on Artificial Intelligence 2003 Workshop on Intelligent Techniques for Web Personalization, Aug. 9-15, 2003, Acapulco, Mexico, 8 pages. |
Ali-Hasan, Noor F., “Exploring Social Media Scenarios for the Television,” Proceedings of the International Conference on Weblogs and Social Media 2008 (ICWSM 2008), Mar. 30-Apr. 2, 2008, Seattle, Washington, copyright 2008, Association for the Advancement of Artificial Intelligence (AAAI) Press, Menlo Park, California, 8 pages. |
“GeoCities and RealNetworks Team Up to Enable More Than 3 Million Homesteaders To Become Internet Broadcasters,” PRNewswire, Company Press Release, RealNetworks, Inc., Mar. 1, 1999, copyright 1999, PRNewswire, printed Mar. 1, 1999, 4 pages. |
“i-Watch DV-CUBE,” brochure and technical specification, date unknown but obtained on or prior to May 19, 2009, 2 pages. |
“Microsoft and Wink Communications Collaborate to Speed Adoption of Interactive Television Based on the ATVEF Specification,” Microsoft TV Solutions News, Jun. 3, 1999, at <http://www.microsoft.com/tv/news/ne—wink—01.asp>, copyright 1998-1999, Microsoft Corporation, printed Jun. 15, 1999, 2 pages. |
“Microsoft Announces Television Software Platform: Microsoft TV Platform Adaptation Kit (TVPAK),” PressPass, Jun. 14, 1999, at <http://www.microsoft.com/PressPass/press/1999/Jun99/TVPAKpr.htm>, copyright 1999, Microsoft Corporation, printed Jun. 15, 1999, 10 pages. |
“Microsoft's TV Platform Makes Broadband Services a Reality for Cable Industry,” PressPass, Jun. 14, 1999, at <http://www.microsoft.com/PressPass/features/1999/06-14ncta.htm>, copyright 1999, Microsoft Corporation, printed Jun. 15, 1999, 4 pages. |
“Streaming Media—iParty Conference Call Available at A/V Newswire,” Business Wire, Mar. 1, 1999, copyright 1999, Business Wire, printed Mar. 1, 1999, 1 page. |
Abstract, “The Art of Human-Computer Interface Design,” eds. Brenda Laurel and S. Joy Mountford, copyright 1990, Addison-Wesley Longman Publishing Col, Inc., Boston, Massachusetts, at <http://dl.acm.org/citation.cfm?id=575201>, from the ACM Digital Library, printed Jun. 26, 2012, 2 pages. |
Davis, Jim, “The Miracle Box,” CNET News.com, Nov. 17, 1998, copyright 1995-1998, CNET, Inc., printed Nov. 20, 1998, 4 pages. |
McNeill, Alison, “TrustedOpinion.com Offers Netflix Subscribers More Relevant Movie Recommendations,” at <http://www.prlog.org/10029611-trustedopinion-com-offers-netflix-subscribers-more-releva . . .>, Sep. 5, 2007, Palo Alto, California, printed May 15, 2009, 2 pages. |
Number | Date | Country | |
---|---|---|---|
20120117488 A1 | May 2012 | US |
Number | Date | Country | |
---|---|---|---|
61258946 | Nov 2009 | US |