This invention is related to systems and methods for deleting stored media program references.
Some modern media entertainment systems, such as digital video recorders (DVRs), allow a user to record a particular program by directly selecting (e.g., via a program guide grid listing) the particular program for recording. On some entertainment systems, a user may be able to set-up repeat recordings which typically results in a large number and wide range of programs being stored on the system's hard drive.
Similarly, media entertainment systems may provide the ability to set bookmarks for or within recorded content. Some entertainment systems may even provide the ability to search video on demand (VOD) content libraries and set bookmarks for or within the programs in these libraries Such facility may result in a large number of bookmarks being stored on behalf of a user or users of such a system.
Other references to content, including reminders and playlists, may be stored in an entertainment system. Referring generically to recordings (e.g., by a DVR), bookmarks, reminders, playlists, and the like as media program references, it can thus be seen that in modern media entertainment systems, there are numerous ways to store a large number of media program references.
Unfortunately, to date, corresponding mechanisms for flexibly and selectively deleting media program references are virtually non-existent. In general, these mechanisms are limited to either deleting media program references one at a time or all at once. As a result, users of these systems find it time consuming and irritating to clean up DVR libraries, bookmarks, and generally any content related media program reference lists.
Thus, the present invention is directed to systems and methods for allowing a user of a multimedia entertainment system to selectively delete one or more media program references as a function of attributes associated with the media program references.
For example, in one embodiment of the present invention, a user who wishes to delete all recordings on his DVR which belong to the series “ER” may be presented with a “delete by series” option. Upon entering the value of “ER” corresponding to the attribute SERIES (or equivalently selecting the value “ER” from a palette of radio buttons or drop down menu), the system will identify the DVR recordings which belong to the ER series and delete the references to those stored programs. In this case, a system operating according to this embodiment of the present invention provides an option for a user to input a specific value (e.g., “ER”) corresponding to a particular attribute (e.g., SERIES) and then proceeds to delete the media program references on the system whose particular attribute value matches the specific value.
In accordance with one embodiment of the present invention, a method for deleting two or more stored media program references is provided. The method comprises receiving a user input that includes an identified value or an identified range or set of values for one or more media program reference attributes. The identified value or the identified range or set is applicable to more than one but less than all stored program references on a system. The method further comprises deleting at least two stored program references in response to receiving the user input. Each deleted program reference has a value for the program reference attribute that matches the identified value or falls within the identified range or set.
In accordance with one embodiment of the present invention, a system for deleting two or more stored media program references is provided. The system comprises an input device for receiving a user input that includes an identified value or an identified range or set of values for a media program reference attribute. The identified value or the identified range or set is applicable to more than one but less than all stored program references on the system. The system further comprises control circuitry, in communication with the input device, for deleting at least two stored program references in response to receiving the user input. Each deleted program reference has a value for the program reference attribute that matches the identified value or falls within the identified range or set.
Deleting media program references by specifying the value of attributes associated with those references can have several benefits. For example, the systems and methods described herein can save a user time when deleting multiple program references that are stored within a multimedia system. In traditional systems, a user may have to manually browse through stored program references and individually evaluate stored references and related content to determine which references to delete.
The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, and in which:
It should be noted that throughout this application, the term “program reference” or “media program reference” may be used to refer to one of a variety of data structures that may be associated with media programs. For example, a program reference associated with a program stored on a DVR (e.g., a DVR recording) may be a link to a block of memory where a program, game, or application is stored on a hard disk within the DVR or, in the case of a multiroom DVR system, on network accessible storage. Deleting the program reference to a program stored on a DVR may be considered synonymous with deleting the program itself for the purposes of this discussion, in the sense that deleting the program reference to a stored program implies removing the reference to the array or linked list of memory blocks where the program is stored. In some embodiments, deleting the content reference to a program stored on a DVR may include freeing the memory that was used for storing the program so that other media programs can be stored in the space that was occupied by the deleted content.
In some embodiments of the present invention, the term “program reference” may refer to a data structure associated with a media program such as a reminder or bookmark. For example, a bookmark is a type of program reference that points to a data structure that contains an identifier for the VOD program that can be used to uniquely identify the VOD program on a VOD server.
The program reference may also include information about the associated program or the program reference itself, both of which are referred to as program reference attributes. For example, the program reference for a particular program may include an offset value corresponding to a “viewed to” point within the program. The program reference may also contain other information or attributes, such as the owner(s) or user(s) associated with the reference or the priority of the reference. In some embodiments, the program reference may contain information about the content or media program referred to by the reference (e.g., the associated program). In some embodiments, the program reference may include a link to information about the associated program (e.g., title, producer, applicable genres, actors, running length, expiration date for the availability of the content on the server, and rating). In some embodiments, the reference may contain data representing information about the associated program, rather than linking to it. These attributes of the reference and/or the program to which the reference refers, may be generically referred to as media program reference attributes. Attributes of the program associated with a reference may also be referred to separately as program attributes. However, for the purposes of this discussion, all such references may be referred to herein generally as program reference attributes.
Each attribute may take on one of a group or range of values. For example, the GENRE attribute may take on a value of “western,” “comedy,” “romance,” “sports,” etc. Attribute values may be static or dynamic. For example, the attribute of GENRE for a program may typically remain constant for a program, while the attribute of OFFSET for a VOD or DVR bookmark may change as the program is viewed. Similarly, a Boolean attribute of WATCHED for a VOD program may start out with a value of “false” but the value may be modified to “true” when the user has completed viewing the program.
Media source 120 may be any suitable media source such as, for example, a cable system headend, satellite media distribution facility, media broadcast facility, internet protocol television (IPTV) headend, video-on-demand server (e.g., VOD server), website, game service provider (e.g., for online gaming), or any other suitable facility or system for originating or distributing media. Media source 120 may be configured to transmit signals over any suitable communications path 122 including, for example, a satellite path, a fiber-optic path, a cable path, an Internet path, or any other suitable wired or wireless path. The signals may carry any suitable media such as, for example, television programs, games, music, news, web services, video, or any other suitable media. In some embodiments, media source 120 may include control circuitry for executing requests from a trick-play client or an interactive media guidance application implemented in, for example, user equipment 110 or a VOD server.
User equipment 110 may include any equipment suitable for providing an interactive media experience. User equipment 110 may include television equipment such as a television, set-top box, recording device, video player, user input device, or any other device suitable for providing an interactive media experience. For example, user equipment 110 may include a DCT 2000, 2500, 5100, 6208 or 6412 set-top box provided by Motorola, Inc. In some embodiments, user equipment 110 may include computer equipment, such as a personal computer with a television card (PCTV). In some embodiments, user equipment 110 may include a fixed electronic device such as, for example, a gaming system (e.g., X-Box, PlayStation, or GameCube) or a portable electronic device, such as a portable DVD player, a portable gaming device, a cellular telephone, a PDA, a music player (e.g., MP3 player), or any other suitable fixed or portable device.
In the example of
Display device 112 may be any suitable device such as, for example, a television monitor, a computer monitor, or a display incorporated in user equipment 110 (e.g., a cellular telephone or portable music player display). Display device 112 displays the media transmitted by media source 120 over path 122, and the displays of the trick-play client. Display device 112 may also be configured to provide for the output of audio.
User input device 114 may be any suitable device for interfacing with the interactive media guidance application. For example, user input device 114 may be a remote control, keyboard, mouse, touch pad, touch screen or voice recognition interface. User input device 114 may communicate with user equipment 110 and control circuitry 116 using any suitable communications link. For example, user input device 114 may use an infra-red (IR), radio-frequency, Bluetooth, wireless (e.g., 802.11), wired, or any other suitable communications link.
Control circuitry 116 is adapted to receive user inputs from input device 114 and execute the instructions of the interactive media guidance application. Control circuitry 116 may include one or more tuners (e.g., analog or digital tuners), encoders and decoders (e.g., MPEG decoders), processors (e.g., Motorola 68000 family processors), memory 117 (e.g., RAM and hard disks), communications circuitry (e.g., cable modem circuitry), input/output circuitry (e.g., graphics circuitry), connections to the various devices of user equipment 110, and any other suitable component for providing analog or digital media programming, program recording, and interactive media guidance features. In some embodiments, control circuitry 116 may be included as part of one of the devices of user equipment 110 such as, for example, part of display device 112 or any other device (e.g., a set-top box, television and video player)
In some embodiments, media system 100 may include several recording devices 118. For the sake of clarity, however, only one is shown in
In some embodiments, recording device 118 may include a processor (e.g., a microcontroller or microprocessor or the like) that is used to receive and execute interactive media guidance application instructions. Recording device 118 may include memory for use when executing applications. For example, recording device 118 may include random-access memory. Nonvolatile memory may also be used to store a boot-up routine or other instructions. A hard disk and other storage in recording device 118 may be used to support databases (e.g., a database of media guidance information for recorded programs, or a database of advertisement information for recorded or cached advertisements). A hard disk or other storage in recording device 118 may also be used to record media such as television programs or video-on-demand content or other content provided to recording device 118.
In some embodiments, recording device 118 may include IR communications circuitry or other suitable communications circuitry for communicating with a remote control (e.g., with user input device 114). Recording device 118 may also include dedicated buttons and a front-panel display. The front-panel display may, for example, be used to display the current channel to which the recording device is tuned.
In some embodiments, recording device 118 may be a network recording device that is located outside of user equipment 110. In some embodiments, the network recording device may be incorporated in content source 120 (e.g., at the head-end of a cable plant), data source 124, a VOD server (not shown), user equipment 110 (e.g., as a second recording device, or a hard drive on a home computer), an Internet server, or any other suitable device. In some embodiments, the network recording device may be a stand alone device (e.g., a commercial network recording device, or a DVR device in a home or neighborhood network). The network recording device may receive instructions to perform recordings from the interactive media guidance application implemented on any of a plurality of instances of user equipment 110.
In some embodiments, the interactive media guidance application may provide features to the user with a client/server approach. There may be one server for each instance of user equipment 110, one for multiple instances of user equipment 110, or a single server may serve as a proxy for each instance of user equipment 110.
Any suitable number of users may have equipment, such as user equipment 110, connected to media source 120 and data sources 124. In some embodiments, multiple users may use a single instance of user equipment 110. A single user may also have multiple instances of user equipment 110. But for the clarity of the figure, only a single instance of user equipment 110 is shown in
User equipment 110 may receive interactive media guidance application data from one or more data sources 124. Data sources 124 may provide data for a particular type of media or for a particular application. For example, one data source 124 may provide data for non-on-demand media (e.g., non-pay and pay-per-view programs), and another may provide data for on-demand media (e.g., VOD programs). Or, for example, a single data source may provide both of these types of data. For example, one data source 124 may provide data for an interactive media guidance application. Another data source 124 may, for example, provide data for another interactive application (e.g., a home shopping application, and real-time data such as sports scores, stock quotes, news data and weather data). In some embodiments, data sources 124 may provide data to the interactive media guidance application using a client/server approach. There may be one server per data source, one for all sources or, in some embodiments, a single server may communicate as a proxy between user equipment 110 and various data sources 124. In such embodiments, data source 124 may include control circuitry for executing the instructions of the online media guidance application. In some embodiments, data source 124 may be a storage device for storing or recording content or data recorded or provided by other components of interactive media system 100 or by a content or data provider (e.g., a VOD server).
In some embodiments, data source 124 may provide advertisements (e.g., text, graphics and video advertisements for various programs, products, services, and interactive media guidance application features) to the interactive media guidance application. The advertisements may be provided by a dedicated data source, or the advertisements, along with other data, may be provided by one or more data sources.
In some embodiments, data source 124 may provide information related to one or more programs. Such information may include one or more program reference attribute values that correspond to a stored program. A more detailed discussion of information that can be provided by data source 124 can be found below, for example in connection with the discussion of
Display screen 200 includes notice 202 directing a user to select a user ID and enter a password. In some embodiments, notice 202 may direct the user to enter a user ID (e.g., instead of selecting a user ID from drop down menu 212) using input device 114 (
If required, the user may enter a password in box 222, which is associated with password tag 220. The user may enter a password using any suitable approach, including for example entering a password key sequence using input device 114 (e.g., selecting keys on input device 114 or selecting on-screen keys corresponding to the user's password).
Once the user has selected a user ID and entered the appropriate password (if required), the user may direct the interactive media guidance application to login the user. For example, the user may press a SELECT or ENTER key or key sequence on input device 114, select on-screen GO option 230, or use any other suitable approach for providing a login instruction. If the user is new to the media system, the user may select a “New user” option (e.g., on-screen NEW USER option 232) to register. The interactive media guidance application may prompt the new user to provide a user ID, a password, preference information, or any other suitable information.
Illustrative interactive media guidance application screen 300 includes a grid of program listings 310, which includes program titles, channels and scheduled broadcast times. The screen may include any other suitable program information. In some embodiments, the interactive media guidance application screen may include a list (e.g., a single column) of programs. The user may select a desired program listing with highlight region 312 using input device 114 (
To schedule a program or other suitable video for recording, a user may highlight a desired program, as shown in
Prior to choosing to record a program, the user may request additional information regarding the program. For example, the user may highlight a listing using highlight region 312 and press an INFORMATION key or key sequence on user input device 114. In response to receiving the user request, the interactive media guidance application may display an information screen.
In some embodiments, the user may be watching a program on display device 112 (
The user may view the scheduled recordings using any suitable approach. For example, the user may access a scheduled recordings screen.
In some embodiments, the interactive media guidance application may indicate that a recording will not be performed (e.g., due to a resource conflict). For example, the interactive media guidance application may display an on-screen icon (e.g., icon 616) indicating that a recording will not be performed. In some embodiments, the interactive media guidance application may list recordings that will not be performed in a separate listing, or not list the recordings at all.
Display screen 600 may include scheduled recordings for one or more users. For example, display screen 600 may include only the recordings scheduled by the particular user currently logged in (e.g., identified in box 620). As another example, display screen 600 may include the recordings scheduled by every user. As still another example, the interactive media guidance application may allow the user to view the scheduled recordings of a subset of the users (e.g., the particular user selects whose scheduled recordings to see, or the interactive media guidance application may only allow the particular user to view scheduled recordings of users having lower priority).
The recording device may record a selected program by tuning to the channel or selecting the transport stream of the selected program, and recording all of the media that is transmitted on the channel or transport stream during the scheduled transmission time of the program. The recording device may be located in the user's equipment (e.g., a DVR), or may be a remote server to which the interactive media guidance application has access (e.g., network DVR). The recorded media may thus include the selected program, and advertisements displayed during breaks in the program (e.g., during activity breaks of a sporting event, or every 10 or 15 minutes during a traditional sitcom).
In some embodiments, the recording device may be configured to cache the programs that the user views. For example, the recording device may be configured to cache only specific channels (e.g., favorite channels), or the recording device may be configured to cache the channel that the user is watching. The cached programs may be available for playback using trick play instructions (e.g., pause, rewind, fast forward). If an entire program is stored in a cache, the recording device may save the cached program as a recording.
Once the recording device has recorded selected programs, the user may direct the interactive media guidance application to display listings of the recordings that the user may select for playback. For example, the user may access a recordings screen by pressing a RECORDINGS key or key sequence, navigating from another interactive media guidance application screen (e.g., selecting a RECORDINGS option from an interactive media guidance application screen using user input device 114,
In some embodiments, recordings screen 700 may include recordings performed for one or more users. For example, recordings screen 700 may include only the recordings performed for the particular user currently logged in (e.g., identified in box 720). As another example, recordings screen 700 may include the recordings performed for every user. As still another example, the interactive media guidance application may allow the user to view the recordings performed for a subset of the users (e.g., the particular user selects whose recordings to see, or can only view recordings performed for users having lower priority, such as in the case of parents viewing children's recordings).
Screen 700 may indicate to the user the amount of storage space taken by the recordings. For example, the interactive media guidance application may display an indication of how much of the user's allocation has been used (e.g., how much space the user has remaining under the user's storage limit). In some embodiments, the user may view the recording device resource use of other users. As another example, the interactive media guidance application may display an indication of how much of the total space available on the recording device has been used. In some embodiments, the interactive media guidance application may display to the user (e.g., on screen 700) an indication of whether a user's storage limit may be flexibly increased (e.g., as described below).
To play back a recording, the user may select the listing (e.g., using highlight region 712) associated with the recording from listings 702 and press a PLAY key or key sequence on the user input device, select a play option from an interactive media guidance application screen, or perform any other suitable step to initiate playback. The user may alternatively press an INFORMATION key or the like to cause an information screen to be displayed (such as information screen 400 of
Disk management screen 800 may display disk information 804 that can includes information about the storage (e.g., HDD) in a media system. For example, disk information 804 may include the disk type which can be used to indicate the type of storage (e.g., internal, external, flash or network) present in the system. Disk information may also include information about how files are organized in the storage (e.g., NTFS or FAT32).
Disk management screen 800 may display storage information 806 that includes information about the system's capacity for storing programs (e.g., recordings) and program references. For example, storage information 806 may include the system's total capacity, the amount of used space, and the amount of free space. In some embodiments, a visual indicator (e.g., storage bar 808) may be provided to visualize storage information 806.
Disk management screen 800 may include one or more options that can be used to delete stored programs or program references. Upon the selection of option 810, a deletion screen may be displayed (see e.g.,
Data structure 900 may be organized into a table having rows and columns. Each column in data structure 900 may be used to store values for a different program reference attribute. For example, column 901 may correspond to the SERIES IDENTIFICATION attribute (e.g., a program title or a series title) and column 902 may correspond to the EPISODE attribute. First row 910 in data structure 900 may include a set of names for the attribute that is represented by each column.
Each stored program reference may be represented by an entry (e.g., a row) in the data structure. For example, data structure 900 includes rows 920, 930, 940, 950, 960, 970, 980, and 990 that are each an entry representing a stored program reference. In data structure 900, all of the program reference attribute values in each row correspond to the stored program reference represented by that row. For example, values 921-927 correspond to the stored program reference represented by row 920. In the example shown in
Data structure 900 may include column 908 that can correspond to the TYPE attribute of each program reference stored in the data structure. The TYPE attribute may indicate the type (e.g., recording, bookmark, reminder, playlist) of each program reference. For example, a program reference of the recording type may refer to a recording of a program that is stored in a system. In another example, a program reference of the bookmark type may refer to a VOD program or a particular offset into a VOD program.
Data structure 900 may include column 909 that can correspond to the REFERENCE ADDRESS attribute of each program reference stored in the data structure. The REFERENCE ADDRESS attribute may indicate the location of the program associated with the reference. For example, the value of the REFERENCE ADDRESS attribute may correspond to a local or network storage device (e.g., “DISK1” in value 929) and an address on that storage device (e.g., “1876” in value 929). In some embodiments, the REFERENCE ADDRESS attribute value may point to another data structure which stores information about accessing the associated program. For example, program references of the bookmark type may have a value for a REFERENCE ADDRESS that corresponds to another data structure which stores information for accessing the associated VOD program (e.g., server address, asset address and offset). The data structure may also include other information about the VOD bookmark including the creator of the bookmark, the creation date, and an expiration date, if applicable.
In the example of data structure 900, adding a new entry may be accomplished by inserting an additional row. The process of adding a new entry to the data structure may be initiated when the system begins to store a new program reference such that the new program reference is represented by the new entry. The source of the program reference attribute values stored in each newly created entry may be provided by the media system (e.g., system 100) or a user input (e.g., an input provided through input device 114).
One or more of the attributes may have static values assigned, meaning that the attribute's value is provided when the program reference is stored and then does not typically change. For example, attributes such as SERIES IDENTIFICATION, EPISODE, GENRE, CONTENT RATING, DATE RECORDED and PROGRAM LENGTH may have static values. These static values may be provided by the interactive media system (e.g., system 100) when each program reference is stored. The static value may then be subsequently overwritten by a user in certain circumstances. For example, in some systems, a value that is typically static, such as a value of PG for the RATING attribute of a program reference, may be overwritten by a user in systems that allow user parental control rating modification. However this is the exception, since such a user specified value for RATING would more typically be stored in a separate USER SPECIFIED RATING attribute and the original rating value preserved. So, such semi-static values may still be referred to as static values because their value does not typically change after it is originally set.
Static values for attributes may be provided by one or more data sources (e.g., data sources 124) in the interactive media system. As described above in connection with
In some embodiments, static values for one or more of the attributes may be a portion of the media guidance application data that is used to generate a display screen (e.g., screen 300 or screen 400). The media guidance application data may be stored locally in a guide database (e.g., on user equipment 110) and may be subsequently accessed to define an attribute value (e.g., when creating a new entry in data structure 900). Accordingly, a system can limit the transmission of redundant data using locally stored data to define attribute values. In some embodiments, the media guidance application data may be streaming from a remote data source (e.g., data source 124) and a system can access this streaming data to define attribute values without interfering with the generation of display screens (e.g., screen 300 or screen 400). Similar to using locally stored data, accessing streaming data can also limit the amount of redundant transmissions.
In some embodiments, static values for one or more of the attributes may be provided by circuitry within the user equipment (e.g., control circuitry 116 or recording device 118). Such attribute values may be generated when the interactive media system is storing (e.g., recording or downloading) the program reference. These values may be available to circuitry within the user equipment because of other, inherent functions performed by the circuitry. For example, a TIMESTAMP attribute value identifying the time at which the program reference is stored may be provided by circuitry within the user equipment (e.g., a recording device). Other examples of attributes whose static values may be provided by circuitry within the user equipment include CHANNEL and LENGTH, and it is understood that the value of any suitable program reference attribute available to circuitry within the user equipment can be stored in a data structure. If the data structure is stored locally in the user equipment, providing attribute values locally from circuitry within the user equipment may limit the demands on the bandwidth of path 122.
In some embodiments, values for one or more of the attributes may be determined by analyzing one or more signals from a media source (e.g., media source 120). While a program reference associated with a program provided by a media source is being stored, the value for an attribute may be determined by analyzing a signal from the media source. In such a case, the attribute value may be inherent given the type of signal. For example, if a program is playing while the associated program reference is being stored, the value for an attribute such as RESOLUTION may be determined by analyzing a portion of the video signal from media source 120. This analysis may be performed by circuitry within the user equipment (e.g., control circuitry 116 or recording device 118). In some embodiments, the values for one or more attributes can be encoded into one or more signals from a media source.
One or more of the attributes may have values which change dynamically, meaning that the value of the attribute typically changes one or more times after the corresponding program reference has been stored. These dynamically valued attributes can provide information about the program reference that is specific to the user, including, for example, a user's rating of the associated program or the amount of the associated program that has been played by the user.
In some embodiments, the value of one or more attributes may be undefined (e.g., empty, null or blank) when the program reference is initially stored and subsequently provided by a user. These attributes may, for example, include information that the media system is not aware of. For example, the attribute USER RATING may reflect a user's opinion of the associated program, which is something that the media system may not be aware of unless the user provides it. To provide a value for this type of attribute, a user may provide an input that specifies a value for the attribute. This input may be provided through the use of an input device (e.g., input device 114).
The user may be prompted to provide such an input at any time during use of the interactive media system. Continuing the above example related to a USER RATING attribute, a user may be prompted to provide an input indicating a value for the USER RATING attribute after the associated program has been played. In some embodiments, a user may be able to navigate to an interface (e.g., recordings screen 700) where the user can select a stored program reference and provide an input with values for one or more attributes of that reference.
In some embodiments, the value of one or more attributes may be provided by the interactive media system when a program reference is initially stored and then automatically updated by the interactive media system at one or more later points in time. The value of these attributes may be considered dynamic because the value may change over time. These automatically updated attribute values may, for example, include information about the activity of the stored program reference or associated program. For example, the attribute AMOUNT PLAYED may represent the amount of the associated program that has been played. Such an attribute may be defined in units of time or as a percentage of the total program length. In this example, the value of the AMOUNT PLAYED attribute may initially be “0%.” The value may then change each time that an additional portion of the associated program is played such that, once the entire program has played, the value is “100%.” In some embodiments, the attribute LAST ACCESSED may be dynamically updated to represent the last time that the program reference was accessed or the associated program was played.
In some embodiments, one or more automatically updated attributes may include information about user associations. The value of a USER ASSOCIATION attribute may, for example, represent which users have accessed a program reference or played the associated program. Referring to
It is understood that data structure 900 is merely representative and that other suitable data structures can be used without deviating from the spirit and scope of the present invention. For example, a table, stack, queue, linked list, tree, graph or any other suitable type of data structure can be used to organize the values of attributes corresponding to stored program references.
To properly manage the number of stored program references, a media system (e.g., system 100) may be able to delete one or more stored program references. In some embodiments, the system may be capable of receiving a user input and then subsequently deleting one or more stored program references in response to the received user input. The user input may include an identified value for an attribute. This identified value can be used to identify and then delete all stored program references having a value for the attribute that matches the identified value. For example, the interactive media system may receive a user input that includes the identified value of SPORTS for attribute GENRE and subsequently delete one or more stored program references having a value of SPORTS for the attribute GENRE. The deletion may occur in response to receiving the user input. In some embodiments, all stored program references having an attribute value that matches the identified value may be deleted in response to receiving the user input.
It is understood that, in addition to or in alternative to, an identified value, a user input may include an identified range of values or set of values for an attribute. After receiving such a range or set of values, the media system may delete all program references having a value for the attribute that falls within the range or matches one or more of the elements in the set. For example, a user input may include the range of sixty to one hundred percent for the attribute AMOUNT PLAYED, and the media system may subsequently delete all program references associated with programs of which a user has played sixty percent or more. In another example, a user input may include the range of Jul. 20, 2007 and earlier for the attribute DATE CREATED, and the media system may subsequently delete all program references that were created on or before Jul. 20, 2007. Ranges of values may be inclusive or exclusive with respect to their endpoints.
Additionally, values can be identified for more than one program reference attribute. Such a combination of attribute values can be used to narrow or widen the scope of program references that are deleted. In some embodiments, after receiving a user input with values for more than one attribute, the system may delete all program references having attribute values that match the identified values. For example, the system can delete all program references having the value “sports” for attribute GENRE and the value “HBO” for attribute CHANNEL. Alternatively, after receiving an input with identified values for more than one attribute, the system may delete all program references having a matching value for at least one attribute. For example, the system can delete all program references having the value “sports” for attribute GENRE or the value “HBO” for attribute CHANNEL. The manner in which multiple attributes are combined (e.g., AND, OR or XOR) may be defined by a user. For example, the manner in which multiple attributes are combined may be provided in the user input that includes the values for the attributes. The manner in which multiple attributes are combined may be defined by any logical operator (e.g., AND, OR, XOR or NAND). Moreover, the manner in which a single attribute is used to delete program references may be defined by a logical operator (e.g., EQUALS or NOT EQUALS). For example, a user input may include a single value for an attribute and the logical operator NOT EQUALS such that the system deletes all program references that do not have that value for the attribute.
Users may access a deletion screen from interactive media guidance application screen 300, information screen 400, program viewing screen 500, display screen 600, recordings screen 700, disk management screen 800 or any other suitable screen. In order to access the deletion screen, a user may alternatively provide a particular input or sequence of inputs on an input device. For example, a user may press a DELETE key or key sequence on an input device (e.g., input device 114) that corresponds to the deletion screen. In some embodiments, a user may be able to navigate a cursor (e.g., highlighted area) to an option on a screen or menu (e.g., delete program reference option 810) and select that option to access a deletion screen. In some embodiments, the user may select a listing (e.g., using highlight region 712) associated with a recording from listings 702 and press a DELETE key or key sequence on the user input device to access a deletion screen.
In some embodiments, a deletion screen may include logical operator drop down menu 1004 which can be used to define how the selected value is used to delete stored program references. For example, logical operator drop down menu 1004 may include an EQUALS option and a NOT EQUALS option. It is understood that some embodiments may, by default, delete stored program references with attribute values that match the identified value. In some embodiments, a user may not even be given the opportunity to select a logical operator. Deletion screen 1000 may include option 1090 that a user can select to add another attribute and corresponding value to be used when deleting stored program references.
Given that more than one attribute value is included in the deletion criteria, combinatorial logic operator drop down menu 1011 may be used to select how to combine the different values. For example, a user may set combinatorial logic operator drop down menu 1011 to AND, OR, XOR or any other suitable operator in order to specify how to combine the various attribute values. It is understood that some embodiments may, by default, combine multiple attribute values using the OR operator. In embodiments with a default combinatorial logic operator, a user may not even be given an opportunity to select an operator. A user may select option 1090 to display another set of drop down menus for specifying a third attribute value. It is understood that any number of attribute values can be used to delete stored program references.
After one or more attribute values have been selected, a user may select delete option 1095 to search for stored program references that match the selected values. In some embodiments, searching for stored program references may be limited, by default, to the program references associated with the currently logged in user. In other embodiments, a search may, by default, include all stored program references (e.g., a global search). In some embodiments, the user associated with a program reference may be an attribute value. For example, a user may select the USER ASSOCIATION attribute and a value of “User 2.”
Screen 1100 may display statistics 1104 about the listed program references. For example, statistics 1104 may include the number of listed program references, the combined length of the programs associated with the listed program references or the amount of storage space (e.g., a percentage) used by the listed program references or the programs associated with the listed program references.
Deletion confirmation screen 1100 may include a confirm delete option that a user can select to initiate deletion of the listed program references. Screen 1100 may also include an option that a user can select to navigate to the previously displayed screen (e.g., deletion screen 1000).
It is understood that when a user initiates the deletion of program references, the associated programs may not necessarily be physically erased from a storage medium in the system. In some file systems, for example, deleting a stored program reference may involve deleting the reference such that the program (e.g., a DVR recording) can be overwritten at a later time. Continuing this example, the program may not be physically erased until that storage space is needed for another program. Accordingly, the term delete and its related forms (e.g., deleting, deletion), as used herein, include erasing a program reference such that the associated program can no longer be accessed.
In some embodiments, a user may access a pre-populated deletion screen based on a currently selected program reference. For example, when a user is watching a program or navigating a list of program references the user may be able to access a deletion screen that is pre-populated with deletion options based on the selected program reference. Such a deletion screen may include options such as delete all program references having the same GENRE or delete all program references from the same CHANNEL, or delete all program references from the same SERIES, for example.
Pre-populated deletion screen 1200 includes delete common SERIES IDENTIFICATION option 1282, delete common GENRE option 1284 and delete common CONTENT RATING option 1286. In
At step 1320, at least two stored program references may be deleted in response to receiving the user input. Each deleted program reference may have a value for the program reference attribute that matches the identified value or falls within the identified range or set. In some embodiments, a list of stored program references having a value for the attribute that matches the identified value or falls within the identified range or set may be displayed prior to deletion (e.g., using display device 112). In these embodiments, a user input may be received (e.g., through input device 114) that confirms the list of stored program references and those program references may be subsequently deleted.
In some embodiments, an interactive media system may include a video-on-demand (VOD) server that can receive user requests and transmit the corresponding program in response.
Stored bookmark screen 1600, shown in
In some embodiments, a data structure (e.g., structure 900) may be used to store attribute values that correspond to bookmarks. For example, each entry in the data structure may correspond to a stored bookmark and may include attribute values for that bookmark. A media system (e.g., system 1500) can then accept a user input (e.g., using input device 1514) that includes one or more attribute values and subsequently delete one or more stored bookmarks in response to receiving the input. A system may display a deletion screen (e.g., generic deletion screen 1000 or pre-populated deletion screen 1200) for a user to provide an input (e.g., through input device 1514) that includes one or more attribute values. In some embodiments, the user's input may also include logical operators (e.g., AND, OR or XOR) that specify how to combine the one or more attribute values. After providing the deletion criteria, a user may instruct the media system to delete one or more stored bookmarks based on the deletion criteria. In some embodiments, a system may display a deletion confirmation screen (e.g., screen 1100) to a user and the user can provide confirmation before the matching bookmarks are deleted. It is understood that all of the functionality described above in connection with deleting stored program references based on attribute values may be applied to deleting stored bookmarks based on attribute values.
At step 1720, at least two stored bookmarks may be deleted in response to receiving the user input. The bookmarks may be deleted from local storage (e.g., storage in user equipment 1510) or from remote storage. Each deleted bookmark may have a value for the media program reference attribute that matches the identified value or falls within the identified range.
The above described embodiments of the invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.