Abstract:
Systems and methods for mirroring and transcoding media content are provided. In some embodiments, media content stored on a user equipment device is mirrored on a remote server, and the mirrored copy is transcoded and provided to other user devices in a media content format that is appropriate for the user devices. By so doing, the present invention not only provides a convenient and easy way for users to backup media content and access the media content from virtually any device, but also reduces the complexity and costs associated with maintaining reliable and consistent access to media content across various user devices.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]    This application is a continuation of U.S. patent application Ser. No. 11/827,649, filed Jul. 11, 2007, which is hereby incorporated by reference herein in its entirety. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    Recent technological innovations have led to an explosion in usage of consumer electronics, and in particular, portable user devices. It is not unusual for one user to store media content on a myriad of devices (from portable video devices and cell phones to handheld computers and set-top boxes). A problem arises when a user&#39;s devices have different sets of requirements and restrictions regarding the type and format of media content that may be delivered to or from a given device. Therefore, sharing media content between a variety of devices can quickly become unwieldy. Another problem arises because consumer electronics, such as portable devices, are prone to failure or loss, which may lead to loss of important, expensive, and sometimes irrecoverable, media content. 
       SUMMARY OF THE INVENTION 
       [0003]    This invention is generally directed to systems and methods for providing access to media content, and in particular, to providing mirroring and transcoding of media content. Among other things, the present invention advantageously allows users to mirror media content stored on a source device onto a remote server and then remotely access the mirrored copy of the media content using other devices owned by the user or otherwise authorized to access the mirrored copy of the media content. For example, in a typical usage scenario, a user may record TV shows or movies using a digital video recorder (DVR) in the user&#39;s home network, mirror the recording onto a remote server, and then access the recording from the remote server using, for example, a portable video player (such as a portable television) in a transcoded format of the recording this is appropriate for the portable device without additional external hardware. 
         [0004]    In some embodiments, the present invention advantageously provides an easy and automatic backup of media content stored on a source device so that, in case of failure or loss of the source device, the media content may be recovered from the mirrored copy. In addition to providing an additional copy of the media content for data recovery purposes, the mirrored copy may also be leveraged, in some embodiments, to provide access of the media content to other devices which would otherwise rely on the source device for access to the media content. By so doing, the source device is relieved of the burden of servicing remote access requests, and in particular, of the burden of transcoding media content to meet the various device format and specification requirements of the requesting devices. Furthermore, because other devices used by the user may not rely directly on the source device for access to media content stored on the source device, loss or failure of the source device does not preclude other devices from accessing the media content. Unlike known device-based transcoding or backup systems, the present invention does not require the user to acquire additional external devices which may add significantly to system costs, or to acquire knowledge of complex processes to set up various devices to communicate effectively. In some embodiments, the network-based approach of the present invention may also advantageously enable service enhancements such as support for new and future coding formats that may be severely limited in device-based systems. 
         [0005]    As used herein, “transcoding” refers to manipulating digitally compressed and coded data (for example video information) in order to convert it from one format (or specification) to another. Where the original, uncompressed source material (rather than a digitally compressed version of the source material) is available to the transcoder, “transcoding,” as used herein, may also refer to encoding the original, uncompressed format of the source material into a new analog or digital format of the source material. As used herein, “media content” refers to any form of electronic information, and may be in analog or digital format. Media content may include, but is not limited to, video content (e.g., TV shows, movies, video advertisement, video recording, etc.), audio content (e.g. music, voice messages, audio lectures, other audio recordings, etc.), images, text (e.g., reports, presentations, letters, forms, etc.), multi-media content (e.g., text, audio, graphics, animation, video, other interactive media, etc.), and any suitable combination thereof. As used herein, “mirroring” refers to the direct or indirect copying of a data set, and may typically include subsequent updates to the mirrored copy in order to keep the mirror up-to-date with the original data set. Mirroring may be “live,” in which case the mirror copy is automatically updated in response to an update to the original data se. However, in some embodiments, mirroring may be performed according to a predetermined schedule. The data set mirrored may correspond to an entire storage drive or disk on a user device, or a subset of the data set on the storage drive. 
         [0006]    In one aspect of the invention, media content stored on one user equipment device (referred to herein as the “source device”) is mirrored on a remote server coupled to the user equipment device over a network. The user may mirror media content from multiple user devices associated with the user. In some embodiments, the user may designate one or more storage drives on the source device to be mirrored on the remote server. Alternatively, the user may designate a subset of the media content on one or more storage drives on the source device, and the remote server will mirror only the designated subset. For example, the user may choose to mirror only specific file types (e.g., MPEG, MP3, Windows Media, etc.). The user may also restrict access to the mirrored copies to authorized users, to authorized devices, or to authorized users using authorized requesting devices. 
         [0007]    Media content mirrored on the remote server may be provided to other user devices in the original media content format or in a transcoded media content format. In some embodiments, the mirrored copy of the media content may be provided by the remote server to other devices in response to a request to access the media content received from the device. In some embodiments, the mirrored copy of the media content may be automatically provided to other user devices. As used herein, a “requesting device” is any device that receives a mirrored copy of the media content in an original or transcoded format regardless of whether or not the device transmitted a request for the media content. In some embodiments, in response to a user input received by a requesting device to access the media content, the remote server transcodes the mirrored copy of the media content into a second media content format that is appropriate for the requesting device and provides the mirrored, transcoded copy of the media content to the requesting device. In some embodiments, the remote server may select a media content format that is appropriate for the requesting device from a plurality of media content formats based on the capabilities of the requesting device. Capabilities of a requesting device that may affect the media content format selected by the remote server may include, but are not limited to, the storage, display, and bandwidth capabilities of the requesting device. 
         [0008]    In some embodiments, the remote server may transcode the mirrored copy of the media content into the second media content format prior to receiving the user request from the requesting device. 
         [0009]    In some embodiments, the mirrored copy of the media content may be automatically provided to all user equipment devices designated by the user to receive such automatic updates in a appropriate media content format for each designated device. For example, a user may designate a personal computer (PC) to receive a mirrored copy of all media content mirrored from the user&#39;s portable digital assistant (PDA). In some embodiments, mirrored content from these particular source devices may be provided to the designated user device or devices based, for example, on a user-determined schedule. Thus, in addition to providing a backup solution for media content on all the user&#39;s devices, in some embodiments, the present invention may also serve to synchronize media content across various user equipment devices without requiring external transcoding hardware, regardless of the physical proximity of devices to each other. In this manner, the user may be provided with immediate and automatic access to all of the user&#39;s media content from any of the devices owned or authorized by the user. 
         [0010]    In some embodiments, media content provided by the remote server may be played by the remote server on the requesting device. In these embodiments, the remote server may maintain a pointer to the media content stream, and adjust the pointer in response to activation of various playback controls provided on the requesting device. In some embodiments, the user may be provided with VCR-like features such as, for example, the ability to play, stop, rewind, fast-forward, and pause the media content. A user input to activate any of the VCR-like controls may be received by the requesting device and transmitted from the requesting device to the remote server. Upon receiving the user input to activate the control from the requesting device, the remote server may adjust the pointer position in accordance with the activated control. For example, in response to a user input to fast-forward the media content, the remote server may advance the pointer to skip a portion of the streaming media content that corresponds to the fast-forwarded section. In some embodiments, the media content may be provided to the requesting device to be played by a media player that is resident on the requesting device. In these embodiments, the requested media content may be received by the requesting device along with appropriate metadata (e.g., subtitles) for playing the received media content. 
         [0011]    In some embodiments, transcoding of the media content may occur in real-time, in concurrence with playing the media content on the requesting device. For example, where appropriate, the remote server may first transcode and provide to the requesting device a portion of the media content corresponding to the beginning of the media content. The remote server may subsequently transcode and provide the remainder of the media content while the already provided portion is played on the requesting device. By so doing, the media content can be accessed quickly and readily with only minimal, if any, delay. In some embodiments, (e.g., where the particular media content is frequently requested by the same requesting device or several requesting devices in the same format), the mirrored copy of the media content may be transcoded into that format and cached on the remote server for servicing future requests. 
         [0012]    In some embodiments, multiple remote servers may be used to mirror, transcode, and provide the media content to user equipment devices. For example, a remote mirroring server may store mirrored copies of media content, and a remote transcoding server, that is separate from the remote mirroring server, may service requests from requesting devices or provide automatic updates to designated devices. In these embodiments, the remote transcoding server may, for example, provide the mirrored, transcoded copies of the media content to requesting devices using mirrored copies of the media content obtained from the remote mirroring server. The remote transcoding server may obtain a mirrored copy of the media content in response to an access request, and/or in anticipation of future requests. For example, the remote transcoding server may obtain and pre-transcode media content based on the frequency of access of requests for the media content, or based on some other mechanism for predicting access such as, for example, repeated past access requests during a particular time of day. In some embodiments, mirroring and transcoding may be performed, respectively, by first and second applications resident on the same remote server. 
         [0013]    The mirrored copy of the media content may also be provided to other devices without transcoding. For example, media content mirrored from a set-top box that is later replaced due, for example, to device failure may be provided to the replacement set-top box without transcoding, if the mirrored copy of the media content is already in a media content format that is supported by the replacement set-top box. Similarly, a user may recover media content from, a lost cellular telephone by accessing a mirrored copy of the media content using a replacement cellular telephone without transcoding. 
         [0014]    In addition to providing the mirrored copy of the media content in a transcoded or original format to other user equipment devices, the remote server may also provide the mirrored copy of the media content to the source device. In some embodiments, the remote server may provide the mirrored copy of the media content to the source device to restore the original if, for any reason (including accidental loss of the media content), the source device no longer stores the original media content. For example, the remote server may restore the media content on the source device from the mirrored copy in response to a user request received by the source device to access the lost media content. In some embodiments, to ensure efficient use of network and server resources, the remote server may not service requests to access the media content received by the source device if the source device still maintains a copy of the requested media content. In such cases, the source device may service user requests to access the media content from the local copy. 
         [0015]    The source device and the requesting device may each be any suitable user equipment device that is capable of remote communication with a server in a client-server configuration. In some embodiments, the source device or the requesting device (or both) may be a mobile user device such as, for example, a cellular telephone, a laptop computer, a personal digital assistant, a handheld computer, a portable television system, an automobile television system, a portable media player, or any combination of these devices. In some embodiments, the source device or the requesting device (or both) may be installed or standard equipment such as, for example, a personal computer, a set-top box, a digital video recorder, an optical disc recorder, a digital camera, a home telephone, a laptop computer, a media player, other installed equipment, or any combination of these devices. In some embodiments, the source device or the requesting device (or both) may access the media content using an interactive media guidance application. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]    The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which: 
           [0017]      FIGS. 1 and 2  show illustrative display screens that may be used to provide media guidance application listings in accordance with one embodiment of the invention; 
           [0018]      FIG. 3  shows an illustrative user equipment device in accordance with one embodiment of the invention; 
           [0019]      FIG. 4  is a diagram of an illustrative interactive media system for mirroring and providing access to mirrored media content in accordance with one embodiment of the invention; 
           [0020]      FIG. 5  shows illustrative display screen  500  for setting, mirroring, and sharing a recording of a television program with user equipment devices in accordance with one embodiment of the invention; 
           [0021]      FIG. 6  shows illustrative screen  600  for accessing mirrored copies of the media content in accordance with one embodiment of the invention; 
           [0022]      FIG. 7  show illustrative process  700  for mirroring and providing access to mirrored media content in accordance with one embodiment of the invention; 
           [0023]      FIG. 8  shows illustrative process  800  for mirroring media content stored on a user equipment device onto a remote mirroring server according to one embodiment of the invention; and 
           [0024]      FIG. 9  shows illustrative process  900  for providing access to media content mirrored on a remote mirroring server according to one embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0025]    The amount of media available to users in any given media delivery system can be substantial. Consequently, many users desire a form of media guidance through an interface that allows users to efficiently navigate media selections and easily identify media that they may desire. An application which provides such guidance is referred to herein as an interactive media guidance application or, sometimes, a media guidance application or a guidance application. 
         [0026]    Interactive media guidance applications may take various forms depending on the media for which they provide guidance. One typical type of media guidance application is an interactive television program guide. Interactive television program guides (sometimes referred to as electronic program guides) are well-known guidance applications that, among other things, allow users to navigate among and locate many types of media content including conventional television programming (provided via traditional broadcast, cable, satellite, Internet, or other means), as well as pay-per-view programs, on-demand programs (as in 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 allow users to navigate among and locate content related to the video content including, for example, video clips, articles, advertisements, chat sessions, games, etc. 
         [0027]    With the advent of the Internet, mobile computing, and high-speed wireless networks, users are increasingly accessing media on personal computers (PCs) and other devices on which they traditionally did not, such as hand-held computers, personal digital assistants (PDAs), mobile telephones, automobile television systems, mobile televisions, or other mobile devices. On these devices, users increasingly want to navigate among and locate desirable video clips, full motion videos (which may include television programs), images, music files, and other suitable media. Consequently, media guidance is also necessary on these devices, as well. For example, media guidance applications may be provided for media content available only through a television, for media content available only through one or more of these devices, or for media content available both through a television and one or more of these devices. The media guidance applications may be provided as on-line applications (i.e., provided on a web-site), or as stand-alone applications or clients on hand-held computers, PDAs, mobile telephones, or other mobile devices such as, for example, traditionally passive devices that have been enhanced with circuitry for operating media guidance applications (e.g., wrist watches, telephone hand sets, appliances (including kitchen or bathroom appliances), etc.). In some systems, users may control equipment remotely via a media guidance application. For example, users may access an online media guide and set recordings or other settings on their in home equipment. This may be accomplished by the on-line guide controlling the user&#39;s equipment directly or via another media guide that runs on the user&#39;s equipment. Remote access of interactive media guidance applications is discussed in greater detail in U.S. patent application Ser. No. 11/246,392, filed Oct. 7, 2005, the disclosure of which is hereby incorporated by reference herein in its entirety. 
         [0028]    One of the functions of the media guidance application is to provide media listings and media information to users.  FIGS. 1-2  and  5 - 6  show illustrative 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 - 6  may be implemented on any suitable device or platform. While the displays of  FIGS. 1-2  and  5 - 6  are illustrated as full screen displays, they may also be fully or partially overlaid over media content being displayed. A user may indicate a desire to access media information by selecting a selectable option provided in a display screen (e.g., a menu option, a listings option, an icon, a hyperlink, etc.) or pressing a dedicated button (e.g., a GUIDE button) on a remote control or other user input interface or device. In response to the user&#39;s indication, the media guidance application may provide a display screen with media information organized in one of several ways, such as by time and channel in a grid, by time, by channel, by media type, by category (e.g., movies, sports, news, children, or other categories of programming), or other predefined, user-defined, or other organization criteria. 
         [0029]      FIG. 1  shows illustrative grid program listings display  100  arranged by time and channel that also enables access to different types of media content in a single display. Display  100  may include grid  102  with: (1) a column of channel/media type identifiers  104 , where each channel/media type identifier (which is a cell in the column) identifies a different channel or media type available; and (2) a row of time identifiers  106 , where each time identifier (which is a cell in the row) identifies a time block of programming. Grid  102  also includes cells of program listings, such as program listing  108 , where each listing provides the title of the program provided on the listing&#39;s associated channel and time. With a user input device, a user can select program listings by moving highlight region  110 . Information relating to the program listing selected by highlight region  110  may be provided in program information region  112 . Region  112  may include, for example, the program title, the program description, the time the program is provided (if applicable), the channel the program is on (if applicable), the program&#39;s rating, and other desired information. 
         [0030]    In addition to providing access to linear programming provided according to a schedule, the media guidance application also provides access to non-linear programming which is not provided according to a schedule. Non-linear programming may include content from different 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), video cassette, compact disc (CD), etc.), or other time-insensitive media content. On-demand content may include both movies and original media content provided by a particular media provider (e.g., HBO On Demand providing “The Sopranos” and “Curb Your Enthusiasm”). HBO ON DEMAND is a service mark owned by Time Warner Company L.P. et al. and THE SOPRANOS and CURB YOUR ENTHUSIASM are trademarks owned by the Home Box Office, Inc. Internet content may include web events, such as a chat session or Webcast, or content available on-demand as streaming media or downloadable media through an Internet web site or other Internet access (e.g. FTP). 
         [0031]    Grid  102  may provide listings for non-linear programming including on-demand listing  114 , recorded media listing  116 , and Internet content listing  118 . A display combining listings for content from different types of media sources is sometimes referred to as a “mixed-media” display. The various permutations of the types of listings that may be displayed that are different than display  100  may be based on user selection or guidance application definition (e.g., a display of only recorded and broadcast listings, only on-demand and broadcast listings, etc.). As illustrated, listings  114 ,  116 , and  118  are shown as spanning the entire time block displayed in grid  102  to indicate that selection of these listings may provide access to a display dedicated to on-demand listings, recorded listings, or Internet listings, respectively. In other embodiments, listings for these media types may be included directly in grid  102 . Additional listings may be displayed in response to the user selecting one of the navigational icons  120 . (Pressing an arrow key on a user input device may affect the display in a similar manner as selecting navigational icons  120 .) 
         [0032]    Display  100  may also include video region  122 , advertisement  124 , and options region  126 . Video region  122  may allow the user to view and/or preview programs that are currently available, will be available, or were available to the user. The content of video region  122  may correspond to, or be independent from, one of the listings displayed in grid  102 . Grid displays including a video region are sometimes referred to as picture-in-guide (PIG) displays. PIG displays and their functionalities are described in greater detail in Satterfield et al. U.S. Pat. No. 6,564,378, issued May 13, 2003 and Yuen et al. U.S. Pat. No. 6,239,794, issued May 29, 2001, which are hereby incorporated by reference herein in their entireties. PIG displays may be included in other media guidance application display screens of the present invention. 
         [0033]    Advertisement  124  may provide an advertisement for media content that, depending on a viewer&#39;s access rights (e.g., for subscription programming), is currently available for viewing, will be available for viewing in the future, or may never become available for viewing, and may correspond to or be unrelated to one or more of the media listings in grid  102 . Advertisement  124  may also be for products or services related or unrelated to the media content displayed in grid  102 . Advertisement  124  may be selectable and provide further information about media content, provide information about a product or a service, enable purchasing of media content, a product, or a service, provide media content relating to the advertisement, etc. Advertisement  124  may be targeted based on a user&#39;s profile/preferences, monitored user activity, the type of display provided, or on other suitable targeted advertisement bases. 
         [0034]    While advertisement  124  is shown as rectangular or banner shaped, advertisements may be provided in any suitable size, shape, and location in a guidance application display. For example, advertisement  124  may be provided as a rectangular shape that is horizontally adjacent to grid  102 . This is sometimes referred to as a panel advertisement. In addition, advertisements may be overlaid over media content or a guidance application display or embedded within a display. Advertisements may also include text, images, rotating images, video clips, or other types of media content. Advertisements may be stored in the user equipment with the guidance application, in a database connected to the user equipment, in a remote location (including streaming media servers), or on other storage means or a combination of these locations. Providing advertisements in a media guidance application is discussed in greater detail in, for example, Knudson et al., U.S. patent application Ser. No. 10/347,673, filed Jan. 17, 2003, Ward, III et al. U.S. Pat. No. 6,756,997, issued Jun. 29, 2004, and Schein et al. U.S. Pat. No. 6,388,714, issued May 14, 2002, which are hereby incorporated by reference herein in their entireties. It will be appreciated that advertisements may be included in other media guidance application display screens of the present invention. 
         [0035]    Options region  126  may allow the user to access different types of media content, media guidance application displays, and/or media guidance application features. Options region  126  may be part of display  100  (and other display screens of the present invention), or may be invoked by a user by selecting an on-screen option or pressing a dedicated or assignable button on a user input device. The selectable options within options region  126  may concern 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 air times or ways of receiving a program, recording a program, enabling series recording of a program, setting 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, access to various types of listing displays, subscribe to a premium service, edit a user&#39;s profile, access a browse overlay, or other options. 
         [0036]    The media guidance application may be personalized based on a user&#39;s preferences. A personalized media guidance application allows a user to customize displays and features to create a personalized “experience” with the media guidance application. This personalized experience may be created by allowing a user to input these customizations and/or by the media guidance application monitoring user activity to determine various user preferences. Users may access their personalized guidance application by logging in or otherwise identifying themselves to the guidance application. Customization of the media guidance application may be made in accordance with a user profile. The customizations may include varying presentation schemes (e.g., color scheme of displays, font size of text, etc.), aspects of media content listings displayed (e.g., only HDTV programming, user-specified broadcast channels based on favorite channel selections, re-ordering the display of channels, recommended media content, etc.), desired recording features (e.g., recording or series recordings for particular users, recording quality, etc.), parental control settings, and other desired customizations. 
         [0037]    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 the user may have with the guidance application. Additionally, the media guidance application may obtain all or part of other user profiles that are related to a particular user (e.g., from other web sites on the Internet the user accesses, such as www.tvguide.com, from other media guidance applications the user accesses, from other interactive applications the user accesses, from a handheld device of the user, etc.), and/or obtain information about the user from other sources that the media guidance application may access. As a result, a user can be provided with a unified guidance application experience across the user&#39;s different devices. This type of user experience is described in greater detail below in connection with  FIG. 1 . Additional personalized media guidance application features are described in greater detail in Ellis et al., U.S. patent application Ser. No. 11/179,410, filed Jul. 11, 2005, Boyer et al., U.S. patent application Ser. No. 09/437,304, filed Nov. 9, 1999, and Ellis et al., U.S. patent application Ser. No. 10/105,128, filed Feb. 21, 2002, which are hereby incorporated by reference herein in their entireties. 
         [0038]    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, thus providing listings  206 ,  208 ,  210 , and  212  as broadcast program listings. In some embodiments, display  200  may include selectable feature  220 , which may be selected by the user to access a directory of mirrored copy of the media content on a remote server. Detailed description of selectable feature  220  and the user directory are provided below with reference to screen  600  of  FIG. 6 . 
         [0039]    Unlike the listings from  FIG. 1 , the listings in display  200  are not limited to simple text (e.g., the program title) and icons to describe media. Rather, in display  200  the listings may provide graphical images including cover art, still images from the media content, video clip previews, live video from the media content, or other types of media that indicate to a user the media content being described by the listing. Each of the graphical listings may also be accompanied by text to provide further information about the media content associated with the listing. For example, listing  208  may include more than one portion, including media portion  214  and text portion  216 . Media portion  214  and/or text portion  216  may be selectable to view video in full-screen or to view program listings related to the video displayed in media portion  214  (e.g., to view listings for the channel that the video is displayed on). 
         [0040]    The listings in display  200  are of different sizes (i.e., listing  206  is larger than listings  208 ,  210 , and  212 ), but if desired, all the listings may be the same size. Listings may be of different sizes or graphically accentuated to indicate degrees of interest to the user or to emphasize certain content, as desired by the media provider or based on user preferences. Various systems and methods for graphically accentuating media listings are discussed in, for example, Yates, U.S. patent application Ser. No. 11/324,202, filed Dec. 29, 2005, which is hereby incorporated by reference herein in its entirety. 
         [0041]    Users may access media content and the media guidance application (and its display screens described above and below) from one or more of their user equipment devices.  FIG. 3  shows a generalized embodiment of illustrative user equipment device  300 . More specific implementations of user equipment devices are discussed below in connection with  FIG. 1 . User equipment device  300  may receive media content and data via input/output (hereinafter “I/O”) path  302 . I/O path  302  may provide media content (e.g., broadcast programming, on-demand programming, Internet content, and other video or audio) and data to control circuitry  304 , which includes processing circuitry  306  and storage  308 . Control circuitry  304  may be used to send and receive commands, requests, and other suitable data using I/O path  302 . I/O path  302  may connect control circuitry  304  (and specifically processing circuitry  306 ) to one or more communications paths (described below). I/O functions may be provided by one or more of these communications paths, but are shown as a single path in  FIG. 3  to avoid overcomplicating the drawing. 
         [0042]    Control circuitry  304  may be based on any suitable processing circuitry  306  such as processing circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, etc. In some embodiments, control circuitry  304  executes instructions for a media guidance application stored in memory (i.e., storage  308 ). In client-server based embodiments, control circuitry  304  may include communications circuitry suitable for communicating with a guidance application server or other networks or servers. 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 communications with other equipment. Such communications may involve the Internet or any other suitable communications networks or paths (which is described in more detail in connection with  FIG. 1 ). In addition, communications circuitry may include circuitry that enables peer-to-peer communication of user equipment devices, or communication of user equipment devices in locations remote from each other (described in more detail below). 
         [0043]    Memory (e.g., random-access memory, read-only memory, or any other suitable memory), hard drives, optical drives, or any other suitable fixed or removable storage devices (e.g., DVD recorder, CD recorder, video cassette 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 above types of storage devices. 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 described herein and guidance application data, including program information, guidance application settings, user preferences or profile information, or other data used in operating the guidance application. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). 
         [0044]    Control circuitry  304  may include video generating circuitry 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 circuits or combinations of such circuits. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided. Control circuitry  304  may also include scaler circuitry for upconverting and downconverting media into the preferred output format of the user equipment  300 . Circuitry  304  may also include digital-to-analog converter circuitry and analog-to-digital converter circuitry for converting between digital and analog signals. The tuning and encoding circuitry may be used by the user equipment to receive and to display, to play, or to record media content. The tuning and encoding circuitry may also be used to receive guidance data. The circuitry described herein, including for example, the tuning, video generating, 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 handle simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple-tuner recording, etc.). If storage  308  is provided as a separate device from user equipment  300 , the tuning and encoding circuitry (including multiple tuners) may be associated with storage  308 . 
         [0045]    A user may control the control circuitry  304  using user input interface  310 . User input interface  310  may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touch pad, stylus input, joystick, voice recognition interface, or other user input interfaces. Display  312  may be provided as a stand-alone device or integrated with other elements of user equipment device  300 . Display  312  may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, or any other suitable equipment for displaying visual images. In some embodiments, display  312  may be HDTV-capable. Speakers  314  may be provided as integrated with other elements of user equipment device  300  or may be stand-alone units. The audio component of videos and other media content displayed on display  312  may be played through speakers  314 . In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers  314 . 
         [0046]    User equipment device  300  of  FIG. 3  can be implemented in system  400  of  FIG. 4  as user television equipment  402 , user computer equipment  404 , wireless user communications device  406 , or any other type of user equipment suitable for accessing media, such as a non-portable gaming machine. For simplicity, these devices may be referred to herein collectively as user equipment, user equipment devices, or user devices. User equipment devices, on which a media guidance application is implemented, may function as a standalone device or may be part of a network of devices. Various network configurations of devices may be implemented and are discussed in more detail below. 
         [0047]    System  400  shown in  FIG. 4  is an illustrative interactive media distribution system for providing access to media content in one aspect of the present invention. Exemplary system  400  includes media content source  416 , media guidance data source  418 , user equipment devices  402 ,  404 , and  406 , and remote mirroring and transcoding server  440  (which may include mirroring server  430  and transcoding server  450 ) as well as various communication networks and data links. 
         [0048]    User television equipment  402  in system  400  may include a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a television set, a digital storage device, a DVD recorder, a video-cassette recorder (VCR), a digital video recorder, a local media server, or other user television equipment. One or more of these devices may be integrated in a single device if desired. User computer equipment  404  may include a PC, a laptop, 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 trademark owned by Microsoft Corp. Wireless user communications device  406  may include PDAs, a mobile telephone, a portable video player, a portable music player, a portable gaming machine, an automobile television system, an enhanced passive device, or other wireless devices. 
         [0049]    It should be understood that with the advent of television tuner cards for PC&#39;s, WebTV, and the integration of video into other user equipment devices, the lines have become blurred when trying to classify a device as one of the above devices. In fact, each of user television equipment  402 , user computer equipment  404 , and wireless user communications device  406  may utilize at least some of the system features described in  FIG. 3  and, as a result, include flexibility with respect to the type of media content available on the device. For example, user television equipment  402  may be Internet-enabled, allowing for access to Internet content, while user computer equipment  404  may include a tuner allowing for access to television programming. The media guidance application may also have the same layout on the various different types of user equipment or may be tailored to the display capabilities of the user equipment. For example, on user computer equipment, the guidance application may be provided as a web site accessed by a web browser. In another example, the guidance application may be scaled down for wireless user communications devices. System  400  typically includes more than one of each type of user equipment device but only one of each is shown in  FIG. 4  to avoid overcomplicating the drawing. 
         [0050]    The user equipment devices may be coupled to communications network  414 . Namely, 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  may be one or more networks including the Internet, a mobile telephone network, mobile device (e.g., Blackberry) network, cable network, public switched telephone network, or other types of communications networks or combinations of communications networks. BLACKBERRY is a service mark owned by Research In Motion Limited Corp. Paths  408 ,  410 , and  412  may separately or together include one or more communications paths, such as, a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths. Path  412  is drawn with dotted lines to indicate that in the exemplary embodiment shown in  FIG. 4  it is a wireless path and paths  408  and  410  are drawn as solid lines to indicate they are wired paths (although these paths may be wireless paths, if desired). Communications with the user equipment devices may be provided by one or more of these communications paths, but are shown as a single path in  FIG. 4  to avoid overcomplicating the drawing. 
         [0051]    Although communications paths are not drawn between user equipment devices, these devices may communicate directly or indirectly with each other via communication paths, such as those described above in connection with paths  408 ,  410 , and  412 , as well other short-range point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or other short-range communication via wired or wireless paths. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices may also communicate with each other directly through an indirect path via communications network  414 . 
         [0052]    System  400  includes media content source  416  and media guidance data source  418  coupled to communications network  414  via communication paths  420  and  422 , respectively. Paths  420  and  422  may include any of the communication paths described above in connection with paths  408 ,  410 , and  412 . Communications with media content source  416  and media guidance data source  418  may be exchanged over one or more communications paths, but are shown as a single path in  FIG. 4  to avoid overcomplicating the drawing. In addition, 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. (The 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 as one source device. Although communications between sources  416  and  418  with user equipment devices  402 ,  404 , and  406  are shown as through communications network  414 , in some embodiments, sources  416  and  418  may communicate directly with user equipment devices  402 ,  404 , and  406  via communication paths (not shown) such as those described above in connection with paths  408 ,  410 , and  412 . 
         [0053]    Media content source  416  may include one or more types of media distribution equipment including a television distribution facility, cable system headend, satellite distribution facility, programming sources (e.g., television broadcasters, 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 trademark owned by the National Broadcasting Company, Inc., ABC is a trademark owned by the ABC, INC., and HBO is a trademark owned by the Home Box Office, Inc. Media content source  416  may be the originator of media content (e.g., a television broadcaster, a Webcast provider, etc.) or may not be the originator of media content (e.g., an on-demand media content provider, an Internet provider of video content of broadcast programs for downloading, etc.). Media content source  416  may include cable sources, satellite providers, on-demand providers, Internet providers, or other providers of media content. Media content source  416  may also include a remote media server used to store different types of media content (including video content selected by a user), in a location remote from any of the user equipment devices. 
         [0054]    Media guidance data source  418  may provide media guidance data, such as media listings, media-related information (e.g., broadcast times, broadcast channels, media titles, media descriptions, ratings information (e.g., parental control ratings, critic&#39;s ratings, etc.), genre or category information, actor information, logo data for broadcasters&#39; or providers&#39; logos, etc.), media format (e.g., standard definition, high definition, etc.), advertisement information (e.g., text, images, media clips, etc.), on-demand information, and any other type of guidance data that is helpful for a user to navigate among and locate desired media selections. 
         [0055]    Media guidance application data may be provided to the user equipment devices using any suitable approach. In some embodiments, the guidance application may be a stand-alone interactive television program guide that receives program guide data via a data feed (e.g., a continuous feed, trickle feed, or data in the vertical blanking interval of a channel). Program schedule data and other guidance data may be provided to the user equipment on a television channel sideband, in the vertical blanking interval of a television channel, using an in-band digital signal, 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 the user equipment with any suitable frequency (e.g., continuously, daily, a user-specified period of time, a system-specified period of time, in response to a request from user equipment, etc.). In some approaches, guidance data from media guidance data source  418  may be provided to users&#39; equipment using a client-server approach. For example, a guidance application client residing on the user&#39;s equipment may initiate sessions with source  418  to obtain guidance data when needed. Media guidance data source  418  may provide user equipment devices  402 ,  404 , and  406  the media guidance application itself or software updates for the media guidance application. 
         [0056]    Media guidance applications may be, for example, stand-alone applications implemented on user equipment devices. In other embodiments, media guidance applications may be client-server applications where only the client resides on the user equipment device. For example, media guidance applications may be implemented partially as a client application on control circuitry  304  of user equipment device  300  and partially on a remote server as a server application (e.g., media guidance data source  418 ). The guidance application displays may be generated by the media guidance data source  418  and transmitted to the user equipment devices. 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 control circuitry. 
         [0057]    System  400  may also include remote mirroring and transcoding server  440  used to mirror media content stored on any of user equipment devices  402 ,  404 , or  406 , in a location remote from any of the user equipment devices. Remote mirroring and transcoding server  440  may also be used provide the mirrored copies of the media content in the original or transcoded media content format to requesting devices. Media content that may be mirrored on remote mirroring and transcoding server  440  include, but is not limited to, videos, music, images, other audio content (e.g., voice messages), multi-media content, text, or other suitable media content. If necessary, the mirrored copy of the media content may include metadata associated with the media content. For example, in some embodiments, remote mirroring and transcoding server  440  may store metadata required to successfully play the mirrored copy of the media content on a requesting device. Examples of metadata that may be mirrored along with media content include, but are not limited to, subtitles, text tracks, music information tracks, additional video formats, additional languages, or other additional data. In some embodiments, remote mirroring and transcoding server  440  may be coupled to communications network  414  through communications path  460 . Communications path  460  may be any suitable communications path such, as for example, those described in connection with communication path  420 . Remote mirroring and transcoding server  440  may reside with media content source  416  but has been drawn as a separate element for clarity. 
         [0058]    Remote mirroring and transcoding server  440  may include mirroring server  430  for mirroring media content, and transcoding server  450  for providing the mirrored media content to requesting devices in an original or transcoded format of the media content. 
         [0059]    Mirroring server  430  may be based on any suitable combination of hardware and software capable of client-server based interactions with source devices such as, for example, user equipment devices  402 ,  404 , or  406 . In the simplified embodiment of  FIG. 4 , mirroring server  430  includes one or more control circuitry  432 , storage  434 , communications device (not shown), and application program interface (API)  436  (which may be an application run by control circuitry  432  and stored on storage  434 , but has been drawn as a separate element for clarity). Mirroring server  430  may, for example, receive a mirroring request from any of user equipment devices  402 ,  404 , or  406 , process the request, create, and store a mirrored copy of the appropriate media content stored on the respective device. In some embodiments, mirroring server  430  may run a suitable database engine, such as a SQL server or Oracle DB, and provide the mirrored content based on queries executed by the database engine. 
         [0060]    Control circuitry  432  of mirroring server  430  may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuitry such as caching circuitry, direct memory access (DMA) circuitry, and input/output (I/O) circuitry. In some embodiments, control circuitry  432  may also include circuitry suitable for decoding program and data files stored on storage  434  and playing back mirrored copies of the media content on various types of user equipment devices in response to access requests. 
         [0061]    Storage  434  of mirroring server  430  may include any suitable storage device including memory or other storage devices, such as random access memory (RAM), read only memory (ROM), flash memory, and a hard disk drive, that is suitable for storing mirrored copies of media content. Media content may be stored on storage  434  in any suitable format (e.g., a Structured Query Language (SQL) database). Storage  434  may also store user profile information for correlating users with their respective user equipment devices and mirrored content. Storage  434  may include several levels of primary, secondary, and auxiliary storage. For example, in some embodiments, the storage level for a mirrored copy of a given media content may be determined based on the frequency of access or other property of the mirrored content, such as the last date of access. In some embodiments, where multi-level storage is employed, the most recently accessed or most frequently accessed mirrored content may be stored in the primary level storage, which is typically the fastest memory level. Although storage  434  is shown in direct connection with control circuitry  432 , in some embodiments, at least a portion of storage  434  may be located on a separate data server. For example, in some embodiments, a separate data server may be used for each type of media content (e.g., audio, video, image, text, etc.) mirrored on mirroring server  430 . 
         [0062]    The communications device (not shown) employed by mirroring server  430  may be any device suitable for communications between mirroring server  430 , transcoding server  450 , and communications network  414 , such as a communication port (e.g., a serial port, parallel port, universal serial bus (USB) port, etc.), modem (e.g., any suitable analog or digital standard modem or cellular modem), network interface card (e.g., an Ethernet card, token ring card, etc.), wireless transceiver (e.g., an infrared, radio, or other suitable analog or digital transceiver), or other suitable communications device. 
         [0063]    Media system  400  may include multiple mirroring servers  430 , but only one is shown to avoid overcomplicating the drawing. For example, in some embodiments, the particular mirroring server  430  that stores a mirrored copy a given media content may be selected from multiple mirroring servers  430  based on the type of media content (e.g., video, audio, text, etc.) to be stored. In some embodiments, mirroring server  430  may be an application (e.g., a Web server application) resident on remote mirroring and transcoding server  440 , rather than a physical server. 
         [0064]    Remote mirroring and transcoding server  440  may also include transcoding server  450  coupled to mirroring server  430 , user equipment devices  402 ,  404 , and  406 , and communications network  414  through communications path  460 . In some embodiments, transcoding server  450  may also be in direct communication with mirroring server  430  through communications link  442 . 
         [0065]    Transcoding server  450  may provide media content mirrored on mirroring server  430  to a requesting device. In some embodiments, transcoding server  450  may provide the media content to be played on-demand by the requesting device in response to requests received from the requesting device to access the media content. In some embodiments, transcoding server  450  may also automatically provide the media content to designated devices selected by the user to receive such automatic updates. Whether the media content is provided by transcoding server  450  automatically or in response to a request, transcoding server  450  may provide the media content in an original or transcoded media content format based, for example, on the capabilities of the requesting or receiving device. 
         [0066]    Transcoding server  450  may be based on any suitable combination of hardware and software (such as those described in connection with mirroring server  430 ) capable of client-server based interactions with requesting devices and, if necessary, server-server interactions with mirroring server  430 . In the simplified embodiment of system  400 , transcoding server  450  includes one or more control circuitry  452 , storage  454 , communications device (not shown), and application program interface (API)  456  (which may be an application run by control circuitry  452  and stored on storage  454 , but has been drawn as a separate element for clarity). Control circuitry  452 , storage  454 , and API  456  may be based on any suitable hardware and/or software combination such as those described in connection with control circuitry  432 , storage  434 , and API  436 , respectively, of mirroring server  430 . In addition, control circuitry  452  may include logic for decoding various media content formats. For example, if the mirrored copy of the media content is stored as Moving Pictures Experts Group (MPEG) MPEG-2 files, control circuitry  452  may include an MPEG-2 decoder for decoding the media content and converting them to National Television Standards Committee (NTSC) video. Decoding for MPEG-4, H.264, and other suitable media formats may also be provided. 
         [0067]    In some embodiments, transcoding server  450  may include logic for detecting or determining an appropriate media content format for a requesting device. For example, an appropriate media content format for a requesting device may be determined based on the storage, bandwidth, and/or display capabilities of the requesting device, or any other suitable format requirements or preferences associated with the requesting device or the user. Regardless of the mechanism used to determine an appropriate media content format for a requesting device, transcoding server  450  may transcode the mirrored copy of the media content into that media content format and provide the mirrored, transcoded copy of the media content to the requesting device. Control circuitry  452  of transcoding server  450  may include one or more transcoders  458  for transcoding a mirrored copy of the media content from a first format to a second format. Where control circuitry  452  includes multiple transcoders  458 , transcoding server  450  may include circuitry or other suitable means (e.g., handlers) for selecting one or more transcoders for any given transcoding task, based, for example, on the media content type, input format of the mirrored copy, or output format for the requested media content. In some embodiments, transcoding server  450  may store the transcoded, mirrored copy of the media content on storage  454 . 
         [0068]    Media system  400  may include multiple transcoding servers  450 , but only one is shown to avoid overcomplicating the drawing. In some embodiments, the particular transcoding server  450  that transcodes and delivers media content to a requesting device may be selected from multiple transcoding servers  450  based, for example, on the type of the media content (e.g., video, audio, text, etc.) to be transcoded. In some embodiments, transcoding server  450  may be an application (e.g., a Web server application) resident on remote mirroring and transcoding server  440 , rather than a physical server. In some embodiments, transcoding server  450  and mirroring server  430  may be the same server, but are drawn as separate elements for clarity. In these embodiments, for example, the same remote server  440  (which may be one of multiple remote servers  440 ) may store mirrored copies of the media content, receive requests from a requesting device, and provide the mirrored copy in the original or transcoded format to the requesting devices. Transcoding server  450  and mirroring server  430  may also be respective applications (e.g., server applications) resident on remote mirroring and transcoding server  440 . Systems and methods for remote storage of media content, and providing remotely stored media content to user equipment are discussed in greater detail in connection with Ellis et al., U.S. patent application Ser. No. 09/332,244, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety. 
         [0069]    System  400  is intended to illustrate a number of approaches, or network configurations, by which user equipment devices and sources of media content and guidance data may communicate with each other for the purpose of accessing media and providing media guidance within a home network or over an external communication network. Interactive media system  400  may typically include more than one of each type of user equipment device. In addition, 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 also more than one of each type of user equipment device (e.g., a user may have a PDA and a mobile telephone and/or multiple television sets). The user may also set various settings to maintain consistent media guidance application settings across in-home devices and remote devices. Settings include those described herein, as well as channel and program favorites, programming preferences that the guidance application utilizes to make programming recommendations, display preferences, and other desirable guidance settings. For example, if a user sets a channel as a favorite on, for example, the web site www.tvguide.com on a remote device such as their personal computer at their office, the same channel would appear as a favorite on the user&#39;s in-home devices (e.g., user television equipment and user computer equipment) as well as the user&#39;s mobile devices, if desired. Therefore, changes made on one user equipment device can change the guidance experience on another user equipment device, regardless of whether they are the same or a different type of user equipment device. In addition, the changes made may be based on settings input by a user, as well as user activity monitored by the guidance application. Systems and methods for maintaining consistent media guidance application settings on different user equipment devices within a home network, are described in greater detail in Ellis et al., U.S. patent application Ser. No. 11/179,410, filed Jul. 11, 2005, the disclosure of which is hereby incorporated herein by reference in its entirety. 
         [0070]    In some embodiments, interactive media system  400  may include home networks that are accessed by in-home and mobile devices. Users may control in-home devices via a media guidance application implemented on a remote device. For example, users may access an online media guidance application on a website via a personal computer at their office, or a mobile device such as a PDA or web-enabled mobile telephone. The user may set various settings (e.g., recordings, reminders, or other settings) on the online guidance application to control the user&#39;s in-home equipment. The online guide may control the user&#39;s equipment directly, or by communicating with a media guidance application on the user&#39;s in-home equipment. Various systems and methods for user equipment devices communicating, where the user equipment devices are in locations remote from each other, are discussed in, for example, Ellis et al., U.S. patent application Ser. No. 10/927,814, filed Aug. 26, 2004, which is hereby incorporated by reference herein in its entirety. 
         [0071]    Where a user or a group of users relies on multiple user equipment devices to access and share media content, the interactive media guidance application may allow users to mirror media content stored on the various devices on a remote server (e.g., remote mirroring and transcoding server  440  ( FIG. 4 ) and access the mirrored copy of the media content using other user equipment devices in a transcoded or original format. A user may mirror one or more storage drives on any of the user&#39;s devices. Alternatively, the user may select a subset of media content on any storage drive for mirroring. 
         [0072]    The general concept of selecting media content on a user equipment device to be mirrored on a remote server is illustrated with reference to the specific illustrative embodiment of setting up a recording of a television program for mirroring on the remote server in illustrative display screen  500  of  FIG. 5 . It should be understood that any type of media content (and not just television programs) may be designated to be mirrored by a remote server, such as, for example, mirroring server  430  ( FIG. 4 ). Screen  500  may be accessed from any interactive media guidance application implemented on any of user equipment devices  402 ,  404 , or  406  (all of  FIG. 4 ) in response to a user indication to record a program from a program listings screen, such as, for example, screen  100  ( FIG. 1 ). Illustrative screen  500  may include program information area  502 , program recording options  504  and  506 , mirroring option  508 , sharing options  510 ,  512 , and  514 , and selectable controls  520  and  530 . Screen  500  is only one type of screen that may be displayed to allow a user to record and mirror programs using the interactive media guidance application. Other screens may be displayed by the interactive media guidance application without departing from the scope of the invention. Using interactive media guidance applications to set recordings of television programs is discussed in greater detail in Ellis U.S. Patent Publication No. 2003/0149980, which is incorporated by reference herein in its entirety. 
         [0073]    Program information area  502  may include any of text, graphics, and video information related to the selected program. For example, as shown in  FIG. 5 , program information area  502  includes the title, channel, time, and release year for the selected program. Program information area  502  may also include a summary and a representative graphic or video of the selected program. 
         [0074]    The interactive media guidance application may allow the user to select program recording settings for the selected program. In response to the user selecting program recording setting  504 , the interactive media guidance application may be configured to record the current episode of the selected program. In response to the user selecting program recording settings  506 , the interactive media guidance application may be configured to record all future episodes of the selected program (e.g., set a series recording). Series recordings are discussed in greater detail in Knudson et al. U.S. Patent Publication No. 2005/0204388, which is hereby incorporated by reference herein in its entirety. Program recording options  504  and  506  are merely illustrative. Additional options may be included in screen  500  without departing from the scope of the present invention. 
         [0075]    The interactive media guidance application may allow the user to set options for mirroring the recording on mirroring server  430  ( FIG. 4 ) and sharing the mirrored recording with other users or devices associated with the user&#39;s mirroring account or group. For example, the user may select option  508  to designate the recording for mirroring by mirroring server  430  ( FIG. 4 ). If option  508  is selected, the recording may be mirrored in accordance with a user-determined mirroring schedule or in response to new recordings being made for the selected program. The user may also select option  510  to configure access to the mirrored recording. In response to the user selecting shared mirrored recording option  510 , the interactive media guidance application may allow other user equipment devices or users associated with or authorized by the user to access the mirrored recording on the mirroring server. For example, the user may authorize access to the recording by all or a subset of users associated with the user using selectable control  512 . Alternatively or additionally, the user may authorize access to the recording by all or a subset of user devices associated with the user&#39;s account or group using selectable option  514 . Although  FIG. 5  shows the selection of a specific program recording for mirroring, mirroring may also be configured for one or more drives on the user equipment without designating specific programs. 
         [0076]    Mirrored copies of the media content may be accessed using any suitable approach. For example,  FIG. 6  shows illustrative screen  600  for accessing mirrored copies of media content in accordance with one embodiment of the invention. It should be understood that any type of media content (and not just those shown in screen  600 ) may be mirrored on mirroring server  430  ( FIG. 4 ). Screen  600  may be a part of any suitable interactive media application for remotely accessing media content and may be a displayed on any of user equipment devices  402 ,  404 , or  406  (all of  FIG. 4 ) in response to a user indication to view media content mirrored on mirroring server  430  ( FIG. 4 ). Screen  600  may be accessed using any suitable approach. In one suitable approach, the user may access screen  600  using an interactive media guidance application which may include a selectable icon or link for accessing the mirrored content directory. In some embodiments, screen  600  may be displayed when the user, for example, presses a “DIR” key on a remote control or selects “User Directory” feature  220  of screen  200  of  FIG. 2 . Illustrative screen  600  may include display grid  620  including mirrored content entries  612 , selectable features  640  and  610 , banner advertisement  608 , selectable advertisement  606 , service provider information  630 , user identification information  670 , and device identification information  680 . It should be understood that screen  600  is only one type of screen that may be displayed to allow a user to view mirrored copies of the media content using the interactive media guidance application. Other screens may be displayed by the interactive media guidance application without departing from the scope of the invention. 
         [0077]    Selectable features  640  and  610  may selected by the user to customize or limit the media content entries displayed in display grid  620 . For example, “Videos” feature  650  may be selected to limit the content in grid  620  to only video content. Alternatively or additionally, the user may limit the content of grid  620  by specifying a user-defined search using, for example, “Search” feature  660 . In addition to restricting the content displayed in grid  620 , the user may sort the content in grid  620 . For example, the user may select “By Theme” feature  630 , to sort the content of grid  620  according to various themes such as children&#39;s programs, sports, adult content, etc. The user may select any of the content entries in screen  600 , such as for example, content entry  612 , for playback on the requesting device. One or more of advertisements  606  or  608  may be selected and displayed based on user profile information or based on user selections in screen  600 . 
         [0078]    If desired, screen  600  may be displayed as an overlay or as a partial or full display screen. In some embodiments, the display mode for screen  600  may be selected based on the display, bandwidth, and/or storage capabilities of the user equipment device on which it is displayed. For example, screen  600  may be displayed as a partial screen when displayed on standard user devices such as installed television equipment, or as a full screen when displayed on a portable user device such as portable video player. 
         [0079]      FIG. 7  shows illustrative process  700  which is a somewhat high level overview of a process for mirroring media content and providing access to a mirrored copy of the media content in accordance with some embodiments of the invention. At step  710 , media content is stored or recorded on a first user equipment device. The first user equipment device, which represents the source device, may be any of user equipment devices  402 ,  404 , or  406  (all of  FIG. 4 ). At step  720 , the recorded media content is mirrored onto a remote server. The mirrored copy of the media content may be stored on remote mirroring and transcoding server  440  ( FIG. 4 ), or where separate mirroring and transcoding servers are used, on mirroring server  430  ( FIG. 4 ). The remote server may be coupled to the source device over a network (e.g., communication path  460  ( FIG. 4 )). At step  730 , the remote server transcodes a mirrored copy of the media content into a second media content format which may be provided to a second user equipment device at step  740 . The second user equipment device, which represents the requesting device, may also be any of user equipment devices  402 ,  404 , or  406  (all of  FIG. 4 ). The media content may be transcoded and provided to the requesting device by remote mirroring and transcoding server  440  ( FIG. 4 ), or where separate mirroring and transcoding servers are used, transcoding server  450  ( FIG. 4 ). At step  750 , a user input to access the media content is received by either the first user equipment (source device) or the second user equipment (a requesting device other than the source device). At step  760 , a determination is made as to whether the user input was received by the first user equipment device or the second user equipment device. This determination may be made by remote mirroring and transcoding server  440  ( FIG. 4 ) or, in some embodiments, by transcoding server  450  ( FIG. 4 ). If the user input to access the media content was received by the first user equipment, the media content is played by the first user equipment from a local copy of the media content at step  760 . Otherwise, a mirrored, transcoded copy of the media content (provided at step  740 ) is played on the second user equipment at step  780 . 
         [0080]    In practice, one or more steps shown in process  700  may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, in some embodiments, transcoding the media content (which occurs at step  730 ) and providing the media content (which occurs at step  740 ) may both be performed after step  760 , in response to a user input to access the media recording received by a second user device that requires transcoding of the media content.  FIGS. 8 and 9  show somewhat more detailed illustrative processes for mirroring media content on a remote server, and providing a mirrored copy of the media content from the remote server to various user equipment devices in a transcoded or original media content format. In the sections that follow, depending on the particular process step being described, reference may be made to mirroring server  430  ( FIG. 4 ) or to transcoding server  450  ( FIG. 4 ) for clarity. Regardless of the particular server referenced, it is understood that mirroring server  430  ( FIG. 4 ) and transcoding server  450  ( FIG. 4 ) may be combined into one server, such as, for example, remote mirroring and transcoding server  440  ( FIG. 4 ). 
         [0081]      FIG. 8  shows illustrative process  800  for mirroring media content stored on user equipment devices onto mirroring server  430  ( FIG. 4 ) according to one embodiment of the invention. In some embodiments, prior to selecting or designating media content for mirroring, the user may configure the mirroring service. For example, at step  810 , the user may subscribe to the mirroring service associated with mirroring server  430  ( FIG. 4 ) and configure the service. The user may register all or a subset of the user&#39;s user equipment devices with the mirroring service. If desired, the user may select a predetermined maximum amount of storage to be allocated on mirroring server  430  ( FIG. 4 ) for storing mirrored copies of the user&#39;s media content. In some embodiments, mirroring server  430  ( FIG. 4 ) may simply allocate storage on an as-needed basis without first requiring the user to select a predetermined maximum storage allocation. In some embodiments, the user may also specify the mirroring schedule for the user equipment devices at step  810 . For example, the user may choose to mirror media content on any of the user&#39;s devices based on a pre-determined schedule. The predetermined schedule may include specific dates and times, or may be on any periodic basis, such as, for example, monthly, weekly, daily, hourly, etc. Alternatively, in some embodiments, mirroring may be performed “live,” in response updates to media content on the user device without relying on a predetermined schedule. In these embodiments, updates and additions to media content may be mirrored at any appropriate time without significantly interfering with other active tasks being performed on the user equipment. For example, mirroring may be triggered by the mirroring server when a predetermined minimum percentage of processing capacity is available on the user equipment device. 
         [0082]    At step  820 , the user may be prompted to select media content to be mirrored on mirroring server  430  ( FIG. 4 ). Media content selected for mirroring may include content stored on any of user equipment devices  402 ,  404 , or  406  (all of  FIG. 4 ). In some embodiments, the user may mirror selected storage drives of the user equipment device. Alternatively, the user may choose to mirror a subset of the media content on the user equipment device. In some embodiments, a user may choose to mirror only certain types of media content. For example, a user may choose to mirror only MPEG-2, MPEG-4, or Windows media content. In these embodiments, mirroring server  430  ( FIG. 4 ) may automatically mirror media content corresponding to the selected media content type or types as they are added or updated on the user equipment. The user may select media content or drives for mirroring using any appropriate interface. In some embodiments, an interactive media program may be provided to the user for selecting media content or drives for mirroring. 
         [0083]    In some embodiments, users may also designate media content to be mirrored on mirroring server  430  ( FIG. 4 ) by setting up search queries that define media content the user wants to mirror. The user may, for example, define Boolean expressions that result in mirroring media content that satisfy the criteria or criterion of the query. Suitable queries may include any parameters associated with the media content such as, for example, content titles, actors or musicians within video or audio content, themes or categories associated with the media content (e.g., sports, children&#39;s programming, drama, etc), text within content information fields, media content types (e.g., audio, video, etc.), format of the media content (e.g., MPEG-2, MPEG-4, etc.), or any other suitable parameters associated with the media content. The search query may be stored on the user equipment device or on mirroring server  430  ( FIG. 4 ) to be used for future mirroring updates. 
         [0084]    At step  830 , a mirroring request is generated for content to be mirrored on mirroring server  430  ( FIG. 4 ). The mirroring request may be generated concurrently with step  820 , immediately after step  820 , or sometime in the future after step  820 , such as, in accordance with a pre-determined mirroring schedule. In generating the mirroring request, each selected media content may be assigned a content identifier. In addition, groups of media recordings selected or designated for mirroring may be assigned a grouping identifier. The mirroring request may also identify the source device, the user, the content type of the media content, the size of the media content, and other suitable information associated with the media content to be mirrored. In some embodiments, one mirroring request may be generated for multiple media content concurrently selected or designated for mirroring. In some embodiments, the mirroring request may include billing information for the user. 
         [0085]    At step  840 , the mirroring request is transmitted to mirroring server  430  ( FIG. 4 ). The request may be transmitted from the source device to mirroring server  430  ( FIG. 4 ) through communications path  460  ( FIG. 4 ) using any suitable communications protocol or group of protocols. In some embodiments, the mirroring request may be transmitted using, for example, as an XML file. 
         [0086]    At step  850 , the mirroring request is received by mirroring server  430  ( FIG. 4 ) from the source device. The received mirroring request may be processed to determine, for example, the user and source device associated with the request. In some embodiments, mirroring server  430  ( FIG. 4 ) may store received mirroring requests for various purposes including, but not limited to, statistical analysis and debugging. The process continues to step  860 . 
         [0087]    At step  860 , a determination is made whether the user has sufficient allocated storage capacity to store the media content. For example, information included in the mirroring request, such as, for example, the size of the media content, may be used by the mirroring server to determine whether the user has sufficient allocated storage capacity to store the media content. If the user does not have sufficient allocated storage capacity to store the media content, the user may be notified at step  870  and provided an opportunity to obtain more allocated storage capacity. In some embodiments, the mirroring server may automatically allocate extra storage capacity to the user and the user&#39;s account may be updated to reflect the new allocation. If the user has sufficient allocated storage capacity to store the media content or if the mirroring server allocates more capacity, the process proceeds to step  880 . 
         [0088]    At step  880 , a mirrored copy of the media content and, if necessary, metadata associated with the media content, may be created on the mirroring server. In one embodiment, the mirroring server determines, based, for example, on various parameters included in the mirroring request, whether a mirror copy already exists for the media content. For example, the content identifier associated with the media content may be compared with content identifiers for other media content of the same type associated with the same user and source device to determine if a mirrored copy of the media content exists on mirroring server  430  ( FIG. 4 ). If, for example, a mirrored copy already exists and the media content has been updated on the source device since the pre-existing mirrored copy was made, the pre-existing mirror copy may be updated. In some embodiments, rather than updating the pre-existing mirrored copy, a new version of the mirrored copy associated with the same content identifier may be created. The maximum number of versions associated with each content identifier may be a predetermined number set by the user or by the mirroring server. If it is determined that a mirrored copy of the media content does not already exist on the mirroring server, a new mirrored copy may be created and stored by mirroring server  430  ( FIG. 4 ). In some embodiments, a data server or storage level for storing the mirrored copy of the media content may be determined based, for example, on information included in the mirroring request. 
         [0089]    At step  890 , a user directory (e.g., screen  600  of  FIG. 6 ) maintained for mirrored copies of media content may be updated to reflect the newly-added or updated mirrored copies. 
         [0090]    In practice, one or more steps shown in process  800  may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, the source device may determine, prior to generating a mirroring request, if the user has sufficient allocated storage capacity for the media content selected or designated for mirroring. 
         [0091]      FIG. 9  shows illustrative process  900  for playing media content from mirroring server  430  ( FIG. 4 ) in accordance with some embodiments of the invention. At step  910 , a user input is received by a requesting device to access media content mirrored on mirroring server  430  ( FIG. 4 ). The user may request access to media content on the mirroring server using any suitable requesting device. For example, any of user equipment devices  402 ,  404 , and  406  (all of  FIG. 4 ) may be used to access media content mirrored on the mirroring server. In some embodiments, the requesting device may include a client interface for displaying a directory of mirrored copies of media content on the mirroring server, such as, for example, screen  600  ( FIG. 6 ). In some embodiments, the directory may be overlaid on top of a television program that the user is watching, may be overlaid on top of a program guide display screen, may be displayed within a dedicated program guide display screen such as the arrangement in  FIG. 6 , or may be displayed within a web page such as in the arrangement of  FIG. 2 . Alternatively, listings for mirrored copies of the media content may be presented to users in regular program listings screens such as shown in  FIG. 1 . In some embodiments, only media content to which the user or the requesting device has been granted access may be included in the directory of screen  600  displayed on the requesting device. For example, a user may grant access to all user devices associated with user&#39;s identifier on the mirroring server (e.g., all devices registered by the user in step  810  of  FIG. 8 ). In some embodiments, access to media content may also be obtained through a communal account shared by a group of user equipment devices. In some embodiments, each user and/or user equipment device may have unique credentials (e.g., password and username) for accessing media content on mirroring server  430  ( FIG. 4 ). 
         [0092]    At step  912 , an access request may be generated on the requesting device for the media content selected by the user at step  910 . The access request may include, but is not limited to, a content identifier for the requested media content (which may be obtained from the selected entry in the mirrored media content directory), a device identifier for the requesting device, and if desired, a preferred output format for playing the requested media content. 
         [0093]    At step  914 , the access request may be transmitted from the requesting device to transcoding server  450  ( FIG. 4 ), which may be the same as, or a different server from, mirroring server  430  ( FIG. 4 ). The request may be transmitted from the requesting device directly to the transcoding server or may be routed through an intermediary device or server. At step  916 , the access request is received by the transcoding server. The received access request may be processed to determine the user and/or requesting device associated with the request. In some embodiments, transcoding server  450  ( FIG. 4 ) may store received access requests for various purposes including, but not limited to, statistical analysis and debugging. At step  918 , based, for example, on information included in the access request, and/or directory information received from mirroring server  430  ( FIG. 4 ), transcoding server  450  ( FIG. 4 ) may determine whether the requesting device is a device other than the source device. If the requesting device is the source device, the process continues to step  950  (described below). Otherwise, the process continues to step  920 . 
         [0094]    At step  920 , transcoding server  450  ( FIG. 4 ) may identify an appropriate media content format for the requesting device. In some embodiments, an appropriate media content format may be included in the access request received from the requesting device. In some embodiments, the transcoding server may automatically determine an appropriate media content format for the requesting device based, for example, on the capabilities of the requesting device. For example, transcoding server  450  ( FIG. 4 ) may select an appropriate media content format from a plurality of media content formats based on the capabilities of the requesting device. In some embodiments, an appropriate format for the requesting device may be selected based on any combination of the bandwidth, display, or storage capabilities of the requesting device. 
         [0095]    The process continues to step  924  where the transcoding server may determine whether transcoding is required. For example, transcoding may be required if the media content format identified at step  920  is not the same as, equivalent to, or interchangeable with, the original format of the mirrored copy of the media content. If transcoding is not required, the process continues to step  940  (described below). Otherwise the process continues to step  926 . 
         [0096]    At step  926 , a mirrored copy of the media content may be transcoded on transcoding server  450  ( FIG. 4 ). In some embodiments, transcoding server  450  may obtain the mirrored copy of the media content from mirroring server  430  ( FIG. 4 ) through direct link  442  ( FIG. 4 ) prior to or in concurrence with transcoding. In some embodiments, transcoding on transcoding server  450  ( FIG. 4 ) may occur prior to receiving a request for the media content from the requesting device (i.e., prior to step  916 ). In these embodiments, transcoding server  450  or mirroring server  430  (both of  FIG. 4 ) may store the pre-transcoded copy of the mirrored media content to be provided in response to access requests. In some embodiments, the pre-transcoded media content may be automatically provided in media content updates to user devices designated to receive such automatic updates. 
         [0097]    At step  928 , the mirrored, transcoded copy of the media content is provided to the requesting device by transcoding server  450  ( FIG. 4 ). The media content may be transmitted to the requesting device through communications path  460  ( FIG. 4 ). In some embodiments, the mirrored, transcoded copy of the media content may be provided to the requesting device in segments based, for example, on the decoding rate and/or available storage capacity of the requesting device. The process continues to step  930 . 
         [0098]    At step  930 , the mirrored, transcoded media content provided to the requesting device is played on the requesting device. The media content may be played on the requesting device remotely from transcoding server  450  ( FIG. 4 ) or locally from a mirrored, transcoded copy provided by transcoding server  450  ( FIG. 4 ) and cached or stored by the requesting device. Regardless of how the media content is played on the requesting device, the user may be provided with VCR-like control of the media content. For example, the media content may be played using an interactive media guidance application. The media guidance application may display an overlay or other indication to indicate to a user when the user has stopped, paused, rewound, or fast-forwarded the media content. If the media content is played on the requesting device remotely from transcoding server  450  ( FIG. 4 ), the transcoding server may store a pointer within the mirrored and transcoded media content, which may be adjusted as the media content is played, fast-forwarded, rewound, or stopped, to keep track of the current playback location. In these embodiments, transcoding server  450  ( FIG. 4 ) may use pointer information for the current program being played by the user to determine when the next media content requested by the user should be made ready for playback. For example, at a suitable point before a user pointer is adjusted beyond the beginning or end of the media content, the previous or next media content requested by the requesting device may be processed. 
         [0099]    Returning now to step  924 , if transcoding is not required by the requesting device (e.g., the requesting device is capable of playing the media content in the media content format of the mirrored copy, or the access requests specifies a media content format that is identical to, equivalent to, or interchangeable with, the media content format of the mirrored copy) the process continues to step  940 . At step  940 , the mirrored copy of the media content is provided to the requesting device in the original media content format of the mirrored copy. Where appropriate, the mechanisms described in relation to step  928  above for providing a transcoded copy of the media content to a requesting device may also be used to provide the mirrored copy of the media content, without transcoding, to the requesting device. The media content provided to the requesting device is played at the requesting device at step  942 . Where appropriate, the mechanisms described above in relation to step  930  for playing a mirrored, transcoded copy of the media content on a requesting device may be used. 
         [0100]    Returning now to step  918 , if the requesting device is the source device, the process continues to step  950 . In some embodiments, if desired, system  400  ( FIG. 4 ) may be configured such that access requests from the source device, which are typically data recovery requests, are received and processed by mirroring server  430 . At step  950 , mirroring server  430  ( FIG. 4 ) or transcoding server  450  ( FIG. 4 ) may determine whether the requested media content is available on the source device. If the source device does not have the media content, the media content may be restored on the source device from the mirrored copy on mirroring server  430  ( FIG. 4 ) at step  952 . In some embodiments, the media content may be automatically restored in response to a user input to access the media content received by the source device and transmitted from the source device to the mirroring server. In other embodiments, the media content may be restored only in response to a user request to restore the media content (e.g., in response to a user response to an on-screen prompt at step  952 ). The process continues to step  954  where the media content is played on the source device from the copy of the media content that is stored (or restored) on the source device. 
         [0101]    In practice, one or more steps shown in process  900  may be combined with other steps, performed in any suitable order, performed in parallel (e.g., simultaneously or substantially simultaneously) or removed. For example, in some embodiments, steps  926 ,  928 , and  930  of process  900  may be combined or performed concurrently. In these embodiments, the transcoding, providing, and playback steps may be combined such that, a portion of the media content is played on the requesting device while the remaining portion is being transcoded and provided to the requesting device. In one suitable approach, the media content may be transcoded and played back by transcoding server  450  ( FIG. 4 ) on the requesting device in real-time. If the media content is distributed as a digital data stream, the requesting device may decode the data stream in real-time. The media content may be distributed and played back according to preferences that were set up by the user. In a second suitable approach, the media content may be distributed as one or more digital files or as a digital data stream, and are stored by the requesting device for playback. In a third suitable approach, the media content may be played back by transcoding server  450  ( FIG. 4 ) and distributed according to a schedule over an analog or digital channel using a suitable near-video-on-demand (NVOD) approach. Any combination of these approaches, or any other suitable approach, may also be used. 
         [0102]    It will be appreciated that while the discussion of media content has focused on video content, the principles of media guidance can be applied to other types of media content, such as music, images, etc. 
         [0103]    The above described embodiments of the present invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.