System and method for providing remote access to interactive media guidance application
Through general remote access services and user equipment feature recognition technology, the problem of incompatibility of the remote access system of the existing technology of the cluster top box is solved, and unified remote access management of multiple cluster top boxes is realized, and the system flexibility and compatibility is improved.
Patent Information
- Application Number
- JP2025011505
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2007-04-20
- Filing Date
- 2025-01-27
- Publication Date
- 2025-04-11
AI Technical Summary
The prior art is difficult to provide a remote access system and method that is compatible with different types and brands of top boxes, and users need to connect multiple remote access servers to access multiple top boxes.
The general remote access service is adopted to identify the appropriate user equipment format through the user equipment's characteristic information, and convert user requests into action requests compatible with different top-end boxes, and transmit them to the top-end boxes or intermediate server for execution.
It realizes unified remote access management of multiple incompatible top-end boxes, simplifies user operations and improves system flexibility and compatibility.
Smart Images

Figure 2025061845000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THEINVENTION This invention relates generally to media systems, and more particularly to systems and methods for providing remote access to interactive media guidance applications. [Background technology]
[0002] Recent advances in media communications technology allow users to access interactive media guidance applications implemented on user equipment without being physically close to the user equipment. For example, a user of an interactive media guidance application in some systems may remotely schedule recordings of television programs. In such systems, the user's set-top box is linked to a remote program guide access server through a communications network. When on the go, the user may connect through a device such as a personal computer to a remote access server (or an intermediate server such as a web server) and remotely schedule recordings via the interactive media guidance application on the user's home set-top box.
[0003] In some cases, for example, when a user has more than one television in the home, each with a set-top box, a user may desire to be able to access more than one set-top box. Each set-top box may be remotely accessible; however, a remote access server for one set-top box may not be compatible with the interactive media guidance application of another set-top box (e.g., if the boxes have different application program interfaces), and a user may need to connect to multiple remote access servers to access multiple set-top boxes. In some cases, a user may prefer to use a particular remote access server to access the set-top boxes, in which case it would be desirable for the remote access server to be able to access different types of set-top boxes, regardless of the set-top box's vendor, model, or other characteristics. Summary of the Invention [Problem to be solved by the invention]
[0004] In view of the foregoing, it would be desirable to provide a remote access system and method that supports algorithms and techniques for facilitating communication of remotely initiated requests for transmission to an interactive media guidance application. In particular, it would be desirable to provide a remote access system that is capable of communicating requests to multiple interactive media guidance applications. [Means for solving the problem]
[0005] In accordance with the principles of the present invention, systems and methods are provided for remotely accessing user equipment implementing an interactive media guidance application. In particular, a universal remote access service is provided to enable communication and management of multiple user equipment devices, such as digital video recorders, which may be from multiple vendors. A user may use the universal remote access service to send requests, such as scheduling a recording, or reminders, or setting user preferences, directly to the user equipment device (e.g., a digital video recorder located at an addressable Internet Protocol address) or to an intermediate server, such as a service provider backend, that communicates with the user equipment device. The universal remote access service may include a web server for receiving user requests, which are cross-referenced with action requests that are in a format compatible with the user equipment device and / or the intermediate server. The universal remote access service may maintain a lookup table that cross-references user requests with action requests in multiple formats, each compatible with a different user equipment device. A particular format may be selected based on characteristics of the user equipment device, such as its vendor and / or model.
[0006] According to one aspect of the invention, a method for remotely accessing a user equipment includes receiving a user equipment identification indicating at least one characteristic of the user equipment, and receiving a user request from the user device indicating an instruction for the user equipment. The user request is cross-referenced with an action request in a user equipment format selected from a plurality of formats compatible with the user equipment. The action request in the user equipment format is transmitted for receipt by the user equipment to enable execution of the indicated instruction. For example, the present invention provides the following: (Item 1) 1. A method for remotely accessing user equipment implementing an interactive media guidance application, comprising: receiving user equipment identification information indicating at least one characteristic of the user equipment; receiving a user request from a user device, the user request indicating instructions for the user equipment; cross-referencing the user request with an action request in a user device format selected from a plurality of formats compatible with the user device; transmitting the action request in the user equipment format for receipt by the user equipment to enable execution of the indicated instructions; The method includes: (Item 2) 2. The method of claim 1, wherein the interactive media guidance application implemented on the user equipment causes the user equipment to execute the indicated instructions. (Item 3) Item 14. The method of item 1, wherein the interactive media guidance application implemented on the user equipment includes an interactive television program guide. (Item 4) 4. The method of claim 3, wherein the directed instructions instruct the user equipment to perform at least one interactive television program guide function provided by the interactive television program guide. (Item 5) 2. The method of claim 1, wherein the user equipment identification information is received from the user device. (Item 6) 2. The method of claim 1, further comprising selecting the user equipment format from the plurality of formats based at least in part on the at least one characteristic of the user equipment. (Item 7) 2. The method of claim 1, wherein the at least one characteristic of the user equipment includes a user account provided by a provider of the interactive media guidance application implemented on the user equipment. (Item 8) 2. The method of claim 1, wherein the at least one characteristic of the user equipment includes at least one of a vendor of the user equipment and a model of the user equipment. (Item 9) 2. The method of claim 1, wherein the user equipment comprises at least one of a set-top box and a digital video recorder. (Item 10) 2. The method of claim 1, wherein transmitting the action request includes transmitting the action request to at least one of a media service provider and the user equipment. (Item 11) 11. The method of claim 10, wherein the user equipment format corresponds to at least one of the media service provider and the user equipment. (Item 12) 11. The method of claim 10, wherein the media service provider is selected from the group consisting of a cable service provider and a satellite service provider. (Item 13) 2. The method of claim 1, wherein the user request is in a format compatible with a first application program interface, and the user device format is compatible with a second application program interface that is different from the first application program interface. (Item 14) 2. The method of claim 1, wherein the user device is selected from the group consisting of a personal computer, a notebook computer, a wireless device, and a mobile phone. (Item 15) 2. The method of claim 1, wherein the user request is in a format corresponding to a remote access server provider that provides remote access to a first user equipment and a second user equipment different from the first user equipment. (Item 16) 2. The method of claim 1, wherein the user request is in a format compatible with a communication protocol of the user device and a computer network communicating with the user equipment. (Item 17) 17. The method of claim 16, wherein the user request is in a format compatible with the HyperText Transfer Protocol and the computer network is publicly accessible. (Item 18) 20. The method of claim 16, wherein the at least one characteristic of the user equipment includes an addressable Internet Protocol address associated with the user equipment. (Item 19) Item 17. The method of item 16, wherein the user device accesses a website that enables transmission of the user request. (Item 20) 2. The method of claim 1, further comprising transmitting a notification to the user device acknowledging receipt of the action request by the user equipment. (Item 21) 2. The method of claim 1, further comprising maintaining a lookup table that cross-references user requests with the plurality of formats including the user device format, wherein the cross-referencing of the user requests occurs via the lookup table. (Item 22) 2. The method of claim 1, wherein the user request is related to a program. (Item 23) 23. The method of claim 22, wherein the indicated instructions instruct the user equipment to schedule a recording of the program. (Item 24) 23. The method of claim 22, wherein the indicated instructions instruct the user equipment to set a reminder for the program. (Item 25) 23. The method of claim 22, wherein transmitting the action request includes transmitting at least one of a program name, a channel of the program, and a start time of the program. (Item 26) 23. The method according to claim 22, wherein the user device generates the user request using first program information from a first program information database, using second program information from a second program information database different from the first program information database for transmitting the action request; detecting a difference between the first program information and the second program information; retrieving alternative schedule information for the program in response to detecting the discrepancy; transmitting the alternative schedule information for receipt by the user equipment and enabling execution of the indicated instructions; The method further comprising: (Item 27) 27. The method of claim 26, wherein the step of searching for alternative schedule information for the program includes transmitting a search request that is processed using the second program information database. (Item 28) 1. A method for remotely scheduling recording on a video recorder, comprising: receiving information identifying the video recorder; receiving a user request to record a program from a remote user device generating a recording request according to a generic format; in response to receiving a user request, generating a recording request according to a video recorder format selected based on information identifying the video recorder, the recording request corresponding to the user request and including information identifying the program; transmitting the recording request for receipt by the video recorder; The method includes: (Item 29) 29. The method of claim 28, wherein the video recorder implements an interactive program guide. (Item 30) 29. The method of claim 28, wherein the information identifying the video recorder includes a vendor of the video recorder and a model of the video recorder. (Item 31) 29. The method of claim 28, wherein the information identifying the program includes at least one of a program name, a channel of the program, and a start time of the program. (Item 32) 29. The method of claim 28, wherein the user request is in a format compatible with a first application program interface, and the video recorder format is compatible with a second application program interface different from the first application program interface. (Item 33) 29. The method of claim 28, wherein the video recorder is a home video recorder. (Item 34) 1. A system for remotely accessing user equipment implementing an interactive media guidance application, comprising: receiving user equipment identification information indicating at least one characteristic of the user equipment; a communication circuit configured to receive a user request from a user device, the user request indicating an instruction for the user equipment; a processor configured to cross-reference the user request with an action request in a user equipment format selected from a plurality of formats compatible with the user equipment, and to cause the communications circuitry to transmit the action request in the user equipment format for receipt by the user equipment and to enable execution of the indicated instructions; A system comprising: (Item 35) 35. The system of claim 34, wherein the interactive media guidance application implemented on the user equipment causes the user equipment to execute the indicated instructions. (Item 36) 35. The system of claim 34, wherein the interactive media guidance application implemented on the user equipment includes an interactive television program guide. (Item 37) 40. The system of claim 36, wherein the directed instructions instruct the user equipment to perform at least one interactive television program guide feature provided by the interactive television program guide. (Item 38) Item 35. The system of item 34, wherein the user equipment identification information is received from the user device. (Item 39) 35. The system of claim 34, wherein the processor is configured to select the user equipment format from the plurality of formats based at least in part on the at least one characteristic of the user equipment. (Item 40) 35. The system of claim 34, wherein the at least one characteristic of the user equipment includes a user account provided by a provider of the interactive media guidance application implemented on the user equipment. (Item 41) 35. The system of claim 34, wherein the at least one characteristic of the user equipment includes at least one of a vendor of the user equipment and a model of the user equipment. (Item 42) Item 35. The system of item 34, wherein the user equipment comprises at least one of a set-top box and a digital video recorder. (Item 43) 35. The system of claim 34, wherein the processor is configured to cause the communications circuitry to transmit the action request to at least one of a media service provider and the user equipment. (Item 44) 44. The system of claim 43, wherein the user equipment format corresponds to at least one of the media service provider and the user equipment. (Item 45) 44. The system of claim 43, wherein the media service provider is selected from the group consisting of a cable service provider and a satellite service provider. (Item 46) Item 35. The system of item 34, wherein the user request is in a format compatible with a first application program interface, and the user device format is compatible with a second application program interface that is different from the first application program interface. (Item 47) Item 35. The system of item 34, wherein the user device is selected from the group consisting of a personal computer, a notebook computer, a wireless device, and a mobile phone. (Item 48) Item 35. The system of item 34, wherein the user request is in a format corresponding to a remote access server provider that provides remote access to a first user equipment and a second user equipment different from the first user equipment. (Item 49) Item 35. The system of item 34, wherein the user request is in a format compatible with a communication protocol of the user device and a computer network communicating with the user equipment. (Item 50) 50. The system of claim 49, wherein the user request is in a format compatible with the HyperText Transfer Protocol and the computer network is publicly accessible. (Item 51) 50. The system of claim 49, wherein the at least one characteristic of the user equipment includes an addressable Internet Protocol address associated with the user equipment. (Item 52) 50. The system of claim 49, wherein the user device accesses a website that enables transmission of the user request. (Item 53) 35. The system of claim 34, wherein the processor is configured to cause the communications circuitry to transmit a notification to the user device acknowledging receipt of the action request by the user equipment. (Item 54) Item 35. The system of item 34, wherein the processor is configured to maintain a lookup table that cross-references a user request with the plurality of formats including the user device format, and the processor is configured to cross-reference the user request via the lookup table. (Item 55) Item 35. The system of item 34, wherein the user request is related to a program. (Item 56) 56. The system of claim 55, wherein the instructions instruct the user equipment to schedule a recording of the program. (Item 57) 56. The system of claim 55, wherein the directed instructions instruct the user equipment to set a reminder for the program. (Item 58) 56. The system of claim 55, wherein the processor is configured to cause the communications circuitry to transmit at least one of a program name, a channel of the program, and a start time of the program for receipt by the user equipment. (Item 59) The user device generates the user request using first program information from a first program information database; The processor, generating the action request using second program information from a second program information database different from the first program information database; Detecting a difference between the first program information and the second program information; retrieving alternative schedule information for the program in response to detecting the discrepancy; configured to cause the communications circuitry to transmit the alternative schedule information for receipt by the user equipment and enable execution of the indicated instructions. Item 56. The system according to item 55. (Item 60) 60. The system of claim 59, wherein the processor is configured to generate a search request that is processed using the second program information database. (Item 61) 1. A system for remotely scheduling recording on a video recorder, comprising: a communications circuit configured to receive information identifying the video recorder and to receive a user request to record a program from a remote user device; a processor configured to generate a recording request corresponding to the user request and including information identifying the program in accordance with a video recorder format selected based on information identifying the video recorder, and to cause the communications circuitry to transmit the recording request for receipt by the video recorder; A system comprising: (Item 62) Item 62. The system of item 61, wherein the video recorder implements an interactive television program guide. (Item 63) Item 62. The system of item 61, wherein the information identifying the video recorder includes a vendor of the video recorder and a model of the video recorder. (Item 64) Item 62. The system of item 61, wherein the information identifying the program includes at least one of a program name, a channel of the program, and a start time of the program. (Item 65) Item 62. The system of item 61, wherein the user request is in a format compatible with a first application program interface, and the video recorder format is compatible with a second application program interface that is different from the first application program interface. (Item 66) Item 62. The system of item 61, wherein the video recorder is a home video recorder. [Brief description of the drawings]
[0007] The above and other objects and advantages of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout.
[0008] [Figure 1] FIG. 1 shows an illustrative display screen that may be used to provide a media guidance application listing in accordance with one embodiment of the present invention. [Diagram 2]FIG. 2 shows an illustrative display screen that may be used to provide a media guidance application listing in accordance with one embodiment of the present invention. [Diagram 3] FIG. 3 shows an exemplary user equipment device in accordance with one embodiment of the present invention. [Figure 4] FIG. 4 is a diagram of an exemplary cross-platform interactive media system according to one embodiment of the present invention. [Diagram 5] FIG. 5 is an exemplary web-based remote access service screen according to one embodiment of the present invention. [Figure 6] FIG. 6 is an illustrative web-based remote access service screen according to one embodiment of the present invention. [Figure 7A] FIG. 7A is an illustrative web-based remote access service screen according to one embodiment of the present invention. [Figure 7B] FIG. 7B is an illustrative web-based remote access service screen according to one embodiment of the present invention. [Figure 8A] FIG. 8A illustrates a program action request and response data set. [Figure 8B] FIG. 8B illustrates a program action request and response data set. [Figure 9A] FIG. 9A is a flowchart of an illustrative process of steps involved in providing remote access to an interactive media guidance application according to various embodiments of the present invention. [Figure 9B] FIG. 9B is an exemplary lookup table that can be used with the process shown in FIG. 9A. [Figure 10A] FIG. 10A is a flowchart of an illustrative process of steps involved in providing remote access to an interactive media guidance application according to various embodiments of the present invention. [Figure 10B] FIG. 10B is a flowchart of an illustrative process of steps involved in providing remote access to an interactive media guidance application according to various embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] In any given media delivery system, the amount of media available to users can be enormous. As a result, many users desire media guidance in the form of an interface that allows users to efficiently navigate media selections and easily identify desired media. Applications that provide such guidance are referred to herein as interactive media guidance applications, but may also be referred to as media guidance applications or guidance applications.
[0010] Interactive media guidance applications may take a variety of forms depending on the media for which guidance is provided. One typical type of media guidance application is an interactive television program guide. Interactive television program guides (sometimes called electronic program guides) are well-known guidance applications that enable users to navigate and search among different types of media content, including, among other things, traditional television programming (delivered via traditional broadcast, cable, satellite, Internet, or other means), pay programming, on-demand programming (such as video-on-demand (VOD) systems), Internet content (e.g., streaming media, downloadable media, webcasts, etc.), and other types of media or video content. Guidance applications also enable users to navigate and search among content related to video content, including, for example, video clips, articles, advertisements, chat sessions, games, etc.
[0011] With the advent of the Internet, mobile computing, and high-speed wireless networks, users are accessing media on other devices than they could previously, such as personal computers (PCs) and other devices such as handheld computers, personal digital assistants (PDAs), mobile phones, or other mobile devices. On these devices, users can navigate and search through the same media that is available through televisions. As a result, media guidance is needed on these devices. Guidance may be provided for media content viewable only through televisions, for media content viewable only through one or more of these devices, or for media content viewable on televisions and one or more of these devices. Media guidance applications may be provided as online applications (i.e., provided on a website) or as stand-alone applications or clients on handheld computers, PDAs, mobile phones, or other mobile devices. Various devices and platforms on which media guidance applications may be implemented are described in detail below.
[0012] One of the functions of a media guidance application is to provide media listings or media information to a user. FIGS. 1, 2, and 5-7 show exemplary display screens that may be used to provide media guidance, and in particular, media listings. The display screens shown in FIGS. 1, 2, and 5-7 may be implemented on any suitable device or platform. Although the displays of FIGS. 1, 2, and 5-7 are illustrated as full-screen displays, they may be fully or partially overlaid on the media content being displayed. A user may indicate a desire to access media information by selecting a selectable option provided on the display screen (e.g., a menu option, a list option, an icon, a hyperlink, etc.) or by pressing a dedicated button (e.g., a "guide" button) on a remote control device or other user input interface or device. In response to a user's instructions, the media guidance application may provide display screens with media information organized in one of several manners, such as by time and channel in a grid, by time, by channel, by type of media, by category (e.g., movies, sports, news, kids, or other programming categories), or by other defined, user-defined, or other organization criteria.
[0013] 1 shows an exemplary grid program listings display 100 arranged by time and channel, although different types of media content may be accessed in a single display. Display 100 may include a grid 102 with (1) columns of channel / media type identifiers 104, with each channel / media type identifier (column cell) identifying a different channel or type of media available, and (2) rows of time identifiers 106, with each time identifier (row cell) identifying a time slot for a program. Grid 102 also includes cells of program listings, such as program listing 108, with each listing providing the name of the program offered on the listing's associated channel and time. A user input device allows a user to select a program listing by moving highlight region 110. Information related to a program listing selected by highlight region 110 is provided in program information region 112. Region 112 may include, for example, the program name, program description, the time the program is offered (if applicable), the channel the program is broadcast on (if applicable), the program's rating, and other desired information.
[0014] In addition to providing access to scheduled programming that is provided according to a schedule, the media guidance application also provides access to non-scheduled programming that is not provided according to a schedule. Non-scheduled programming includes content from different types of media sources, including on-demand media content (e.g., VOD), Internet content (e.g., streaming media, downloadable media, etc.), locally stored media content (e.g., video content stored on a digital video recorder (DVR), digital video disc (DVD), videocassette, compact disc (CD), etc.), or other media content that is not time-of-day related. On-demand content may include both movies and original media content provided by a particular media provider (e.g., HBO On Demand, which provides "The Sopranos" and "Curb Your Enthusiasm"). HBO ON DEMAND, THE SOPRANOS, and CURB YOUR ENTHUSIASM are registered trademarks of Home Box Office, Inc. Internet content may include content available on-demand as streaming or downloadable media, through web events such as chat sessions or webcasts, or via an Internet website or other Internet access (e.g., FTP).
[0015] Grid 102 may provide lists for non-scheduled programming, including on-demand listings 114, recorded media listings 116, and Internet content listings 118. Displaying combined listings for content from different types of media sources may be referred to as a "mixed media" display. Various permutations of the types of listings that can be displayed, other than display 100, may be based on user selection or guidance application definition (e.g., displaying only recorded and broadcast listings, displaying only on-demand and broadcast listings, etc.). As illustrated, listings 114, 116, and 118 are shown throughout the time period displayed within grid 102 to indicate that selecting these listings may provide access to a dedicated display of on-demand listings, recorded listings, or Internet listings, respectively. In other embodiments, listings of these media types may be included directly within grid 102. Additional listings may be displayed in response to a user selecting one of navigation icons 120. (Pressing an arrow key on a user input device may change the display in a manner similar to selecting navigation icon 120.) Display 100 may also include video area 122, advertisements 124, and options area 126. Video area 122 may allow a user to view and / or preview programming that is currently available, will be available, or has been available to the user. The content of video area 122 may correspond to one of the listings displayed in grid 102 or may be independent. A grid display that includes a video area may be referred to as a picture-in-guide (PIG) display. PIG displays and their functionality are described in detail in U.S. Patent No. 6,564,378 to Satterfield et al., filed May 13, 2003, and U.S. Patent No. 6,239,794 to Yuen et al., filed May 29, 2001, which are incorporated herein by reference in their entireties. PIG displays may be included in other media guidance application display screens of the present invention.
[0016] Advertisements 124 may provide advertisements for media content that is currently available, will be available, or will never be available depending on the viewer's access rights (e.g., subscription to a programming service) and may correspond to or be unrelated to one or more media listings in grid 102. Advertisements 124 may also be advertisements for products or services related or unrelated to the media content displayed in grid 102. Advertisements 124 may be selectable, provide more information about the media content, provide information about the product or service, enable purchase of the media content, product or service, provide media content related to the advertisement, etc. Advertisements 124 may be targeted based on user profile / preferences, monitored user activity, the type of display provided, or any other suitable targeting ad basis.
[0017] Although advertisements 124 are shown as square or banner shaped, advertisements may be provided in any suitable size, shape, and location within the display of the guidance application. For example, advertisements 124 may be provided as squares horizontally adjacent to grid 102. This may be referred to as panel advertisements. Additionally, advertisements may be overlaid on media content or the guidance application display or embedded within the display. Advertisements may also include text, images, rotating images, video clips, or other types of media content. Advertisements may be stored within the user equipment that comprises the guidance application, in a database connected to the user equipment, at a remote location (including a streaming media server), or on other storage means or combinations of these locations. Providing advertisements in media guidance applications is discussed in detail, for example, in U.S. patent application Ser. No. 10 / 347,673 to Knudson et al., filed Jan. 17, 2003, U.S. Patent No. 6,756,997 to Ward III et al., filed Jun. 29, 2004, and U.S. Patent No. 6,388,714 to Schein et al., filed May 14, 2002, which are incorporated herein by reference in their entireties. It is understood that advertisements may be included in other media guidance application display screens of the present invention.
[0018] Options area 126 may allow a user to access different types of media content, media guidance application views, and / or media guidance application features. Options area 126 may be part of display 100 (and other display screens of the present invention) or may be activated by the user by selecting an option on the screen or by pressing a dedicated or assignable button on a user input device. Selectable options in options area 126 may relate to features related to program listings in grid 102 or may include options available from a main menu display. Features related to program listings may include searching for other broadcast times or reception formats for a program, recording a program, enabling series recording of a program, setting a program and / or channel as a favorite, purchasing a program, or other features. Options available from a main menu display may include search options, VOD options, parental control options, accessing various types of listings views, subscribing to premium services, editing the user's profile, accessing a browser overlay, or other options.
[0019] Media guidance applications may be personalized based on user preferences. A personalized media guidance application allows a user to customize displays and features to create a personalized "environment" with the media guidance application. This personalized environment may be created by allowing the user to input these customizations and / or by the media guidance application monitoring the user's activity to determine various user preferences. A user may access the personalized guidance application by logging in or, if not logged in, by identifying themselves to the guidance application. Customizations of the media guidance application may be created according to a user profile. Customizations may include changing the presentation scheme (e.g., color scheme of the display, font size of text, etc.), aspects of the media content list displayed (e.g., only HDTV programs, user-specified broadcast channels based on favorite channel selections, reordering of channel display, recommended media content, etc.), desired recording features (e.g., recording for a particular user or series, recording quality, etc.), parental control settings, and other desired customizations.
[0020] The media guidance application may allow a user to provide user profile information or may automatically compile user profile information. The media guidance application may, for example, monitor the media the user accesses and / or other interactions with the guidance application the user has had. In addition, the media guidance application may obtain other user profiles, in whole or in part, associated with a particular user (e.g., from other websites on the Internet the user accesses, such as www.tvguide.com http: / / www.tvguide.com / , from other media guidance applications the user accesses, from other interactive applications the user accesses, from the user's handheld device, etc.) and / or obtain information about the user from other sources the media guidance application may access. As a result, a unified guidance application environment may be provided to the user across the user's different devices. This type of user environment is described in more detail below with reference to FIG. 4. Additional personalized media guidance application features are described in detail in U.S. patent application Ser. No. 11 / 179,410, filed July 11, 2005, by Ellis et al., U.S. patent application Ser. No. 09 / 437,304, filed November 9, 1999, by Boyer et al., and U.S. patent application Ser. No. 10 / 105,128, filed February 21, 2002, by Ellis et al., which are incorporated herein by reference in their entireties.
[0021] Another display arrangement for providing media guidance is shown in FIG. 2. Video mosaic display 200 includes selectable options 202 for media content information organized based on media type, genre, and / or other organization criteria. In display 200, television listings option 204 is selected, providing listings 206, 208, 210, and 212 as broadcast program listings. Unlike the listings in FIG. 1, the listings in display 200 are not limited to simple text (e.g., program name) and icons describing the media. Instead, in display 200, the listings may provide graphic images including cover art, stills from the media content, previews of video clips, live video from the media content, or other types of media that show the user the media content described by the listing. Additionally, each of the graphic listings may be accompanied by text to provide more information about the media content associated with the listing. For example, listing 208 may include two or more portions including media portion 214 and text portion 216. The media portion 214 and / or the text portion 216 may be selectable to view the video full screen or to view program listings related to the video displayed in the media portion 214 (e.g., to view a listing of channels on which the video appears).
[0022] The lists in display 200 are of different sizes (i.e., list 206 is larger than lists 208, 210 and 212), although all lists could be the same size if desired. The lists could be different sizes or graphically enhanced to indicate a degree of importance to the user or to highlight particular content, as desired by the media provider or based on user preferences. Various systems and methods for graphically enhancing media listings are discussed, for example, in U.S. patent application Ser. No. 11 / 324,202, filed Dec. 29, 2005, to Yates, which is incorporated herein by reference in its entirety.
[0023] Users can access media content and media guidance applications (as well as display screens, described in detail above and below) from one or more user equipment devices. FIG. 3 shows a generalized embodiment of an exemplary user equipment device 300. A more specific implementation of the user equipment device is described below with reference to FIG. 4. User equipment device 300 receives media content and data via input / output (hereinafter "I / O") paths 302. I / O paths 302 can provide media content (e.g., broadcast programs, on-demand programs, Internet content, and other video or audio) and data to control circuitry 304. Control circuitry 304 includes processing circuitry 306 and storage device 308. Control circuitry 304 can be used to send and receive commands, requests, and other suitable data using I / O paths 302. I / O paths 302 can connect control circuitry 304 (and processing circuitry 306 in particular) to one or more communication paths (described below). An I / O function may be provided by one or more of these communication paths, but is shown as a single path in FIG. 3 to avoid overcomplicating the drawing.
[0024] The control circuitry 304 may be based on any suitable processing circuitry 306, such as control circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, or the like. In some embodiments, the control circuitry 304 executes instructions for the media guidance application stored in memory (i.e., storage device 308). In client-server based embodiments, the control circuitry 304 may include communications circuitry suitable for communicating with a guidance application server or other network or server. The communications circuitry may include a cable modem, an Integrated Services Digital Network (ISDN) modem, a Digital Subscriber Line (DSL) modem, a telephone modem, or a wireless modem for communicating with other equipment. Such communications may involve the Internet or any other suitable communications network or path (described in more detail with reference to FIG. 4). The communications circuitry may include an application program interface for receiving communications from other equipment. These communications may be action requests directing instructions to the user equipment device 300, such as files compatible with the application program interface directing instructions to record or set favorite programs or channels on behalf of the media guidance application (described below with reference to FIG. 4). Additionally, the communications circuitry may include circuitry to enable peer-to-peer communication of user equipment devices or communication of user equipment devices at locations remote from one another (described in more detail below).
[0025] Memory (e.g., random access memory, read-only memory, or any other suitable memory), a hard drive, an optical drive, or any other suitable fixed or removable storage device (e.g., a DVD recorder, a CD recorder, a videocassette recorder, or other suitable recording device) may be provided as storage 308 that is part of control circuitry 304. Storage 308 may include one or more of the types of storage devices described above. For example, user equipment device 300 may include a hard drive for a DVR (sometimes called a personal video recorder or PVR) and a DVD recorder as a secondary storage device. Storage 308 may be used to store various types of media and guidance application data described herein, including program information, guidance application settings, user preferences or profile information, or other data used when operating the guidance application. Non-volatile memory may also be used (e.g., to launch boot-up routines and other instructions).
[0026] The control circuitry 304 may include video generation and tuning circuitry, such as one or more analog tuners, one or more MPEG-2 decoders or other digital decoding circuitry, high definition tuners, or any other suitable tuning or video circuitry, or may include a combination of such circuitry. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided. The control circuitry 304 may also include scaler circuitry for upconverting or downconverting media to a preferred output format of the user equipment 300. The circuitry 304 may also include digital-to-analog and analog-to-digital conversion circuitry for converting between digital and analog signals. The tuning and encoding circuitry may be used by the user equipment to receive and display, play, or record media content. The tuning and encoding circuitry may also be used to receive guidance data. The circuitry described herein, including, for example, tuning, video generation, encoding, decoding, scaler, and analog / digital circuitry, may be implemented using software running on one or more general purpose or specialized processors. Multiple tuners may be provided to accommodate simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple tuner recording functions, etc.) If storage 308 is provided as a device separate from user equipment 300, the tuning and encoding circuitry (including multiple tuners) may be associated with storage 308.
[0027] A user can control control circuitry 304 using user input interface 310. User input interface 310 can be any suitable user interface, such as a remote control, a mouse, a trackball, a keypad, a keyboard, a touch screen, a touchpad, a stylus input, a joystick, a voice recognition interface, or other user input interface. Display 312 can be provided as a stand-alone device or integrated with other elements of user equipment device 300. Display 312 can be one or more monitors, televisions, liquid crystal displays (LCDs) for mobile devices, or any other suitable equipment for displaying visual images. In some embodiments, display 312 can be HDTV-compatible. Speakers 314 can be provided integral with other elements of user equipment device 300 or can be stand-alone units. Audio components of videos or other media content displayed on display 312 can be played through speakers 314. In some embodiments, the audio can be delivered to a receiver (not shown), which processes and outputs the audio through speakers 314.
[0028] User equipment devices 300 of FIG. 3 may be implemented in system 400 of FIG. 4 as user television equipment 402, user computer equipment 404, wireless user communications devices 406, remote access user devices 440, or any other type of user equipment suitable for accessing media (e.g., non-portable game consoles). For simplicity's sake, these devices may be collectively referred to herein as user equipment or user equipment devices. User equipment devices on which media guidance applications are implemented may function as standalone devices or may be part of a network of devices. Various network configurations of devices may be implemented and are discussed in more detail below. Remote access user devices 440 may also be any of the wireless user devices 406 (e.g., PDAs, cell phones, portable video players, etc.).
[0029] System 400 is a simplified illustrative cross-platform interactive media system for providing remote access to an interactive media guidance application in accordance with one embodiment of the present invention. The illustrative system includes remote access user device 440, remote access server 460, a media service provider remote access server 490, user equipment devices 402, 404, and 406, a media content source 416, and a media guidance data content source 418, as well as various communications networks and data links. In this illustrative diagram, interactive media system 400 may host a media guidance application that a user of remote access user device 440 may wish to manage remotely through the use of remote access server 460 and remote access user device 440.
[0030] In interactive media system 400, user television equipment 402 may include a set-top box, an IRD, a television set, a digital storage device, a DVD recorder, a video cassette recorder (VCR), a local media server, or other user television equipment. One or more of these devices may be combined into a single device if desired. User computer equipment 404 may include a PC, a laptop computer, a tablet, a WebTV box, a personal computer television (PC / TV), a PC media server, a PC media center, or other user computer equipment. WEBTV is a registered trademark of Microsoft Corp. Wireless user communication devices 406 may include a PDA, a mobile phone, a portable video player, a portable music player, a portable game console, or other wireless devices.
[0031] It should be noted that with the advent of television tuner cards for integrating video into PCs, WebTV, and other user equipment devices, attempting to classify a device as one of the above devices is no longer a clean cut. Indeed, each of user television equipment 402, user computer equipment 404, and wireless user communications device 406 may utilize at least some of the system capabilities described above with reference to FIG. 3, resulting in flexibility as to the type of media content viewable on the devices. For example, user television equipment 402 may be Internet-enabled allowing access to Internet content, while user computer equipment 404 may include a tuner allowing access to television programming. Also, media guidance applications may have the same layout on various types of user equipment or may be tailored to the display capabilities of the user equipment. For example, on a user's computing equipment, the guidance application may be provided as a website accessed by a web browser. In another embodiment, the guidance application may be scaled down for wireless user communications devices.
[0032] In interactive media system 400, there will typically be more than one of each type of user equipment device, although to avoid overcomplicating the drawing, only one of each is shown in Figure 4. Furthermore, each user may utilize more than one type of user equipment device (e.g., a user may have a television set and a computer) and may utilize more than one of each type of user equipment device (e.g., a user may have a PDA and a cell phone and / or multiple television sets).
[0033] Users may also set various settings to keep media guidance application settings constant across in-home and remote devices. Settings include those described herein as well as favorite channels and programs, program preferences utilized by the guidance application to recommend programs, display preferences, and other desired guidance settings. For example, if a user sets a channel as a favorite on a website, such as www.tvguide.com, on a personal computer at an office, such as using remote access user device 440, the same channel will appear as a favorite on the user's in-home devices (e.g., user television equipment and user computer equipment) as well as on the user's mobile devices, as desired. Thus, changes made on one user equipment device may change the guidance environment on another user equipment device, whether the device is the same or a different type. Additionally, changes made are based on settings input by the user and the user's activity monitored by the guidance application.
[0034] In interactive media system 400, user equipment devices can be coupled to communications network 414. That is, user television equipment 402, user computer equipment 404, and wireless user communications device 406 are coupled to communications network 414 via communications paths 408, 410, and 412, respectively. Communications network 414 can be one or more networks including the Internet, a cellular telephone network, a mobile device (e.g., Blackberry) network, a cable network, a public switched network, or other types of communications networks or combinations of communications networks. BLACKBERRY is a registered trademark of Research In Motion Limited Corp. Paths 408, 410, and 412, separately or together, can include one or more communications paths such as satellite broadcast paths, fiber optic paths, cable paths, paths supporting Internet communications (e.g., IPTV), free space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications paths or combinations of these paths. Path 412 is drawn with a dashed line in the exemplary embodiment shown in Figure 4 to indicate that it is a wireless path, and paths 408 and 410 are drawn with a solid line to indicate that they are wired paths (although these paths could be wireless paths if desired). Communication with a user equipment device may be provided by one or more of these communication paths, but are shown in Figure 4 as a single path to avoid overcomplicating the drawing.
[0035] Although communication paths are not depicted between the user equipment devices, these devices may communicate directly with each other as described above with respect to paths 408, 410, and 412, and via short-range point-to-point communication paths such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-llx, etc.), or other short-range communications via wired or wireless paths. BLUETOOTH is a registered trademark of Bluetooth SIG, INC. User equipment devices may also communicate directly with each other via an indirect path via communications network 414.
[0036] Interactive media system 400 includes a media content source 416 and a media guidance data source 418 coupled to communications network 414 via communications paths 420 and 422, respectively. Paths 420 and 422 may include any of the communications paths described above with respect to paths 408, 410, and 412. Communications with media content source 416 and media guidance data source 418 may travel over one or more paths, but are shown in FIG. 4 as a single path to avoid overcomplicating the drawing. Additionally, there may be more than one of each of media content source 416 and media guidance data source 418, but only one of each is shown in FIG. 4 to avoid overcomplicating the drawing. (Different types of each of these sources are discussed below.) If desired, media content source 416 and media guidance data source 418 may be integrated into one source device. Although communication between sources 416 and 418 and user equipment devices 402, 404, and 406 is shown as being via communications network 414, in some embodiments sources 416 and 418 may communicate directly with user equipment devices 402, 404, and 406 via communications paths (not shown) such as those described above with respect to paths 408, 410, and 412.
[0037] The media content sources 416 may include one or more types of media distribution facilities, including television distribution facilities, cable system headends, satellite distribution facilities, program sources (e.g., television broadcasting companies such as NBC, ABC, HBO, etc.), intermediate distribution facilities and / or servers, Internet providers, on-demand media servers, and other media content providers. NBC is a registered trademark of National Broadcasting Company, Inc., ABC is a registered trademark of ABC, INC., and HBO is a registered trademark of Home Box Office, Inc. The media content sources 416 may be the origin of media content (e.g., television broadcasting companies, webcast providers, etc.) or may not be the origin of media content (e.g., on-demand media content providers, Internet providers of video content of broadcast programs for download, etc.). The media content sources 416 may include cable sources, satellite providers, on-demand providers, Internet providers, or other media content providers. The media content sources 416 may include remote media servers used to record different types of media content (including video content selected by a user) that are located away from any user equipment device. Systems and methods for remote storage of media content and for providing remotely stored media content to user equipment are discussed in detail in U.S. patent application Ser. No. 09 / 332,244, filed Jun. 11, 1999, by Ellis et al., which is incorporated herein by reference in its entirety.
[0038] Media guidance data source 418 may provide media guidance data such as media listings, media related information (e.g., broadcast time, broadcast channel, media title, media details, rating information (e.g., parental control rating, critics rating, etc.), genre or category information, actor information, broadcaster logo or provider logo, etc.), media format (e.g., standard definition, high definition, etc.), advertising information (e.g., text, images, media clips, etc.), on-demand information, and any other type of guidance data that enables a user to navigate and find desired media selections.
[0039] Media guidance application data may be provided to user equipment devices using any suitable technique. In some embodiments, the guidance application is a stand-alone interactive television program guide that receives program guide data via a data feed (e.g., a continuous feed, a trickle feed, or data in the vertical blanking interval of a channel). Program schedule data and other guidance data may be provided to user equipment in the vertical blanking interval of a television channel, using an in-band digital signal on the sideband of a television channel, using an out-of-band digital signal, or by any other suitable data transmission technique. Program schedule data and other guidance data may be provided to user equipment on multiple analog or digital television channels. Program schedule data and other guidance data may be provided to user equipment at any suitable frequency (e.g., continuously, daily, for user-defined periods, for system-defined periods, upon request from user equipment, etc.). In some techniques, guidance data from media guidance data source 418 may be provided to user equipment using a client-server technique. For example, a guidance application client on the user's equipment may initiate a session with source 418 to obtain guidance data when needed. Media guidance data source 418 may provide user equipment devices 402, 404, and 406 with the media guidance application itself or software updates to the media guidance application.
[0040] The media guidance application may be, for example, a stand-alone application implemented on the user equipment device. In other embodiments, the media guidance application may be a client-server application where only the client is present on the user equipment device. For example, the media guidance application may be implemented partially as a client application on the control circuitry 304 (FIG. 3) of the user equipment device 300 (FIG. 3) and partially as a server application on a remote server (e.g., media guidance data source 418). Guidance application displays may be generated by the media guidance data source 418 and transmitted to the user equipment device. The media guidance data source 418 may also transmit data for storage on the user equipment, which then generates the guidance application displays based on instructions processed by the control circuitry.
[0041] Media guidance system 400 is intended to illustrate several approaches or network configurations whereby user equipment devices and sources of media content and guidance data may communicate with one another within a home network or over a media service provider network for the purpose of accessing media and providing media guidance. Media guidance system 400 may be applied in any one or some of these approaches, or in systems employing other approaches for delivering media and providing media guidance.
[0042] In one approach, user equipment devices 402, 404, and 406 may communicate with each other within a home network. The user equipment devices may communicate with each other directly via the short-range point-to-point communication scheme described above, via an indirect path through a hub or other similar device provided on the home network, or via communications network 414. Multiple individuals within a single household may each operate different user equipment devices on the home network. As a result, it may be desirable for various media guidance information or settings to be communicated between different user equipment devices. For example, it may be desirable for a user to maintain constant media guidance application settings on various user equipment within a home network, as described in detail in U.S. patent application Ser. No. 11 / 179,410, filed Jul. 11, 2005, to Ellis et al. Also, different types of user equipment devices of a home network may communicate with each other to transmit media content. For example, a user may transmit media content from a user computer equipment to a portable video player or a portable music player.
[0043] In another approach, users of user equipment devices in or outside the home may use their media guidance applications to communicate directly with media content sources 416 to access media content. Specifically, within the home, users of user television equipment 404 and user computer equipment 406 may access the media guidance application to navigate among and find desired media content. Users may also access the media guidance application outside the home using wireless user communications devices 406 to navigate among and find desired media content.
[0044] In another approach, a user may have multiple types of user equipment through which it accesses media content and obtains media guidance. For example, some users may have a home network that is accessed by in-home and mobile devices. A user may control in-home devices through a media guidance application implemented on a remote device. For example, a user may access an online media guidance application on a website through a personal computer at work or a mobile device such as a PDA or web-enabled cell phone. A user may set various settings on the online guidance application (e.g., recording, reminders, other settings) to control the user's in-home equipment. A user may have multiple in-home equipment devices (e.g., in different rooms of a home or in multiple homes), but not necessarily of the same type. For example, a vendor may provide different devices, and different vendors may provide different devices, which may differ by having different communication interfaces (e.g., different application program interfaces) for receiving data such as media content, in-home equipment settings, and action requests. Various systems and methods for communication of user equipment devices, where the user equipment devices are located remotely from one another, are described, for example, in U.S. patent application Ser. No. 10 / 927,814, filed Aug. 26, 2004, by Ellis et al., which is incorporated herein by reference in its entirety.
[0045] In one embodiment of the invention, a user may remotely access and manage settings for interactive guidance applications implemented on user equipment devices 402, 404, and / or 406 using any suitable remote access user device. Remote access user device 440 of system 400 illustrates a simplified exemplary embodiment of a remote access user device. More specific embodiments of remote access user device 440 are described below. In some embodiments, remote access user device 440 is a standard user device and may include a PC, laptop computer, tablet, personal digital assistant (PDA), mobile phone, portable video player, portable music player, portable game console, handheld computer, portable television system, automobile television system, other computing equipment, other wireless device, or other mobile user device with location location functionality. Remote access user device 440 may be either a user device outside the user's home network (e.g., an office computer) or a user equipment device 406 within the user's home network.
[0046] The remote access user device 440 may include one or more of a processing circuit 444, a storage device 450, a communication device 452, and a remote access client 442 (which is actually an application executed by the processing circuit 444 and stored in the storage device 450, but is depicted as a separate element for clarity). The processing circuit 444 may include all of the features and components of the processing circuit 306 of Figure 3. The storage device 450, which is coupled to the processing circuit 444, may include memory (e.g., random access memory, read only memory, flash memory, or any other suitable memory), a hard drive, an optical drive, or any other suitable fixed or removable storage device (e.g., floppy disks, CDs, DVDs, cassettes, or any suitable recording or storage device).
[0047] The remote access user device 440 may also include a location location circuit 448 coupled to the processing circuit 444. The location location circuit 448 may provide location location functionality, for example, through a global positioning system (GPS) or any other suitable means. The location location circuit 448 may provide the user's current location to the processing circuit 444, which may determine with which of a plurality of remote access servers 460 the remote access user device 440 may communicate. The user's current location may also determine the source of program information provided by the remote access servers 460 to the remote access user device 440.
[0048] The remote access user devices 440 may also include one or more communication devices 452. The communication devices 452 may be any apparatus suitable for facilitating communications between the remote access user devices 440, the remote access server 460, and the communications network 480, such as a communications port (e.g., a serial port, a parallel port, a universal serial bus (USB) port, etc.), a modem (e.g., any suitable analog or digital standard modem, or a cellular modem), a network interface card (e.g., an Ethernet card, a token ring card, etc.), a wireless transceiver (e.g., an infrared, radio, or other suitable analog or digital transceiver), or other suitable communications device.
[0049] Communications between the remote access user device 440 and the remote access server 460 may occur over communications path 482 and / or through communications network 480 using communications device 452. Communications path 482 may include any of the communications paths described above in connection with paths 408, 410, and 412.
[0050] Communications path 482 may include any suitable transmission medium. For example, communications path 482 may include a serial or parallel cable, a dial-up telephone line, a computer network or Internet link (e.g., 10Base2, 10Base5, 10BaseT, 100BaseT, 10BaseF, T1, T3, etc.), a home network link, an infrared link, a radio frequency link, a satellite link, any other suitable transmission link, or a suitable combination of such links. Any suitable transmission or access scheme may be used, such as standard serial or parallel communications, Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), Circuit Switched Cellular (CSC), Cellular Digital Packet Data (CDPD), RAM Mobile Data, General System for Mobile Communications (GSM), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), any other suitable transmission or access scheme, or any suitable combination thereof. Preferably, remote access link 482 is bidirectional. However, if desired, certain limited program guide functionality may be accessed using a unidirectional link. An advantage of using a unidirectional scheme for link 482 is that such a scheme is generally less complex and less expensive than a bidirectional link.
[0051] The remote access user device 440 and the remote access server 460 may communicate over the communications path 482 using any suitable network and transport layer protocol, if desired. The remote access user device 440 and the remote access server 460 may communicate using, for example, a protocol stack including a Sequenced Packet Exchange / Internetwork Packet Exchange (SPX / IPX) layer, a Transmission Control Protocol / Internet Protocol (TCP / IP) layer, an Appletalk Transaction Protocol / Datagram Delivery Protocol (ATP / DDP) layer, or any other suitable network and transport layer protocol or combination of protocols.
[0052] The remote access user device 440 may include a remote access client 442 for communicating requests and receiving responses from the remote access server 460. Note that the remote access client 442 is actually an application executed by the processing circuitry 444 and stored in the storage device 450, but is depicted as a separate element for clarity. The remote access client 442 may be accessed by a user using one or more user input interfaces (not shown). Any suitable user input interface may be used to access the remote access client 442, as described in connection with the user input interface 310 of FIG. 3. The remote access client 442 may communicate with the application program interface (API) 462 of the remote server 460 using any suitable communication. In addition to using any of the protocols already described, any number of other access, data link, network, routing, or other protocols may be involved in supporting communications between remote program guide access device 440 and remote access server 460 over remote access link 482 and communications network 480 (e.g., X.25, Frame Relay, Asynchronous Transfer Mode (ATM), Serial Line Interface (SLIP), Point-to-Point Protocol (PPP), or any other suitable access, data link, network, routing, or other protocol).
[0053] Note that communication between the remote access user devices 440 and the remote access server 460 may occur over one or more communication paths, but is shown as a single path in FIG. 4 to avoid overcomplicating the drawing. In addition, there may be more than one remote access user device 440, but only one of each is shown in FIG. 4 to avoid overcomplicating the drawing. Although communication between the remote access user devices 440 and the remote access server 460 is shown as a direct communication path 482, in some embodiments, the remote access user devices 440 may communicate with the remote access server 460 through an intermediate device (not shown), as described above in connection with the paths between the media content source 416, the media guidance data source 418, and the user equipment 402, 404, and 406. The remote access server 460 may also run on an intermediate server, such as a web server.
[0054] Remote access server 460 of media guidance system 400 is a simplified illustrative embodiment of a remote access server that may be used in accordance with the principles of the present invention. Remote access server 460 may include one or more processing circuitry 464, storage device 470, communication device 472, and application program interface (API) 462 (which is actually an application executed by processing circuitry 464 and stored on storage device 470, but is depicted as a separate element for clarity). Remote access server 460 may be any suitable combination of hardware and software capable of client-server based interaction with remote access user devices 440. Remote access server 460 may, for example, receive user requests from remote access user devices 440 and generate action requests that are transmitted for processing. In some embodiments, remote access server 460 may run a suitable database engine, such as SQL Server or Oracle DB, to provide program guide data in response to queries generated by remote access user devices 440. Processing circuitry 464 may include any suitable processor, such as a microprocessor or collection of microprocessors, and other processing circuitry, such as caching circuitry, direct memory access (DMA) circuitry, and input / output (I / O) circuitry. Storage 470 may include any suitable storage device, including random access memory (RAM), read only memory (ROM), flash memory, and memory or other storage devices, such as hard disk drives suitable for storing program guide data used by the remote access server. Program guide data may be stored in storage 470 in any suitable format, such as a Structured Query Language (SQL) database. Storage 470 may also store user profile information for correlating users with their respective user equipment devices. Storage 470 may include several levels of primary, secondary, and auxiliary storage. Although storage 470 is shown in direct connection with processing circuitry 464, in some embodiments at least some or all of storage 470 may be located on a separate data server remote from remote access server 460.Communications device 472 may be any suitable communications device, such as those described above in connection with communications device 452. Media guidance system 400 may include multiple remote access servers 460. However, only one is shown to avoid overcomplicating the drawing.
[0055] Media guidance access server 490 of media guidance system 400 is a simplified illustrative embodiment of an access server to a media service provider of media guidance system 400 that may be used in accordance with the principles of the present invention. Media guidance access server 490 may include one or more processing circuitry 494, storage device 492, communications devices (not shown), and application program interfaces (APIs) 496 (which are actually applications executed by processing circuitry 494 and stored on storage device 492, but are depicted as separate elements for clarity). Media guidance access server 490 may be any suitable combination of hardware and software capable of interacting with media guidance data source 418, user equipment devices 402, 404, and 406, and remote access server 460. Media guidance access server 490 may receive user requests from remote access server 460, e.g., for processing, for subsequent transmission to user equipment devices 402, 404, and / or 406. In some embodiments, media guidance access server 490 may run a suitable database engine, such as SQL Server or Oracle DB, to provide program guide data in response to queries generated by remote access server 460. Processing circuitry 494 may include any suitable processor, such as a microprocessor or collection of microprocessors, and other processing circuitry, such as caching circuitry, direct memory access (DMA) circuitry, and input / output (I / O) circuitry.
[0056] Storage 492 may include any suitable storage device, including random access memory (RAM), read only memory (ROM), flash memory, and memory or other storage devices suitable for storing data, such as a hard disk drive. In a typical usage scenario, media guidance access server 490 retrieves media guidance data from media guidance data source 418. In some embodiments, media guidance access server 490 may store or cache media guidance data retrieved from media guidance data source 418 in storage 492 in any suitable format (e.g., a Structured Query Language (SQL) database). Storage 492 may also store action requests received from remote access server 460. Storage 492 may include several levels of primary, secondary, and auxiliary storage. Although storage 492 is shown in direct communication with processing circuitry 494, in some embodiments at least a portion or all of storage 492 may be located on a separate data server remote from media guidance access server 490. Media guidance access server 490 may also include a communications device (not shown), which may be any suitable communications device such as those described above in connection with communications device 452. Media guidance system 400 may include multiple media guidance access servers 490; however, only one is shown to avoid overcomplicating the drawing.
[0057] Cross-platform media guidance system 400 is intended to illustrate several approaches or network configurations whereby user equipment devices, sources of media content and guidance data, and remote access service providers may communicate with one another for the purpose of providing remote access to media guidance applications. The present invention may be applied in any one or some of these approaches, or in systems employing other approaches for delivering media and providing media guidance.
[0058] In one exemplary usage scenario, a user at remote access user device 440 is authenticated by remote access client 442. Using remote access client 442, the user may select programs to be recorded on the user's home user equipment. For example, in FIG. 5 (described in more detail below), the user may select "The Crocodile Hunter" on channel 100 starting at 2:00 PM to be recorded on the user equipment. After the user confirms the selection in FIG. 7A (described in more detail below), remote access user device 440 or remote access server 460 may generate a request that is transmitted, either directly or through an intermediate device, for processing by an interactive media guidance application on user equipment 402, 404, or 406 (all in FIG. 4).
[0059] FIG. 5 illustrates an exemplary grid program listings display 500 that may be included in an exemplary implementation of remote access client 442 described in connection with FIG. 4, according to one embodiment of the present invention. In some embodiments, a user registration process, including one or more user registration screens (not shown), may be completed prior to accessing display 500 or any remote access functionality. In some embodiments, the interactive user registration process may also present a series of questions to the user regarding the user's viewing habits, viewing times, favorite programs, favorite actors, favorite series, or any other suitable information. Information collected through the user registration process may be recorded as a user profile on the remote access server, the remote access user device, the user equipment device, or a remote location (e.g., any storage facility connected to communication network 480 of FIG. 4), and may be used to automatically recommend or promote particular programs. In some embodiments, the remote access service may also actively monitor the viewing behavior and actions of users through remote access client 442 of FIG. 4. Information from this monitoring may be stored as part of the user's profile and may also be used to recommend or suggest programs.
[0060] Each of the display screens of Figures 5-7 may include several banner advertisements 524 and panel advertisements (not shown). The size, shape, and location of such advertisements may be varied without departing from the spirit of the invention, and more or fewer advertisements may be displayed than those shown in Figures 5-7, if desired.
[0061] Display 500 may include program information arranged by time and channel to provide remote access to interactive guidance application functionality on user equipment. Display 500 may include a grid 502 with (1) columns of channel / media type identifiers 504, with each channel / media type identifier (column cell) identifying a different channel or type of media available, and (2) rows of time identifiers 506, with each time identifier (row cell) identifying a time slot for a program. Grid 502 also includes cells of program listings, such as program listing 508, with each listing providing the name of the program offered on the listing's associated channel and time. Display 500 also includes a drop-down box 530 that may be used to select a media service provider for the geographic location of the user equipment. In some embodiments, the selected media server provider may be stored in user profile information and displayed during a remote access session. Display 500 also includes a date / time menu 532, which may be changed by a user of remote access client 442 (FIG. 4). The media service provider and the date and time selected by the user determine the program information that is displayed in grid 502. With a user input device, a user may select a program listing by moving a highlight region 510 of grid 502. A user may access display 500 through a remote service address 534, which may be, for example, a URL or a locator that, when entered into an address box 536, may enable transmission from a server, such as remote access server 460, to remote access client 442 to generate display 500.
[0062] Figure 6 shows an illustrative screen 600 for providing information regarding a program listing selected by highlight region 510 of Figure 5. Screen 600 may include, for example, the program name 628, the program description 624, the program start time 610, the channel on which the program is offered 630, the program's rating (not shown), and other desired program information such as, for example, an access link 622. In some embodiments, screen 600 may also provide menu options for providing remote access to particular interactive guidance applications.
[0063] For example, a user may select menu option 602 to remotely set up a recording of a program on the home user equipment. FIG. 7A shows an illustrative recording setup screen 700 that may be used by a user to remotely set up a recording of a program according to one embodiment of the present invention. Recording setup screen 700 may include, for example, program name 702, start time 708, channel 704, program duration 718, program rating (not shown), and other desired program information. In addition to displaying program information, screen 700 may also be used to define additional options for recording. For example, a user may instruct the user equipment that a recording is scheduled to begin recording when. Using drop-down box 712, a user may remotely instruct the interactive media guidance application to, for example, begin recording the program at the scheduled start time, or alternatively, at some other user-determined time. Similarly, using drop-down box 714, a user may remotely instruct the user equipment to, for example, stop recording the program at the scheduled stop time, or alternatively, at some other user-determined time. Using the drop-down box 716, the user may also determine how long the user equipment may store a recorded program. The user may, for example, decide to store the recording until space is needed for a new recording, or set a user-determined date at which the recording may be removed or deleted by the user equipment. Although the options 712 through 716 are depicted as drop-down boxes, any suitable input module may be used without departing from the spirit of the invention. For example, radio buttons may be used in one or more of the options 712 through 716. After selecting and / or reviewing the information for remotely setting the recording, the user may confirm the recording or cancel it entirely. For example, the user may select menu item 710 to confirm the recording settings. Alternatively, the user may select menu item 720 to cancel the recording settings. In some embodiments, the user may choose to save the recording settings, for example, to the storage device 470 of the remote access server, for later confirmation or cancellation.
[0064] Returning to the illustrative screen 600 of FIG. 6, a user may additionally or alternatively select menu option 604 to remotely set a reminder for a program on the home user equipment. FIG. 7B shows an illustrative reminder setting screen 750 that may be used by a user to remotely set a reminder for a program, according to one embodiment of the present invention. Reminder setting screen 750 may include, for example, program name 752, start time 758, channel 754, program duration 768, program rating (not shown), and other desired program information. In addition to displaying program information, screen 750 may also be used to define additional options for setting reminders. For example, a user may instruct the user equipment for which a reminder is scheduled to be displayed when the reminder is to be displayed. Using menu item 762, a user may remotely instruct the user equipment to present a reminder for the program, for example, at the scheduled start time or, alternatively, at some other user-determined time. Similarly, using menu item 764, the user may remotely instruct the user equipment to stop a reminder of the program, for example, at its scheduled stop time, or alternatively, at some other user-determined time. Using menu item 766, the user may also determine how long the user equipment may keep the reminder active. The user may decide, for example, to keep the reminder active until the series completes the broadcast of its season, to keep the reminder active only for a particular episode, or to set a user-determined date at which the reminder may be deactivated or deleted by the user equipment. After selecting and / or reviewing the information for remotely setting the reminder, the user may confirm the reminder or cancel it entirely. For example, the user may select menu item 760 to confirm the reminder setting. Alternatively, the user may select menu item 770 to cancel the reminder setting. In some embodiments, the user may choose to save the reminder setting, for example, to storage 470 of the remote access server, for later confirmation or cancellation.
[0065] After the user confirms a program action request, one or more action request definitions may be generated for the user's selection. For example, the action request definition may define the particular action the user wants to schedule (e.g., set a recording or set a reminder), the selected channel, the selected start time, the user client identification information, and any additional information that may be supported by the remote access server's application program interface. The action request definition may be generated by the remote access user device 440, the remote access server 460 (both in FIG. 4), or by a hybrid approach in which the remote access user device generates a request based on user input (e.g., time and channel) and then sends the request to the remote access service, which adds additional metadata (e.g., program identification information) to the request.
[0066] As shown in FIG. 8A, XML tags may be used to define one or more action request definitions. In other embodiments, other suitable data structures may be used. XML file 800 includes a file name 802 that may be used to uniquely identify the request. In some embodiments, name 802 includes a unique numeric descriptor. Tag data 804 may include XML tags that define the program channel, the requested action (e.g., set a reminder or set a recording), and the start time of the program for which the action is requested. For example, action request tags 816 and 818 indicate a recording request represented by action identifier 820, and channel tags 822 and 824 indicate a particular channel represented by source identifier 826. A program setting definition may additionally or alternatively include search criteria. The search criteria may define a search string to be executed on a media guidance application database or other content database that may receive the action request definition.
[0067] Note that application program interfaces (APIs) for most media guidance access servers 490 (FIG. 4) for media service providers (which may receive and store action requests) may not be capable of receiving other program-specific information, such as the program name, a unique program identification, a program source name (e.g., “HBO”), or a unique identifier for the program source. As a result, the embodiments described herein may not include such program-specific information. However, if the API for the cable provider's server is capable of receiving the additional program information, the action request definition generated for the user request may include this additional information without departing from the spirit of the invention. In general, application program interfaces of different media guidance access servers, or provided by different media service providers, may differ such that a file representing an action request, such as XML file 800, that is compatible with one application program interface, is not necessarily compatible with other application program interfaces. For example, different application program interfaces may require the action request to be formatted with a different data structure or to use different tags or identifiers.
[0068] The action request definition may be transmitted to be processed by the user equipment. In some embodiments, the action request may be received by the user equipment (e.g., user equipment devices 402, 404, and / or 406 of FIG. 4) from a remote access server. The user equipment may process the request using, for example, program information from media guidance data source 418 (FIG. 4). In other embodiments, the action request may be received from the remote access server by a cable provider's remote services server, which then subsequently transmits the request to the interactive media guidance application. In some embodiments, the cable provider may store and monitor information regarding the request for further analysis.
[0069] In some embodiments, the user equipment or a service provider for the user equipment may send an acknowledgment to the remote access server upon receiving the action request. The acknowledgment may include information previously included in the action request definition as well as additional program information regarding the actual program to be performed for the requested action, such as the program name.
[0070] FIG. 8B illustrates an exemplary action request confirmation response that may be transmitted to the remote access server by the user equipment or a service provider for the user equipment. As illustrated in FIG. 8B, the XML file 810 may include a file name 812 that may be used to uniquely identify the action request confirmation. The tag data 814 may include XML tags that define the program name, channel, and start time of the program for which the requested action is scheduled. Upon receiving the XML file 810, the remote access server may compare the additional information included in the file with corresponding information in the remote access program information database to detect whether the wrong program has been recorded. For example, in screen 700 (FIG. 7A), the user intended to record an episode of "The Crocodile Hunter." However, the XML file 810 includes program name information indicating that a program called "Sex and the City" has been scheduled to be recorded. The remote access server may use the difference in program name information to detect that the wrong program has been scheduled to be recorded and take steps to schedule the recording of the correct program.
[0071] 9A shows an illustrative process 900 for remotely scheduling an action request with an interactive media guidance application on user equipment in accordance with one embodiment of the present invention. A user desiring to remotely access an interactive media guidance application on user equipment may initiate a remote access request, for example, by providing identifying information to remote access client 442 to authenticate with remote access server 460. In some embodiments, access to remote access server 460 may be restricted to subscribers who do or do not pay a subscription fee. Using remote access client 442 (e.g., as shown in FIGS. 5-7), a user may specify parameters for the action request.
[0072] In step 904, remote access server 460 receives user equipment identification information, which may be transmitted from remote access user device 440 using any suitable communication protocol. The user equipment identification information includes at least one characteristic of the user equipment (e.g., user equipment 402, 404, or 406), such as the vendor and / or model of the user equipment. For example, the user equipment identification information may indicate that the user equipment includes a 180-hr TiVo Series2 digital video recorder sold by TiVo, Inc. TiVo and Series 2 are registered trademarks of TiVo, Inc. Exemplary user equipment identification information may indicate a user account associated with the user equipment, which may be provided by a provider of an interactive media guidance application implemented on the user equipment. Based on such user equipment identification information, processing circuitry 464 may retrieve information stored in storage 470 relating to the user equipment. For example, the user equipment identification information may include the username of a user account, such that the processing circuit 464 may retrieve the vendor and model of the user equipment from the storage device 470.
[0073] In step 906, a user equipment format is selected from a plurality of formats based at least in part on the user equipment identification information received in step 904. The user equipment format may be used to represent the action request in a manner compatible with an application program interface associated with the user equipment, such as media guidance access server application program interface 496 of FIG. 4 or an application program interface that is part of an interactive media guidance application implemented on the user equipment. For example, XML file 800 of FIG. 8A may represent the action request in a user equipment format compatible with media guidance access server application program interface 496. In general, the user equipment format may use any suitable data structure and / or include other information compared to exemplary XML file 800 that is compatible with an application program interface associated with the user equipment. The application program interface may be provided by a media service provider and / or embedded within the user equipment.
[0074] At step 908, a user request is received from remote access user device 440. The user request may include instructions for the user equipment, such as scheduling a recording, setting a reminder, or any other function provided by the interactive media guidance application. The user request may be in a format that corresponds to (e.g., is proprietary to) a remote access service provider that provides a remote access server, such as remote access server 460, that can facilitate remote access to multiple user equipment devices that do not necessarily have the same application program interface. In some embodiments, the format is compatible with the communications protocol (e.g., Hypertext Transfer Protocol) of the user device (e.g., remote access user device 440) and the computer network (e.g., the Internet) that communicates with the user equipment. In this case, the user equipment identification information received at step 904 may indicate an addressable Internet Protocol address for the user equipment, and the user device may access a website and initiate or enable transmission of the user request to the addressable Internet Protocol address.
[0075] User requests may be received by the remote access server 460. In particular, user requests may be communicated from the remote access client 442 to the remote access server application program interface 462 over a communication path 482 using any suitable communication protocol. The format in which the user requests are transmitted is compatible with the remote access server application program interface 462. User requests may be generated for programs selected by the user.
[0076] In some embodiments, the user request may be generated entirely by the remote access user device 440 and conveyed to the remote access server 460 for transmission. In other embodiments, the remote access user device 440 and the remote access server 460 may each generate a portion of the user request. For example, the remote access user device 440 may generate a user request including user-determined parameters and convey it to the remote access server 460, which may supplement the user request with additional routing or identification information for subsequent transmission.
[0077] The program schedule information used to generate the user request may be obtained from program listings information stored on the remote server's storage 470 or from a data cache contained within storage 450 of the remote access user device 440. The schedule information may be obtained from a data provider for the remote access service (hereinafter referred to as "remote access data") and may not correspond to the program listings information used by the interactive media guidance application implemented on the user equipment devices 402, 404, and / or 406. The program information used by the user equipment devices is hereinafter referred to as "local guide data." In some embodiments, the local guide data, while used by the interactive media guidance application, may be retrieved by a media guidance access server or cable / satellite / media service provider and conveyed to the remote access server 460 for inclusion in the user request.
[0078] In step 910, the user request received in step 908 is cross-referenced with an action request in a user equipment format, which may be the user equipment format selected in step 906. In particular, the user request and the action request may have different formats that are compatible with different application program interfaces while indicating the same command for the user equipment. In some embodiments, a lookup table is maintained that cross-references the user request with action requests in multiple formats, including the user equipment formats described above with respect to step 906. Each user equipment format may be identified by characteristics of the corresponding user equipment, such as those indicated by the user equipment identification information received in step 904. The user request may then be cross-referenced with the corresponding action request via the lookup table. The processing circuitry 464 of the remote access server 460 may perform the cross-referencing and read information from the storage device 470, which may store the lookup table in any suitable format, such as a Structured Query Language (SQL) format.
[0079] 9B illustrates an exemplary lookup table 950 for cross-referencing user requests with action requests in multiple formats. Lookup table 950 may include such formats for various media service providers and / or user equipment devices. Lookup table 950 may include (1) a column 952 of user requests for a remote access server, where each user request (column cell) identifies a different action that may be requested via a remote access service (e.g., "record" or "set reminder"), and (2) rows 954 of user equipment devices, where each user equipment device (row cell) is identified by vendor or model and implements an interactive media guidance application capable of performing at least one of the actions identified in column 952. For example, cell 958 matches an action identifier "RM4" compatible with user equipment identifiable as a "Comcast CVC8 DVR" to the user request "set reminder" specified by a cell in column 952 of the same row. The lookup table may include other user requests, such as setting personal preferences or changing user account or profile information, and may identify user equipment formats via characteristics other than vendor and model. More than one lookup table may be maintained. For example, each lookup table may correspond to a different set of user requests, and its format or corresponding action may vary depending on the remote access device. Furthermore, any suitable layout may be used. For example, instead of one table for all vendors of user equipment devices, the remote access service may have a separate table for each vendor.
[0080] In step 912, remote access server 460 transmits the action request to an interactive media guidance application on the user equipment (e.g., 402, 404, and / or 406) to enable execution of instructions indicated by the user request received in step 908. The user equipment may be located at an addressable Internet Protocol address, in which case remote access server 460 may transmit the action request directly to the user equipment. The action request may include general criteria for locating the actual program (e.g., start time and channel). In some embodiments, the remote access server may transmit the action request to media guidance access server 490 of the media service provider of the interactive media guidance application on the user equipment for subsequent transmission to the user equipment. The action request may include a program-specific identification for the program (e.g., program name and / or episode name) if the application program interface of media guidance access server 490 is capable of receiving such information.
[0081] At step 914, a notification acknowledging receipt of the action request is transmitted from the interactive media guidance application on the user equipment to the remote access server. The notification may serve to confirm to the user of the remote access user device 440 that the action request was successfully communicated and executed by the user equipment. The notification may be received through communications device 472 by any suitable means. The remote access server 460 may communicate the notification to the remote access client 442 through communications path 482. In other embodiments, the notification may alternatively (or additionally) be received by the remote access user device 440 from the interactive media guidance application through communications device 452.
[0082] In practice, one or more of the steps illustrated in process 900 may be combined with other steps, performed in any suitable order, performed in parallel (eg, simultaneously or near simultaneously), or eliminated.
[0083] Figures 10A and 10B collectively show an illustrative process 1000 for managing and correcting discrepancies that may be found between program listings data when providing remote access to features on an interactive media guidance application. Process 1000 may be used in combination with process 900 of Figure 9A. At step 1012, an action request, such as the action request of Figure 9A, is received on the user equipment. The action request may be received from remote access server 460 (Figure 4) or through an intermediate server, such as media guidance access server 490 (Figure 4) to a media service provider of the interactive media guidance application. The process continues to step 1014.
[0084] In step 1014, the interactive media guidance application locates corresponding program information for which the requested action is scheduled within the media guidance information provided by the media service provider (e.g., media guidance data source 418 of FIG. 4). The corresponding program information is located based on schedule information received in the action request. In some embodiments, the action request may include, for example, a start time and channel of the program for which the action is requested without including an actual program identifier. The program identifier for the corresponding program may be found by the interactive media guidance application on the user equipment or by the media service provider for the interactive media guidance application and communicated to the interactive media guidance application on the user equipment. The search for the corresponding program information may be controlled by processor 300 (FIG. 3) in user equipment devices 402, 404, and / or 406 (all in FIG. 4) or any other processor associated with the interactive media guidance application. In some embodiments, the action request may include a program identifier suitable for the media service provider of the interactive media guidance application.
[0085] At step 1020, a determination is made whether program information corresponding to the schedule information included in the action request was found in media guidance data source 418 (FIG. 4). If the interactive media guidance application does not find the corresponding program information, an acknowledgment may be transmitted to the remote access server at step 1024 to indicate that the requested action was not scheduled. If the interactive media guidance application is able to find the corresponding program information, the process continues at step 1022.
[0086] In step 1022, corresponding program information (e.g., channel, start time, and program name) from the local guide data may be transmitted from the interactive media guidance application on the user equipment to the remote access server as an acknowledgment. For example, XML file 810 may be transmitted to the remote access server as an acknowledgment to the action request received in step 1012. The interactive media guidance application may send the acknowledgment to the remote access service without first reserving the requested action on the user equipment. In these embodiments, the action request may be stored at the media service provider's media guidance access server 490 (FIG. 4) and / or at the user equipment (e.g., in storage 308 of processor 300 in 402, 404, and / or 406) while waiting for the remote access server to instruct the user equipment in step 1080 (described in more detail below) to continue to reserve the action based on the corresponding program information transmitted to the remote access server in step 1022 above. The process continues to step 1026.
[0087] At step 1026, the acknowledgement is received by remote access server 460. The acknowledgement may be received through communications device 472 by any suitable means. In some embodiments, remote access server 460 may communicate the acknowledgement to remote access client 442 through communications path 482. In other embodiments, the acknowledgement may alternatively (or additionally) be received by remote access user device 440 (all in FIG. 4) through communications device 452 from the interactive media guidance application.
[0088] At step 1060, using the program information included in the acknowledgement received from the interactive media guidance application, a determination is made whether a discrepancy exists between the program information for the program in remote access server 460 and the program information for the program in the local guide data used by the interactive media guidance application on user equipment 402, 404, and / or 406 (all in FIG. 4). This determination may be made by remote access user device 440 (FIG. 4) or by remote access server 460 (FIG. 4). For example, the program name included in the acknowledgement in XML file 810 (FIG. 8B) may be compared to the corresponding program name in the remote access data. In the example presented in screen 700 (FIG. 7A), the user intended to schedule a recording of an episode of "The Crocodile Hunter" with the interactive media guidance application. However, when the selected channel and start time were transmitted to the interactive media guidance application in XML file 800 (FIG. 8A), the interactive media guidance application responded with an acknowledgement XML file 810 (FIG. 8B) indicating that the program corresponding to the channel and start time was "Sex and the City." In this case, the remote access server may compare the program name contained in XML file 810 with the corresponding program name for the reservation in the remote access data to detect the discrepancy.
[0089] If no discrepancy is detected in step 1060, the process continues to step 1080 and the requested action is scheduled by the interactive media guidance application on the user equipment. The interactive media guidance application may schedule a recording, set a reminder, or schedule other program-specific actions for the programs found by the interactive media guidance application in step 1020. Depending on options included in the action request, the interactive media guidance application may also schedule other actions related to the action request, such as, for example, scheduling a future date for when the recorded program may be deleted from the user equipment.
[0090] If a discrepancy is detected at step 1060, the process proceeds to step 1061. In step 1061, remote access server 460 transmits a search request for alternative schedule information for the program to media guidance access server 490 and / or to media guidance data source 418 (all of FIG. 4). The search request may include a query using SQL for program information that meets certain criteria. For example, in the discussion discussed above in connection with step 1060, the search request may include a query using SQL for all channels and start times associated with all programs whose program names contain the word "Crocodile."
[0091] At step 1062, a search may be performed on media guidance data sources 418 (FIG. 4) for alternative schedule information for the target program for which the user intended to schedule an action, using the search request transmitted by the remote access server. The search may be performed on one or more media guidance data sources 418 for one or more media service providers. In addition to the program name, the search may consider additional program information, such as a series identifier, program rating, standard / high definition index, episode name, and any combination of these characteristics.
[0092] To find alternative schedule information for a program, a search may use complex and flexible matching algorithms that may support exact match techniques and / or partial or "fuzzy" matching logic (e.g., searching for the closest match). During the search, program information associated with programs on different channels may be compared to the program information for a target program selected by the user. Based on the degree of similarity between the program information for the program and the target program selected by the user, a "similarity rating" may be assigned to the particular program for that channel. The similarity rating may be determined using any suitable algorithm or weighting logic. For example, a significant similarity between program names and / or episode names may be weighted more heavily in the similarity rating algorithm than an exact match between program rating information. Program information for programs on multiple channels associated with media guidance data source 418 (FIG. 4) may be searched. Searching for alternative schedule information may involve searching for alternative schedule information from multiple media service providers (e.g., cable service providers and satellite service providers), whether the information is stored in one database or multiple databases. For example, searching for alternative schedule information may involve searching multiple databases for media guidance data source 418 (FIG. 4), where each database is associated with a different media service provider. In some embodiments, remote access server 460 may have direct access to media guidance data source 418. In these embodiments, remote access server 460 may bypass media guidance access server 490 and perform a search on media guidance data source 418 using a remote access connection. Note that the similarity assessment algorithm discussed above may occur at remote access server 460 (FIG. 4) after initial search results are received from media guidance access server in step 1063 (described below). For example, the remote access server may request (step 1061) a "coarse-grained" set of program information that may match the target program, and may refine this set to the closest matches.Once the search is complete, the process continues to step 1063 .
[0093] At step 1063, remote access server 460 receives the search results from media guidance access server 490, or alternatively from media guidance data source 418 (all in FIG. 4). The search results may include program information sets for all programs that match the search query. Alternatively, the remote access server and / or the media guidance access server may set a maximum number of program information sets that will be returned in the results. In some embodiments, the results may include an additional status indicator that informs the remote access server of the number of results returned by the query and / or some other indicator for the query. The process continues at step 1064.
[0094] In step 1064, a determination is made as to whether replacement schedule information is found for the original program selected by the user. The remote access system may set a minimum match requirement to determine whether suitable replacement schedule information is found. In a typical usage scenario, the remote access system may use a "substantial similarity" test. In some embodiments, only schedule information for a program having a similarity rating that meets a predetermined minimum criterion may pass the substantial similarity test and, as a result, be considered as replacement schedule information for the original program selected by the user. For example, assuming that the similarity rating of program information for programs associated with a channel may range from 0 to 100, with 0 indicating that the program is a perfect mismatch with the original program selected by the user and 100 indicating a perfect match with the original program selected by the user. In an exemplary substantial similarity test, the remote access system may set a predetermined minimum criterion such that program information for a program may be considered as replacement schedule information for the original program selected by the user only if it has a similarity rating of 50 or greater. If no other programs pass the substantial similarity test, the remote access system may conclude that it was not able to find replacement schedule information for the original program selected by the user. It should be noted that the actual method for determining the similarity between two or more programs may be based on any suitable test or algorithm without departing from the spirit of the present invention. If no alternative schedule information is found, the process may continue to step 1070 (described in more detail below) where corrective action may be taken, and to step 1074 where the user may be informed that the action request could not be booked. Otherwise, the process may continue to step 1066.
[0095] In step 1066, the remote access user device or remote access server may transmit the alternative schedule information to the user equipment (or to a service provider for subsequent transmission to the interactive media guidance application). The remote access system may also set minimum match requirements to select which of several near-matching alternative schedule information sets to transmit to the interactive media guidance application on the user equipment. In some embodiments, program information for all channels that meet a predetermined minimum criterion as described in step 1062 may be transmitted. In other embodiments, program information for only the channel with the highest similarity rating may be transmitted. In still other embodiments, program information for up to a predetermined number of channels with the highest similarity rating may be transmitted. The alternative schedule information may be transmitted in an XML format similar to XML file 800 (FIG. 8). If the alternative schedule information includes schedule information from multiple programs, the remote access server may send one XML file 800 for the alternative schedule information for each program, or send one XML file 800 that includes a list of alternative schedule information for all programs. After the alternative schedule information has been transmitted, the process may continue to steps 1068 (described below) and 1070.
[0096] At step 1070, remote access server 460 may transmit information about the differences to a provider of programming information for the remote access service. The data provider may use the difference information to improve the accuracy of the programming information available to the remote access server for future requests. In addition to transmitting information about the differences, the remote access server may also store at least a portion of this information at step 1072 for use in future action requests to an interactive media guidance application on a user equipment device using the same media service provider.
[0097] At step 1068, the interactive media guidance application of media guidance system 400 receives the alternative schedule information for reserving the requested action. Similar to step 1012 above, the interactive media guidance application on user equipment 402, 404, and / or 406 (all in FIG. 4) may receive the alternative schedule information from a remote access server, or alternatively, from media guidance access server 490 (FIG. 4) of the media service provider for the interactive media guidance application. After the interactive media guidance application receives the alternative schedule information, the process may continue at step 1080 (described above), where the interactive media guidance application on the user equipment reserves the action for the program based on the alternative schedule information.
[0098] In practice, one or more of the steps shown in process 1000 may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or nearly simultaneously), or removed. Other embodiments of processes that may be used in conjunction with process 900 of Figure 9A are described in U.S. patent application Ser. No. 11 / 643,507 to Klappert, filed Dec. 20, 2006, which is incorporated herein by reference in its entirety.
[0099] Although the discussion of media content has focused on video content, it will be appreciated that the principles of media guidance can be applied to other types of media content, such as music, images, and multimedia content.
[0100] The above-described embodiments of the present invention are presented for purposes of illustration and not limitation, and the present invention is limited only by the claims that follow.
Claims
1. A method, the method comprising: receiving a user input from the user device indicating an instruction for the user equipment; identifying a user request corresponding to the command indicated by the user input; identifying a plurality of action requests that are mapped to the identified user request; identifying a characteristic of the user equipment; generating an action request of the identified plurality of action requests in a device format compatible with the characteristics associated with the user device; instructing the user equipment based on the generated action request; A method comprising:
2. The method of claim 1, wherein the user input further includes an identification of the user equipment.
3. The method described in claim 1, wherein an application implemented on a server is used to identify the user request, identify the plurality of action requests, and generate the action request from the identified plurality of action requests.
4. The method of claim 1, further comprising selecting the device format from a plurality of formats based at least in part on the characteristics of the user device.
5. The method of claim 1, wherein the characteristics of the user equipment include a user account provided by a provider of an interactive media guidance application implemented on the user equipment.
6. The method of claim 1, wherein the characteristics of the user equipment include a vendor of the user equipment and a model of the user equipment.
7. The method of claim 1, wherein generating one of the plurality of action requests includes maintaining a lookup table that cross-references the user request with a plurality of formats including the device format, and wherein cross-referencing the user request occurs via the lookup table.
8. A system comprising a control circuit, The control circuit includes: receiving a user input from the user device indicating an instruction for the user equipment; identifying a user request corresponding to the command indicated by the user input; identifying a plurality of action requests that are mapped to the identified user request; identifying a characteristic of the user equipment; generating an action request of the identified plurality of action requests in a device format compatible with the characteristics associated with the user device; instructing the user equipment based on the generated action request; A system configured to:
9. The system of claim 8, wherein the user input further includes an identification of the user device.
10. The system described in claim 8, wherein an application implemented on a server is used to identify the user request, identify the plurality of action requests, and generate the action request from the identified plurality of action requests.
11. The system of claim 8, wherein the control circuitry is further configured to select the device format from a plurality of formats based at least in part on the characteristics of the user device.
12. The system of claim 8, wherein the characteristics of the user equipment include a user account provided by a provider of an interactive media guidance application implemented on the user equipment.
13. The system of claim 8, wherein the characteristics of the user equipment include a vendor of the user equipment and a model of the user equipment.
14. The system of claim 8, wherein the control circuit is further configured to maintain a lookup table that cross-references the user request with a plurality of formats including the device format when generating one of the plurality of action requests, and the cross-referencing of the user request occurs via the lookup table.
Citation Information
Patent Citations
Apparatus control system, apparatus control server and apparatus control method
JP2003047075A
Video recording reservation management apparatus, and video recording reservation management method and program
JP2006279225A
Remote video recording system and remote reservation video recording method thereof, and program video recording device thereof
JP2007005962A
Systems and methods for video-rich navigation
US20060236342A1
User speech interfaces for interactive media guidance applications
US20070016847A1